diff options
author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:48 -0400 |
---|---|---|
committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:48 -0400 |
commit | eddbbea4325e602ddc87c545531609132d4f0e3b (patch) | |
tree | f0994206a7e0a6251be7cc6729ba480f0c8729c2 /Zend | |
parent | 2d4e5b09576bb4f0ba716cc82cdf29ea04d9184b (diff) | |
download | php-eddbbea4325e602ddc87c545531609132d4f0e3b.tar.gz |
Imported Upstream version 5.2.3upstream/5.2.3
Diffstat (limited to 'Zend')
71 files changed, 15816 insertions, 10665 deletions
diff --git a/Zend/tests/add_006.phpt b/Zend/tests/add_006.phpt index c3f127e9c..d56df2f32 100644 --- a/Zend/tests/add_006.phpt +++ b/Zend/tests/add_006.phpt @@ -1,5 +1,7 @@ --TEST-- adding numbers to strings +--INI-- +precision=14 --FILE-- <?php diff --git a/Zend/tests/bug22725.phpt b/Zend/tests/bug22725.phpt index aadd81be5..5f3c258b1 100755 --- a/Zend/tests/bug22725.phpt +++ b/Zend/tests/bug22725.phpt @@ -1,5 +1,5 @@ --TEST-- -bug #22725 (A derived class can call a parent's protected method that calls a private method) +Bug #22725 (A derived class can call a parent's protected method that calls a private method) --SKIPIF-- <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> --FILE-- diff --git a/Zend/tests/bug27304.phpt b/Zend/tests/bug27304.phpt index 51e392d59..0f248346c 100755 --- a/Zend/tests/bug27304.phpt +++ b/Zend/tests/bug27304.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #27304 +Bug #27304 (Static functions don't function properly) --FILE-- <?php diff --git a/Zend/tests/bug29104.phpt b/Zend/tests/bug29104.phpt index 4b3948887..e1de58eff 100644 --- a/Zend/tests/bug29104.phpt +++ b/Zend/tests/bug29104.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #29104 Function declaration in method doesn't work
+Bug #29104 (Function declaration in method doesn't work)
--FILE--
<?php
class A
diff --git a/Zend/tests/bug29210.phpt b/Zend/tests/bug29210.phpt index c0f0460fb..d0de54312 100644 --- a/Zend/tests/bug29210.phpt +++ b/Zend/tests/bug29210.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #29210 Function: is_callable - no support for private and protected classes
+Bug #29210 (Function is_callable does not support private and protected methods)
--FILE--
<?php
class test_class {
diff --git a/Zend/tests/bug30519.phpt b/Zend/tests/bug30519.phpt index a499a3fad..0fe7b6b39 100755 --- a/Zend/tests/bug30519.phpt +++ b/Zend/tests/bug30519.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #30519 Interface not existing says Class not found
+Bug #30519 (Interface not existing says Class not found)
--FILE--
<?php
class test implements a {
diff --git a/Zend/tests/bug30702.phpt b/Zend/tests/bug30702.phpt index e3e8f59fe..90a1ee890 100644 --- a/Zend/tests/bug30702.phpt +++ b/Zend/tests/bug30702.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #30702 cannot initialize class variable from class constant
+Bug #30702 (cannot initialize class variable from class constant)
--FILE--
<?php
class foo {
diff --git a/Zend/tests/bug30791.phpt b/Zend/tests/bug30791.phpt index 52261a046..ce270c0ef 100755 --- a/Zend/tests/bug30791.phpt +++ b/Zend/tests/bug30791.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #30791 magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded
+Bug #30791 (magic methods (__sleep/__wakeup/__toString) call __call if object is overloaded)
--FILE--
<?php
diff --git a/Zend/tests/bug30889.phpt b/Zend/tests/bug30889.phpt index 4578516a4..c80dbded7 100644 --- a/Zend/tests/bug30889.phpt +++ b/Zend/tests/bug30889.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #30889 Conflict between __get/__set and ++ operator
+Bug #30889 (Conflict between __get/__set and ++ operator)
--FILE--
<?php
class overloaded
diff --git a/Zend/tests/bug32296.phpt b/Zend/tests/bug32296.phpt index 1b15f5379..d2e6d0ca3 100755 --- a/Zend/tests/bug32296.phpt +++ b/Zend/tests/bug32296.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #32296 get_class_methods output has changed between 5.0.2 and 5.0.3
+Bug #32296 (get_class_methods output has changed between 5.0.2 and 5.0.3)
--FILE--
<?php
abstract class space{
diff --git a/Zend/tests/bug32427.phpt b/Zend/tests/bug32427.phpt index 1745912dc..b7b478dc8 100644 --- a/Zend/tests/bug32427.phpt +++ b/Zend/tests/bug32427.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #32427 Interfaces are not allowed 'static' access modifier
+Bug #32427 (Interfaces are not allowed 'static' access modifier)
--FILE--
<?php
diff --git a/Zend/tests/bug32660.phpt b/Zend/tests/bug32660.phpt index b075e1993..5e28df4d1 100755 --- a/Zend/tests/bug32660.phpt +++ b/Zend/tests/bug32660.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
+Bug #32660 (Assignment by reference causes crash when field access is overloaded (__get))
--FILE--
<?php
class A
diff --git a/Zend/tests/bug32674.phpt b/Zend/tests/bug32674.phpt index 700e3b4db..f986132a1 100644 --- a/Zend/tests/bug32674.phpt +++ b/Zend/tests/bug32674.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #32674 exception in iterator causes crash
+Bug #32674 (exception in iterator causes crash)
--FILE--
<?php
class collection implements Iterator {
diff --git a/Zend/tests/bug32833.phpt b/Zend/tests/bug32833.phpt index a9a7cc669..b8a8bbe1b 100644 --- a/Zend/tests/bug32833.phpt +++ b/Zend/tests/bug32833.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #32833 Invalid opcode
+Bug #32833 (Invalid opcode with $a[] .= '')
--FILE--
<?php
$test = array();
diff --git a/Zend/tests/bug33257.phpt b/Zend/tests/bug33257.phpt index 2d85d3ac2..5c5061bb0 100755 --- a/Zend/tests/bug33257.phpt +++ b/Zend/tests/bug33257.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #33257 array_splice() inconsistent when passed function instead of variable
+Bug #33257 (array_splice() inconsistent when passed function instead of variable)
--INI--
error_reporting=4095
--FILE--
diff --git a/Zend/tests/bug34712.phpt b/Zend/tests/bug34712.phpt index 3d81759d2..d280c26f4 100755 --- a/Zend/tests/bug34712.phpt +++ b/Zend/tests/bug34712.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #34712 zend.ze1_compatibility_mode = on segfault
+Bug #34712 (zend.ze1_compatibility_mode = on segfault)
--INI--
zend.ze1_compatibility_mode=1
error_reporting=4095
diff --git a/Zend/tests/bug35437.phpt b/Zend/tests/bug35437.phpt index 7d6241ba5..965acf5fa 100755 --- a/Zend/tests/bug35437.phpt +++ b/Zend/tests/bug35437.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #35437 Segfault or Invalid Opcode 137/1/4
+Bug #35437 (Segfault or Invalid Opcode 137/1/4)
--FILE--
<?php
function err2exception($errno, $errstr)
diff --git a/Zend/tests/bug37811.phpt b/Zend/tests/bug37811.phpt index dc3ef93d6..70c4c90ed 100755 --- a/Zend/tests/bug37811.phpt +++ b/Zend/tests/bug37811.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #37811 define not using toString on objects +Bug #37811 (define not using toString on objects) --FILE-- <?php diff --git a/Zend/tests/bug38220.phpt b/Zend/tests/bug38220.phpt index 5b0a7178d..3e1b2dc81 100755 --- a/Zend/tests/bug38220.phpt +++ b/Zend/tests/bug38220.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #38220 Crash on some object operations
+Bug #38220 (Crash on some object operations)
--FILE--
<?php
class drv {
diff --git a/Zend/tests/bug39542.phpt b/Zend/tests/bug39542.phpt new file mode 100755 index 000000000..1b8ae3360 --- /dev/null +++ b/Zend/tests/bug39542.phpt @@ -0,0 +1,24 @@ +--TEST--
+Bug #39542 (Behaviour of require_once/include_once different to < 5.2.0)
+--FILE--
+<?php
+$oldcwd = getcwd();
+chdir(dirname(__FILE__));
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ set_include_path(dirname(__FILE__).'/bug39542;.');
+} else {
+ set_include_path(dirname(__FILE__).'/bug39542:.');
+}
+
+function __autoload($class) {
+ if (!require_once($class.'.php')) {
+ error_log('Error: Autoload class: '.$class.' not found!');
+ }
+}
+
+new bug39542();
+
+chdir($oldcwd);
+?>
+--EXPECT--
+ok
diff --git a/Zend/tests/bug39542/bug39542.php b/Zend/tests/bug39542/bug39542.php new file mode 100755 index 000000000..110951766 --- /dev/null +++ b/Zend/tests/bug39542/bug39542.php @@ -0,0 +1,7 @@ +<?php
+class bug39542 {
+ function bug39542() {
+ echo "ok\n";
+ }
+}
+?>
diff --git a/Zend/tests/bug40236.phpt b/Zend/tests/bug40236.phpt index 9d8f48639..dfaa51f8d 100755 --- a/Zend/tests/bug40236.phpt +++ b/Zend/tests/bug40236.phpt @@ -1,7 +1,10 @@ --TEST--
Bug #40236 (php -a function allocation eats memory)
--SKIPIF--
+<?php
if (php_sapi_name() != "cli") die("skip CLI only");
+if (extension_loaded("readline")) die("skip Test doesn't support readline");
+?>
--FILE--
<?php
$php = getenv('TEST_PHP_EXECUTABLE');
diff --git a/Zend/tests/bug40770.phpt b/Zend/tests/bug40770.phpt index a73338501..432a27aea 100755 --- a/Zend/tests/bug40770.phpt +++ b/Zend/tests/bug40770.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #40770 Apache child exits when PHP memory limit reached
+Bug #40770 (Apache child exits when PHP memory limit reached)
--INI--
memory_limit=8M
--SKIPIF--
diff --git a/Zend/tests/bug40809.phpt b/Zend/tests/bug40809.phpt index be27dbd67..a90754d91 100755 --- a/Zend/tests/bug40809.phpt +++ b/Zend/tests/bug40809.phpt @@ -1,5 +1,5 @@ --TEST--
-Bug #40809 Poor perfomance of ".="
+Bug #40809 (Poor perfomance of ".=")
--FILE--
<?php
error_reporting(E_ALL|E_STRICT);
diff --git a/Zend/tests/bug41075.phpt b/Zend/tests/bug41075.phpt index ddeb7cc0c..0751cbd69 100644 --- a/Zend/tests/bug41075.phpt +++ b/Zend/tests/bug41075.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #41075(memleak when creating default object caused exception) +Bug #41075 (memleak when creating default object caused exception) --FILE-- <?php diff --git a/Zend/tests/bug41351.phpt b/Zend/tests/bug41351.phpt new file mode 100644 index 000000000..62af6a033 --- /dev/null +++ b/Zend/tests/bug41351.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #41351 (Invalid opcode with foreach ($a[] as $b)) +--FILE-- +<?php + +$a = array(); + +foreach($a[] as $b) { +} + +echo "Done\n"; +?> +--EXPECTF-- +Fatal error: Cannot use [] for reading in %s on line %d diff --git a/Zend/tests/bug41351_2.phpt b/Zend/tests/bug41351_2.phpt new file mode 100644 index 000000000..7009eaa45 --- /dev/null +++ b/Zend/tests/bug41351_2.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 2 +--FILE-- +<?php + +$a = array(); + +foreach($a[]['test'] as $b) { +} + +echo "Done\n"; +?> +--EXPECTF-- +Fatal error: Cannot use [] for reading in %s on line %d diff --git a/Zend/tests/bug41351_3.phpt b/Zend/tests/bug41351_3.phpt new file mode 100644 index 000000000..9cb23882c --- /dev/null +++ b/Zend/tests/bug41351_3.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #41351 (Invalid opcode with foreach ($a[] as $b)) - 3 +--FILE-- +<?php + +$a = array(); + +foreach($a['test'][] as $b) { +} + +echo "Done\n"; +?> +--EXPECTF-- +Fatal error: Cannot use [] for reading in %s on line %d diff --git a/Zend/tests/bug41401.phpt b/Zend/tests/bug41401.phpt new file mode 100755 index 000000000..50d2109ca --- /dev/null +++ b/Zend/tests/bug41401.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #41401 (wrong precedence for unary minus) +--FILE-- +<?php +echo 1/-2*5; +echo "\n"; +echo 6/+2*-3; +--EXPECT-- +-2.5 +-9
\ No newline at end of file diff --git a/Zend/tests/bug41421.phpt b/Zend/tests/bug41421.phpt new file mode 100644 index 000000000..f10db1098 --- /dev/null +++ b/Zend/tests/bug41421.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #41421 (Uncaught exception from a stream wrapper segfaults) +--FILE-- +<?php + +class wrapper { + function stream_open() { + return true; + } + function stream_eof() { + throw new exception(); + } +} + +stream_wrapper_register("wrap", "wrapper"); +$fp = fopen("wrap://...", "r"); +feof($fp); + +echo "Done\n"; +?> +--EXPECTF-- +Warning: feof(): wrapper::stream_eof is not implemented! Assuming EOF in %s on line %d + +Fatal error: Uncaught exception 'Exception' in %s:%d +Stack trace: +#0 [internal function]: wrapper->stream_eof() +#1 %s(%d): feof(Resource id #6) +#2 {main} + thrown in %s on line %d diff --git a/Zend/tests/cast_to_double.phpt b/Zend/tests/cast_to_double.phpt index 7afc2708b..a5b9819b0 100644 --- a/Zend/tests/cast_to_double.phpt +++ b/Zend/tests/cast_to_double.phpt @@ -1,5 +1,7 @@ --TEST-- casting different variables to double +--INI-- +precision=14 --FILE-- <?php diff --git a/Zend/tests/compare_001.phpt b/Zend/tests/compare_001.phpt new file mode 100644 index 000000000..1d42c637d --- /dev/null +++ b/Zend/tests/compare_001.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables for equality +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var == $a[$i]) ? " == " : " != "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(11) "-2147483648" +string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" == string(0) "" +string(0) "" != int(1) +string(0) "" != float(2.5) +string(0) "" == int(0) +string(0) "" != string(6) "string" +string(0) "" != string(3) "123" +string(0) "" != string(3) "2.5" +string(0) "" == NULL +string(0) "" != bool(true) +string(0) "" == bool(false) +string(0) "" != object(stdClass)#1 (0) {} +string(0) "" != object(stdClass)#2 (0) {} +string(0) "" != object(test)#3 (0) {} +string(0) "" != array(0) {} +string(0) "" != int(-2147483648) +string(0) "" != string(11) "-2147483648" +int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) != string(0) "" +int(1) == int(1) +int(1) != float(2.5) +int(1) != int(0) +int(1) != string(6) "string" +int(1) != string(3) "123" +int(1) != string(3) "2.5" +int(1) != NULL +int(1) == bool(true) +int(1) != bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + == object(stdClass)#1 (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + == object(stdClass)#2 (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + == object(test)#3 (0) {} +int(1) != array(0) {} +int(1) != int(-2147483648) +int(1) != string(11) "-2147483648" +float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) != string(0) "" +float(2.5) != int(1) +float(2.5) == float(2.5) +float(2.5) != int(0) +float(2.5) != string(6) "string" +float(2.5) != string(3) "123" +float(2.5) == string(3) "2.5" +float(2.5) != NULL +float(2.5) == bool(true) +float(2.5) != bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + != object(stdClass)#1 (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + != object(stdClass)#2 (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + != object(test)#3 (0) {} +float(2.5) != array(0) {} +float(2.5) != int(-2147483648) +float(2.5) != string(11) "-2147483648" +int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) == string(0) "" +int(0) != int(1) +int(0) != float(2.5) +int(0) == int(0) +int(0) == string(6) "string" +int(0) != string(3) "123" +int(0) != string(3) "2.5" +int(0) == NULL +int(0) != bool(true) +int(0) == bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#1 (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#2 (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + != object(test)#3 (0) {} +int(0) != array(0) {} +int(0) != int(-2147483648) +int(0) != string(11) "-2147483648" +string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" != string(0) "" +string(6) "string" != int(1) +string(6) "string" != float(2.5) +string(6) "string" == int(0) +string(6) "string" == string(6) "string" +string(6) "string" != string(3) "123" +string(6) "string" != string(3) "2.5" +string(6) "string" != NULL +string(6) "string" == bool(true) +string(6) "string" != bool(false) +string(6) "string" != object(stdClass)#1 (0) {} +string(6) "string" != object(stdClass)#2 (0) {} +string(6) "string" != object(test)#3 (0) {} +string(6) "string" != array(0) {} +string(6) "string" != int(-2147483648) +string(6) "string" != string(11) "-2147483648" +string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" != string(0) "" +string(3) "123" != int(1) +string(3) "123" != float(2.5) +string(3) "123" != int(0) +string(3) "123" != string(6) "string" +string(3) "123" == string(3) "123" +string(3) "123" != string(3) "2.5" +string(3) "123" != NULL +string(3) "123" == bool(true) +string(3) "123" != bool(false) +string(3) "123" != object(stdClass)#1 (0) {} +string(3) "123" != object(stdClass)#2 (0) {} +string(3) "123" != object(test)#3 (0) {} +string(3) "123" != array(0) {} +string(3) "123" != int(-2147483648) +string(3) "123" != string(11) "-2147483648" +string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" != string(0) "" +string(3) "2.5" != int(1) +string(3) "2.5" == float(2.5) +string(3) "2.5" != int(0) +string(3) "2.5" != string(6) "string" +string(3) "2.5" != string(3) "123" +string(3) "2.5" == string(3) "2.5" +string(3) "2.5" != NULL +string(3) "2.5" == bool(true) +string(3) "2.5" != bool(false) +string(3) "2.5" != object(stdClass)#1 (0) {} +string(3) "2.5" != object(stdClass)#2 (0) {} +string(3) "2.5" != object(test)#3 (0) {} +string(3) "2.5" != array(0) {} +string(3) "2.5" != int(-2147483648) +string(3) "2.5" != string(11) "-2147483648" +NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL == string(0) "" +NULL != int(1) +NULL != float(2.5) +NULL == int(0) +NULL != string(6) "string" +NULL != string(3) "123" +NULL != string(3) "2.5" +NULL == NULL +NULL != bool(true) +NULL == bool(false) +NULL != object(stdClass)#1 (0) {} +NULL != object(stdClass)#2 (0) {} +NULL != object(test)#3 (0) {} +NULL == array(0) {} +NULL != int(-2147483648) +NULL != string(11) "-2147483648" +bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) != string(0) "" +bool(true) == int(1) +bool(true) == float(2.5) +bool(true) != int(0) +bool(true) == string(6) "string" +bool(true) == string(3) "123" +bool(true) == string(3) "2.5" +bool(true) != NULL +bool(true) == bool(true) +bool(true) != bool(false) +bool(true) == object(stdClass)#1 (0) {} +bool(true) == object(stdClass)#2 (0) {} +bool(true) == object(test)#3 (0) {} +bool(true) != array(0) {} +bool(true) == int(-2147483648) +bool(true) == string(11) "-2147483648" +bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) == string(0) "" +bool(false) != int(1) +bool(false) != float(2.5) +bool(false) == int(0) +bool(false) != string(6) "string" +bool(false) != string(3) "123" +bool(false) != string(3) "2.5" +bool(false) == NULL +bool(false) != bool(true) +bool(false) == bool(false) +bool(false) != object(stdClass)#1 (0) {} +bool(false) != object(stdClass)#2 (0) {} +bool(false) != object(test)#3 (0) {} +bool(false) == array(0) {} +bool(false) != int(-2147483648) +bool(false) != string(11) "-2147483648" +object(stdClass)#1 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} != string(0) "" +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + == int(1) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + != float(2.5) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(0) +object(stdClass)#1 (0) {} != string(6) "string" +object(stdClass)#1 (0) {} != string(3) "123" +object(stdClass)#1 (0) {} != string(3) "2.5" +object(stdClass)#1 (0) {} != NULL +object(stdClass)#1 (0) {} == bool(true) +object(stdClass)#1 (0) {} != bool(false) +object(stdClass)#1 (0) {} == object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} == object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} != object(test)#3 (0) {} +object(stdClass)#1 (0) {} != array(0) {} +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(-2147483648) +object(stdClass)#1 (0) {} != string(11) "-2147483648" +object(stdClass)#2 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} != string(0) "" +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + == int(1) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + != float(2.5) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(0) +object(stdClass)#2 (0) {} != string(6) "string" +object(stdClass)#2 (0) {} != string(3) "123" +object(stdClass)#2 (0) {} != string(3) "2.5" +object(stdClass)#2 (0) {} != NULL +object(stdClass)#2 (0) {} == bool(true) +object(stdClass)#2 (0) {} != bool(false) +object(stdClass)#2 (0) {} == object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} == object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} != object(test)#3 (0) {} +object(stdClass)#2 (0) {} != array(0) {} +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(-2147483648) +object(stdClass)#2 (0) {} != string(11) "-2147483648" +object(test)#3 (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} != string(0) "" +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + == int(1) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + != float(2.5) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + != int(0) +object(test)#3 (0) {} != string(6) "string" +object(test)#3 (0) {} != string(3) "123" +object(test)#3 (0) {} != string(3) "2.5" +object(test)#3 (0) {} != NULL +object(test)#3 (0) {} == bool(true) +object(test)#3 (0) {} != bool(false) +object(test)#3 (0) {} != object(stdClass)#1 (0) {} +object(test)#3 (0) {} != object(stdClass)#2 (0) {} +object(test)#3 (0) {} == object(test)#3 (0) {} +object(test)#3 (0) {} != array(0) {} +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + != int(-2147483648) +object(test)#3 (0) {} != string(11) "-2147483648" +array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} != string(0) "" +array(0) {} != int(1) +array(0) {} != float(2.5) +array(0) {} != int(0) +array(0) {} != string(6) "string" +array(0) {} != string(3) "123" +array(0) {} != string(3) "2.5" +array(0) {} == NULL +array(0) {} != bool(true) +array(0) {} == bool(false) +array(0) {} != object(stdClass)#1 (0) {} +array(0) {} != object(stdClass)#2 (0) {} +array(0) {} != object(test)#3 (0) {} +array(0) {} == array(0) {} +array(0) {} != int(-2147483648) +array(0) {} != string(11) "-2147483648" +int(-2147483648) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) != string(0) "" +int(-2147483648) != int(1) +int(-2147483648) != float(2.5) +int(-2147483648) != int(0) +int(-2147483648) != string(6) "string" +int(-2147483648) != string(3) "123" +int(-2147483648) != string(3) "2.5" +int(-2147483648) != NULL +int(-2147483648) == bool(true) +int(-2147483648) != bool(false) +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#1 (0) {} +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#2 (0) {} +int(-2147483648) +Notice: Object of class test could not be converted to int in %s on line %d + != object(test)#3 (0) {} +int(-2147483648) != array(0) {} +int(-2147483648) == int(-2147483648) +int(-2147483648) == string(11) "-2147483648" +string(11) "-2147483648" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" != string(0) "" +string(11) "-2147483648" != int(1) +string(11) "-2147483648" != float(2.5) +string(11) "-2147483648" != int(0) +string(11) "-2147483648" != string(6) "string" +string(11) "-2147483648" != string(3) "123" +string(11) "-2147483648" != string(3) "2.5" +string(11) "-2147483648" != NULL +string(11) "-2147483648" == bool(true) +string(11) "-2147483648" != bool(false) +string(11) "-2147483648" != object(stdClass)#1 (0) {} +string(11) "-2147483648" != object(stdClass)#2 (0) {} +string(11) "-2147483648" != object(test)#3 (0) {} +string(11) "-2147483648" != array(0) {} +string(11) "-2147483648" == int(-2147483648) +string(11) "-2147483648" == string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_001_64bit.phpt b/Zend/tests/compare_001_64bit.phpt new file mode 100644 index 000000000..bc57d0fec --- /dev/null +++ b/Zend/tests/compare_001_64bit.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables for equality +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var == $a[$i]) ? " == " : " != "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} == bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} != string(20) "-9223372036854775808" +string(0) "" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" == string(0) "" +string(0) "" != int(1) +string(0) "" != float(2.5) +string(0) "" == int(0) +string(0) "" != string(6) "string" +string(0) "" != string(3) "123" +string(0) "" != string(3) "2.5" +string(0) "" == NULL +string(0) "" != bool(true) +string(0) "" == bool(false) +string(0) "" != object(stdClass)#%d (0) {} +string(0) "" != object(stdClass)#%d (0) {} +string(0) "" != object(test)#%d (0) {} +string(0) "" != array(0) {} +string(0) "" != int(-9223372036854775808) +string(0) "" != string(20) "-9223372036854775808" +int(1) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) != string(0) "" +int(1) == int(1) +int(1) != float(2.5) +int(1) != int(0) +int(1) != string(6) "string" +int(1) != string(3) "123" +int(1) != string(3) "2.5" +int(1) != NULL +int(1) == bool(true) +int(1) != bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + == object(stdClass)#%d (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + == object(stdClass)#%d (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + == object(test)#%d (0) {} +int(1) != array(0) {} +int(1) != int(-9223372036854775808) +int(1) != string(20) "-9223372036854775808" +float(2.5) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) != string(0) "" +float(2.5) != int(1) +float(2.5) == float(2.5) +float(2.5) != int(0) +float(2.5) != string(6) "string" +float(2.5) != string(3) "123" +float(2.5) == string(3) "2.5" +float(2.5) != NULL +float(2.5) == bool(true) +float(2.5) != bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + != object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + != object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + != object(test)#%d (0) {} +float(2.5) != array(0) {} +float(2.5) != int(-9223372036854775808) +float(2.5) != string(20) "-9223372036854775808" +int(0) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) == string(0) "" +int(0) != int(1) +int(0) != float(2.5) +int(0) == int(0) +int(0) == string(6) "string" +int(0) != string(3) "123" +int(0) != string(3) "2.5" +int(0) == NULL +int(0) != bool(true) +int(0) == bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#%d (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#%d (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + != object(test)#%d (0) {} +int(0) != array(0) {} +int(0) != int(-9223372036854775808) +int(0) != string(20) "-9223372036854775808" +string(6) "string" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" != string(0) "" +string(6) "string" != int(1) +string(6) "string" != float(2.5) +string(6) "string" == int(0) +string(6) "string" == string(6) "string" +string(6) "string" != string(3) "123" +string(6) "string" != string(3) "2.5" +string(6) "string" != NULL +string(6) "string" == bool(true) +string(6) "string" != bool(false) +string(6) "string" != object(stdClass)#%d (0) {} +string(6) "string" != object(stdClass)#%d (0) {} +string(6) "string" != object(test)#%d (0) {} +string(6) "string" != array(0) {} +string(6) "string" != int(-9223372036854775808) +string(6) "string" != string(20) "-9223372036854775808" +string(3) "123" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" != string(0) "" +string(3) "123" != int(1) +string(3) "123" != float(2.5) +string(3) "123" != int(0) +string(3) "123" != string(6) "string" +string(3) "123" == string(3) "123" +string(3) "123" != string(3) "2.5" +string(3) "123" != NULL +string(3) "123" == bool(true) +string(3) "123" != bool(false) +string(3) "123" != object(stdClass)#%d (0) {} +string(3) "123" != object(stdClass)#%d (0) {} +string(3) "123" != object(test)#%d (0) {} +string(3) "123" != array(0) {} +string(3) "123" != int(-9223372036854775808) +string(3) "123" != string(20) "-9223372036854775808" +string(3) "2.5" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" != string(0) "" +string(3) "2.5" != int(1) +string(3) "2.5" == float(2.5) +string(3) "2.5" != int(0) +string(3) "2.5" != string(6) "string" +string(3) "2.5" != string(3) "123" +string(3) "2.5" == string(3) "2.5" +string(3) "2.5" != NULL +string(3) "2.5" == bool(true) +string(3) "2.5" != bool(false) +string(3) "2.5" != object(stdClass)#%d (0) {} +string(3) "2.5" != object(stdClass)#%d (0) {} +string(3) "2.5" != object(test)#%d (0) {} +string(3) "2.5" != array(0) {} +string(3) "2.5" != int(-9223372036854775808) +string(3) "2.5" != string(20) "-9223372036854775808" +NULL != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL == string(0) "" +NULL != int(1) +NULL != float(2.5) +NULL == int(0) +NULL != string(6) "string" +NULL != string(3) "123" +NULL != string(3) "2.5" +NULL == NULL +NULL != bool(true) +NULL == bool(false) +NULL != object(stdClass)#%d (0) {} +NULL != object(stdClass)#%d (0) {} +NULL != object(test)#%d (0) {} +NULL == array(0) {} +NULL != int(-9223372036854775808) +NULL != string(20) "-9223372036854775808" +bool(true) == array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) != string(0) "" +bool(true) == int(1) +bool(true) == float(2.5) +bool(true) != int(0) +bool(true) == string(6) "string" +bool(true) == string(3) "123" +bool(true) == string(3) "2.5" +bool(true) != NULL +bool(true) == bool(true) +bool(true) != bool(false) +bool(true) == object(stdClass)#%d (0) {} +bool(true) == object(stdClass)#%d (0) {} +bool(true) == object(test)#%d (0) {} +bool(true) != array(0) {} +bool(true) == int(-9223372036854775808) +bool(true) == string(20) "-9223372036854775808" +bool(false) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) == string(0) "" +bool(false) != int(1) +bool(false) != float(2.5) +bool(false) == int(0) +bool(false) != string(6) "string" +bool(false) != string(3) "123" +bool(false) != string(3) "2.5" +bool(false) == NULL +bool(false) != bool(true) +bool(false) == bool(false) +bool(false) != object(stdClass)#%d (0) {} +bool(false) != object(stdClass)#%d (0) {} +bool(false) != object(test)#%d (0) {} +bool(false) == array(0) {} +bool(false) != int(-9223372036854775808) +bool(false) != string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} != string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + == int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + != float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(0) +object(stdClass)#%d (0) {} != string(6) "string" +object(stdClass)#%d (0) {} != string(3) "123" +object(stdClass)#%d (0) {} != string(3) "2.5" +object(stdClass)#%d (0) {} != NULL +object(stdClass)#%d (0) {} == bool(true) +object(stdClass)#%d (0) {} != bool(false) +object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} != object(test)#%d (0) {} +object(stdClass)#%d (0) {} != array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(-9223372036854775808) +object(stdClass)#%d (0) {} != string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} != string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + == int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + != float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(0) +object(stdClass)#%d (0) {} != string(6) "string" +object(stdClass)#%d (0) {} != string(3) "123" +object(stdClass)#%d (0) {} != string(3) "2.5" +object(stdClass)#%d (0) {} != NULL +object(stdClass)#%d (0) {} == bool(true) +object(stdClass)#%d (0) {} != bool(false) +object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} == object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} != object(test)#%d (0) {} +object(stdClass)#%d (0) {} != array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + != int(-9223372036854775808) +object(stdClass)#%d (0) {} != string(20) "-9223372036854775808" +object(test)#%d (0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} != string(0) "" +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + == int(1) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + != float(2.5) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + != int(0) +object(test)#%d (0) {} != string(6) "string" +object(test)#%d (0) {} != string(3) "123" +object(test)#%d (0) {} != string(3) "2.5" +object(test)#%d (0) {} != NULL +object(test)#%d (0) {} == bool(true) +object(test)#%d (0) {} != bool(false) +object(test)#%d (0) {} != object(stdClass)#%d (0) {} +object(test)#%d (0) {} != object(stdClass)#%d (0) {} +object(test)#%d (0) {} == object(test)#%d (0) {} +object(test)#%d (0) {} != array(0) {} +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + != int(-9223372036854775808) +object(test)#%d (0) {} != string(20) "-9223372036854775808" +array(0) {} != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} != string(0) "" +array(0) {} != int(1) +array(0) {} != float(2.5) +array(0) {} != int(0) +array(0) {} != string(6) "string" +array(0) {} != string(3) "123" +array(0) {} != string(3) "2.5" +array(0) {} == NULL +array(0) {} != bool(true) +array(0) {} == bool(false) +array(0) {} != object(stdClass)#%d (0) {} +array(0) {} != object(stdClass)#%d (0) {} +array(0) {} != object(test)#%d (0) {} +array(0) {} == array(0) {} +array(0) {} != int(-9223372036854775808) +array(0) {} != string(20) "-9223372036854775808" +int(-9223372036854775808) != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) != string(0) "" +int(-9223372036854775808) != int(1) +int(-9223372036854775808) != float(2.5) +int(-9223372036854775808) != int(0) +int(-9223372036854775808) != string(6) "string" +int(-9223372036854775808) != string(3) "123" +int(-9223372036854775808) != string(3) "2.5" +int(-9223372036854775808) != NULL +int(-9223372036854775808) == bool(true) +int(-9223372036854775808) != bool(false) +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + != object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class test could not be converted to int in %s on line %d + != object(test)#%d (0) {} +int(-9223372036854775808) != array(0) {} +int(-9223372036854775808) == int(-9223372036854775808) +int(-9223372036854775808) == string(20) "-9223372036854775808" +string(20) "-9223372036854775808" != array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" != string(0) "" +string(20) "-9223372036854775808" != int(1) +string(20) "-9223372036854775808" != float(2.5) +string(20) "-9223372036854775808" != int(0) +string(20) "-9223372036854775808" != string(6) "string" +string(20) "-9223372036854775808" != string(3) "123" +string(20) "-9223372036854775808" != string(3) "2.5" +string(20) "-9223372036854775808" != NULL +string(20) "-9223372036854775808" == bool(true) +string(20) "-9223372036854775808" != bool(false) +string(20) "-9223372036854775808" != object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" != object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" != object(test)#%d (0) {} +string(20) "-9223372036854775808" != array(0) {} +string(20) "-9223372036854775808" == int(-9223372036854775808) +string(20) "-9223372036854775808" == string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/compare_002.phpt b/Zend/tests/compare_002.phpt new file mode 100644 index 000000000..5e5009c32 --- /dev/null +++ b/Zend/tests/compare_002.phpt @@ -0,0 +1,341 @@ +--TEST-- +comparing different variables for identity +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var === $a[$i]) ? " === " : " !== "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(11) "-2147483648" +string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" === string(0) "" +string(0) "" !== int(1) +string(0) "" !== float(2.5) +string(0) "" !== int(0) +string(0) "" !== string(6) "string" +string(0) "" !== string(3) "123" +string(0) "" !== string(3) "2.5" +string(0) "" !== NULL +string(0) "" !== bool(true) +string(0) "" !== bool(false) +string(0) "" !== object(stdClass)#1 (0) {} +string(0) "" !== object(stdClass)#2 (0) {} +string(0) "" !== object(test)#3 (0) {} +string(0) "" !== array(0) {} +string(0) "" !== int(-2147483648) +string(0) "" !== string(11) "-2147483648" +int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) !== string(0) "" +int(1) === int(1) +int(1) !== float(2.5) +int(1) !== int(0) +int(1) !== string(6) "string" +int(1) !== string(3) "123" +int(1) !== string(3) "2.5" +int(1) !== NULL +int(1) !== bool(true) +int(1) !== bool(false) +int(1) !== object(stdClass)#1 (0) {} +int(1) !== object(stdClass)#2 (0) {} +int(1) !== object(test)#3 (0) {} +int(1) !== array(0) {} +int(1) !== int(-2147483648) +int(1) !== string(11) "-2147483648" +float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) !== string(0) "" +float(2.5) !== int(1) +float(2.5) === float(2.5) +float(2.5) !== int(0) +float(2.5) !== string(6) "string" +float(2.5) !== string(3) "123" +float(2.5) !== string(3) "2.5" +float(2.5) !== NULL +float(2.5) !== bool(true) +float(2.5) !== bool(false) +float(2.5) !== object(stdClass)#1 (0) {} +float(2.5) !== object(stdClass)#2 (0) {} +float(2.5) !== object(test)#3 (0) {} +float(2.5) !== array(0) {} +float(2.5) !== int(-2147483648) +float(2.5) !== string(11) "-2147483648" +int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) !== string(0) "" +int(0) !== int(1) +int(0) !== float(2.5) +int(0) === int(0) +int(0) !== string(6) "string" +int(0) !== string(3) "123" +int(0) !== string(3) "2.5" +int(0) !== NULL +int(0) !== bool(true) +int(0) !== bool(false) +int(0) !== object(stdClass)#1 (0) {} +int(0) !== object(stdClass)#2 (0) {} +int(0) !== object(test)#3 (0) {} +int(0) !== array(0) {} +int(0) !== int(-2147483648) +int(0) !== string(11) "-2147483648" +string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" !== string(0) "" +string(6) "string" !== int(1) +string(6) "string" !== float(2.5) +string(6) "string" !== int(0) +string(6) "string" === string(6) "string" +string(6) "string" !== string(3) "123" +string(6) "string" !== string(3) "2.5" +string(6) "string" !== NULL +string(6) "string" !== bool(true) +string(6) "string" !== bool(false) +string(6) "string" !== object(stdClass)#1 (0) {} +string(6) "string" !== object(stdClass)#2 (0) {} +string(6) "string" !== object(test)#3 (0) {} +string(6) "string" !== array(0) {} +string(6) "string" !== int(-2147483648) +string(6) "string" !== string(11) "-2147483648" +string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" !== string(0) "" +string(3) "123" !== int(1) +string(3) "123" !== float(2.5) +string(3) "123" !== int(0) +string(3) "123" !== string(6) "string" +string(3) "123" === string(3) "123" +string(3) "123" !== string(3) "2.5" +string(3) "123" !== NULL +string(3) "123" !== bool(true) +string(3) "123" !== bool(false) +string(3) "123" !== object(stdClass)#1 (0) {} +string(3) "123" !== object(stdClass)#2 (0) {} +string(3) "123" !== object(test)#3 (0) {} +string(3) "123" !== array(0) {} +string(3) "123" !== int(-2147483648) +string(3) "123" !== string(11) "-2147483648" +string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" !== string(0) "" +string(3) "2.5" !== int(1) +string(3) "2.5" !== float(2.5) +string(3) "2.5" !== int(0) +string(3) "2.5" !== string(6) "string" +string(3) "2.5" !== string(3) "123" +string(3) "2.5" === string(3) "2.5" +string(3) "2.5" !== NULL +string(3) "2.5" !== bool(true) +string(3) "2.5" !== bool(false) +string(3) "2.5" !== object(stdClass)#1 (0) {} +string(3) "2.5" !== object(stdClass)#2 (0) {} +string(3) "2.5" !== object(test)#3 (0) {} +string(3) "2.5" !== array(0) {} +string(3) "2.5" !== int(-2147483648) +string(3) "2.5" !== string(11) "-2147483648" +NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL !== string(0) "" +NULL !== int(1) +NULL !== float(2.5) +NULL !== int(0) +NULL !== string(6) "string" +NULL !== string(3) "123" +NULL !== string(3) "2.5" +NULL === NULL +NULL !== bool(true) +NULL !== bool(false) +NULL !== object(stdClass)#1 (0) {} +NULL !== object(stdClass)#2 (0) {} +NULL !== object(test)#3 (0) {} +NULL !== array(0) {} +NULL !== int(-2147483648) +NULL !== string(11) "-2147483648" +bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) !== string(0) "" +bool(true) !== int(1) +bool(true) !== float(2.5) +bool(true) !== int(0) +bool(true) !== string(6) "string" +bool(true) !== string(3) "123" +bool(true) !== string(3) "2.5" +bool(true) !== NULL +bool(true) === bool(true) +bool(true) !== bool(false) +bool(true) !== object(stdClass)#1 (0) {} +bool(true) !== object(stdClass)#2 (0) {} +bool(true) !== object(test)#3 (0) {} +bool(true) !== array(0) {} +bool(true) !== int(-2147483648) +bool(true) !== string(11) "-2147483648" +bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) !== string(0) "" +bool(false) !== int(1) +bool(false) !== float(2.5) +bool(false) !== int(0) +bool(false) !== string(6) "string" +bool(false) !== string(3) "123" +bool(false) !== string(3) "2.5" +bool(false) !== NULL +bool(false) !== bool(true) +bool(false) === bool(false) +bool(false) !== object(stdClass)#1 (0) {} +bool(false) !== object(stdClass)#2 (0) {} +bool(false) !== object(test)#3 (0) {} +bool(false) !== array(0) {} +bool(false) !== int(-2147483648) +bool(false) !== string(11) "-2147483648" +object(stdClass)#1 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} !== string(0) "" +object(stdClass)#1 (0) {} !== int(1) +object(stdClass)#1 (0) {} !== float(2.5) +object(stdClass)#1 (0) {} !== int(0) +object(stdClass)#1 (0) {} !== string(6) "string" +object(stdClass)#1 (0) {} !== string(3) "123" +object(stdClass)#1 (0) {} !== string(3) "2.5" +object(stdClass)#1 (0) {} !== NULL +object(stdClass)#1 (0) {} !== bool(true) +object(stdClass)#1 (0) {} !== bool(false) +object(stdClass)#1 (0) {} === object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} !== object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} !== object(test)#3 (0) {} +object(stdClass)#1 (0) {} !== array(0) {} +object(stdClass)#1 (0) {} !== int(-2147483648) +object(stdClass)#1 (0) {} !== string(11) "-2147483648" +object(stdClass)#2 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} !== string(0) "" +object(stdClass)#2 (0) {} !== int(1) +object(stdClass)#2 (0) {} !== float(2.5) +object(stdClass)#2 (0) {} !== int(0) +object(stdClass)#2 (0) {} !== string(6) "string" +object(stdClass)#2 (0) {} !== string(3) "123" +object(stdClass)#2 (0) {} !== string(3) "2.5" +object(stdClass)#2 (0) {} !== NULL +object(stdClass)#2 (0) {} !== bool(true) +object(stdClass)#2 (0) {} !== bool(false) +object(stdClass)#2 (0) {} !== object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} === object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} !== object(test)#3 (0) {} +object(stdClass)#2 (0) {} !== array(0) {} +object(stdClass)#2 (0) {} !== int(-2147483648) +object(stdClass)#2 (0) {} !== string(11) "-2147483648" +object(test)#3 (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} !== string(0) "" +object(test)#3 (0) {} !== int(1) +object(test)#3 (0) {} !== float(2.5) +object(test)#3 (0) {} !== int(0) +object(test)#3 (0) {} !== string(6) "string" +object(test)#3 (0) {} !== string(3) "123" +object(test)#3 (0) {} !== string(3) "2.5" +object(test)#3 (0) {} !== NULL +object(test)#3 (0) {} !== bool(true) +object(test)#3 (0) {} !== bool(false) +object(test)#3 (0) {} !== object(stdClass)#1 (0) {} +object(test)#3 (0) {} !== object(stdClass)#2 (0) {} +object(test)#3 (0) {} === object(test)#3 (0) {} +object(test)#3 (0) {} !== array(0) {} +object(test)#3 (0) {} !== int(-2147483648) +object(test)#3 (0) {} !== string(11) "-2147483648" +array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} !== string(0) "" +array(0) {} !== int(1) +array(0) {} !== float(2.5) +array(0) {} !== int(0) +array(0) {} !== string(6) "string" +array(0) {} !== string(3) "123" +array(0) {} !== string(3) "2.5" +array(0) {} !== NULL +array(0) {} !== bool(true) +array(0) {} !== bool(false) +array(0) {} !== object(stdClass)#1 (0) {} +array(0) {} !== object(stdClass)#2 (0) {} +array(0) {} !== object(test)#3 (0) {} +array(0) {} === array(0) {} +array(0) {} !== int(-2147483648) +array(0) {} !== string(11) "-2147483648" +int(-2147483648) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) !== string(0) "" +int(-2147483648) !== int(1) +int(-2147483648) !== float(2.5) +int(-2147483648) !== int(0) +int(-2147483648) !== string(6) "string" +int(-2147483648) !== string(3) "123" +int(-2147483648) !== string(3) "2.5" +int(-2147483648) !== NULL +int(-2147483648) !== bool(true) +int(-2147483648) !== bool(false) +int(-2147483648) !== object(stdClass)#1 (0) {} +int(-2147483648) !== object(stdClass)#2 (0) {} +int(-2147483648) !== object(test)#3 (0) {} +int(-2147483648) !== array(0) {} +int(-2147483648) === int(-2147483648) +int(-2147483648) !== string(11) "-2147483648" +string(11) "-2147483648" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" !== string(0) "" +string(11) "-2147483648" !== int(1) +string(11) "-2147483648" !== float(2.5) +string(11) "-2147483648" !== int(0) +string(11) "-2147483648" !== string(6) "string" +string(11) "-2147483648" !== string(3) "123" +string(11) "-2147483648" !== string(3) "2.5" +string(11) "-2147483648" !== NULL +string(11) "-2147483648" !== bool(true) +string(11) "-2147483648" !== bool(false) +string(11) "-2147483648" !== object(stdClass)#1 (0) {} +string(11) "-2147483648" !== object(stdClass)#2 (0) {} +string(11) "-2147483648" !== object(test)#3 (0) {} +string(11) "-2147483648" !== array(0) {} +string(11) "-2147483648" !== int(-2147483648) +string(11) "-2147483648" === string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_002_64bit.phpt b/Zend/tests/compare_002_64bit.phpt new file mode 100644 index 000000000..517e7b943 --- /dev/null +++ b/Zend/tests/compare_002_64bit.phpt @@ -0,0 +1,341 @@ +--TEST-- +comparing different variables for identity +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var === $a[$i]) ? " === " : " !== "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} === array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} !== string(20) "-9223372036854775808" +string(0) "" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" === string(0) "" +string(0) "" !== int(1) +string(0) "" !== float(2.5) +string(0) "" !== int(0) +string(0) "" !== string(6) "string" +string(0) "" !== string(3) "123" +string(0) "" !== string(3) "2.5" +string(0) "" !== NULL +string(0) "" !== bool(true) +string(0) "" !== bool(false) +string(0) "" !== object(stdClass)#%d (0) {} +string(0) "" !== object(stdClass)#%d (0) {} +string(0) "" !== object(test)#%d (0) {} +string(0) "" !== array(0) {} +string(0) "" !== int(-9223372036854775808) +string(0) "" !== string(20) "-9223372036854775808" +int(1) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) !== string(0) "" +int(1) === int(1) +int(1) !== float(2.5) +int(1) !== int(0) +int(1) !== string(6) "string" +int(1) !== string(3) "123" +int(1) !== string(3) "2.5" +int(1) !== NULL +int(1) !== bool(true) +int(1) !== bool(false) +int(1) !== object(stdClass)#%d (0) {} +int(1) !== object(stdClass)#%d (0) {} +int(1) !== object(test)#%d (0) {} +int(1) !== array(0) {} +int(1) !== int(-9223372036854775808) +int(1) !== string(20) "-9223372036854775808" +float(2.5) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) !== string(0) "" +float(2.5) !== int(1) +float(2.5) === float(2.5) +float(2.5) !== int(0) +float(2.5) !== string(6) "string" +float(2.5) !== string(3) "123" +float(2.5) !== string(3) "2.5" +float(2.5) !== NULL +float(2.5) !== bool(true) +float(2.5) !== bool(false) +float(2.5) !== object(stdClass)#%d (0) {} +float(2.5) !== object(stdClass)#%d (0) {} +float(2.5) !== object(test)#%d (0) {} +float(2.5) !== array(0) {} +float(2.5) !== int(-9223372036854775808) +float(2.5) !== string(20) "-9223372036854775808" +int(0) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) !== string(0) "" +int(0) !== int(1) +int(0) !== float(2.5) +int(0) === int(0) +int(0) !== string(6) "string" +int(0) !== string(3) "123" +int(0) !== string(3) "2.5" +int(0) !== NULL +int(0) !== bool(true) +int(0) !== bool(false) +int(0) !== object(stdClass)#%d (0) {} +int(0) !== object(stdClass)#%d (0) {} +int(0) !== object(test)#%d (0) {} +int(0) !== array(0) {} +int(0) !== int(-9223372036854775808) +int(0) !== string(20) "-9223372036854775808" +string(6) "string" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" !== string(0) "" +string(6) "string" !== int(1) +string(6) "string" !== float(2.5) +string(6) "string" !== int(0) +string(6) "string" === string(6) "string" +string(6) "string" !== string(3) "123" +string(6) "string" !== string(3) "2.5" +string(6) "string" !== NULL +string(6) "string" !== bool(true) +string(6) "string" !== bool(false) +string(6) "string" !== object(stdClass)#%d (0) {} +string(6) "string" !== object(stdClass)#%d (0) {} +string(6) "string" !== object(test)#%d (0) {} +string(6) "string" !== array(0) {} +string(6) "string" !== int(-9223372036854775808) +string(6) "string" !== string(20) "-9223372036854775808" +string(3) "123" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" !== string(0) "" +string(3) "123" !== int(1) +string(3) "123" !== float(2.5) +string(3) "123" !== int(0) +string(3) "123" !== string(6) "string" +string(3) "123" === string(3) "123" +string(3) "123" !== string(3) "2.5" +string(3) "123" !== NULL +string(3) "123" !== bool(true) +string(3) "123" !== bool(false) +string(3) "123" !== object(stdClass)#%d (0) {} +string(3) "123" !== object(stdClass)#%d (0) {} +string(3) "123" !== object(test)#%d (0) {} +string(3) "123" !== array(0) {} +string(3) "123" !== int(-9223372036854775808) +string(3) "123" !== string(20) "-9223372036854775808" +string(3) "2.5" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" !== string(0) "" +string(3) "2.5" !== int(1) +string(3) "2.5" !== float(2.5) +string(3) "2.5" !== int(0) +string(3) "2.5" !== string(6) "string" +string(3) "2.5" !== string(3) "123" +string(3) "2.5" === string(3) "2.5" +string(3) "2.5" !== NULL +string(3) "2.5" !== bool(true) +string(3) "2.5" !== bool(false) +string(3) "2.5" !== object(stdClass)#%d (0) {} +string(3) "2.5" !== object(stdClass)#%d (0) {} +string(3) "2.5" !== object(test)#%d (0) {} +string(3) "2.5" !== array(0) {} +string(3) "2.5" !== int(-9223372036854775808) +string(3) "2.5" !== string(20) "-9223372036854775808" +NULL !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL !== string(0) "" +NULL !== int(1) +NULL !== float(2.5) +NULL !== int(0) +NULL !== string(6) "string" +NULL !== string(3) "123" +NULL !== string(3) "2.5" +NULL === NULL +NULL !== bool(true) +NULL !== bool(false) +NULL !== object(stdClass)#%d (0) {} +NULL !== object(stdClass)#%d (0) {} +NULL !== object(test)#%d (0) {} +NULL !== array(0) {} +NULL !== int(-9223372036854775808) +NULL !== string(20) "-9223372036854775808" +bool(true) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) !== string(0) "" +bool(true) !== int(1) +bool(true) !== float(2.5) +bool(true) !== int(0) +bool(true) !== string(6) "string" +bool(true) !== string(3) "123" +bool(true) !== string(3) "2.5" +bool(true) !== NULL +bool(true) === bool(true) +bool(true) !== bool(false) +bool(true) !== object(stdClass)#%d (0) {} +bool(true) !== object(stdClass)#%d (0) {} +bool(true) !== object(test)#%d (0) {} +bool(true) !== array(0) {} +bool(true) !== int(-9223372036854775808) +bool(true) !== string(20) "-9223372036854775808" +bool(false) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) !== string(0) "" +bool(false) !== int(1) +bool(false) !== float(2.5) +bool(false) !== int(0) +bool(false) !== string(6) "string" +bool(false) !== string(3) "123" +bool(false) !== string(3) "2.5" +bool(false) !== NULL +bool(false) !== bool(true) +bool(false) === bool(false) +bool(false) !== object(stdClass)#%d (0) {} +bool(false) !== object(stdClass)#%d (0) {} +bool(false) !== object(test)#%d (0) {} +bool(false) !== array(0) {} +bool(false) !== int(-9223372036854775808) +bool(false) !== string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} !== string(0) "" +object(stdClass)#%d (0) {} !== int(1) +object(stdClass)#%d (0) {} !== float(2.5) +object(stdClass)#%d (0) {} !== int(0) +object(stdClass)#%d (0) {} !== string(6) "string" +object(stdClass)#%d (0) {} !== string(3) "123" +object(stdClass)#%d (0) {} !== string(3) "2.5" +object(stdClass)#%d (0) {} !== NULL +object(stdClass)#%d (0) {} !== bool(true) +object(stdClass)#%d (0) {} !== bool(false) +object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} !== object(test)#%d (0) {} +object(stdClass)#%d (0) {} !== array(0) {} +object(stdClass)#%d (0) {} !== int(-9223372036854775808) +object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} !== string(0) "" +object(stdClass)#%d (0) {} !== int(1) +object(stdClass)#%d (0) {} !== float(2.5) +object(stdClass)#%d (0) {} !== int(0) +object(stdClass)#%d (0) {} !== string(6) "string" +object(stdClass)#%d (0) {} !== string(3) "123" +object(stdClass)#%d (0) {} !== string(3) "2.5" +object(stdClass)#%d (0) {} !== NULL +object(stdClass)#%d (0) {} !== bool(true) +object(stdClass)#%d (0) {} !== bool(false) +object(stdClass)#%d (0) {} !== object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} === object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} !== object(test)#%d (0) {} +object(stdClass)#%d (0) {} !== array(0) {} +object(stdClass)#%d (0) {} !== int(-9223372036854775808) +object(stdClass)#%d (0) {} !== string(20) "-9223372036854775808" +object(test)#%d (0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} !== string(0) "" +object(test)#%d (0) {} !== int(1) +object(test)#%d (0) {} !== float(2.5) +object(test)#%d (0) {} !== int(0) +object(test)#%d (0) {} !== string(6) "string" +object(test)#%d (0) {} !== string(3) "123" +object(test)#%d (0) {} !== string(3) "2.5" +object(test)#%d (0) {} !== NULL +object(test)#%d (0) {} !== bool(true) +object(test)#%d (0) {} !== bool(false) +object(test)#%d (0) {} !== object(stdClass)#%d (0) {} +object(test)#%d (0) {} !== object(stdClass)#%d (0) {} +object(test)#%d (0) {} === object(test)#%d (0) {} +object(test)#%d (0) {} !== array(0) {} +object(test)#%d (0) {} !== int(-9223372036854775808) +object(test)#%d (0) {} !== string(20) "-9223372036854775808" +array(0) {} !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} !== string(0) "" +array(0) {} !== int(1) +array(0) {} !== float(2.5) +array(0) {} !== int(0) +array(0) {} !== string(6) "string" +array(0) {} !== string(3) "123" +array(0) {} !== string(3) "2.5" +array(0) {} !== NULL +array(0) {} !== bool(true) +array(0) {} !== bool(false) +array(0) {} !== object(stdClass)#%d (0) {} +array(0) {} !== object(stdClass)#%d (0) {} +array(0) {} !== object(test)#%d (0) {} +array(0) {} === array(0) {} +array(0) {} !== int(-9223372036854775808) +array(0) {} !== string(20) "-9223372036854775808" +int(-9223372036854775808) !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) !== string(0) "" +int(-9223372036854775808) !== int(1) +int(-9223372036854775808) !== float(2.5) +int(-9223372036854775808) !== int(0) +int(-9223372036854775808) !== string(6) "string" +int(-9223372036854775808) !== string(3) "123" +int(-9223372036854775808) !== string(3) "2.5" +int(-9223372036854775808) !== NULL +int(-9223372036854775808) !== bool(true) +int(-9223372036854775808) !== bool(false) +int(-9223372036854775808) !== object(stdClass)#%d (0) {} +int(-9223372036854775808) !== object(stdClass)#%d (0) {} +int(-9223372036854775808) !== object(test)#%d (0) {} +int(-9223372036854775808) !== array(0) {} +int(-9223372036854775808) === int(-9223372036854775808) +int(-9223372036854775808) !== string(20) "-9223372036854775808" +string(20) "-9223372036854775808" !== array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" !== string(0) "" +string(20) "-9223372036854775808" !== int(1) +string(20) "-9223372036854775808" !== float(2.5) +string(20) "-9223372036854775808" !== int(0) +string(20) "-9223372036854775808" !== string(6) "string" +string(20) "-9223372036854775808" !== string(3) "123" +string(20) "-9223372036854775808" !== string(3) "2.5" +string(20) "-9223372036854775808" !== NULL +string(20) "-9223372036854775808" !== bool(true) +string(20) "-9223372036854775808" !== bool(false) +string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" !== object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" !== object(test)#%d (0) {} +string(20) "-9223372036854775808" !== array(0) {} +string(20) "-9223372036854775808" !== int(-9223372036854775808) +string(20) "-9223372036854775808" === string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/compare_003.phpt b/Zend/tests/compare_003.phpt new file mode 100644 index 000000000..9327ee58b --- /dev/null +++ b/Zend/tests/compare_003.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (greater than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var > $a[$i]) ? " > " : " <= "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648" +string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" <= string(0) "" +string(0) "" <= int(1) +string(0) "" <= float(2.5) +string(0) "" <= int(0) +string(0) "" <= string(6) "string" +string(0) "" <= string(3) "123" +string(0) "" <= string(3) "2.5" +string(0) "" <= NULL +string(0) "" <= bool(true) +string(0) "" <= bool(false) +string(0) "" <= object(stdClass)#1 (0) {} +string(0) "" <= object(stdClass)#2 (0) {} +string(0) "" <= object(test)#3 (0) {} +string(0) "" <= array(0) {} +string(0) "" > int(-2147483648) +string(0) "" <= string(11) "-2147483648" +int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) > string(0) "" +int(1) <= int(1) +int(1) <= float(2.5) +int(1) > int(0) +int(1) > string(6) "string" +int(1) <= string(3) "123" +int(1) <= string(3) "2.5" +int(1) > NULL +int(1) <= bool(true) +int(1) > bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(1) <= array(0) {} +int(1) > int(-2147483648) +int(1) > string(11) "-2147483648" +float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) > string(0) "" +float(2.5) > int(1) +float(2.5) <= float(2.5) +float(2.5) > int(0) +float(2.5) > string(6) "string" +float(2.5) <= string(3) "123" +float(2.5) <= string(3) "2.5" +float(2.5) > NULL +float(2.5) <= bool(true) +float(2.5) > bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#1 (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#2 (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + > object(test)#3 (0) {} +float(2.5) <= array(0) {} +float(2.5) > int(-2147483648) +float(2.5) > string(11) "-2147483648" +int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) <= string(0) "" +int(0) <= int(1) +int(0) <= float(2.5) +int(0) <= int(0) +int(0) <= string(6) "string" +int(0) <= string(3) "123" +int(0) <= string(3) "2.5" +int(0) <= NULL +int(0) <= bool(true) +int(0) <= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(0) <= array(0) {} +int(0) > int(-2147483648) +int(0) > string(11) "-2147483648" +string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" > string(0) "" +string(6) "string" <= int(1) +string(6) "string" <= float(2.5) +string(6) "string" <= int(0) +string(6) "string" <= string(6) "string" +string(6) "string" > string(3) "123" +string(6) "string" > string(3) "2.5" +string(6) "string" > NULL +string(6) "string" <= bool(true) +string(6) "string" > bool(false) +string(6) "string" <= object(stdClass)#1 (0) {} +string(6) "string" <= object(stdClass)#2 (0) {} +string(6) "string" <= object(test)#3 (0) {} +string(6) "string" <= array(0) {} +string(6) "string" > int(-2147483648) +string(6) "string" > string(11) "-2147483648" +string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" > string(0) "" +string(3) "123" > int(1) +string(3) "123" > float(2.5) +string(3) "123" > int(0) +string(3) "123" <= string(6) "string" +string(3) "123" <= string(3) "123" +string(3) "123" > string(3) "2.5" +string(3) "123" > NULL +string(3) "123" <= bool(true) +string(3) "123" > bool(false) +string(3) "123" <= object(stdClass)#1 (0) {} +string(3) "123" <= object(stdClass)#2 (0) {} +string(3) "123" <= object(test)#3 (0) {} +string(3) "123" <= array(0) {} +string(3) "123" > int(-2147483648) +string(3) "123" > string(11) "-2147483648" +string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" > string(0) "" +string(3) "2.5" > int(1) +string(3) "2.5" <= float(2.5) +string(3) "2.5" > int(0) +string(3) "2.5" <= string(6) "string" +string(3) "2.5" <= string(3) "123" +string(3) "2.5" <= string(3) "2.5" +string(3) "2.5" > NULL +string(3) "2.5" <= bool(true) +string(3) "2.5" > bool(false) +string(3) "2.5" <= object(stdClass)#1 (0) {} +string(3) "2.5" <= object(stdClass)#2 (0) {} +string(3) "2.5" <= object(test)#3 (0) {} +string(3) "2.5" <= array(0) {} +string(3) "2.5" > int(-2147483648) +string(3) "2.5" > string(11) "-2147483648" +NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL <= string(0) "" +NULL <= int(1) +NULL <= float(2.5) +NULL <= int(0) +NULL <= string(6) "string" +NULL <= string(3) "123" +NULL <= string(3) "2.5" +NULL <= NULL +NULL <= bool(true) +NULL <= bool(false) +NULL <= object(stdClass)#1 (0) {} +NULL <= object(stdClass)#2 (0) {} +NULL <= object(test)#3 (0) {} +NULL <= array(0) {} +NULL <= int(-2147483648) +NULL <= string(11) "-2147483648" +bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) > string(0) "" +bool(true) <= int(1) +bool(true) <= float(2.5) +bool(true) > int(0) +bool(true) <= string(6) "string" +bool(true) <= string(3) "123" +bool(true) <= string(3) "2.5" +bool(true) > NULL +bool(true) <= bool(true) +bool(true) > bool(false) +bool(true) <= object(stdClass)#1 (0) {} +bool(true) <= object(stdClass)#2 (0) {} +bool(true) <= object(test)#3 (0) {} +bool(true) > array(0) {} +bool(true) <= int(-2147483648) +bool(true) <= string(11) "-2147483648" +bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) <= string(0) "" +bool(false) <= int(1) +bool(false) <= float(2.5) +bool(false) <= int(0) +bool(false) <= string(6) "string" +bool(false) <= string(3) "123" +bool(false) <= string(3) "2.5" +bool(false) <= NULL +bool(false) <= bool(true) +bool(false) <= bool(false) +bool(false) <= object(stdClass)#1 (0) {} +bool(false) <= object(stdClass)#2 (0) {} +bool(false) <= object(test)#3 (0) {} +bool(false) <= array(0) {} +bool(false) <= int(-2147483648) +bool(false) <= string(11) "-2147483648" +object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} > string(0) "" +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#1 (0) {} > string(6) "string" +object(stdClass)#1 (0) {} > string(3) "123" +object(stdClass)#1 (0) {} > string(3) "2.5" +object(stdClass)#1 (0) {} > NULL +object(stdClass)#1 (0) {} <= bool(true) +object(stdClass)#1 (0) {} > bool(false) +object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} <= object(test)#3 (0) {} +object(stdClass)#1 (0) {} > array(0) {} +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-2147483648) +object(stdClass)#1 (0) {} > string(11) "-2147483648" +object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} > string(0) "" +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#2 (0) {} > string(6) "string" +object(stdClass)#2 (0) {} > string(3) "123" +object(stdClass)#2 (0) {} > string(3) "2.5" +object(stdClass)#2 (0) {} > NULL +object(stdClass)#2 (0) {} <= bool(true) +object(stdClass)#2 (0) {} > bool(false) +object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} <= object(test)#3 (0) {} +object(stdClass)#2 (0) {} > array(0) {} +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-2147483648) +object(stdClass)#2 (0) {} > string(11) "-2147483648" +object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} > string(0) "" +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + <= int(1) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + <= float(2.5) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(0) +object(test)#3 (0) {} > string(6) "string" +object(test)#3 (0) {} > string(3) "123" +object(test)#3 (0) {} > string(3) "2.5" +object(test)#3 (0) {} > NULL +object(test)#3 (0) {} <= bool(true) +object(test)#3 (0) {} > bool(false) +object(test)#3 (0) {} <= object(stdClass)#1 (0) {} +object(test)#3 (0) {} <= object(stdClass)#2 (0) {} +object(test)#3 (0) {} <= object(test)#3 (0) {} +object(test)#3 (0) {} > array(0) {} +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(-2147483648) +object(test)#3 (0) {} > string(11) "-2147483648" +array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} > string(0) "" +array(0) {} > int(1) +array(0) {} > float(2.5) +array(0) {} > int(0) +array(0) {} > string(6) "string" +array(0) {} > string(3) "123" +array(0) {} > string(3) "2.5" +array(0) {} <= NULL +array(0) {} <= bool(true) +array(0) {} <= bool(false) +array(0) {} <= object(stdClass)#1 (0) {} +array(0) {} <= object(stdClass)#2 (0) {} +array(0) {} <= object(test)#3 (0) {} +array(0) {} <= array(0) {} +array(0) {} > int(-2147483648) +array(0) {} > string(11) "-2147483648" +int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) <= string(0) "" +int(-2147483648) <= int(1) +int(-2147483648) <= float(2.5) +int(-2147483648) <= int(0) +int(-2147483648) <= string(6) "string" +int(-2147483648) <= string(3) "123" +int(-2147483648) <= string(3) "2.5" +int(-2147483648) > NULL +int(-2147483648) <= bool(true) +int(-2147483648) > bool(false) +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(-2147483648) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(-2147483648) <= array(0) {} +int(-2147483648) <= int(-2147483648) +int(-2147483648) <= string(11) "-2147483648" +string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" > string(0) "" +string(11) "-2147483648" <= int(1) +string(11) "-2147483648" <= float(2.5) +string(11) "-2147483648" <= int(0) +string(11) "-2147483648" <= string(6) "string" +string(11) "-2147483648" <= string(3) "123" +string(11) "-2147483648" <= string(3) "2.5" +string(11) "-2147483648" > NULL +string(11) "-2147483648" <= bool(true) +string(11) "-2147483648" > bool(false) +string(11) "-2147483648" <= object(stdClass)#1 (0) {} +string(11) "-2147483648" <= object(stdClass)#2 (0) {} +string(11) "-2147483648" <= object(test)#3 (0) {} +string(11) "-2147483648" <= array(0) {} +string(11) "-2147483648" <= int(-2147483648) +string(11) "-2147483648" <= string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_003_64bit.phpt b/Zend/tests/compare_003_64bit.phpt new file mode 100644 index 000000000..1f936c6e3 --- /dev/null +++ b/Zend/tests/compare_003_64bit.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (greater than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var > $a[$i]) ? " > " : " <= "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808" +string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" <= string(0) "" +string(0) "" <= int(1) +string(0) "" <= float(2.5) +string(0) "" <= int(0) +string(0) "" <= string(6) "string" +string(0) "" <= string(3) "123" +string(0) "" <= string(3) "2.5" +string(0) "" <= NULL +string(0) "" <= bool(true) +string(0) "" <= bool(false) +string(0) "" <= object(stdClass)#%d (0) {} +string(0) "" <= object(stdClass)#%d (0) {} +string(0) "" <= object(test)#%d (0) {} +string(0) "" <= array(0) {} +string(0) "" > int(-9223372036854775808) +string(0) "" <= string(20) "-9223372036854775808" +int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) > string(0) "" +int(1) <= int(1) +int(1) <= float(2.5) +int(1) > int(0) +int(1) > string(6) "string" +int(1) <= string(3) "123" +int(1) <= string(3) "2.5" +int(1) > NULL +int(1) <= bool(true) +int(1) > bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(1) <= array(0) {} +int(1) > int(-9223372036854775808) +int(1) > string(20) "-9223372036854775808" +float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) > string(0) "" +float(2.5) > int(1) +float(2.5) <= float(2.5) +float(2.5) > int(0) +float(2.5) > string(6) "string" +float(2.5) <= string(3) "123" +float(2.5) <= string(3) "2.5" +float(2.5) > NULL +float(2.5) <= bool(true) +float(2.5) > bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + > object(test)#%d (0) {} +float(2.5) <= array(0) {} +float(2.5) > int(-9223372036854775808) +float(2.5) > string(20) "-9223372036854775808" +int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) <= string(0) "" +int(0) <= int(1) +int(0) <= float(2.5) +int(0) <= int(0) +int(0) <= string(6) "string" +int(0) <= string(3) "123" +int(0) <= string(3) "2.5" +int(0) <= NULL +int(0) <= bool(true) +int(0) <= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(0) <= array(0) {} +int(0) > int(-9223372036854775808) +int(0) > string(20) "-9223372036854775808" +string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" > string(0) "" +string(6) "string" <= int(1) +string(6) "string" <= float(2.5) +string(6) "string" <= int(0) +string(6) "string" <= string(6) "string" +string(6) "string" > string(3) "123" +string(6) "string" > string(3) "2.5" +string(6) "string" > NULL +string(6) "string" <= bool(true) +string(6) "string" > bool(false) +string(6) "string" <= object(stdClass)#%d (0) {} +string(6) "string" <= object(stdClass)#%d (0) {} +string(6) "string" <= object(test)#%d (0) {} +string(6) "string" <= array(0) {} +string(6) "string" > int(-9223372036854775808) +string(6) "string" > string(20) "-9223372036854775808" +string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" > string(0) "" +string(3) "123" > int(1) +string(3) "123" > float(2.5) +string(3) "123" > int(0) +string(3) "123" <= string(6) "string" +string(3) "123" <= string(3) "123" +string(3) "123" > string(3) "2.5" +string(3) "123" > NULL +string(3) "123" <= bool(true) +string(3) "123" > bool(false) +string(3) "123" <= object(stdClass)#%d (0) {} +string(3) "123" <= object(stdClass)#%d (0) {} +string(3) "123" <= object(test)#%d (0) {} +string(3) "123" <= array(0) {} +string(3) "123" > int(-9223372036854775808) +string(3) "123" > string(20) "-9223372036854775808" +string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" > string(0) "" +string(3) "2.5" > int(1) +string(3) "2.5" <= float(2.5) +string(3) "2.5" > int(0) +string(3) "2.5" <= string(6) "string" +string(3) "2.5" <= string(3) "123" +string(3) "2.5" <= string(3) "2.5" +string(3) "2.5" > NULL +string(3) "2.5" <= bool(true) +string(3) "2.5" > bool(false) +string(3) "2.5" <= object(stdClass)#%d (0) {} +string(3) "2.5" <= object(stdClass)#%d (0) {} +string(3) "2.5" <= object(test)#%d (0) {} +string(3) "2.5" <= array(0) {} +string(3) "2.5" > int(-9223372036854775808) +string(3) "2.5" > string(20) "-9223372036854775808" +NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL <= string(0) "" +NULL <= int(1) +NULL <= float(2.5) +NULL <= int(0) +NULL <= string(6) "string" +NULL <= string(3) "123" +NULL <= string(3) "2.5" +NULL <= NULL +NULL <= bool(true) +NULL <= bool(false) +NULL <= object(stdClass)#%d (0) {} +NULL <= object(stdClass)#%d (0) {} +NULL <= object(test)#%d (0) {} +NULL <= array(0) {} +NULL <= int(-9223372036854775808) +NULL <= string(20) "-9223372036854775808" +bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) > string(0) "" +bool(true) <= int(1) +bool(true) <= float(2.5) +bool(true) > int(0) +bool(true) <= string(6) "string" +bool(true) <= string(3) "123" +bool(true) <= string(3) "2.5" +bool(true) > NULL +bool(true) <= bool(true) +bool(true) > bool(false) +bool(true) <= object(stdClass)#%d (0) {} +bool(true) <= object(stdClass)#%d (0) {} +bool(true) <= object(test)#%d (0) {} +bool(true) > array(0) {} +bool(true) <= int(-9223372036854775808) +bool(true) <= string(20) "-9223372036854775808" +bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) <= string(0) "" +bool(false) <= int(1) +bool(false) <= float(2.5) +bool(false) <= int(0) +bool(false) <= string(6) "string" +bool(false) <= string(3) "123" +bool(false) <= string(3) "2.5" +bool(false) <= NULL +bool(false) <= bool(true) +bool(false) <= bool(false) +bool(false) <= object(stdClass)#%d (0) {} +bool(false) <= object(stdClass)#%d (0) {} +bool(false) <= object(test)#%d (0) {} +bool(false) <= array(0) {} +bool(false) <= int(-9223372036854775808) +bool(false) <= string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} > string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#%d (0) {} > string(6) "string" +object(stdClass)#%d (0) {} > string(3) "123" +object(stdClass)#%d (0) {} > string(3) "2.5" +object(stdClass)#%d (0) {} > NULL +object(stdClass)#%d (0) {} <= bool(true) +object(stdClass)#%d (0) {} > bool(false) +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(test)#%d (0) {} +object(stdClass)#%d (0) {} > array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(stdClass)#%d (0) {} > string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} > string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#%d (0) {} > string(6) "string" +object(stdClass)#%d (0) {} > string(3) "123" +object(stdClass)#%d (0) {} > string(3) "2.5" +object(stdClass)#%d (0) {} > NULL +object(stdClass)#%d (0) {} <= bool(true) +object(stdClass)#%d (0) {} > bool(false) +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(test)#%d (0) {} +object(stdClass)#%d (0) {} > array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(stdClass)#%d (0) {} > string(20) "-9223372036854775808" +object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} > string(0) "" +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + <= int(1) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + <= float(2.5) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(0) +object(test)#%d (0) {} > string(6) "string" +object(test)#%d (0) {} > string(3) "123" +object(test)#%d (0) {} > string(3) "2.5" +object(test)#%d (0) {} > NULL +object(test)#%d (0) {} <= bool(true) +object(test)#%d (0) {} > bool(false) +object(test)#%d (0) {} <= object(stdClass)#%d (0) {} +object(test)#%d (0) {} <= object(stdClass)#%d (0) {} +object(test)#%d (0) {} <= object(test)#%d (0) {} +object(test)#%d (0) {} > array(0) {} +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(test)#%d (0) {} > string(20) "-9223372036854775808" +array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} > string(0) "" +array(0) {} > int(1) +array(0) {} > float(2.5) +array(0) {} > int(0) +array(0) {} > string(6) "string" +array(0) {} > string(3) "123" +array(0) {} > string(3) "2.5" +array(0) {} <= NULL +array(0) {} <= bool(true) +array(0) {} <= bool(false) +array(0) {} <= object(stdClass)#%d (0) {} +array(0) {} <= object(stdClass)#%d (0) {} +array(0) {} <= object(test)#%d (0) {} +array(0) {} <= array(0) {} +array(0) {} > int(-9223372036854775808) +array(0) {} > string(20) "-9223372036854775808" +int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) <= string(0) "" +int(-9223372036854775808) <= int(1) +int(-9223372036854775808) <= float(2.5) +int(-9223372036854775808) <= int(0) +int(-9223372036854775808) <= string(6) "string" +int(-9223372036854775808) <= string(3) "123" +int(-9223372036854775808) <= string(3) "2.5" +int(-9223372036854775808) > NULL +int(-9223372036854775808) <= bool(true) +int(-9223372036854775808) > bool(false) +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(-9223372036854775808) <= array(0) {} +int(-9223372036854775808) <= int(-9223372036854775808) +int(-9223372036854775808) <= string(20) "-9223372036854775808" +string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" > string(0) "" +string(20) "-9223372036854775808" <= int(1) +string(20) "-9223372036854775808" <= float(2.5) +string(20) "-9223372036854775808" <= int(0) +string(20) "-9223372036854775808" <= string(6) "string" +string(20) "-9223372036854775808" <= string(3) "123" +string(20) "-9223372036854775808" <= string(3) "2.5" +string(20) "-9223372036854775808" > NULL +string(20) "-9223372036854775808" <= bool(true) +string(20) "-9223372036854775808" > bool(false) +string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" <= object(test)#%d (0) {} +string(20) "-9223372036854775808" <= array(0) {} +string(20) "-9223372036854775808" <= int(-9223372036854775808) +string(20) "-9223372036854775808" <= string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/compare_004.phpt b/Zend/tests/compare_004.phpt new file mode 100644 index 000000000..69131cd5c --- /dev/null +++ b/Zend/tests/compare_004.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (less than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var < $a[$i]) ? " < " : " >= "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648" +string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" >= string(0) "" +string(0) "" < int(1) +string(0) "" < float(2.5) +string(0) "" >= int(0) +string(0) "" < string(6) "string" +string(0) "" < string(3) "123" +string(0) "" < string(3) "2.5" +string(0) "" >= NULL +string(0) "" < bool(true) +string(0) "" >= bool(false) +string(0) "" < object(stdClass)#1 (0) {} +string(0) "" < object(stdClass)#2 (0) {} +string(0) "" < object(test)#3 (0) {} +string(0) "" < array(0) {} +string(0) "" >= int(-2147483648) +string(0) "" < string(11) "-2147483648" +int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) >= string(0) "" +int(1) >= int(1) +int(1) < float(2.5) +int(1) >= int(0) +int(1) >= string(6) "string" +int(1) < string(3) "123" +int(1) < string(3) "2.5" +int(1) >= NULL +int(1) >= bool(true) +int(1) >= bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#1 (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#2 (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + >= object(test)#3 (0) {} +int(1) < array(0) {} +int(1) >= int(-2147483648) +int(1) >= string(11) "-2147483648" +float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) >= string(0) "" +float(2.5) >= int(1) +float(2.5) >= float(2.5) +float(2.5) >= int(0) +float(2.5) >= string(6) "string" +float(2.5) < string(3) "123" +float(2.5) >= string(3) "2.5" +float(2.5) >= NULL +float(2.5) >= bool(true) +float(2.5) >= bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#1 (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#2 (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + >= object(test)#3 (0) {} +float(2.5) < array(0) {} +float(2.5) >= int(-2147483648) +float(2.5) >= string(11) "-2147483648" +int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) >= string(0) "" +int(0) < int(1) +int(0) < float(2.5) +int(0) >= int(0) +int(0) >= string(6) "string" +int(0) < string(3) "123" +int(0) < string(3) "2.5" +int(0) >= NULL +int(0) < bool(true) +int(0) >= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#1 (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#2 (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#3 (0) {} +int(0) < array(0) {} +int(0) >= int(-2147483648) +int(0) >= string(11) "-2147483648" +string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" >= string(0) "" +string(6) "string" < int(1) +string(6) "string" < float(2.5) +string(6) "string" >= int(0) +string(6) "string" >= string(6) "string" +string(6) "string" >= string(3) "123" +string(6) "string" >= string(3) "2.5" +string(6) "string" >= NULL +string(6) "string" >= bool(true) +string(6) "string" >= bool(false) +string(6) "string" < object(stdClass)#1 (0) {} +string(6) "string" < object(stdClass)#2 (0) {} +string(6) "string" < object(test)#3 (0) {} +string(6) "string" < array(0) {} +string(6) "string" >= int(-2147483648) +string(6) "string" >= string(11) "-2147483648" +string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" >= string(0) "" +string(3) "123" >= int(1) +string(3) "123" >= float(2.5) +string(3) "123" >= int(0) +string(3) "123" < string(6) "string" +string(3) "123" >= string(3) "123" +string(3) "123" >= string(3) "2.5" +string(3) "123" >= NULL +string(3) "123" >= bool(true) +string(3) "123" >= bool(false) +string(3) "123" < object(stdClass)#1 (0) {} +string(3) "123" < object(stdClass)#2 (0) {} +string(3) "123" < object(test)#3 (0) {} +string(3) "123" < array(0) {} +string(3) "123" >= int(-2147483648) +string(3) "123" >= string(11) "-2147483648" +string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" >= string(0) "" +string(3) "2.5" >= int(1) +string(3) "2.5" >= float(2.5) +string(3) "2.5" >= int(0) +string(3) "2.5" < string(6) "string" +string(3) "2.5" < string(3) "123" +string(3) "2.5" >= string(3) "2.5" +string(3) "2.5" >= NULL +string(3) "2.5" >= bool(true) +string(3) "2.5" >= bool(false) +string(3) "2.5" < object(stdClass)#1 (0) {} +string(3) "2.5" < object(stdClass)#2 (0) {} +string(3) "2.5" < object(test)#3 (0) {} +string(3) "2.5" < array(0) {} +string(3) "2.5" >= int(-2147483648) +string(3) "2.5" >= string(11) "-2147483648" +NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL >= string(0) "" +NULL < int(1) +NULL < float(2.5) +NULL >= int(0) +NULL < string(6) "string" +NULL < string(3) "123" +NULL < string(3) "2.5" +NULL >= NULL +NULL < bool(true) +NULL >= bool(false) +NULL < object(stdClass)#1 (0) {} +NULL < object(stdClass)#2 (0) {} +NULL < object(test)#3 (0) {} +NULL >= array(0) {} +NULL < int(-2147483648) +NULL < string(11) "-2147483648" +bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) >= string(0) "" +bool(true) >= int(1) +bool(true) >= float(2.5) +bool(true) >= int(0) +bool(true) >= string(6) "string" +bool(true) >= string(3) "123" +bool(true) >= string(3) "2.5" +bool(true) >= NULL +bool(true) >= bool(true) +bool(true) >= bool(false) +bool(true) >= object(stdClass)#1 (0) {} +bool(true) >= object(stdClass)#2 (0) {} +bool(true) >= object(test)#3 (0) {} +bool(true) >= array(0) {} +bool(true) >= int(-2147483648) +bool(true) >= string(11) "-2147483648" +bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) >= string(0) "" +bool(false) < int(1) +bool(false) < float(2.5) +bool(false) >= int(0) +bool(false) < string(6) "string" +bool(false) < string(3) "123" +bool(false) < string(3) "2.5" +bool(false) >= NULL +bool(false) < bool(true) +bool(false) >= bool(false) +bool(false) < object(stdClass)#1 (0) {} +bool(false) < object(stdClass)#2 (0) {} +bool(false) < object(test)#3 (0) {} +bool(false) >= array(0) {} +bool(false) < int(-2147483648) +bool(false) < string(11) "-2147483648" +object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} >= string(0) "" +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#1 (0) {} >= string(6) "string" +object(stdClass)#1 (0) {} >= string(3) "123" +object(stdClass)#1 (0) {} >= string(3) "2.5" +object(stdClass)#1 (0) {} >= NULL +object(stdClass)#1 (0) {} >= bool(true) +object(stdClass)#1 (0) {} >= bool(false) +object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} >= object(test)#3 (0) {} +object(stdClass)#1 (0) {} >= array(0) {} +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-2147483648) +object(stdClass)#1 (0) {} >= string(11) "-2147483648" +object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} >= string(0) "" +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#2 (0) {} >= string(6) "string" +object(stdClass)#2 (0) {} >= string(3) "123" +object(stdClass)#2 (0) {} >= string(3) "2.5" +object(stdClass)#2 (0) {} >= NULL +object(stdClass)#2 (0) {} >= bool(true) +object(stdClass)#2 (0) {} >= bool(false) +object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} >= object(test)#3 (0) {} +object(stdClass)#2 (0) {} >= array(0) {} +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-2147483648) +object(stdClass)#2 (0) {} >= string(11) "-2147483648" +object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} >= string(0) "" +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(1) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + < float(2.5) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(0) +object(test)#3 (0) {} >= string(6) "string" +object(test)#3 (0) {} >= string(3) "123" +object(test)#3 (0) {} >= string(3) "2.5" +object(test)#3 (0) {} >= NULL +object(test)#3 (0) {} >= bool(true) +object(test)#3 (0) {} >= bool(false) +object(test)#3 (0) {} >= object(stdClass)#1 (0) {} +object(test)#3 (0) {} >= object(stdClass)#2 (0) {} +object(test)#3 (0) {} >= object(test)#3 (0) {} +object(test)#3 (0) {} >= array(0) {} +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(-2147483648) +object(test)#3 (0) {} >= string(11) "-2147483648" +array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} >= string(0) "" +array(0) {} >= int(1) +array(0) {} >= float(2.5) +array(0) {} >= int(0) +array(0) {} >= string(6) "string" +array(0) {} >= string(3) "123" +array(0) {} >= string(3) "2.5" +array(0) {} >= NULL +array(0) {} < bool(true) +array(0) {} >= bool(false) +array(0) {} < object(stdClass)#1 (0) {} +array(0) {} < object(stdClass)#2 (0) {} +array(0) {} < object(test)#3 (0) {} +array(0) {} >= array(0) {} +array(0) {} >= int(-2147483648) +array(0) {} >= string(11) "-2147483648" +int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) < string(0) "" +int(-2147483648) < int(1) +int(-2147483648) < float(2.5) +int(-2147483648) < int(0) +int(-2147483648) < string(6) "string" +int(-2147483648) < string(3) "123" +int(-2147483648) < string(3) "2.5" +int(-2147483648) >= NULL +int(-2147483648) >= bool(true) +int(-2147483648) >= bool(false) +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#1 (0) {} +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#2 (0) {} +int(-2147483648) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#3 (0) {} +int(-2147483648) < array(0) {} +int(-2147483648) >= int(-2147483648) +int(-2147483648) >= string(11) "-2147483648" +string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" >= string(0) "" +string(11) "-2147483648" < int(1) +string(11) "-2147483648" < float(2.5) +string(11) "-2147483648" < int(0) +string(11) "-2147483648" < string(6) "string" +string(11) "-2147483648" < string(3) "123" +string(11) "-2147483648" < string(3) "2.5" +string(11) "-2147483648" >= NULL +string(11) "-2147483648" >= bool(true) +string(11) "-2147483648" >= bool(false) +string(11) "-2147483648" < object(stdClass)#1 (0) {} +string(11) "-2147483648" < object(stdClass)#2 (0) {} +string(11) "-2147483648" < object(test)#3 (0) {} +string(11) "-2147483648" < array(0) {} +string(11) "-2147483648" >= int(-2147483648) +string(11) "-2147483648" >= string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_004_64bit.phpt b/Zend/tests/compare_004_64bit.phpt new file mode 100644 index 000000000..36bdaa78e --- /dev/null +++ b/Zend/tests/compare_004_64bit.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (less than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var < $a[$i]) ? " < " : " >= "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808" +string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" >= string(0) "" +string(0) "" < int(1) +string(0) "" < float(2.5) +string(0) "" >= int(0) +string(0) "" < string(6) "string" +string(0) "" < string(3) "123" +string(0) "" < string(3) "2.5" +string(0) "" >= NULL +string(0) "" < bool(true) +string(0) "" >= bool(false) +string(0) "" < object(stdClass)#%d (0) {} +string(0) "" < object(stdClass)#%d (0) {} +string(0) "" < object(test)#%d (0) {} +string(0) "" < array(0) {} +string(0) "" >= int(-9223372036854775808) +string(0) "" < string(20) "-9223372036854775808" +int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) >= string(0) "" +int(1) >= int(1) +int(1) < float(2.5) +int(1) >= int(0) +int(1) >= string(6) "string" +int(1) < string(3) "123" +int(1) < string(3) "2.5" +int(1) >= NULL +int(1) >= bool(true) +int(1) >= bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + >= object(test)#%d (0) {} +int(1) < array(0) {} +int(1) >= int(-9223372036854775808) +int(1) >= string(20) "-9223372036854775808" +float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) >= string(0) "" +float(2.5) >= int(1) +float(2.5) >= float(2.5) +float(2.5) >= int(0) +float(2.5) >= string(6) "string" +float(2.5) < string(3) "123" +float(2.5) >= string(3) "2.5" +float(2.5) >= NULL +float(2.5) >= bool(true) +float(2.5) >= bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + >= object(test)#%d (0) {} +float(2.5) < array(0) {} +float(2.5) >= int(-9223372036854775808) +float(2.5) >= string(20) "-9223372036854775808" +int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) >= string(0) "" +int(0) < int(1) +int(0) < float(2.5) +int(0) >= int(0) +int(0) >= string(6) "string" +int(0) < string(3) "123" +int(0) < string(3) "2.5" +int(0) >= NULL +int(0) < bool(true) +int(0) >= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#%d (0) {} +int(0) < array(0) {} +int(0) >= int(-9223372036854775808) +int(0) >= string(20) "-9223372036854775808" +string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" >= string(0) "" +string(6) "string" < int(1) +string(6) "string" < float(2.5) +string(6) "string" >= int(0) +string(6) "string" >= string(6) "string" +string(6) "string" >= string(3) "123" +string(6) "string" >= string(3) "2.5" +string(6) "string" >= NULL +string(6) "string" >= bool(true) +string(6) "string" >= bool(false) +string(6) "string" < object(stdClass)#%d (0) {} +string(6) "string" < object(stdClass)#%d (0) {} +string(6) "string" < object(test)#%d (0) {} +string(6) "string" < array(0) {} +string(6) "string" >= int(-9223372036854775808) +string(6) "string" >= string(20) "-9223372036854775808" +string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" >= string(0) "" +string(3) "123" >= int(1) +string(3) "123" >= float(2.5) +string(3) "123" >= int(0) +string(3) "123" < string(6) "string" +string(3) "123" >= string(3) "123" +string(3) "123" >= string(3) "2.5" +string(3) "123" >= NULL +string(3) "123" >= bool(true) +string(3) "123" >= bool(false) +string(3) "123" < object(stdClass)#%d (0) {} +string(3) "123" < object(stdClass)#%d (0) {} +string(3) "123" < object(test)#%d (0) {} +string(3) "123" < array(0) {} +string(3) "123" >= int(-9223372036854775808) +string(3) "123" >= string(20) "-9223372036854775808" +string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" >= string(0) "" +string(3) "2.5" >= int(1) +string(3) "2.5" >= float(2.5) +string(3) "2.5" >= int(0) +string(3) "2.5" < string(6) "string" +string(3) "2.5" < string(3) "123" +string(3) "2.5" >= string(3) "2.5" +string(3) "2.5" >= NULL +string(3) "2.5" >= bool(true) +string(3) "2.5" >= bool(false) +string(3) "2.5" < object(stdClass)#%d (0) {} +string(3) "2.5" < object(stdClass)#%d (0) {} +string(3) "2.5" < object(test)#%d (0) {} +string(3) "2.5" < array(0) {} +string(3) "2.5" >= int(-9223372036854775808) +string(3) "2.5" >= string(20) "-9223372036854775808" +NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL >= string(0) "" +NULL < int(1) +NULL < float(2.5) +NULL >= int(0) +NULL < string(6) "string" +NULL < string(3) "123" +NULL < string(3) "2.5" +NULL >= NULL +NULL < bool(true) +NULL >= bool(false) +NULL < object(stdClass)#%d (0) {} +NULL < object(stdClass)#%d (0) {} +NULL < object(test)#%d (0) {} +NULL >= array(0) {} +NULL < int(-9223372036854775808) +NULL < string(20) "-9223372036854775808" +bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) >= string(0) "" +bool(true) >= int(1) +bool(true) >= float(2.5) +bool(true) >= int(0) +bool(true) >= string(6) "string" +bool(true) >= string(3) "123" +bool(true) >= string(3) "2.5" +bool(true) >= NULL +bool(true) >= bool(true) +bool(true) >= bool(false) +bool(true) >= object(stdClass)#%d (0) {} +bool(true) >= object(stdClass)#%d (0) {} +bool(true) >= object(test)#%d (0) {} +bool(true) >= array(0) {} +bool(true) >= int(-9223372036854775808) +bool(true) >= string(20) "-9223372036854775808" +bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) >= string(0) "" +bool(false) < int(1) +bool(false) < float(2.5) +bool(false) >= int(0) +bool(false) < string(6) "string" +bool(false) < string(3) "123" +bool(false) < string(3) "2.5" +bool(false) >= NULL +bool(false) < bool(true) +bool(false) >= bool(false) +bool(false) < object(stdClass)#%d (0) {} +bool(false) < object(stdClass)#%d (0) {} +bool(false) < object(test)#%d (0) {} +bool(false) >= array(0) {} +bool(false) < int(-9223372036854775808) +bool(false) < string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} >= string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#%d (0) {} >= string(6) "string" +object(stdClass)#%d (0) {} >= string(3) "123" +object(stdClass)#%d (0) {} >= string(3) "2.5" +object(stdClass)#%d (0) {} >= NULL +object(stdClass)#%d (0) {} >= bool(true) +object(stdClass)#%d (0) {} >= bool(false) +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(test)#%d (0) {} +object(stdClass)#%d (0) {} >= array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} >= string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#%d (0) {} >= string(6) "string" +object(stdClass)#%d (0) {} >= string(3) "123" +object(stdClass)#%d (0) {} >= string(3) "2.5" +object(stdClass)#%d (0) {} >= NULL +object(stdClass)#%d (0) {} >= bool(true) +object(stdClass)#%d (0) {} >= bool(false) +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(test)#%d (0) {} +object(stdClass)#%d (0) {} >= array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808" +object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} >= string(0) "" +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(1) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + < float(2.5) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(0) +object(test)#%d (0) {} >= string(6) "string" +object(test)#%d (0) {} >= string(3) "123" +object(test)#%d (0) {} >= string(3) "2.5" +object(test)#%d (0) {} >= NULL +object(test)#%d (0) {} >= bool(true) +object(test)#%d (0) {} >= bool(false) +object(test)#%d (0) {} >= object(stdClass)#%d (0) {} +object(test)#%d (0) {} >= object(stdClass)#%d (0) {} +object(test)#%d (0) {} >= object(test)#%d (0) {} +object(test)#%d (0) {} >= array(0) {} +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(test)#%d (0) {} >= string(20) "-9223372036854775808" +array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} >= string(0) "" +array(0) {} >= int(1) +array(0) {} >= float(2.5) +array(0) {} >= int(0) +array(0) {} >= string(6) "string" +array(0) {} >= string(3) "123" +array(0) {} >= string(3) "2.5" +array(0) {} >= NULL +array(0) {} < bool(true) +array(0) {} >= bool(false) +array(0) {} < object(stdClass)#%d (0) {} +array(0) {} < object(stdClass)#%d (0) {} +array(0) {} < object(test)#%d (0) {} +array(0) {} >= array(0) {} +array(0) {} >= int(-9223372036854775808) +array(0) {} >= string(20) "-9223372036854775808" +int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) < string(0) "" +int(-9223372036854775808) < int(1) +int(-9223372036854775808) < float(2.5) +int(-9223372036854775808) < int(0) +int(-9223372036854775808) < string(6) "string" +int(-9223372036854775808) < string(3) "123" +int(-9223372036854775808) < string(3) "2.5" +int(-9223372036854775808) >= NULL +int(-9223372036854775808) >= bool(true) +int(-9223372036854775808) >= bool(false) +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#%d (0) {} +int(-9223372036854775808) < array(0) {} +int(-9223372036854775808) >= int(-9223372036854775808) +int(-9223372036854775808) >= string(20) "-9223372036854775808" +string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" >= string(0) "" +string(20) "-9223372036854775808" < int(1) +string(20) "-9223372036854775808" < float(2.5) +string(20) "-9223372036854775808" < int(0) +string(20) "-9223372036854775808" < string(6) "string" +string(20) "-9223372036854775808" < string(3) "123" +string(20) "-9223372036854775808" < string(3) "2.5" +string(20) "-9223372036854775808" >= NULL +string(20) "-9223372036854775808" >= bool(true) +string(20) "-9223372036854775808" >= bool(false) +string(20) "-9223372036854775808" < object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" < object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" < object(test)#%d (0) {} +string(20) "-9223372036854775808" < array(0) {} +string(20) "-9223372036854775808" >= int(-9223372036854775808) +string(20) "-9223372036854775808" >= string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/compare_005.phpt b/Zend/tests/compare_005.phpt new file mode 100644 index 000000000..4f5cd80b5 --- /dev/null +++ b/Zend/tests/compare_005.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (greater or equal than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var >= $a[$i]) ? " >= " : " < "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(11) "-2147483648" +string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" >= string(0) "" +string(0) "" < int(1) +string(0) "" < float(2.5) +string(0) "" >= int(0) +string(0) "" < string(6) "string" +string(0) "" < string(3) "123" +string(0) "" < string(3) "2.5" +string(0) "" >= NULL +string(0) "" < bool(true) +string(0) "" >= bool(false) +string(0) "" < object(stdClass)#1 (0) {} +string(0) "" < object(stdClass)#2 (0) {} +string(0) "" < object(test)#3 (0) {} +string(0) "" < array(0) {} +string(0) "" >= int(-2147483648) +string(0) "" < string(11) "-2147483648" +int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) >= string(0) "" +int(1) >= int(1) +int(1) < float(2.5) +int(1) >= int(0) +int(1) >= string(6) "string" +int(1) < string(3) "123" +int(1) < string(3) "2.5" +int(1) >= NULL +int(1) >= bool(true) +int(1) >= bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#1 (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#2 (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + >= object(test)#3 (0) {} +int(1) < array(0) {} +int(1) >= int(-2147483648) +int(1) >= string(11) "-2147483648" +float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) >= string(0) "" +float(2.5) >= int(1) +float(2.5) >= float(2.5) +float(2.5) >= int(0) +float(2.5) >= string(6) "string" +float(2.5) < string(3) "123" +float(2.5) >= string(3) "2.5" +float(2.5) >= NULL +float(2.5) >= bool(true) +float(2.5) >= bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#1 (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#2 (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + >= object(test)#3 (0) {} +float(2.5) < array(0) {} +float(2.5) >= int(-2147483648) +float(2.5) >= string(11) "-2147483648" +int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) >= string(0) "" +int(0) < int(1) +int(0) < float(2.5) +int(0) >= int(0) +int(0) >= string(6) "string" +int(0) < string(3) "123" +int(0) < string(3) "2.5" +int(0) >= NULL +int(0) < bool(true) +int(0) >= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#1 (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#2 (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#3 (0) {} +int(0) < array(0) {} +int(0) >= int(-2147483648) +int(0) >= string(11) "-2147483648" +string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" >= string(0) "" +string(6) "string" < int(1) +string(6) "string" < float(2.5) +string(6) "string" >= int(0) +string(6) "string" >= string(6) "string" +string(6) "string" >= string(3) "123" +string(6) "string" >= string(3) "2.5" +string(6) "string" >= NULL +string(6) "string" >= bool(true) +string(6) "string" >= bool(false) +string(6) "string" < object(stdClass)#1 (0) {} +string(6) "string" < object(stdClass)#2 (0) {} +string(6) "string" < object(test)#3 (0) {} +string(6) "string" < array(0) {} +string(6) "string" >= int(-2147483648) +string(6) "string" >= string(11) "-2147483648" +string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" >= string(0) "" +string(3) "123" >= int(1) +string(3) "123" >= float(2.5) +string(3) "123" >= int(0) +string(3) "123" < string(6) "string" +string(3) "123" >= string(3) "123" +string(3) "123" >= string(3) "2.5" +string(3) "123" >= NULL +string(3) "123" >= bool(true) +string(3) "123" >= bool(false) +string(3) "123" < object(stdClass)#1 (0) {} +string(3) "123" < object(stdClass)#2 (0) {} +string(3) "123" < object(test)#3 (0) {} +string(3) "123" < array(0) {} +string(3) "123" >= int(-2147483648) +string(3) "123" >= string(11) "-2147483648" +string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" >= string(0) "" +string(3) "2.5" >= int(1) +string(3) "2.5" >= float(2.5) +string(3) "2.5" >= int(0) +string(3) "2.5" < string(6) "string" +string(3) "2.5" < string(3) "123" +string(3) "2.5" >= string(3) "2.5" +string(3) "2.5" >= NULL +string(3) "2.5" >= bool(true) +string(3) "2.5" >= bool(false) +string(3) "2.5" < object(stdClass)#1 (0) {} +string(3) "2.5" < object(stdClass)#2 (0) {} +string(3) "2.5" < object(test)#3 (0) {} +string(3) "2.5" < array(0) {} +string(3) "2.5" >= int(-2147483648) +string(3) "2.5" >= string(11) "-2147483648" +NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL >= string(0) "" +NULL < int(1) +NULL < float(2.5) +NULL >= int(0) +NULL < string(6) "string" +NULL < string(3) "123" +NULL < string(3) "2.5" +NULL >= NULL +NULL < bool(true) +NULL >= bool(false) +NULL < object(stdClass)#1 (0) {} +NULL < object(stdClass)#2 (0) {} +NULL < object(test)#3 (0) {} +NULL >= array(0) {} +NULL < int(-2147483648) +NULL < string(11) "-2147483648" +bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) >= string(0) "" +bool(true) >= int(1) +bool(true) >= float(2.5) +bool(true) >= int(0) +bool(true) >= string(6) "string" +bool(true) >= string(3) "123" +bool(true) >= string(3) "2.5" +bool(true) >= NULL +bool(true) >= bool(true) +bool(true) >= bool(false) +bool(true) >= object(stdClass)#1 (0) {} +bool(true) >= object(stdClass)#2 (0) {} +bool(true) >= object(test)#3 (0) {} +bool(true) >= array(0) {} +bool(true) >= int(-2147483648) +bool(true) >= string(11) "-2147483648" +bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) >= string(0) "" +bool(false) < int(1) +bool(false) < float(2.5) +bool(false) >= int(0) +bool(false) < string(6) "string" +bool(false) < string(3) "123" +bool(false) < string(3) "2.5" +bool(false) >= NULL +bool(false) < bool(true) +bool(false) >= bool(false) +bool(false) < object(stdClass)#1 (0) {} +bool(false) < object(stdClass)#2 (0) {} +bool(false) < object(test)#3 (0) {} +bool(false) >= array(0) {} +bool(false) < int(-2147483648) +bool(false) < string(11) "-2147483648" +object(stdClass)#1 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} >= string(0) "" +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#1 (0) {} >= string(6) "string" +object(stdClass)#1 (0) {} >= string(3) "123" +object(stdClass)#1 (0) {} >= string(3) "2.5" +object(stdClass)#1 (0) {} >= NULL +object(stdClass)#1 (0) {} >= bool(true) +object(stdClass)#1 (0) {} >= bool(false) +object(stdClass)#1 (0) {} >= object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} >= object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} < object(test)#3 (0) {} +object(stdClass)#1 (0) {} >= array(0) {} +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-2147483648) +object(stdClass)#1 (0) {} >= string(11) "-2147483648" +object(stdClass)#2 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} >= string(0) "" +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#2 (0) {} >= string(6) "string" +object(stdClass)#2 (0) {} >= string(3) "123" +object(stdClass)#2 (0) {} >= string(3) "2.5" +object(stdClass)#2 (0) {} >= NULL +object(stdClass)#2 (0) {} >= bool(true) +object(stdClass)#2 (0) {} >= bool(false) +object(stdClass)#2 (0) {} >= object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} >= object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} < object(test)#3 (0) {} +object(stdClass)#2 (0) {} >= array(0) {} +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-2147483648) +object(stdClass)#2 (0) {} >= string(11) "-2147483648" +object(test)#3 (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} >= string(0) "" +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(1) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + < float(2.5) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(0) +object(test)#3 (0) {} >= string(6) "string" +object(test)#3 (0) {} >= string(3) "123" +object(test)#3 (0) {} >= string(3) "2.5" +object(test)#3 (0) {} >= NULL +object(test)#3 (0) {} >= bool(true) +object(test)#3 (0) {} >= bool(false) +object(test)#3 (0) {} < object(stdClass)#1 (0) {} +object(test)#3 (0) {} < object(stdClass)#2 (0) {} +object(test)#3 (0) {} >= object(test)#3 (0) {} +object(test)#3 (0) {} >= array(0) {} +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(-2147483648) +object(test)#3 (0) {} >= string(11) "-2147483648" +array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} >= string(0) "" +array(0) {} >= int(1) +array(0) {} >= float(2.5) +array(0) {} >= int(0) +array(0) {} >= string(6) "string" +array(0) {} >= string(3) "123" +array(0) {} >= string(3) "2.5" +array(0) {} >= NULL +array(0) {} < bool(true) +array(0) {} >= bool(false) +array(0) {} < object(stdClass)#1 (0) {} +array(0) {} < object(stdClass)#2 (0) {} +array(0) {} < object(test)#3 (0) {} +array(0) {} >= array(0) {} +array(0) {} >= int(-2147483648) +array(0) {} >= string(11) "-2147483648" +int(-2147483648) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) < string(0) "" +int(-2147483648) < int(1) +int(-2147483648) < float(2.5) +int(-2147483648) < int(0) +int(-2147483648) < string(6) "string" +int(-2147483648) < string(3) "123" +int(-2147483648) < string(3) "2.5" +int(-2147483648) >= NULL +int(-2147483648) >= bool(true) +int(-2147483648) >= bool(false) +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#1 (0) {} +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#2 (0) {} +int(-2147483648) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#3 (0) {} +int(-2147483648) < array(0) {} +int(-2147483648) >= int(-2147483648) +int(-2147483648) >= string(11) "-2147483648" +string(11) "-2147483648" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" >= string(0) "" +string(11) "-2147483648" < int(1) +string(11) "-2147483648" < float(2.5) +string(11) "-2147483648" < int(0) +string(11) "-2147483648" < string(6) "string" +string(11) "-2147483648" < string(3) "123" +string(11) "-2147483648" < string(3) "2.5" +string(11) "-2147483648" >= NULL +string(11) "-2147483648" >= bool(true) +string(11) "-2147483648" >= bool(false) +string(11) "-2147483648" < object(stdClass)#1 (0) {} +string(11) "-2147483648" < object(stdClass)#2 (0) {} +string(11) "-2147483648" < object(test)#3 (0) {} +string(11) "-2147483648" < array(0) {} +string(11) "-2147483648" >= int(-2147483648) +string(11) "-2147483648" >= string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_005_64bit.phpt b/Zend/tests/compare_005_64bit.phpt new file mode 100644 index 000000000..69492b3b2 --- /dev/null +++ b/Zend/tests/compare_005_64bit.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (greater or equal than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var >= $a[$i]) ? " >= " : " < "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} < object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} >= string(20) "-9223372036854775808" +string(0) "" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" >= string(0) "" +string(0) "" < int(1) +string(0) "" < float(2.5) +string(0) "" >= int(0) +string(0) "" < string(6) "string" +string(0) "" < string(3) "123" +string(0) "" < string(3) "2.5" +string(0) "" >= NULL +string(0) "" < bool(true) +string(0) "" >= bool(false) +string(0) "" < object(stdClass)#%d (0) {} +string(0) "" < object(stdClass)#%d (0) {} +string(0) "" < object(test)#%d (0) {} +string(0) "" < array(0) {} +string(0) "" >= int(-9223372036854775808) +string(0) "" < string(20) "-9223372036854775808" +int(1) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) >= string(0) "" +int(1) >= int(1) +int(1) < float(2.5) +int(1) >= int(0) +int(1) >= string(6) "string" +int(1) < string(3) "123" +int(1) < string(3) "2.5" +int(1) >= NULL +int(1) >= bool(true) +int(1) >= bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + >= object(test)#%d (0) {} +int(1) < array(0) {} +int(1) >= int(-9223372036854775808) +int(1) >= string(20) "-9223372036854775808" +float(2.5) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) >= string(0) "" +float(2.5) >= int(1) +float(2.5) >= float(2.5) +float(2.5) >= int(0) +float(2.5) >= string(6) "string" +float(2.5) < string(3) "123" +float(2.5) >= string(3) "2.5" +float(2.5) >= NULL +float(2.5) >= bool(true) +float(2.5) >= bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + >= object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + >= object(test)#%d (0) {} +float(2.5) < array(0) {} +float(2.5) >= int(-9223372036854775808) +float(2.5) >= string(20) "-9223372036854775808" +int(0) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) >= string(0) "" +int(0) < int(1) +int(0) < float(2.5) +int(0) >= int(0) +int(0) >= string(6) "string" +int(0) < string(3) "123" +int(0) < string(3) "2.5" +int(0) >= NULL +int(0) < bool(true) +int(0) >= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#%d (0) {} +int(0) < array(0) {} +int(0) >= int(-9223372036854775808) +int(0) >= string(20) "-9223372036854775808" +string(6) "string" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" >= string(0) "" +string(6) "string" < int(1) +string(6) "string" < float(2.5) +string(6) "string" >= int(0) +string(6) "string" >= string(6) "string" +string(6) "string" >= string(3) "123" +string(6) "string" >= string(3) "2.5" +string(6) "string" >= NULL +string(6) "string" >= bool(true) +string(6) "string" >= bool(false) +string(6) "string" < object(stdClass)#%d (0) {} +string(6) "string" < object(stdClass)#%d (0) {} +string(6) "string" < object(test)#%d (0) {} +string(6) "string" < array(0) {} +string(6) "string" >= int(-9223372036854775808) +string(6) "string" >= string(20) "-9223372036854775808" +string(3) "123" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" >= string(0) "" +string(3) "123" >= int(1) +string(3) "123" >= float(2.5) +string(3) "123" >= int(0) +string(3) "123" < string(6) "string" +string(3) "123" >= string(3) "123" +string(3) "123" >= string(3) "2.5" +string(3) "123" >= NULL +string(3) "123" >= bool(true) +string(3) "123" >= bool(false) +string(3) "123" < object(stdClass)#%d (0) {} +string(3) "123" < object(stdClass)#%d (0) {} +string(3) "123" < object(test)#%d (0) {} +string(3) "123" < array(0) {} +string(3) "123" >= int(-9223372036854775808) +string(3) "123" >= string(20) "-9223372036854775808" +string(3) "2.5" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" >= string(0) "" +string(3) "2.5" >= int(1) +string(3) "2.5" >= float(2.5) +string(3) "2.5" >= int(0) +string(3) "2.5" < string(6) "string" +string(3) "2.5" < string(3) "123" +string(3) "2.5" >= string(3) "2.5" +string(3) "2.5" >= NULL +string(3) "2.5" >= bool(true) +string(3) "2.5" >= bool(false) +string(3) "2.5" < object(stdClass)#%d (0) {} +string(3) "2.5" < object(stdClass)#%d (0) {} +string(3) "2.5" < object(test)#%d (0) {} +string(3) "2.5" < array(0) {} +string(3) "2.5" >= int(-9223372036854775808) +string(3) "2.5" >= string(20) "-9223372036854775808" +NULL < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL >= string(0) "" +NULL < int(1) +NULL < float(2.5) +NULL >= int(0) +NULL < string(6) "string" +NULL < string(3) "123" +NULL < string(3) "2.5" +NULL >= NULL +NULL < bool(true) +NULL >= bool(false) +NULL < object(stdClass)#%d (0) {} +NULL < object(stdClass)#%d (0) {} +NULL < object(test)#%d (0) {} +NULL >= array(0) {} +NULL < int(-9223372036854775808) +NULL < string(20) "-9223372036854775808" +bool(true) >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) >= string(0) "" +bool(true) >= int(1) +bool(true) >= float(2.5) +bool(true) >= int(0) +bool(true) >= string(6) "string" +bool(true) >= string(3) "123" +bool(true) >= string(3) "2.5" +bool(true) >= NULL +bool(true) >= bool(true) +bool(true) >= bool(false) +bool(true) >= object(stdClass)#%d (0) {} +bool(true) >= object(stdClass)#%d (0) {} +bool(true) >= object(test)#%d (0) {} +bool(true) >= array(0) {} +bool(true) >= int(-9223372036854775808) +bool(true) >= string(20) "-9223372036854775808" +bool(false) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) >= string(0) "" +bool(false) < int(1) +bool(false) < float(2.5) +bool(false) >= int(0) +bool(false) < string(6) "string" +bool(false) < string(3) "123" +bool(false) < string(3) "2.5" +bool(false) >= NULL +bool(false) < bool(true) +bool(false) >= bool(false) +bool(false) < object(stdClass)#%d (0) {} +bool(false) < object(stdClass)#%d (0) {} +bool(false) < object(test)#%d (0) {} +bool(false) >= array(0) {} +bool(false) < int(-9223372036854775808) +bool(false) < string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} >= string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#%d (0) {} >= string(6) "string" +object(stdClass)#%d (0) {} >= string(3) "123" +object(stdClass)#%d (0) {} >= string(3) "2.5" +object(stdClass)#%d (0) {} >= NULL +object(stdClass)#%d (0) {} >= bool(true) +object(stdClass)#%d (0) {} >= bool(false) +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} < object(test)#%d (0) {} +object(stdClass)#%d (0) {} >= array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} >= string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + < float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(0) +object(stdClass)#%d (0) {} >= string(6) "string" +object(stdClass)#%d (0) {} >= string(3) "123" +object(stdClass)#%d (0) {} >= string(3) "2.5" +object(stdClass)#%d (0) {} >= NULL +object(stdClass)#%d (0) {} >= bool(true) +object(stdClass)#%d (0) {} >= bool(false) +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} >= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} < object(test)#%d (0) {} +object(stdClass)#%d (0) {} >= array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(stdClass)#%d (0) {} >= string(20) "-9223372036854775808" +object(test)#%d (0) {} >= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} >= string(0) "" +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(1) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + < float(2.5) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(0) +object(test)#%d (0) {} >= string(6) "string" +object(test)#%d (0) {} >= string(3) "123" +object(test)#%d (0) {} >= string(3) "2.5" +object(test)#%d (0) {} >= NULL +object(test)#%d (0) {} >= bool(true) +object(test)#%d (0) {} >= bool(false) +object(test)#%d (0) {} < object(stdClass)#%d (0) {} +object(test)#%d (0) {} < object(stdClass)#%d (0) {} +object(test)#%d (0) {} >= object(test)#%d (0) {} +object(test)#%d (0) {} >= array(0) {} +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + >= int(-9223372036854775808) +object(test)#%d (0) {} >= string(20) "-9223372036854775808" +array(0) {} < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} >= string(0) "" +array(0) {} >= int(1) +array(0) {} >= float(2.5) +array(0) {} >= int(0) +array(0) {} >= string(6) "string" +array(0) {} >= string(3) "123" +array(0) {} >= string(3) "2.5" +array(0) {} >= NULL +array(0) {} < bool(true) +array(0) {} >= bool(false) +array(0) {} < object(stdClass)#%d (0) {} +array(0) {} < object(stdClass)#%d (0) {} +array(0) {} < object(test)#%d (0) {} +array(0) {} >= array(0) {} +array(0) {} >= int(-9223372036854775808) +array(0) {} >= string(20) "-9223372036854775808" +int(-9223372036854775808) < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) < string(0) "" +int(-9223372036854775808) < int(1) +int(-9223372036854775808) < float(2.5) +int(-9223372036854775808) < int(0) +int(-9223372036854775808) < string(6) "string" +int(-9223372036854775808) < string(3) "123" +int(-9223372036854775808) < string(3) "2.5" +int(-9223372036854775808) >= NULL +int(-9223372036854775808) >= bool(true) +int(-9223372036854775808) >= bool(false) +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + < object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class test could not be converted to int in %s on line %d + < object(test)#%d (0) {} +int(-9223372036854775808) < array(0) {} +int(-9223372036854775808) >= int(-9223372036854775808) +int(-9223372036854775808) >= string(20) "-9223372036854775808" +string(20) "-9223372036854775808" < array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" >= string(0) "" +string(20) "-9223372036854775808" < int(1) +string(20) "-9223372036854775808" < float(2.5) +string(20) "-9223372036854775808" < int(0) +string(20) "-9223372036854775808" < string(6) "string" +string(20) "-9223372036854775808" < string(3) "123" +string(20) "-9223372036854775808" < string(3) "2.5" +string(20) "-9223372036854775808" >= NULL +string(20) "-9223372036854775808" >= bool(true) +string(20) "-9223372036854775808" >= bool(false) +string(20) "-9223372036854775808" < object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" < object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" < object(test)#%d (0) {} +string(20) "-9223372036854775808" < array(0) {} +string(20) "-9223372036854775808" >= int(-9223372036854775808) +string(20) "-9223372036854775808" >= string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/compare_006.phpt b/Zend/tests/compare_006.phpt new file mode 100644 index 000000000..743983b97 --- /dev/null +++ b/Zend/tests/compare_006.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (smaller or equal than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var <= $a[$i]) ? " <= " : " > "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648" +string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" <= string(0) "" +string(0) "" <= int(1) +string(0) "" <= float(2.5) +string(0) "" <= int(0) +string(0) "" <= string(6) "string" +string(0) "" <= string(3) "123" +string(0) "" <= string(3) "2.5" +string(0) "" <= NULL +string(0) "" <= bool(true) +string(0) "" <= bool(false) +string(0) "" <= object(stdClass)#1 (0) {} +string(0) "" <= object(stdClass)#2 (0) {} +string(0) "" <= object(test)#3 (0) {} +string(0) "" <= array(0) {} +string(0) "" > int(-2147483648) +string(0) "" <= string(11) "-2147483648" +int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) > string(0) "" +int(1) <= int(1) +int(1) <= float(2.5) +int(1) > int(0) +int(1) > string(6) "string" +int(1) <= string(3) "123" +int(1) <= string(3) "2.5" +int(1) > NULL +int(1) <= bool(true) +int(1) > bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(1) <= array(0) {} +int(1) > int(-2147483648) +int(1) > string(11) "-2147483648" +float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) > string(0) "" +float(2.5) > int(1) +float(2.5) <= float(2.5) +float(2.5) > int(0) +float(2.5) > string(6) "string" +float(2.5) <= string(3) "123" +float(2.5) <= string(3) "2.5" +float(2.5) > NULL +float(2.5) <= bool(true) +float(2.5) > bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#1 (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#2 (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + > object(test)#3 (0) {} +float(2.5) <= array(0) {} +float(2.5) > int(-2147483648) +float(2.5) > string(11) "-2147483648" +int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) <= string(0) "" +int(0) <= int(1) +int(0) <= float(2.5) +int(0) <= int(0) +int(0) <= string(6) "string" +int(0) <= string(3) "123" +int(0) <= string(3) "2.5" +int(0) <= NULL +int(0) <= bool(true) +int(0) <= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(0) <= array(0) {} +int(0) > int(-2147483648) +int(0) > string(11) "-2147483648" +string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" > string(0) "" +string(6) "string" <= int(1) +string(6) "string" <= float(2.5) +string(6) "string" <= int(0) +string(6) "string" <= string(6) "string" +string(6) "string" > string(3) "123" +string(6) "string" > string(3) "2.5" +string(6) "string" > NULL +string(6) "string" <= bool(true) +string(6) "string" > bool(false) +string(6) "string" <= object(stdClass)#1 (0) {} +string(6) "string" <= object(stdClass)#2 (0) {} +string(6) "string" <= object(test)#3 (0) {} +string(6) "string" <= array(0) {} +string(6) "string" > int(-2147483648) +string(6) "string" > string(11) "-2147483648" +string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" > string(0) "" +string(3) "123" > int(1) +string(3) "123" > float(2.5) +string(3) "123" > int(0) +string(3) "123" <= string(6) "string" +string(3) "123" <= string(3) "123" +string(3) "123" > string(3) "2.5" +string(3) "123" > NULL +string(3) "123" <= bool(true) +string(3) "123" > bool(false) +string(3) "123" <= object(stdClass)#1 (0) {} +string(3) "123" <= object(stdClass)#2 (0) {} +string(3) "123" <= object(test)#3 (0) {} +string(3) "123" <= array(0) {} +string(3) "123" > int(-2147483648) +string(3) "123" > string(11) "-2147483648" +string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" > string(0) "" +string(3) "2.5" > int(1) +string(3) "2.5" <= float(2.5) +string(3) "2.5" > int(0) +string(3) "2.5" <= string(6) "string" +string(3) "2.5" <= string(3) "123" +string(3) "2.5" <= string(3) "2.5" +string(3) "2.5" > NULL +string(3) "2.5" <= bool(true) +string(3) "2.5" > bool(false) +string(3) "2.5" <= object(stdClass)#1 (0) {} +string(3) "2.5" <= object(stdClass)#2 (0) {} +string(3) "2.5" <= object(test)#3 (0) {} +string(3) "2.5" <= array(0) {} +string(3) "2.5" > int(-2147483648) +string(3) "2.5" > string(11) "-2147483648" +NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL <= string(0) "" +NULL <= int(1) +NULL <= float(2.5) +NULL <= int(0) +NULL <= string(6) "string" +NULL <= string(3) "123" +NULL <= string(3) "2.5" +NULL <= NULL +NULL <= bool(true) +NULL <= bool(false) +NULL <= object(stdClass)#1 (0) {} +NULL <= object(stdClass)#2 (0) {} +NULL <= object(test)#3 (0) {} +NULL <= array(0) {} +NULL <= int(-2147483648) +NULL <= string(11) "-2147483648" +bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) > string(0) "" +bool(true) <= int(1) +bool(true) <= float(2.5) +bool(true) > int(0) +bool(true) <= string(6) "string" +bool(true) <= string(3) "123" +bool(true) <= string(3) "2.5" +bool(true) > NULL +bool(true) <= bool(true) +bool(true) > bool(false) +bool(true) <= object(stdClass)#1 (0) {} +bool(true) <= object(stdClass)#2 (0) {} +bool(true) <= object(test)#3 (0) {} +bool(true) > array(0) {} +bool(true) <= int(-2147483648) +bool(true) <= string(11) "-2147483648" +bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) <= string(0) "" +bool(false) <= int(1) +bool(false) <= float(2.5) +bool(false) <= int(0) +bool(false) <= string(6) "string" +bool(false) <= string(3) "123" +bool(false) <= string(3) "2.5" +bool(false) <= NULL +bool(false) <= bool(true) +bool(false) <= bool(false) +bool(false) <= object(stdClass)#1 (0) {} +bool(false) <= object(stdClass)#2 (0) {} +bool(false) <= object(test)#3 (0) {} +bool(false) <= array(0) {} +bool(false) <= int(-2147483648) +bool(false) <= string(11) "-2147483648" +object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#1 (0) {} > string(0) "" +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#1 (0) {} > string(6) "string" +object(stdClass)#1 (0) {} > string(3) "123" +object(stdClass)#1 (0) {} > string(3) "2.5" +object(stdClass)#1 (0) {} > NULL +object(stdClass)#1 (0) {} <= bool(true) +object(stdClass)#1 (0) {} > bool(false) +object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {} +object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {} +object(stdClass)#1 (0) {} > object(test)#3 (0) {} +object(stdClass)#1 (0) {} > array(0) {} +object(stdClass)#1 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-2147483648) +object(stdClass)#1 (0) {} > string(11) "-2147483648" +object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#2 (0) {} > string(0) "" +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#2 (0) {} > string(6) "string" +object(stdClass)#2 (0) {} > string(3) "123" +object(stdClass)#2 (0) {} > string(3) "2.5" +object(stdClass)#2 (0) {} > NULL +object(stdClass)#2 (0) {} <= bool(true) +object(stdClass)#2 (0) {} > bool(false) +object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {} +object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {} +object(stdClass)#2 (0) {} > object(test)#3 (0) {} +object(stdClass)#2 (0) {} > array(0) {} +object(stdClass)#2 (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-2147483648) +object(stdClass)#2 (0) {} > string(11) "-2147483648" +object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#3 (0) {} > string(0) "" +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + <= int(1) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + <= float(2.5) +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(0) +object(test)#3 (0) {} > string(6) "string" +object(test)#3 (0) {} > string(3) "123" +object(test)#3 (0) {} > string(3) "2.5" +object(test)#3 (0) {} > NULL +object(test)#3 (0) {} <= bool(true) +object(test)#3 (0) {} > bool(false) +object(test)#3 (0) {} > object(stdClass)#1 (0) {} +object(test)#3 (0) {} > object(stdClass)#2 (0) {} +object(test)#3 (0) {} <= object(test)#3 (0) {} +object(test)#3 (0) {} > array(0) {} +object(test)#3 (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(-2147483648) +object(test)#3 (0) {} > string(11) "-2147483648" +array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} > string(0) "" +array(0) {} > int(1) +array(0) {} > float(2.5) +array(0) {} > int(0) +array(0) {} > string(6) "string" +array(0) {} > string(3) "123" +array(0) {} > string(3) "2.5" +array(0) {} <= NULL +array(0) {} <= bool(true) +array(0) {} <= bool(false) +array(0) {} <= object(stdClass)#1 (0) {} +array(0) {} <= object(stdClass)#2 (0) {} +array(0) {} <= object(test)#3 (0) {} +array(0) {} <= array(0) {} +array(0) {} > int(-2147483648) +array(0) {} > string(11) "-2147483648" +int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-2147483648) <= string(0) "" +int(-2147483648) <= int(1) +int(-2147483648) <= float(2.5) +int(-2147483648) <= int(0) +int(-2147483648) <= string(6) "string" +int(-2147483648) <= string(3) "123" +int(-2147483648) <= string(3) "2.5" +int(-2147483648) > NULL +int(-2147483648) <= bool(true) +int(-2147483648) > bool(false) +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#1 (0) {} +int(-2147483648) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#2 (0) {} +int(-2147483648) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#3 (0) {} +int(-2147483648) <= array(0) {} +int(-2147483648) <= int(-2147483648) +int(-2147483648) <= string(11) "-2147483648" +string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(11) "-2147483648" > string(0) "" +string(11) "-2147483648" <= int(1) +string(11) "-2147483648" <= float(2.5) +string(11) "-2147483648" <= int(0) +string(11) "-2147483648" <= string(6) "string" +string(11) "-2147483648" <= string(3) "123" +string(11) "-2147483648" <= string(3) "2.5" +string(11) "-2147483648" > NULL +string(11) "-2147483648" <= bool(true) +string(11) "-2147483648" > bool(false) +string(11) "-2147483648" <= object(stdClass)#1 (0) {} +string(11) "-2147483648" <= object(stdClass)#2 (0) {} +string(11) "-2147483648" <= object(test)#3 (0) {} +string(11) "-2147483648" <= array(0) {} +string(11) "-2147483648" <= int(-2147483648) +string(11) "-2147483648" <= string(11) "-2147483648" +Done diff --git a/Zend/tests/compare_006_64bit.phpt b/Zend/tests/compare_006_64bit.phpt new file mode 100644 index 000000000..56aad8d4b --- /dev/null +++ b/Zend/tests/compare_006_64bit.phpt @@ -0,0 +1,389 @@ +--TEST-- +comparing different variables (smaller or equal than) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--FILE-- +<?php + +class test { +} + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + new stdclass, + new test, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +$var_cnt = count($a); + +function my_dump($var) { + ob_start(); + var_dump($var); + $buf = ob_get_clean(); + echo str_replace("\n", "", $buf); +} + +foreach($a as $var) { + for ($i = 0; $i < $var_cnt; $i++) { + my_dump($var); + echo ($var <= $a[$i]) ? " <= " : " > "; + my_dump($a[$i]); + echo "\n"; + } +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) "" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5" +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#%d (0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {} +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-9223372036854775808) +array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(20) "-9223372036854775808" +string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(0) "" <= string(0) "" +string(0) "" <= int(1) +string(0) "" <= float(2.5) +string(0) "" <= int(0) +string(0) "" <= string(6) "string" +string(0) "" <= string(3) "123" +string(0) "" <= string(3) "2.5" +string(0) "" <= NULL +string(0) "" <= bool(true) +string(0) "" <= bool(false) +string(0) "" <= object(stdClass)#%d (0) {} +string(0) "" <= object(stdClass)#%d (0) {} +string(0) "" <= object(test)#%d (0) {} +string(0) "" <= array(0) {} +string(0) "" > int(-9223372036854775808) +string(0) "" <= string(20) "-9223372036854775808" +int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(1) > string(0) "" +int(1) <= int(1) +int(1) <= float(2.5) +int(1) > int(0) +int(1) > string(6) "string" +int(1) <= string(3) "123" +int(1) <= string(3) "2.5" +int(1) > NULL +int(1) <= bool(true) +int(1) > bool(false) +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(1) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(1) <= array(0) {} +int(1) > int(-9223372036854775808) +int(1) > string(20) "-9223372036854775808" +float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +float(2.5) > string(0) "" +float(2.5) > int(1) +float(2.5) <= float(2.5) +float(2.5) > int(0) +float(2.5) > string(6) "string" +float(2.5) <= string(3) "123" +float(2.5) <= string(3) "2.5" +float(2.5) > NULL +float(2.5) <= bool(true) +float(2.5) > bool(false) +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class stdClass could not be converted to double in %s on line %d + > object(stdClass)#%d (0) {} +float(2.5) +Notice: Object of class test could not be converted to double in %s on line %d + > object(test)#%d (0) {} +float(2.5) <= array(0) {} +float(2.5) > int(-9223372036854775808) +float(2.5) > string(20) "-9223372036854775808" +int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(0) <= string(0) "" +int(0) <= int(1) +int(0) <= float(2.5) +int(0) <= int(0) +int(0) <= string(6) "string" +int(0) <= string(3) "123" +int(0) <= string(3) "2.5" +int(0) <= NULL +int(0) <= bool(true) +int(0) <= bool(false) +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(0) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(0) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(0) <= array(0) {} +int(0) > int(-9223372036854775808) +int(0) > string(20) "-9223372036854775808" +string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(6) "string" > string(0) "" +string(6) "string" <= int(1) +string(6) "string" <= float(2.5) +string(6) "string" <= int(0) +string(6) "string" <= string(6) "string" +string(6) "string" > string(3) "123" +string(6) "string" > string(3) "2.5" +string(6) "string" > NULL +string(6) "string" <= bool(true) +string(6) "string" > bool(false) +string(6) "string" <= object(stdClass)#%d (0) {} +string(6) "string" <= object(stdClass)#%d (0) {} +string(6) "string" <= object(test)#%d (0) {} +string(6) "string" <= array(0) {} +string(6) "string" > int(-9223372036854775808) +string(6) "string" > string(20) "-9223372036854775808" +string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "123" > string(0) "" +string(3) "123" > int(1) +string(3) "123" > float(2.5) +string(3) "123" > int(0) +string(3) "123" <= string(6) "string" +string(3) "123" <= string(3) "123" +string(3) "123" > string(3) "2.5" +string(3) "123" > NULL +string(3) "123" <= bool(true) +string(3) "123" > bool(false) +string(3) "123" <= object(stdClass)#%d (0) {} +string(3) "123" <= object(stdClass)#%d (0) {} +string(3) "123" <= object(test)#%d (0) {} +string(3) "123" <= array(0) {} +string(3) "123" > int(-9223372036854775808) +string(3) "123" > string(20) "-9223372036854775808" +string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(3) "2.5" > string(0) "" +string(3) "2.5" > int(1) +string(3) "2.5" <= float(2.5) +string(3) "2.5" > int(0) +string(3) "2.5" <= string(6) "string" +string(3) "2.5" <= string(3) "123" +string(3) "2.5" <= string(3) "2.5" +string(3) "2.5" > NULL +string(3) "2.5" <= bool(true) +string(3) "2.5" > bool(false) +string(3) "2.5" <= object(stdClass)#%d (0) {} +string(3) "2.5" <= object(stdClass)#%d (0) {} +string(3) "2.5" <= object(test)#%d (0) {} +string(3) "2.5" <= array(0) {} +string(3) "2.5" > int(-9223372036854775808) +string(3) "2.5" > string(20) "-9223372036854775808" +NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +NULL <= string(0) "" +NULL <= int(1) +NULL <= float(2.5) +NULL <= int(0) +NULL <= string(6) "string" +NULL <= string(3) "123" +NULL <= string(3) "2.5" +NULL <= NULL +NULL <= bool(true) +NULL <= bool(false) +NULL <= object(stdClass)#%d (0) {} +NULL <= object(stdClass)#%d (0) {} +NULL <= object(test)#%d (0) {} +NULL <= array(0) {} +NULL <= int(-9223372036854775808) +NULL <= string(20) "-9223372036854775808" +bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(true) > string(0) "" +bool(true) <= int(1) +bool(true) <= float(2.5) +bool(true) > int(0) +bool(true) <= string(6) "string" +bool(true) <= string(3) "123" +bool(true) <= string(3) "2.5" +bool(true) > NULL +bool(true) <= bool(true) +bool(true) > bool(false) +bool(true) <= object(stdClass)#%d (0) {} +bool(true) <= object(stdClass)#%d (0) {} +bool(true) <= object(test)#%d (0) {} +bool(true) > array(0) {} +bool(true) <= int(-9223372036854775808) +bool(true) <= string(20) "-9223372036854775808" +bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +bool(false) <= string(0) "" +bool(false) <= int(1) +bool(false) <= float(2.5) +bool(false) <= int(0) +bool(false) <= string(6) "string" +bool(false) <= string(3) "123" +bool(false) <= string(3) "2.5" +bool(false) <= NULL +bool(false) <= bool(true) +bool(false) <= bool(false) +bool(false) <= object(stdClass)#%d (0) {} +bool(false) <= object(stdClass)#%d (0) {} +bool(false) <= object(test)#%d (0) {} +bool(false) <= array(0) {} +bool(false) <= int(-9223372036854775808) +bool(false) <= string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} > string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#%d (0) {} > string(6) "string" +object(stdClass)#%d (0) {} > string(3) "123" +object(stdClass)#%d (0) {} > string(3) "2.5" +object(stdClass)#%d (0) {} > NULL +object(stdClass)#%d (0) {} <= bool(true) +object(stdClass)#%d (0) {} > bool(false) +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} > object(test)#%d (0) {} +object(stdClass)#%d (0) {} > array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(stdClass)#%d (0) {} > string(20) "-9223372036854775808" +object(stdClass)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(stdClass)#%d (0) {} > string(0) "" +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= int(1) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to double in %s on line %d + <= float(2.5) +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(0) +object(stdClass)#%d (0) {} > string(6) "string" +object(stdClass)#%d (0) {} > string(3) "123" +object(stdClass)#%d (0) {} > string(3) "2.5" +object(stdClass)#%d (0) {} > NULL +object(stdClass)#%d (0) {} <= bool(true) +object(stdClass)#%d (0) {} > bool(false) +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} <= object(stdClass)#%d (0) {} +object(stdClass)#%d (0) {} > object(test)#%d (0) {} +object(stdClass)#%d (0) {} > array(0) {} +object(stdClass)#%d (0) {} +Notice: Object of class stdClass could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(stdClass)#%d (0) {} > string(20) "-9223372036854775808" +object(test)#%d (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +object(test)#%d (0) {} > string(0) "" +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + <= int(1) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to double in %s on line %d + <= float(2.5) +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(0) +object(test)#%d (0) {} > string(6) "string" +object(test)#%d (0) {} > string(3) "123" +object(test)#%d (0) {} > string(3) "2.5" +object(test)#%d (0) {} > NULL +object(test)#%d (0) {} <= bool(true) +object(test)#%d (0) {} > bool(false) +object(test)#%d (0) {} > object(stdClass)#%d (0) {} +object(test)#%d (0) {} > object(stdClass)#%d (0) {} +object(test)#%d (0) {} <= object(test)#%d (0) {} +object(test)#%d (0) {} > array(0) {} +object(test)#%d (0) {} +Notice: Object of class test could not be converted to int in %s on line %d + > int(-9223372036854775808) +object(test)#%d (0) {} > string(20) "-9223372036854775808" +array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +array(0) {} > string(0) "" +array(0) {} > int(1) +array(0) {} > float(2.5) +array(0) {} > int(0) +array(0) {} > string(6) "string" +array(0) {} > string(3) "123" +array(0) {} > string(3) "2.5" +array(0) {} <= NULL +array(0) {} <= bool(true) +array(0) {} <= bool(false) +array(0) {} <= object(stdClass)#%d (0) {} +array(0) {} <= object(stdClass)#%d (0) {} +array(0) {} <= object(test)#%d (0) {} +array(0) {} <= array(0) {} +array(0) {} > int(-9223372036854775808) +array(0) {} > string(20) "-9223372036854775808" +int(-9223372036854775808) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +int(-9223372036854775808) <= string(0) "" +int(-9223372036854775808) <= int(1) +int(-9223372036854775808) <= float(2.5) +int(-9223372036854775808) <= int(0) +int(-9223372036854775808) <= string(6) "string" +int(-9223372036854775808) <= string(3) "123" +int(-9223372036854775808) <= string(3) "2.5" +int(-9223372036854775808) > NULL +int(-9223372036854775808) <= bool(true) +int(-9223372036854775808) > bool(false) +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class stdClass could not be converted to int in %s on line %d + <= object(stdClass)#%d (0) {} +int(-9223372036854775808) +Notice: Object of class test could not be converted to int in %s on line %d + <= object(test)#%d (0) {} +int(-9223372036854775808) <= array(0) {} +int(-9223372036854775808) <= int(-9223372036854775808) +int(-9223372036854775808) <= string(20) "-9223372036854775808" +string(20) "-9223372036854775808" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} +string(20) "-9223372036854775808" > string(0) "" +string(20) "-9223372036854775808" <= int(1) +string(20) "-9223372036854775808" <= float(2.5) +string(20) "-9223372036854775808" <= int(0) +string(20) "-9223372036854775808" <= string(6) "string" +string(20) "-9223372036854775808" <= string(3) "123" +string(20) "-9223372036854775808" <= string(3) "2.5" +string(20) "-9223372036854775808" > NULL +string(20) "-9223372036854775808" <= bool(true) +string(20) "-9223372036854775808" > bool(false) +string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" <= object(stdClass)#%d (0) {} +string(20) "-9223372036854775808" <= object(test)#%d (0) {} +string(20) "-9223372036854775808" <= array(0) {} +string(20) "-9223372036854775808" <= int(-9223372036854775808) +string(20) "-9223372036854775808" <= string(20) "-9223372036854775808" +Done diff --git a/Zend/tests/decrement_001.phpt b/Zend/tests/decrement_001.phpt new file mode 100644 index 000000000..6ade8ad16 --- /dev/null +++ b/Zend/tests/decrement_001.phpt @@ -0,0 +1,60 @@ +--TEST-- +decrementing different variables +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--INI-- +precision=14 +--FILE-- +<?php + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +foreach ($a as $var) { + $var--; + var_dump($var); +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +int(-1) +int(0) +float(1.5) +int(-1) +string(6) "string" +int(122) +float(1.5) +NULL +bool(true) +bool(false) +object(stdClass)#%d (0) { +} +array(0) { +} +float(-2147483649) +float(-2147483649) +Done diff --git a/Zend/tests/decrement_001_64bit.phpt b/Zend/tests/decrement_001_64bit.phpt new file mode 100644 index 000000000..7ad24b76f --- /dev/null +++ b/Zend/tests/decrement_001_64bit.phpt @@ -0,0 +1,60 @@ +--TEST-- +decrementing different variables +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--INI-- +precision=14 +--FILE-- +<?php + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + array(), + -PHP_INT_MAX-1, + (string)(-PHP_INT_MAX-1), +); + +foreach ($a as $var) { + $var--; + var_dump($var); +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +int(-1) +int(0) +float(1.5) +int(-1) +string(6) "string" +int(122) +float(1.5) +NULL +bool(true) +bool(false) +object(stdClass)#%d (0) { +} +array(0) { +} +float(-9.2233720368548E+18) +float(-9.2233720368548E+18) +Done diff --git a/Zend/tests/double_to_string.phpt b/Zend/tests/double_to_string.phpt index d1098e719..e79909384 100644 --- a/Zend/tests/double_to_string.phpt +++ b/Zend/tests/double_to_string.phpt @@ -36,7 +36,7 @@ echo "Done\n"; string(7) "2.9E+17" string(7) "2.9E+14" string(14) "29000000000000" -string(14) "29000000000000" +string(%d) "2%s" string(14) "29000000000001" string(13) "29000.7123123" string(15) "239234242.71231" diff --git a/Zend/tests/double_to_string_64bit.phpt b/Zend/tests/double_to_string_64bit.phpt index c52c38c57..5ecb1a606 100644 --- a/Zend/tests/double_to_string_64bit.phpt +++ b/Zend/tests/double_to_string_64bit.phpt @@ -2,6 +2,8 @@ double to string conversion tests (64bit) --SKIPIF-- <?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--INI-- +precision=14 --FILE-- <?php diff --git a/Zend/tests/exception_handler_001.phpt b/Zend/tests/exception_handler_001.phpt new file mode 100644 index 000000000..8f6572ef0 --- /dev/null +++ b/Zend/tests/exception_handler_001.phpt @@ -0,0 +1,20 @@ +--TEST-- +exception handler tests - 1 +--FILE-- +<?php + +set_exception_handler("foo"); + +function foo($e) { + var_dump(get_class($e)." thrown!"); +} + +class test extends Exception { +} + +throw new test(); + +echo "Done\n"; +?> +--EXPECTF-- +string(12) "test thrown!" diff --git a/Zend/tests/exception_handler_002.phpt b/Zend/tests/exception_handler_002.phpt new file mode 100644 index 000000000..3e0e4f00d --- /dev/null +++ b/Zend/tests/exception_handler_002.phpt @@ -0,0 +1,23 @@ +--TEST-- +exception handler tests - 2 +--FILE-- +<?php + +set_exception_handler("foo"); + +function foo($e) { + var_dump(get_class($e)." thrown!"); + throw new Exception(); +} + +class test extends Exception { +} + +throw new test(); + +echo "Done\n"; +?> +--EXPECTF-- +string(12) "test thrown!" + +Fatal error: Exception thrown without a stack frame in Unknown on line 0 diff --git a/Zend/tests/exception_handler_003.phpt b/Zend/tests/exception_handler_003.phpt new file mode 100644 index 000000000..137a6cabb --- /dev/null +++ b/Zend/tests/exception_handler_003.phpt @@ -0,0 +1,24 @@ +--TEST-- +exception handler tests - 3 +--FILE-- +<?php + +class test { + + function foo () { + set_exception_handler(array($this, "bar")); + } + + function bar($e) { + var_dump(get_class($e)." thrown!"); + } +} + +$a = new test; +$a->foo(); +throw new Exception(); + +echo "Done\n"; +?> +--EXPECTF-- +string(17) "Exception thrown!" diff --git a/Zend/tests/exception_handler_004.phpt b/Zend/tests/exception_handler_004.phpt new file mode 100644 index 000000000..2f367817e --- /dev/null +++ b/Zend/tests/exception_handler_004.phpt @@ -0,0 +1,21 @@ +--TEST-- +exception handler tests - 4 +--FILE-- +<?php + +set_exception_handler("fo"); +set_exception_handler(array("", "")); +set_exception_handler(); +set_exception_handler("foo", "bar"); + +echo "Done\n"; +?> +--EXPECTF-- +Warning: set_exception_handler() expects the argument (fo) to be a valid callback in %s on line %d + +Warning: set_exception_handler() expects the argument (::) to be a valid callback in %s on line %d + +Warning: Wrong parameter count for set_exception_handler() in %s on line %d + +Warning: Wrong parameter count for set_exception_handler() in %s on line %d +Done diff --git a/Zend/tests/exception_handler_005.phpt b/Zend/tests/exception_handler_005.phpt new file mode 100644 index 000000000..cc99bc623 --- /dev/null +++ b/Zend/tests/exception_handler_005.phpt @@ -0,0 +1,23 @@ +--TEST-- +exception handler tests - 5 +--FILE-- +<?php + +set_exception_handler("foo"); +set_exception_handler("foo1"); + +function foo($e) { + var_dump(__FUNCTION__."(): ".get_class($e)." thrown!"); +} + +function foo1($e) { + var_dump(__FUNCTION__."(): ".get_class($e)." thrown!"); +} + + +throw new excEption(); + +echo "Done\n"; +?> +--EXPECTF-- +string(25) "foo1(): Exception thrown!" diff --git a/Zend/tests/exception_handler_006.phpt b/Zend/tests/exception_handler_006.phpt new file mode 100644 index 000000000..05a5d927f --- /dev/null +++ b/Zend/tests/exception_handler_006.phpt @@ -0,0 +1,25 @@ +--TEST-- +exception handler tests - 6 +--FILE-- +<?php + +set_exception_handler("foo"); +set_exception_handler("foo1"); + +restore_exception_handler(); + +function foo($e) { + var_dump(__FUNCTION__."(): ".get_class($e)." thrown!"); +} + +function foo1($e) { + var_dump(__FUNCTION__."(): ".get_class($e)." thrown!"); +} + + +throw new excEption(); + +echo "Done\n"; +?> +--EXPECTF-- +string(24) "foo(): Exception thrown!" diff --git a/Zend/tests/increment_001.phpt b/Zend/tests/increment_001.phpt new file mode 100644 index 000000000..363847497 --- /dev/null +++ b/Zend/tests/increment_001.phpt @@ -0,0 +1,60 @@ +--TEST-- +incrementing different variables +--SKIPIF-- +<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> +--INI-- +precision=14 +--FILE-- +<?php + +$a = array( + array(1,2,3), + "", + 1, + 2.5, + 0, + "string", + "123", + "2.5", + NULL, + true, + false, + new stdclass, + array(), + PHP_INT_MAX, + (string)PHP_INT_MAX +); + +foreach ($a as $var) { + $var++; + var_dump($var); +} + +echo "Done\n"; +?> +--EXPECTF-- +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +string(1) "1" +int(2) +float(3.5) +int(1) +string(6) "strinh" +int(124) +float(3.5) +int(1) +bool(true) +bool(false) +object(stdClass)#%d (0) { +} +array(0) { +} +float(2147483648) +float(2147483648) +Done diff --git a/Zend/tests/settype_double.phpt b/Zend/tests/settype_double.phpt index 931a3d9df..ed63f8ae8 100644 --- a/Zend/tests/settype_double.phpt +++ b/Zend/tests/settype_double.phpt @@ -1,5 +1,7 @@ --TEST-- casting different variables to double using settype() +--INI-- +precision=14 --FILE-- <?php diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 7d63ff37e..2da877bd8 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.c,v 1.296.2.27.2.29 2007/04/30 19:54:41 johannes Exp $ */ +/* $Id: zend_API.c,v 1.296.2.27.2.31 2007/05/30 10:17:43 tony2001 Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -1629,6 +1629,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, zend_function_entr target_function_table = CG(function_table); } internal_function->type = ZEND_INTERNAL_FUNCTION; + internal_function->module = EG(current_module); if (scope) { class_name_len = strlen(scope->name); @@ -2465,12 +2466,17 @@ ZEND_API int zend_fcall_info_call(zend_fcall_info *fci, zend_fcall_info_cache *f ZEND_API char *zend_get_module_version(char *module_name) { + char *lname; + int name_len = strlen(module_name); zend_module_entry *module; - if (zend_hash_find(&module_registry, module_name, strlen(module_name) + 1, + lname = zend_str_tolower_dup(module_name, name_len); + if (zend_hash_find(&module_registry, lname, name_len + 1, (void**)&module) == FAILURE) { + efree(lname); return NULL; } + efree(lname); return module->version; } diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index ce6b06bdc..df455ed38 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_alloc.c,v 1.144.2.3.2.41 2007/04/16 08:09:54 dmitry Exp $ */ +/* $Id: zend_alloc.c,v 1.144.2.3.2.42 2007/05/28 10:07:50 tony2001 Exp $ */ #include "zend.h" #include "zend_alloc.h" @@ -1796,9 +1796,9 @@ static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_D #endif HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG - zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted at %s:%d (tried to allocate %ld bytes)", heap->limit, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted at %s:%d (tried to allocate %lu bytes)", heap->limit, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted (tried to allocate %ld bytes)", heap->limit, size); + zend_mm_safe_error(heap, "Allowed memory size of %ld bytes exhausted (tried to allocate %lu bytes)", heap->limit, size); #endif } @@ -1812,9 +1812,9 @@ static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_D HANDLE_UNBLOCK_INTERRUPTIONS(); out_of_memory: #if ZEND_DEBUG - zend_mm_safe_error(heap, "Out of memory (allocated %ld) at %s:%d (tried to allocate %ld bytes)", heap->real_size, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Out of memory (allocated %ld) at %s:%d (tried to allocate %lu bytes)", heap->real_size, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Out of memory (allocated %ld) (tried to allocate %ld bytes)", heap->real_size, size); + zend_mm_safe_error(heap, "Out of memory (allocated %ld) (tried to allocate %lu bytes)", heap->real_size, size); #endif return NULL; } @@ -2286,7 +2286,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset) "rm"(offset)); if (UNEXPECTED(overflow)) { - zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zd * %zd + %zd)", nmemb, size, offset); + zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu * %zu + %zu)", nmemb, size, offset); return 0; } return res; @@ -2301,7 +2301,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset) double _delta = (double)res - _d; if (UNEXPECTED((_d + _delta ) != _d)) { - zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zd * %zd + %zd)", nmemb, size, offset); + zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu * %zu + %zu)", nmemb, size, offset); return 0; } return res; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index b928e2799..5437610d5 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_compile.c,v 1.647.2.27.2.37 2007/05/02 17:24:15 dmitry Exp $ */ +/* $Id: zend_compile.c,v 1.647.2.27.2.40 2007/05/18 13:12:03 dmitry Exp $ */ #include <zend_language_parser.h> #include "zend.h" @@ -941,24 +941,25 @@ void zend_do_init_string(znode *result TSRMLS_DC) } -void zend_do_add_char(znode *result, znode *op1, znode *op2 TSRMLS_DC) -{ - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - - opline->opcode = ZEND_ADD_CHAR; - opline->op1 = *op1; - opline->op2 = *op2; - opline->op2.op_type = IS_CONST; - opline->result = opline->op1; - *result = opline->result; -} - - void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC) { - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); + zend_op *opline; - opline->opcode = ZEND_ADD_STRING; + if (Z_STRLEN(op2->u.constant) > 1) { + opline = get_next_op(CG(active_op_array) TSRMLS_CC); + opline->opcode = ZEND_ADD_STRING; + } else if (Z_STRLEN(op2->u.constant) == 1) { + int ch = *Z_STRVAL(op2->u.constant); + + /* Free memory and use ZEND_ADD_CHAR in case of 1 character strings */ + efree(Z_STRVAL(op2->u.constant)); + ZVAL_LONG(&op2->u.constant, ch); + opline = get_next_op(CG(active_op_array) TSRMLS_CC); + opline->opcode = ZEND_ADD_CHAR; + } else { /* String can be empty after a variable at the end of a heredoc */ + efree(Z_STRVAL(op2->u.constant)); + return; + } opline->op1 = *op1; opline->op2 = *op2; opline->op2.op_type = IS_CONST; @@ -1265,9 +1266,18 @@ void zend_do_end_function_declaration(znode *function_token TSRMLS_DC) void zend_do_receive_arg(zend_uchar op, znode *var, znode *offset, znode *initialization, znode *class_type, znode *varname, zend_uchar pass_by_reference TSRMLS_DC) { - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); + zend_op *opline; zend_arg_info *cur_arg_info; + if (CG(active_op_array)->scope && + ((CG(active_op_array)->fn_flags & ZEND_ACC_STATIC) == 0) && + (Z_TYPE(varname->u.constant) == IS_STRING) && + (Z_STRLEN(varname->u.constant) == sizeof("this")-1) && + (memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this")) == 0)) { + zend_error(E_COMPILE_ERROR, "Cannot re-assign $this"); + } + + opline = get_next_op(CG(active_op_array) TSRMLS_CC); CG(active_op_array)->num_args++; opline->opcode = op; opline->result = *var; @@ -3801,7 +3811,11 @@ void zend_do_foreach_cont(znode *foreach_token, znode *open_brackets_token, znod /* Change "write context" into "read context" */ fetch->extended_value = 0; /* reset ZEND_FE_RESET_VARIABLE */ while (fetch != end) { - (--fetch)->opcode -= 3; /* FETCH_W -> FETCH_R */ + --fetch; + if (fetch->opcode == ZEND_FETCH_DIM_W && fetch->op2.op_type == IS_UNUSED) { + zend_error(E_COMPILE_ERROR, "Cannot use [] for reading"); + } + fetch->opcode -= 3; /* FETCH_W -> FETCH_R */ } /* prevent double SWITCH_FREE */ zend_stack_top(&CG(foreach_copy_stack), (void **) &foreach_copy); @@ -3917,24 +3931,6 @@ void zend_do_declare_end(znode *declare_token TSRMLS_DC) } -void zend_do_end_heredoc(TSRMLS_D) -{ - int opline_num = get_next_op_number(CG(active_op_array))-1; - zend_op *opline = &CG(active_op_array)->opcodes[opline_num]; - - if (opline->opcode != ZEND_ADD_STRING) { - return; - } - - opline->op2.u.constant.value.str.val[(opline->op2.u.constant.value.str.len--)-1] = 0; - if (opline->op2.u.constant.value.str.len>0) { - if (opline->op2.u.constant.value.str.val[opline->op2.u.constant.value.str.len-1]=='\r') { - opline->op2.u.constant.value.str.val[(opline->op2.u.constant.value.str.len--)-1] = 0; - } - } -} - - void zend_do_exit(znode *result, znode *message TSRMLS_DC) { zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); @@ -4123,12 +4119,12 @@ int zendlex(znode *zendlval TSRMLS_DC) { int retval; -again: if (CG(increment_lineno)) { CG(zend_lineno)++; CG(increment_lineno) = 0; } +again: Z_TYPE(zendlval->u.constant) = IS_LONG; retval = lex_scan(&zendlval->u.constant TSRMLS_CC); switch (retval) { @@ -4139,8 +4135,7 @@ again: goto again; case T_CLOSE_TAG: - if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1]=='\n' - || (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-2]=='\r' && LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1])) { + if (LANG_SCNG(yy_text)[LANG_SCNG(yy_leng)-1] != '>') { CG(increment_lineno) = 1; } retval = ';'; /* implicit ; */ diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index ee20491c7..9966e7500 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_compile.h,v 1.316.2.8.2.11 2007/04/04 00:42:42 iliaa Exp $ */ +/* $Id: zend_compile.h,v 1.316.2.8.2.12 2007/05/18 13:12:04 dmitry Exp $ */ #ifndef ZEND_COMPILE_H #define ZEND_COMPILE_H @@ -392,7 +392,6 @@ void zend_check_writable_variable(znode *variable); void zend_do_free(znode *op1 TSRMLS_DC); void zend_do_init_string(znode *result TSRMLS_DC); -void zend_do_add_char(znode *result, znode *op1, znode *op2 TSRMLS_DC); void zend_do_add_string(znode *result, znode *op1, znode *op2 TSRMLS_DC); void zend_do_add_variable(znode *result, znode *op1, znode *op2 TSRMLS_DC); @@ -488,8 +487,6 @@ void zend_do_declare_begin(TSRMLS_D); void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC); void zend_do_declare_end(znode *declare_token TSRMLS_DC); -void zend_do_end_heredoc(TSRMLS_D); - void zend_do_exit(znode *result, znode *message TSRMLS_DC); void zend_do_begin_silence(znode *strudel_token TSRMLS_DC); diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index fe0bf4117..aed98e04c 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_exceptions.c,v 1.79.2.6.2.8 2007/01/18 12:20:15 tony2001 Exp $ */ +/* $Id: zend_exceptions.c,v 1.79.2.6.2.9 2007/05/30 16:32:02 tony2001 Exp $ */ #include "zend.h" #include "zend_API.h" @@ -532,7 +532,7 @@ static ZEND_BEGIN_ARG_INFO_EX(arginfo_exception___construct, 0, 0, 0) ZEND_ARG_INFO(0, message) ZEND_ARG_INFO(0, code) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() static zend_function_entry default_exception_functions[] = { ZEND_ME(exception, __clone, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL) @@ -554,7 +554,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_error_exception___construct, 0, 0, 0) ZEND_ARG_INFO(0, severity) ZEND_ARG_INFO(0, filename) ZEND_ARG_INFO(0, lineno) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() static zend_function_entry error_exception_functions[] = { ZEND_ME(error_exception, __construct, arginfo_error_exception___construct, ZEND_ACC_PUBLIC) diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index b7b9cef7f..00841dc67 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute_API.c,v 1.331.2.20.2.19 2007/04/27 08:12:24 tony2001 Exp $ */ +/* $Id: zend_execute_API.c,v 1.331.2.20.2.21 2007/05/21 07:12:41 tony2001 Exp $ */ #include <stdio.h> #include <signal.h> @@ -675,6 +675,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS } if (fci->object_pp) { + if (Z_TYPE_PP(fci->object_pp) == IS_OBJECT + && (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(fci->object_pp)].valid)) { + return FAILURE; + } /* TBI!! new object handlers */ if (Z_TYPE_PP(fci->object_pp) == IS_OBJECT) { if (!IS_ZEND_STD_OBJECT(**fci->object_pp)) { @@ -839,6 +843,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS calling_scope = fci_cache->calling_scope; fci->object_pp = fci_cache->object_pp; EX(object) = fci->object_pp ? *fci->object_pp : NULL; + if (fci->object_pp && *fci->object_pp && Z_TYPE_PP(fci->object_pp) == IS_OBJECT + && (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(fci->object_pp)].valid)) { + return FAILURE; + } } if (EX(function_state).function->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED)) { diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 0b386092d..1c8259b24 100755 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_interfaces.c,v 1.33.2.4.2.5 2007/01/01 09:35:46 sebastian Exp $ */ +/* $Id: zend_interfaces.c,v 1.33.2.4.2.6 2007/05/30 16:32:02 tony2001 Exp $ */ #include "zend.h" #include "zend_API.h" @@ -496,18 +496,18 @@ zend_function_entry *zend_funcs_traversable = NULL; static ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset, 0, 0, 1) ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() static ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset_get, 0, 0, 1) /* actually this should be return by ref but atm cannot be */ ZEND_ARG_INFO(0, offset) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() static ZEND_BEGIN_ARG_INFO_EX(arginfo_arrayaccess_offset_value, 0, 0, 2) ZEND_ARG_INFO(0, offset) ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() zend_function_entry zend_funcs_arrayaccess[] = { ZEND_ABSTRACT_ME(arrayaccess, offsetExists, arginfo_arrayaccess_offset) @@ -520,7 +520,7 @@ zend_function_entry zend_funcs_arrayaccess[] = { static ZEND_BEGIN_ARG_INFO(arginfo_serializable_serialize, 0) ZEND_ARG_INFO(0, serialized) -ZEND_END_ARG_INFO(); +ZEND_END_ARG_INFO() zend_function_entry zend_funcs_serializable[] = { ZEND_ABSTRACT_ME(serializable, serialize, NULL) diff --git a/Zend/zend_language_parser.c b/Zend/zend_language_parser.c index 28af7793d..c793b56cc 100644 --- a/Zend/zend_language_parser.c +++ b/Zend/zend_language_parser.c @@ -339,14 +339,12 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_parser.y,v 1.160.2.4.2.4 2007/04/04 00:42:42 iliaa Exp $ */ +/* $Id: zend_language_parser.y,v 1.160.2.4.2.6 2007/05/18 18:36:04 stas Exp $ */ /* * LALR shift/reduce conflicts and how they are resolved: * * - 2 shift/reduce conflicts due to the dangeling elseif/else ambiguity. Solved by shift. - * - 1 shift/reduce conflict due to arrays within encapsulated strings. Solved by shift. - * - 1 shift/reduce conflict due to objects within encapsulated strings. Solved by shift. * */ @@ -615,16 +613,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4077 +#define YYLAST 4099 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 150 +#define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 168 /* YYNRULES -- Number of rules. */ -#define YYNRULES 422 +#define YYNRULES 412 /* YYNRULES -- Number of states. */ -#define YYNSTATES 785 +#define YYNSTATES 773 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -639,13 +637,13 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 48, 147, 2, 145, 47, 31, 148, + 2, 2, 2, 48, 147, 2, 145, 47, 31, 2, 140, 141, 45, 42, 8, 43, 44, 46, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 142, 36, 13, 37, 25, 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 61, 2, 149, 30, 2, 146, 2, 2, 2, + 2, 61, 2, 148, 30, 2, 146, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 143, 29, 144, 50, 2, 2, 2, @@ -713,206 +711,201 @@ static const yytype_uint16 yyprhs[] = 971, 972, 979, 981, 984, 985, 988, 989, 992, 996, 997, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1024, 1027, 1032, 1034, 1038, 1040, 1042, 1044, - 1046, 1050, 1054, 1058, 1059, 1062, 1063, 1065, 1071, 1075, - 1079, 1081, 1083, 1085, 1087, 1088, 1091, 1092, 1095, 1096, - 1097, 1105, 1107, 1110, 1111, 1112, 1117, 1118, 1123, 1124, - 1126, 1129, 1133, 1135, 1137, 1139, 1142, 1144, 1149, 1154, - 1156, 1158, 1163, 1164, 1166, 1168, 1169, 1172, 1177, 1182, - 1184, 1186, 1190, 1192, 1195, 1199, 1201, 1203, 1204, 1210, - 1211, 1212, 1215, 1221, 1225, 1229, 1231, 1238, 1243, 1248, - 1251, 1254, 1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278, - 1281, 1284, 1285, 1287, 1288, 1294, 1298, 1302, 1309, 1313, - 1315, 1317, 1319, 1324, 1329, 1332, 1335, 1340, 1343, 1346, - 1348, 1349, 1354 + 1046, 1050, 1054, 1055, 1058, 1059, 1061, 1067, 1071, 1075, + 1077, 1079, 1081, 1083, 1084, 1087, 1088, 1091, 1092, 1093, + 1101, 1103, 1106, 1107, 1108, 1113, 1114, 1119, 1120, 1122, + 1125, 1129, 1131, 1133, 1135, 1138, 1140, 1145, 1150, 1152, + 1154, 1159, 1160, 1162, 1164, 1165, 1168, 1173, 1178, 1180, + 1182, 1186, 1188, 1191, 1195, 1197, 1199, 1200, 1206, 1207, + 1208, 1211, 1217, 1221, 1225, 1227, 1234, 1239, 1244, 1247, + 1250, 1253, 1254, 1256, 1257, 1263, 1267, 1271, 1278, 1282, + 1284, 1286, 1288, 1293, 1298, 1301, 1304, 1309, 1312, 1315, + 1317, 1318, 1323 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 151, 0, -1, 152, -1, -1, 152, 153, 154, -1, - -1, 158, -1, 190, -1, 191, -1, 115, 140, 141, - 142, -1, -1, 155, 156, 157, -1, -1, 158, -1, - 190, -1, 191, -1, 115, 140, 141, 142, -1, 159, - -1, 143, 155, 144, -1, -1, -1, 65, 140, 279, - 141, 160, 158, 161, 217, 221, -1, -1, -1, 65, - 140, 279, 141, 26, 162, 155, 163, 219, 222, 68, - 142, -1, -1, -1, 82, 140, 164, 279, 141, 165, - 216, -1, -1, -1, 81, 166, 158, 82, 140, 167, - 279, 141, 142, -1, -1, -1, -1, 84, 140, 244, - 142, 168, 244, 142, 169, 244, 141, 170, 207, -1, - -1, 91, 140, 279, 141, 171, 211, -1, 95, 142, - -1, 95, 279, 142, -1, 96, 142, -1, 96, 279, - 142, -1, 99, 142, -1, 99, 247, 142, -1, 99, - 285, 142, -1, 104, 228, 142, -1, 110, 230, 142, - -1, 80, 243, 142, -1, 75, -1, 279, 142, -1, - 103, 189, 142, -1, 112, 140, 187, 141, 142, -1, - -1, -1, 86, 140, 285, 90, 172, 206, 205, 141, - 173, 208, -1, -1, -1, 86, 140, 247, 90, 174, - 285, 205, 141, 175, 208, -1, -1, 88, 176, 140, - 210, 141, 209, -1, 142, -1, -1, -1, -1, -1, - -1, 100, 177, 143, 155, 144, 101, 140, 178, 263, - 179, 73, 141, 180, 143, 155, 144, 181, 182, -1, - 102, 279, 142, -1, 183, -1, -1, 184, -1, 183, - 184, -1, -1, -1, 101, 140, 263, 185, 73, 141, - 186, 143, 155, 144, -1, 188, -1, 187, 8, 188, - -1, 285, -1, 79, -1, 140, 79, 141, -1, 193, - -1, 196, -1, -1, 31, -1, -1, -1, 97, 194, - 192, 71, 195, 140, 223, 141, 143, 155, 144, -1, - -1, 199, 71, 200, 197, 203, 143, 231, 144, -1, - -1, 201, 71, 198, 202, 143, 231, 144, -1, 116, - -1, 109, 116, -1, 108, 116, -1, -1, 118, 263, - -1, 117, -1, -1, 118, 204, -1, -1, 119, 204, - -1, 263, -1, 204, 8, 263, -1, -1, 121, 206, - -1, 285, -1, 31, 285, -1, 158, -1, 26, 155, - 85, 142, -1, 158, -1, 26, 155, 87, 142, -1, - 158, -1, 26, 155, 89, 142, -1, 71, 13, 273, - -1, 210, 8, 71, 13, 273, -1, 143, 212, 144, - -1, 143, 142, 212, 144, -1, 26, 212, 92, 142, - -1, 26, 142, 212, 92, 142, -1, -1, -1, 212, - 93, 279, 215, 213, 155, -1, -1, 212, 94, 215, - 214, 155, -1, 26, -1, 142, -1, 158, -1, 26, - 155, 83, 142, -1, -1, -1, 217, 66, 140, 279, - 141, 218, 158, -1, -1, -1, 219, 66, 140, 279, - 141, 26, 220, 155, -1, -1, 67, 158, -1, -1, - 67, 26, 155, -1, 224, -1, -1, 225, 73, -1, - 225, 31, 73, -1, 225, 31, 73, 13, 273, -1, - 225, 73, 13, 273, -1, 224, 8, 225, 73, -1, - 224, 8, 225, 31, 73, -1, 224, 8, 225, 31, - 73, 13, 273, -1, 224, 8, 225, 73, 13, 273, - -1, -1, 71, -1, 123, -1, 227, -1, -1, 247, - -1, 285, -1, 31, 281, -1, 227, 8, 247, -1, - 227, 8, 285, -1, 227, 8, 31, 281, -1, 228, - 8, 229, -1, 229, -1, 73, -1, 145, 280, -1, - 145, 143, 279, 144, -1, 230, 8, 73, -1, 230, - 8, 73, 13, 273, -1, 73, -1, 73, 13, 273, - -1, 231, 232, -1, -1, -1, 237, 233, 241, 142, - -1, 242, 142, -1, -1, -1, 238, 97, 234, 192, - 71, 235, 140, 223, 141, 236, -1, 142, -1, 143, - 155, 144, -1, 239, -1, 111, -1, -1, 239, -1, - 240, -1, 239, 240, -1, 105, -1, 106, -1, 107, - -1, 110, -1, 109, -1, 108, -1, 241, 8, 73, - -1, 241, 8, 73, 13, 273, -1, 73, -1, 73, - 13, 273, -1, 242, 8, 71, 13, 273, -1, 98, - 71, 13, 273, -1, 243, 8, 279, -1, 279, -1, - -1, 245, -1, -1, 245, 8, 246, 279, -1, 279, - -1, -1, 122, 140, 248, 305, 141, 13, 279, -1, - 285, 13, 279, -1, 285, 13, 31, 285, -1, -1, - 285, 13, 31, 63, 264, 249, 271, -1, -1, 63, - 264, 250, 271, -1, 62, 279, -1, 285, 24, 279, - -1, 285, 23, 279, -1, 285, 22, 279, -1, 285, - 21, 279, -1, 285, 20, 279, -1, 285, 19, 279, - -1, 285, 18, 279, -1, 285, 17, 279, -1, 285, - 16, 279, -1, 285, 15, 279, -1, 285, 14, 279, - -1, 283, 60, -1, 60, 283, -1, 283, 59, -1, - 59, 283, -1, -1, 279, 27, 251, 279, -1, -1, - 279, 28, 252, 279, -1, -1, 279, 9, 253, 279, - -1, -1, 279, 11, 254, 279, -1, 279, 10, 279, - -1, 279, 29, 279, -1, 279, 31, 279, -1, 279, - 30, 279, -1, 279, 44, 279, -1, 279, 42, 279, - -1, 279, 43, 279, -1, 279, 45, 279, -1, 279, - 46, 279, -1, 279, 47, 279, -1, 279, 41, 279, - -1, 279, 40, 279, -1, 42, 279, -1, 43, 279, - -1, 48, 279, -1, 50, 279, -1, 279, 33, 279, - -1, 279, 32, 279, -1, 279, 35, 279, -1, 279, - 34, 279, -1, 279, 36, 279, -1, 279, 39, 279, - -1, 279, 37, 279, -1, 279, 38, 279, -1, 279, - 49, 264, -1, 140, 279, 141, -1, -1, -1, 279, - 25, 255, 279, 26, 256, 279, -1, 314, -1, 58, - 279, -1, 57, 279, -1, 56, 279, -1, 55, 279, - -1, 54, 279, -1, 53, 279, -1, 52, 279, -1, - 64, 270, -1, -1, 51, 257, 279, -1, 275, -1, - 123, 140, 308, 141, -1, 146, 310, 146, -1, 12, - 279, -1, -1, 71, 140, 259, 226, 141, -1, -1, - 263, 139, 71, 140, 260, 226, 141, -1, -1, 263, - 139, 293, 140, 261, 226, 141, -1, -1, 293, 140, - 262, 226, 141, -1, 71, -1, 71, -1, 265, -1, - -1, -1, 296, 120, 266, 300, 267, 268, -1, 296, - -1, 268, 269, -1, -1, 120, 300, -1, -1, 140, - 141, -1, 140, 279, 141, -1, -1, 140, 226, 141, + 150, 0, -1, 151, -1, -1, 151, 152, 153, -1, + -1, 157, -1, 189, -1, 190, -1, 115, 140, 141, + 142, -1, -1, 154, 155, 156, -1, -1, 157, -1, + 189, -1, 190, -1, 115, 140, 141, 142, -1, 158, + -1, 143, 154, 144, -1, -1, -1, 65, 140, 278, + 141, 159, 157, 160, 216, 220, -1, -1, -1, 65, + 140, 278, 141, 26, 161, 154, 162, 218, 221, 68, + 142, -1, -1, -1, 82, 140, 163, 278, 141, 164, + 215, -1, -1, -1, 81, 165, 157, 82, 140, 166, + 278, 141, 142, -1, -1, -1, -1, 84, 140, 243, + 142, 167, 243, 142, 168, 243, 141, 169, 206, -1, + -1, 91, 140, 278, 141, 170, 210, -1, 95, 142, + -1, 95, 278, 142, -1, 96, 142, -1, 96, 278, + 142, -1, 99, 142, -1, 99, 246, 142, -1, 99, + 284, 142, -1, 104, 227, 142, -1, 110, 229, 142, + -1, 80, 242, 142, -1, 75, -1, 278, 142, -1, + 103, 188, 142, -1, 112, 140, 186, 141, 142, -1, + -1, -1, 86, 140, 284, 90, 171, 205, 204, 141, + 172, 207, -1, -1, -1, 86, 140, 246, 90, 173, + 284, 204, 141, 174, 207, -1, -1, 88, 175, 140, + 209, 141, 208, -1, 142, -1, -1, -1, -1, -1, + -1, 100, 176, 143, 154, 144, 101, 140, 177, 262, + 178, 73, 141, 179, 143, 154, 144, 180, 181, -1, + 102, 278, 142, -1, 182, -1, -1, 183, -1, 182, + 183, -1, -1, -1, 101, 140, 262, 184, 73, 141, + 185, 143, 154, 144, -1, 187, -1, 186, 8, 187, + -1, 284, -1, 79, -1, 140, 79, 141, -1, 192, + -1, 195, -1, -1, 31, -1, -1, -1, 97, 193, + 191, 71, 194, 140, 222, 141, 143, 154, 144, -1, + -1, 198, 71, 199, 196, 202, 143, 230, 144, -1, + -1, 200, 71, 197, 201, 143, 230, 144, -1, 116, + -1, 109, 116, -1, 108, 116, -1, -1, 118, 262, + -1, 117, -1, -1, 118, 203, -1, -1, 119, 203, + -1, 262, -1, 203, 8, 262, -1, -1, 121, 205, + -1, 284, -1, 31, 284, -1, 157, -1, 26, 154, + 85, 142, -1, 157, -1, 26, 154, 87, 142, -1, + 157, -1, 26, 154, 89, 142, -1, 71, 13, 272, + -1, 209, 8, 71, 13, 272, -1, 143, 211, 144, + -1, 143, 142, 211, 144, -1, 26, 211, 92, 142, + -1, 26, 142, 211, 92, 142, -1, -1, -1, 211, + 93, 278, 214, 212, 154, -1, -1, 211, 94, 214, + 213, 154, -1, 26, -1, 142, -1, 157, -1, 26, + 154, 83, 142, -1, -1, -1, 216, 66, 140, 278, + 141, 217, 157, -1, -1, -1, 218, 66, 140, 278, + 141, 26, 219, 154, -1, -1, 67, 157, -1, -1, + 67, 26, 154, -1, 223, -1, -1, 224, 73, -1, + 224, 31, 73, -1, 224, 31, 73, 13, 272, -1, + 224, 73, 13, 272, -1, 223, 8, 224, 73, -1, + 223, 8, 224, 31, 73, -1, 223, 8, 224, 31, + 73, 13, 272, -1, 223, 8, 224, 73, 13, 272, + -1, -1, 71, -1, 123, -1, 226, -1, -1, 246, + -1, 284, -1, 31, 280, -1, 226, 8, 246, -1, + 226, 8, 284, -1, 226, 8, 31, 280, -1, 227, + 8, 228, -1, 228, -1, 73, -1, 145, 279, -1, + 145, 143, 278, 144, -1, 229, 8, 73, -1, 229, + 8, 73, 13, 272, -1, 73, -1, 73, 13, 272, + -1, 230, 231, -1, -1, -1, 236, 232, 240, 142, + -1, 241, 142, -1, -1, -1, 237, 97, 233, 191, + 71, 234, 140, 222, 141, 235, -1, 142, -1, 143, + 154, 144, -1, 238, -1, 111, -1, -1, 238, -1, + 239, -1, 238, 239, -1, 105, -1, 106, -1, 107, + -1, 110, -1, 109, -1, 108, -1, 240, 8, 73, + -1, 240, 8, 73, 13, 272, -1, 73, -1, 73, + 13, 272, -1, 241, 8, 71, 13, 272, -1, 98, + 71, 13, 272, -1, 242, 8, 278, -1, 278, -1, + -1, 244, -1, -1, 244, 8, 245, 278, -1, 278, + -1, -1, 122, 140, 247, 304, 141, 13, 278, -1, + 284, 13, 278, -1, 284, 13, 31, 284, -1, -1, + 284, 13, 31, 63, 263, 248, 270, -1, -1, 63, + 263, 249, 270, -1, 62, 278, -1, 284, 24, 278, + -1, 284, 23, 278, -1, 284, 22, 278, -1, 284, + 21, 278, -1, 284, 20, 278, -1, 284, 19, 278, + -1, 284, 18, 278, -1, 284, 17, 278, -1, 284, + 16, 278, -1, 284, 15, 278, -1, 284, 14, 278, + -1, 282, 60, -1, 60, 282, -1, 282, 59, -1, + 59, 282, -1, -1, 278, 27, 250, 278, -1, -1, + 278, 28, 251, 278, -1, -1, 278, 9, 252, 278, + -1, -1, 278, 11, 253, 278, -1, 278, 10, 278, + -1, 278, 29, 278, -1, 278, 31, 278, -1, 278, + 30, 278, -1, 278, 44, 278, -1, 278, 42, 278, + -1, 278, 43, 278, -1, 278, 45, 278, -1, 278, + 46, 278, -1, 278, 47, 278, -1, 278, 41, 278, + -1, 278, 40, 278, -1, 42, 278, -1, 43, 278, + -1, 48, 278, -1, 50, 278, -1, 278, 33, 278, + -1, 278, 32, 278, -1, 278, 35, 278, -1, 278, + 34, 278, -1, 278, 36, 278, -1, 278, 39, 278, + -1, 278, 37, 278, -1, 278, 38, 278, -1, 278, + 49, 263, -1, 140, 278, 141, -1, -1, -1, 278, + 25, 254, 278, 26, 255, 278, -1, 313, -1, 58, + 278, -1, 57, 278, -1, 56, 278, -1, 55, 278, + -1, 54, 278, -1, 53, 278, -1, 52, 278, -1, + 64, 269, -1, -1, 51, 256, 278, -1, 274, -1, + 123, 140, 307, 141, -1, 146, 309, 146, -1, 12, + 278, -1, -1, 71, 140, 258, 225, 141, -1, -1, + 262, 139, 71, 140, 259, 225, 141, -1, -1, 262, + 139, 292, 140, 260, 225, 141, -1, -1, 292, 140, + 261, 225, 141, -1, 71, -1, 71, -1, 264, -1, + -1, -1, 295, 120, 265, 299, 266, 267, -1, 295, + -1, 267, 268, -1, -1, 120, 299, -1, -1, 140, + 141, -1, 140, 278, 141, -1, -1, 140, 225, 141, -1, 69, -1, 70, -1, 79, -1, 127, -1, 128, - -1, 124, -1, 125, -1, 126, -1, 272, -1, 71, - -1, 42, 273, -1, 43, 273, -1, 123, 140, 276, - 141, -1, 274, -1, 71, 139, 71, -1, 71, -1, - 72, -1, 317, -1, 272, -1, 147, 310, 147, -1, - 148, 310, 148, -1, 135, 310, 136, -1, -1, 278, - 277, -1, -1, 8, -1, 278, 8, 273, 121, 273, - -1, 278, 8, 273, -1, 273, 121, 273, -1, 273, - -1, 280, -1, 247, -1, 285, -1, -1, 285, 282, - -1, -1, 285, 284, -1, -1, -1, 295, 120, 286, - 300, 287, 291, 288, -1, 295, -1, 288, 289, -1, - -1, -1, 120, 300, 290, 291, -1, -1, 140, 292, - 226, 141, -1, -1, 297, -1, 304, 297, -1, 263, - 139, 293, -1, 296, -1, 258, -1, 297, -1, 304, - 297, -1, 294, -1, 297, 61, 299, 149, -1, 297, - 143, 279, 144, -1, 298, -1, 73, -1, 145, 143, - 279, 144, -1, -1, 279, -1, 302, -1, -1, 293, - 301, -1, 302, 61, 299, 149, -1, 302, 143, 279, - 144, -1, 303, -1, 71, -1, 143, 279, 144, -1, - 145, -1, 304, 145, -1, 305, 8, 306, -1, 306, - -1, 285, -1, -1, 122, 140, 307, 305, 141, -1, - -1, -1, 309, 277, -1, 309, 8, 279, 121, 279, - -1, 309, 8, 279, -1, 279, 121, 279, -1, 279, - -1, 309, 8, 279, 121, 31, 281, -1, 309, 8, - 31, 281, -1, 279, 121, 31, 281, -1, 31, 281, - -1, 310, 311, -1, 310, 71, -1, 310, 74, -1, - 310, 78, -1, 310, 76, -1, 310, 77, -1, 310, - 61, -1, 310, 149, -1, 310, 143, -1, 310, 144, - -1, 310, 120, -1, -1, 73, -1, -1, 73, 61, - 312, 313, 149, -1, 73, 120, 71, -1, 137, 279, - 144, -1, 137, 72, 61, 279, 149, 144, -1, 138, - 285, 144, -1, 71, -1, 74, -1, 73, -1, 113, - 140, 315, 141, -1, 114, 140, 285, 141, -1, 7, - 279, -1, 6, 279, -1, 5, 140, 279, 141, -1, - 4, 279, -1, 3, 279, -1, 285, -1, -1, 315, - 8, 316, 285, -1, 263, 139, 71, -1 + -1, 124, -1, 125, -1, 126, -1, 271, -1, 71, + -1, 42, 272, -1, 43, 272, -1, 123, 140, 275, + 141, -1, 273, -1, 71, 139, 71, -1, 71, -1, + 72, -1, 316, -1, 271, -1, 147, 309, 147, -1, + 135, 309, 136, -1, -1, 277, 276, -1, -1, 8, + -1, 277, 8, 272, 121, 272, -1, 277, 8, 272, + -1, 272, 121, 272, -1, 272, -1, 279, -1, 246, + -1, 284, -1, -1, 284, 281, -1, -1, 284, 283, + -1, -1, -1, 294, 120, 285, 299, 286, 290, 287, + -1, 294, -1, 287, 288, -1, -1, -1, 120, 299, + 289, 290, -1, -1, 140, 291, 225, 141, -1, -1, + 296, -1, 303, 296, -1, 262, 139, 292, -1, 295, + -1, 257, -1, 296, -1, 303, 296, -1, 293, -1, + 296, 61, 298, 148, -1, 296, 143, 278, 144, -1, + 297, -1, 73, -1, 145, 143, 278, 144, -1, -1, + 278, -1, 301, -1, -1, 292, 300, -1, 301, 61, + 298, 148, -1, 301, 143, 278, 144, -1, 302, -1, + 71, -1, 143, 278, 144, -1, 145, -1, 303, 145, + -1, 304, 8, 305, -1, 305, -1, 284, -1, -1, + 122, 140, 306, 304, 141, -1, -1, -1, 308, 276, + -1, 308, 8, 278, 121, 278, -1, 308, 8, 278, + -1, 278, 121, 278, -1, 278, -1, 308, 8, 278, + 121, 31, 280, -1, 308, 8, 31, 280, -1, 278, + 121, 31, 280, -1, 31, 280, -1, 309, 310, -1, + 309, 78, -1, -1, 73, -1, -1, 73, 61, 311, + 312, 148, -1, 73, 120, 71, -1, 137, 278, 144, + -1, 137, 72, 61, 278, 148, 144, -1, 138, 284, + 144, -1, 71, -1, 74, -1, 73, -1, 113, 140, + 314, 141, -1, 114, 140, 284, 141, -1, 7, 278, + -1, 6, 278, -1, 5, 140, 278, 141, -1, 4, + 278, -1, 3, 278, -1, 284, -1, -1, 314, 8, + 315, 284, -1, 262, 139, 71, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 152, 152, 156, 156, 157, 162, 163, 164, 165, - 170, 170, 171, 176, 177, 178, 179, 184, 188, 189, - 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, - 192, 196, 198, 200, 193, 202, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 218, 219, 217, 222, 223, 221, 225, 225, 226, - 227, 228, 229, 230, 231, 227, 233, 238, 239, 243, - 244, 249, 249, 249, 254, 255, 259, 263, 264, 269, - 273, 278, 279, 284, 284, 284, 290, 289, 296, 295, - 305, 306, 307, 311, 312, 316, 319, 321, 324, 326, - 330, 331, 335, 336, 341, 342, 346, 347, 352, 353, - 358, 359, 364, 365, 370, 371, 372, 373, 378, 379, - 379, 380, 380, 385, 386, 391, 392, 397, 399, 399, - 403, 405, 405, 409, 411, 415, 417, 422, 423, 428, - 429, 430, 431, 432, 433, 434, 435, 440, 441, 442, - 447, 448, 453, 454, 455, 456, 457, 458, 462, 463, - 468, 469, 470, 475, 476, 477, 478, 484, 485, 490, - 490, 491, 492, 492, 492, 498, 499, 503, 504, 508, - 509, 513, 514, 518, 519, 520, 521, 522, 523, 527, - 528, 529, 530, 534, 535, 539, 540, 545, 546, 550, - 550, 551, 555, 555, 556, 557, 558, 558, 559, 559, - 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, - 570, 571, 572, 573, 574, 575, 576, 576, 577, 577, - 578, 578, 579, 579, 580, 581, 582, 583, 584, 585, - 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, - 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 606, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 618, 618, 619, 620, 621, 622, 626, 626, - 629, 629, 632, 632, 635, 635, 641, 645, 646, 651, - 652, 651, 654, 659, 660, 665, 669, 670, 671, 676, - 677, 682, 683, 684, 685, 686, 687, 688, 689, 694, - 695, 696, 697, 698, 699, 703, 707, 708, 709, 710, - 711, 712, 713, 718, 719, 722, 724, 728, 729, 730, - 731, 735, 736, 741, 746, 746, 751, 751, 756, 757, - 756, 759, 763, 764, 769, 769, 773, 773, 777, 781, - 782, 786, 791, 792, 797, 798, 799, 803, 804, 805, - 810, 811, 815, 816, 821, 822, 822, 826, 827, 828, - 832, 833, 837, 838, 842, 843, 848, 849, 849, 850, - 855, 856, 860, 861, 862, 863, 864, 865, 866, 867, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 889, 890, 890, 891, 892, 893, 894, 899, - 900, 901, 906, 907, 908, 909, 910, 911, 912, 916, - 917, 917, 921 + 0, 150, 150, 154, 154, 155, 160, 161, 162, 163, + 168, 168, 169, 174, 175, 176, 177, 182, 186, 187, + 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, + 190, 194, 196, 198, 191, 200, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 216, 217, 215, 220, 221, 219, 223, 223, 224, + 225, 226, 227, 228, 229, 225, 231, 236, 237, 241, + 242, 247, 247, 247, 252, 253, 257, 261, 262, 267, + 271, 276, 277, 282, 282, 282, 288, 287, 294, 293, + 303, 304, 305, 309, 310, 314, 317, 319, 322, 324, + 328, 329, 333, 334, 339, 340, 344, 345, 350, 351, + 356, 357, 362, 363, 368, 369, 370, 371, 376, 377, + 377, 378, 378, 383, 384, 389, 390, 395, 397, 397, + 401, 403, 403, 407, 409, 413, 415, 420, 421, 426, + 427, 428, 429, 430, 431, 432, 433, 438, 439, 440, + 445, 446, 451, 452, 453, 454, 455, 456, 460, 461, + 466, 467, 468, 473, 474, 475, 476, 482, 483, 488, + 488, 489, 490, 490, 490, 496, 497, 501, 502, 506, + 507, 511, 512, 516, 517, 518, 519, 520, 521, 525, + 526, 527, 528, 532, 533, 537, 538, 543, 544, 548, + 548, 549, 553, 553, 554, 555, 556, 556, 557, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 574, 575, 575, + 576, 576, 577, 577, 578, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 604, 607, 608, 609, 610, 611, 612, 613, + 614, 615, 616, 616, 617, 618, 619, 620, 624, 624, + 627, 627, 630, 630, 633, 633, 639, 643, 644, 649, + 650, 649, 652, 657, 658, 663, 667, 668, 669, 674, + 675, 680, 681, 682, 683, 684, 685, 686, 687, 692, + 693, 694, 695, 696, 697, 701, 705, 706, 707, 708, + 709, 710, 715, 716, 719, 721, 725, 726, 727, 728, + 732, 733, 738, 743, 743, 748, 748, 753, 754, 753, + 756, 760, 761, 766, 766, 770, 770, 774, 778, 779, + 783, 788, 789, 794, 795, 796, 800, 801, 802, 807, + 808, 812, 813, 818, 819, 819, 823, 824, 825, 829, + 830, 834, 835, 839, 840, 845, 846, 846, 847, 852, + 853, 857, 858, 859, 860, 861, 862, 863, 864, 868, + 869, 870, 877, 878, 878, 879, 880, 881, 882, 887, + 888, 889, 894, 895, 896, 897, 898, 899, 900, 904, + 905, 905, 909 }; #endif @@ -949,7 +942,7 @@ static const char *const yytname[] = "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG", "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", - "'('", "')'", "';'", "'{'", "'}'", "'$'", "'`'", "'\"'", "'''", "']'", + "'('", "')'", "';'", "'{'", "'}'", "'$'", "'`'", "'\"'", "']'", "$accept", "start", "top_statement_list", "@1", "top_statement", "inner_statement_list", "@2", "inner_statement", "statement", "unticked_statement", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10", @@ -1016,56 +1009,55 @@ static const yytype_uint16 yytoknum[] = 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 40, 41, 59, 123, 125, 36, 96, 34, 39, 93 + 40, 41, 59, 123, 125, 36, 96, 34, 93 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 150, 151, 153, 152, 152, 154, 154, 154, 154, - 156, 155, 155, 157, 157, 157, 157, 158, 159, 160, - 161, 159, 162, 163, 159, 164, 165, 159, 166, 167, - 159, 168, 169, 170, 159, 171, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 172, 173, 159, 174, 175, 159, 176, 159, 159, - 177, 178, 179, 180, 181, 159, 159, 182, 182, 183, - 183, 185, 186, 184, 187, 187, 188, 189, 189, 190, - 191, 192, 192, 194, 195, 193, 197, 196, 198, 196, - 199, 199, 199, 200, 200, 201, 202, 202, 203, 203, - 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, - 209, 209, 210, 210, 211, 211, 211, 211, 212, 213, - 212, 214, 212, 215, 215, 216, 216, 217, 218, 217, - 219, 220, 219, 221, 221, 222, 222, 223, 223, 224, - 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, - 226, 226, 227, 227, 227, 227, 227, 227, 228, 228, - 229, 229, 229, 230, 230, 230, 230, 231, 231, 233, - 232, 232, 234, 235, 232, 236, 236, 237, 237, 238, - 238, 239, 239, 240, 240, 240, 240, 240, 240, 241, - 241, 241, 241, 242, 242, 243, 243, 244, 244, 246, - 245, 245, 248, 247, 247, 247, 249, 247, 250, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 251, 247, 252, 247, - 253, 247, 254, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 255, 256, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 257, 247, 247, 247, 247, 247, 259, 258, - 260, 258, 261, 258, 262, 258, 263, 264, 264, 266, - 267, 265, 265, 268, 268, 269, 270, 270, 270, 271, - 271, 272, 272, 272, 272, 272, 272, 272, 272, 273, - 273, 273, 273, 273, 273, 274, 275, 275, 275, 275, - 275, 275, 275, 276, 276, 277, 277, 278, 278, 278, - 278, 279, 279, 280, 282, 281, 284, 283, 286, 287, - 285, 285, 288, 288, 290, 289, 292, 291, 291, 293, - 293, 294, 295, 295, 296, 296, 296, 297, 297, 297, - 298, 298, 299, 299, 300, 301, 300, 302, 302, 302, - 303, 303, 304, 304, 305, 305, 306, 307, 306, 306, - 308, 308, 309, 309, 309, 309, 309, 309, 309, 309, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 311, 312, 311, 311, 311, 311, 311, 313, - 313, 313, 314, 314, 314, 314, 314, 314, 314, 315, - 316, 315, 317 + 0, 149, 150, 152, 151, 151, 153, 153, 153, 153, + 155, 154, 154, 156, 156, 156, 156, 157, 158, 159, + 160, 158, 161, 162, 158, 163, 164, 158, 165, 166, + 158, 167, 168, 169, 158, 170, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 171, 172, 158, 173, 174, 158, 175, 158, 158, + 176, 177, 178, 179, 180, 158, 158, 181, 181, 182, + 182, 184, 185, 183, 186, 186, 187, 188, 188, 189, + 190, 191, 191, 193, 194, 192, 196, 195, 197, 195, + 198, 198, 198, 199, 199, 200, 201, 201, 202, 202, + 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, + 208, 208, 209, 209, 210, 210, 210, 210, 211, 212, + 211, 213, 211, 214, 214, 215, 215, 216, 217, 216, + 218, 219, 218, 220, 220, 221, 221, 222, 222, 223, + 223, 223, 223, 223, 223, 223, 223, 224, 224, 224, + 225, 225, 226, 226, 226, 226, 226, 226, 227, 227, + 228, 228, 228, 229, 229, 229, 229, 230, 230, 232, + 231, 231, 233, 234, 231, 235, 235, 236, 236, 237, + 237, 238, 238, 239, 239, 239, 239, 239, 239, 240, + 240, 240, 240, 241, 241, 242, 242, 243, 243, 245, + 244, 244, 247, 246, 246, 246, 248, 246, 249, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 250, 246, 251, 246, + 252, 246, 253, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 254, 255, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 256, 246, 246, 246, 246, 246, 258, 257, + 259, 257, 260, 257, 261, 257, 262, 263, 263, 265, + 266, 264, 264, 267, 267, 268, 269, 269, 269, 270, + 270, 271, 271, 271, 271, 271, 271, 271, 271, 272, + 272, 272, 272, 272, 272, 273, 274, 274, 274, 274, + 274, 274, 275, 275, 276, 276, 277, 277, 277, 277, + 278, 278, 279, 281, 280, 283, 282, 285, 286, 284, + 284, 287, 287, 289, 288, 291, 290, 290, 292, 292, + 293, 294, 294, 295, 295, 295, 296, 296, 296, 297, + 297, 298, 298, 299, 300, 299, 301, 301, 301, 302, + 302, 303, 303, 304, 304, 305, 306, 305, 305, 307, + 307, 308, 308, 308, 308, 308, 308, 308, 308, 309, + 309, 309, 310, 311, 310, 310, 310, 310, 310, 312, + 312, 312, 313, 313, 313, 313, 313, 313, 313, 314, + 315, 314, 316 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1103,14 +1095,13 @@ static const yytype_uint8 yyr2[] = 0, 6, 1, 2, 0, 2, 0, 2, 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 1, 3, 1, 1, 1, 1, - 3, 3, 3, 0, 2, 0, 1, 5, 3, 3, - 1, 1, 1, 1, 0, 2, 0, 2, 0, 0, - 7, 1, 2, 0, 0, 4, 0, 4, 0, 1, - 2, 3, 1, 1, 1, 2, 1, 4, 4, 1, - 1, 4, 0, 1, 1, 0, 2, 4, 4, 1, - 1, 3, 1, 2, 3, 1, 1, 0, 5, 0, - 0, 2, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 0, 2, 0, 1, 5, 3, 3, 1, + 1, 1, 1, 0, 2, 0, 2, 0, 0, 7, + 1, 2, 0, 0, 4, 0, 4, 0, 1, 2, + 3, 1, 1, 1, 2, 1, 4, 4, 1, 1, + 4, 0, 1, 1, 0, 2, 4, 4, 1, 1, + 3, 1, 2, 3, 1, 1, 0, 5, 0, 0, + 2, 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, 0, 1, 0, 5, 3, 3, 6, 3, 1, 1, 1, 4, 4, 2, 2, 4, 2, 2, 1, 0, 4, 3 @@ -1124,370 +1115,333 @@ static const yytype_uint16 yydefact[] = 5, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 301, - 302, 316, 317, 360, 47, 303, 0, 28, 0, 0, + 302, 316, 317, 359, 47, 303, 0, 28, 0, 0, 0, 57, 0, 0, 0, 83, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 95, - 0, 0, 306, 307, 308, 304, 305, 401, 0, 59, - 12, 372, 401, 401, 401, 4, 6, 17, 7, 8, - 79, 80, 0, 0, 332, 353, 0, 319, 274, 0, - 331, 0, 333, 0, 356, 341, 352, 354, 359, 0, - 263, 318, 418, 417, 0, 415, 414, 277, 246, 247, - 248, 249, 0, 270, 269, 268, 267, 266, 265, 264, - 286, 0, 225, 336, 223, 210, 287, 0, 208, 288, - 292, 354, 0, 0, 271, 0, 278, 0, 196, 0, - 25, 197, 0, 0, 0, 37, 0, 39, 0, 81, - 41, 332, 0, 333, 0, 0, 77, 0, 0, 160, - 0, 0, 159, 92, 91, 165, 0, 0, 0, 0, - 0, 202, 380, 0, 0, 10, 0, 0, 0, 0, - 93, 88, 0, 230, 0, 232, 260, 226, 228, 0, + 0, 0, 306, 307, 308, 304, 305, 391, 0, 59, + 12, 371, 391, 391, 4, 6, 17, 7, 8, 79, + 80, 0, 0, 331, 352, 0, 319, 274, 0, 330, + 0, 332, 0, 355, 340, 351, 353, 358, 0, 263, + 318, 408, 407, 0, 405, 404, 277, 246, 247, 248, + 249, 0, 270, 269, 268, 267, 266, 265, 264, 286, + 0, 225, 335, 223, 210, 287, 0, 208, 288, 292, + 353, 0, 0, 271, 0, 278, 0, 196, 0, 25, + 197, 0, 0, 0, 37, 0, 39, 0, 81, 41, + 331, 0, 332, 0, 0, 77, 0, 0, 160, 0, + 0, 159, 92, 91, 165, 0, 0, 0, 0, 0, + 202, 379, 0, 0, 10, 0, 0, 0, 93, 88, + 0, 230, 0, 232, 260, 226, 228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 224, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 224, 222, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 337, 284, 338, 362, 0, 373, - 355, 0, 273, 0, 0, 299, 289, 355, 297, 0, - 0, 151, 0, 46, 0, 0, 0, 198, 201, 332, - 333, 0, 0, 38, 40, 82, 0, 42, 43, 12, - 66, 0, 49, 0, 161, 333, 0, 44, 0, 0, - 45, 0, 74, 76, 419, 0, 0, 0, 379, 0, - 385, 0, 325, 396, 391, 402, 392, 394, 395, 393, - 400, 322, 0, 0, 398, 399, 397, 390, 259, 18, - 0, 0, 276, 320, 321, 0, 86, 96, 422, 351, - 349, 0, 0, 234, 0, 0, 0, 0, 235, 237, - 236, 251, 250, 253, 252, 254, 256, 257, 255, 245, - 244, 239, 240, 238, 241, 242, 243, 258, 0, 204, - 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, - 211, 151, 0, 363, 0, 0, 416, 0, 351, 151, - 209, 0, 298, 19, 0, 0, 150, 332, 333, 195, - 0, 0, 31, 199, 54, 51, 0, 0, 35, 84, - 10, 78, 0, 158, 0, 0, 310, 0, 309, 166, - 314, 163, 0, 0, 420, 412, 413, 9, 0, 376, - 0, 375, 389, 334, 0, 275, 326, 381, 403, 0, - 317, 0, 0, 0, 11, 13, 14, 15, 361, 286, - 94, 98, 0, 0, 280, 282, 350, 231, 233, 0, - 227, 229, 0, 205, 0, 370, 0, 365, 339, 364, - 369, 357, 358, 0, 290, 22, 0, 154, 279, 0, - 29, 26, 197, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 162, 311, 312, 0, 323, 0, 75, 50, - 0, 377, 379, 0, 335, 0, 384, 0, 383, 0, - 405, 0, 406, 408, 0, 0, 0, 97, 100, 168, - 151, 151, 261, 206, 285, 0, 366, 348, 362, 0, - 300, 294, 12, 20, 0, 332, 333, 0, 0, 0, - 200, 102, 0, 102, 104, 112, 0, 12, 110, 58, - 118, 118, 36, 147, 0, 315, 330, 0, 325, 164, - 421, 379, 374, 0, 388, 387, 0, 409, 411, 410, - 0, 0, 0, 99, 168, 0, 179, 0, 0, 0, - 299, 371, 346, 343, 0, 0, 291, 10, 127, 157, - 0, 12, 125, 27, 32, 0, 0, 105, 0, 0, - 10, 118, 0, 118, 0, 148, 149, 0, 137, 0, - 61, 0, 313, 326, 324, 0, 203, 0, 382, 404, - 0, 16, 179, 101, 0, 183, 184, 185, 188, 187, - 186, 178, 89, 167, 169, 0, 177, 181, 0, 281, - 283, 262, 207, 151, 340, 367, 368, 0, 293, 130, - 133, 0, 10, 197, 103, 55, 52, 113, 0, 0, - 0, 0, 0, 0, 114, 0, 147, 0, 139, 0, - 329, 328, 378, 386, 407, 87, 0, 0, 172, 182, - 0, 171, 0, 0, 342, 295, 135, 0, 0, 21, - 30, 0, 0, 0, 0, 111, 0, 116, 0, 123, - 124, 121, 115, 12, 0, 140, 0, 62, 0, 0, - 191, 0, 81, 0, 347, 344, 0, 0, 0, 0, - 134, 126, 33, 12, 108, 56, 53, 117, 119, 12, - 10, 0, 143, 0, 142, 0, 327, 194, 0, 0, - 170, 0, 0, 348, 0, 12, 0, 0, 0, 10, - 12, 10, 85, 144, 0, 141, 0, 192, 189, 173, - 193, 345, 0, 10, 24, 128, 12, 106, 34, 0, - 10, 0, 146, 63, 0, 0, 0, 0, 10, 109, - 145, 0, 190, 147, 131, 129, 0, 12, 0, 12, - 107, 10, 0, 10, 64, 175, 12, 174, 68, 10, - 0, 65, 67, 69, 176, 0, 70, 71, 0, 0, - 72, 0, 12, 10, 73 + 0, 0, 336, 284, 337, 361, 0, 372, 354, 0, + 273, 0, 0, 299, 289, 354, 297, 0, 0, 151, + 0, 46, 0, 0, 0, 198, 201, 331, 332, 0, + 0, 38, 40, 82, 0, 42, 43, 12, 66, 0, + 49, 0, 161, 332, 0, 44, 0, 0, 45, 0, + 74, 76, 409, 0, 0, 0, 378, 0, 384, 0, + 324, 392, 390, 321, 0, 0, 389, 259, 18, 0, + 0, 276, 320, 0, 86, 96, 412, 350, 348, 0, + 0, 234, 0, 0, 0, 0, 235, 237, 236, 251, + 250, 253, 252, 254, 256, 257, 255, 245, 244, 239, + 240, 238, 241, 242, 243, 258, 0, 204, 221, 220, + 219, 218, 217, 216, 215, 214, 213, 212, 211, 151, + 0, 362, 0, 0, 406, 0, 350, 151, 209, 0, + 298, 19, 0, 0, 150, 331, 332, 195, 0, 0, + 31, 199, 54, 51, 0, 0, 35, 84, 10, 78, + 0, 158, 0, 0, 310, 0, 309, 166, 314, 163, + 0, 0, 410, 402, 403, 9, 0, 375, 0, 374, + 388, 333, 0, 275, 325, 380, 393, 0, 317, 0, + 0, 0, 11, 13, 14, 15, 360, 286, 94, 98, + 0, 0, 280, 282, 349, 231, 233, 0, 227, 229, + 0, 205, 0, 369, 0, 364, 338, 363, 368, 356, + 357, 0, 290, 22, 0, 154, 279, 0, 29, 26, + 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 162, 311, 312, 0, 322, 0, 75, 50, 0, 376, + 378, 0, 334, 0, 383, 0, 382, 0, 395, 0, + 396, 398, 0, 0, 0, 97, 100, 168, 151, 151, + 261, 206, 285, 0, 365, 347, 361, 0, 300, 294, + 12, 20, 0, 331, 332, 0, 0, 0, 200, 102, + 0, 102, 104, 112, 0, 12, 110, 58, 118, 118, + 36, 147, 0, 315, 329, 0, 324, 164, 411, 378, + 373, 0, 387, 386, 0, 399, 401, 400, 0, 0, + 0, 99, 168, 0, 179, 0, 0, 0, 299, 370, + 345, 342, 0, 0, 291, 10, 127, 157, 0, 12, + 125, 27, 32, 0, 0, 105, 0, 0, 10, 118, + 0, 118, 0, 148, 149, 0, 137, 0, 61, 0, + 313, 325, 323, 0, 203, 0, 381, 394, 0, 16, + 179, 101, 0, 183, 184, 185, 188, 187, 186, 178, + 89, 167, 169, 0, 177, 181, 0, 281, 283, 262, + 207, 151, 339, 366, 367, 0, 293, 130, 133, 0, + 10, 197, 103, 55, 52, 113, 0, 0, 0, 0, + 0, 0, 114, 0, 147, 0, 139, 0, 328, 327, + 377, 385, 397, 87, 0, 0, 172, 182, 0, 171, + 0, 0, 341, 295, 135, 0, 0, 21, 30, 0, + 0, 0, 0, 111, 0, 116, 0, 123, 124, 121, + 115, 12, 0, 140, 0, 62, 0, 0, 191, 0, + 81, 0, 346, 343, 0, 0, 0, 0, 134, 126, + 33, 12, 108, 56, 53, 117, 119, 12, 10, 0, + 143, 0, 142, 0, 326, 194, 0, 0, 170, 0, + 0, 347, 0, 12, 0, 0, 0, 10, 12, 10, + 85, 144, 0, 141, 0, 192, 189, 173, 193, 344, + 0, 10, 24, 128, 12, 106, 34, 0, 10, 0, + 146, 63, 0, 0, 0, 0, 10, 109, 145, 0, + 190, 147, 131, 129, 0, 12, 0, 12, 107, 10, + 0, 10, 64, 175, 12, 174, 68, 10, 0, 65, + 67, 69, 176, 0, 70, 71, 0, 0, 72, 0, + 12, 10, 73 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 4, 75, 175, 300, 414, 694, 77, - 446, 558, 502, 619, 245, 508, 139, 507, 452, 623, - 718, 459, 455, 664, 454, 663, 143, 154, 639, 705, - 751, 768, 771, 772, 773, 778, 781, 271, 272, 158, - 78, 79, 256, 80, 149, 460, 81, 421, 307, 82, - 306, 83, 423, 486, 487, 566, 513, 738, 695, 519, - 377, 522, 572, 720, 699, 671, 563, 620, 747, 656, - 759, 659, 688, 577, 578, 579, 365, 366, 161, 162, - 166, 546, 603, 647, 682, 745, 767, 604, 605, 606, - 607, 681, 608, 137, 246, 247, 453, 84, 278, 550, - 235, 316, 317, 312, 314, 315, 549, 112, 85, 241, - 490, 491, 351, 86, 128, 129, 361, 501, 556, 618, - 134, 360, 87, 389, 390, 88, 527, 407, 528, 89, - 90, 402, 474, 91, 224, 92, 352, 497, 614, 654, - 713, 553, 613, 93, 94, 95, 96, 97, 98, 354, - 438, 496, 439, 440, 99, 400, 401, 531, 281, 282, - 173, 297, 479, 540, 100, 275, 470, 101 + -1, 1, 2, 4, 74, 174, 289, 402, 682, 76, + 434, 546, 490, 607, 243, 496, 138, 495, 440, 611, + 706, 447, 443, 652, 442, 651, 142, 153, 627, 693, + 739, 756, 759, 760, 761, 766, 769, 269, 270, 157, + 77, 78, 254, 79, 148, 448, 80, 409, 295, 81, + 294, 82, 411, 474, 475, 554, 501, 726, 683, 507, + 365, 510, 560, 708, 687, 659, 551, 608, 735, 644, + 747, 647, 676, 565, 566, 567, 353, 354, 160, 161, + 165, 534, 591, 635, 670, 733, 755, 592, 593, 594, + 595, 669, 596, 136, 244, 245, 441, 83, 276, 538, + 233, 304, 305, 300, 302, 303, 537, 111, 84, 239, + 478, 479, 339, 85, 127, 128, 349, 489, 544, 606, + 133, 348, 86, 377, 378, 87, 515, 395, 516, 88, + 89, 390, 462, 90, 222, 91, 340, 485, 602, 642, + 701, 541, 601, 92, 93, 94, 95, 96, 97, 342, + 426, 484, 427, 428, 98, 388, 389, 519, 279, 280, + 172, 286, 467, 528, 99, 273, 458, 100 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -445 +#define YYPACT_NINF -456 static const yytype_int16 yypact[] = { - -445, 51, 83, -445, 814, 3082, 3082, -115, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, -445, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 15, 15, 3082, 28, -40, -20, -445, - -445, 159, -445, -445, -445, -445, 3082, -445, -11, -8, - 3, -445, 26, 1696, 1822, -445, 1948, -445, 3082, 24, - -37, 22, 56, 53, 52, 54, 63, 120, -445, -445, - 124, 127, -445, -445, -445, -445, -445, -445, 3082, -445, - -445, -7, -445, -445, -445, -445, -445, -445, -445, -445, - -445, -445, 119, 125, -445, -445, 130, -445, -445, 3335, - -445, 246, 1209, 139, -445, 163, -445, -50, -445, -26, - -445, -445, 2760, 2760, 3082, 2760, 2760, 3135, 64, 64, - 254, -445, 3082, -445, -445, -445, -445, -445, -445, -445, - 168, 171, -445, -445, -445, -445, 173, 175, -445, -445, - 206, -46, -26, 2074, -445, 3082, -445, 5, 2760, 1570, - -445, 3082, 3082, 194, 3082, -445, 3380, -445, 3421, 318, - -445, 212, 2760, 579, 213, 3462, -445, 279, 226, -445, - -21, 8, -445, -445, -445, 360, 10, 15, 15, 15, - 233, -445, 2200, 547, 3503, 232, 3082, 830, 654, 956, - 259, -445, 43, -445, 3082, -445, -445, -445, -445, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 28, -445, - -445, -445, 2326, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, -445, -445, -445, 3082, 3082, -7, - -49, 3544, -445, 50, -14, 238, -445, -46, -445, 3585, - 3626, 2452, 3082, -445, 297, 3082, 239, 375, 2760, 295, - 723, 316, 3667, -445, -445, -445, 317, -445, -445, -445, - -445, 265, -445, 3082, -445, -445, -37, -445, 1734, 325, - -445, -1, -445, -445, -445, 20, 269, 270, -10, 15, - 3872, 274, 403, -445, -445, 31, -445, -445, -445, -445, - -445, -445, 3208, 15, -445, -445, -445, -445, -445, -445, - 940, 1878, -445, -445, -445, 343, -445, 298, 277, 278, - -46, -26, 3082, 3011, 3082, 3082, 3082, 3082, 3943, 1562, - 1687, 1939, 1939, 1939, 1939, 718, 718, 718, 718, 358, - 358, 64, 64, 64, 254, 254, 254, -445, -3, 3135, - 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, 3135, - 3135, 2452, 25, 2760, 271, 2004, -445, 277, -445, 2452, - -445, 25, -445, 393, 15, 281, 413, 36, 58, 2760, - 283, 3708, -445, -445, -445, -445, 411, 40, -445, -445, - 282, -445, 2130, -445, 1734, 1734, 290, 293, -445, -445, - -445, 421, 15, 294, -445, -445, -445, -445, 300, -445, - 41, -445, -445, -445, 2578, -445, 2704, -445, -445, 364, - 376, 2256, 299, 301, -445, -445, -445, -445, -445, -445, - -445, 319, 343, 302, -445, -445, -46, 2885, 3135, 2634, - 4007, 4028, 28, -445, 303, -445, 3082, -445, -445, -41, - -445, -445, -445, 305, -445, -445, 1570, -445, -445, 2830, - -445, -445, 3082, 3082, 15, 14, 1734, 371, 1066, -16, - 310, 350, -445, -445, -445, 382, 1734, 1734, -445, -445, - 15, -445, -10, 442, -445, 15, 2760, 15, 3913, 33, - -445, 3082, -445, -445, 315, 343, 321, 450, -445, -445, - 2452, 2452, -445, -445, -445, 2382, -445, 326, 3082, 3082, - -445, -445, -445, -445, 15, 45, 272, 3082, 1192, 327, - 2760, 338, 15, 338, -445, -445, 448, -445, -445, -445, - 329, 330, -445, 34, 328, -445, 346, 337, 471, -445, - -445, -10, -445, 3082, -445, -445, 2956, -445, -445, -445, - 331, 1753, 340, 450, -445, 343, 167, 344, 345, 3082, - 238, -445, -445, -445, 339, 2508, 367, 257, -445, -445, - 3749, -445, -445, -445, -445, 14, 349, -445, 351, 1734, - 402, -445, 236, -445, 157, -445, -445, 352, 486, 103, - -445, 1734, -445, 1734, -445, 46, 3135, 15, 2760, -445, - 353, -445, 211, -445, 424, -445, -445, -445, -445, -445, - -445, -445, -445, -445, -445, 399, 287, -445, 11, -445, - -445, 3967, -445, 2452, 379, -445, -445, 25, -445, -445, - 273, 361, 422, 3082, -445, -445, -445, -445, 362, 251, - 372, 3082, -12, 160, -445, 366, 44, 440, 503, 343, - -445, 396, -445, -445, -445, -445, 508, 452, -445, -445, - 455, -445, 386, 25, -445, -445, 280, 383, 1570, -445, - -445, 387, 389, 1318, 1318, -445, 390, -445, 3264, -445, - -445, -445, -445, -445, 227, 518, 1734, -445, 1734, 1734, - 520, 13, 318, 521, -445, -445, 395, 510, 469, 3082, - -445, -445, -445, -445, -445, -445, -445, -445, -445, -445, - 394, 466, 528, 1734, -445, 470, -445, -445, 1734, 473, - -445, 476, 1734, 326, 3082, -445, 407, 3790, 1444, 457, - -445, 108, -445, 537, 1734, -445, 410, -445, 539, -445, - -445, -445, 3831, 485, -445, -445, -445, -445, -445, 414, - 115, 1734, -445, -445, 1734, 423, 536, 1570, 482, -445, - -445, 425, -445, 34, -445, -445, 427, -445, 430, -445, - -445, 428, 223, 285, -445, -445, -445, -445, 474, 432, - 434, -445, 474, -445, -445, 343, -445, -445, 504, 437, - -445, 436, -445, 439, -445 + -456, 63, 66, -456, 842, 2902, 2902, -68, 2902, 2902, + 2902, 2902, 2902, 2902, 2902, -456, 2902, 2902, 2902, 2902, + 2902, 2902, 2902, 25, 25, 2902, 28, -54, -52, -456, + -456, 45, -456, -456, -456, -456, 2902, -456, -50, 31, + 51, -456, 57, 1724, 1850, -456, 1976, -456, 2902, 12, + 49, 129, 139, 208, 119, 149, 161, 164, -456, -456, + 166, 174, -456, -456, -456, -456, -456, -456, 2902, -456, + -456, 179, -456, -456, -456, -456, -456, -456, -456, -456, + -456, 257, 266, -456, -456, 207, -456, -456, 3302, -456, + 189, 985, 210, -456, 232, -456, -33, -456, 99, -456, + -456, 3973, 3973, 2902, 3973, 3973, 2155, -456, -456, 302, + -456, 2902, -456, -456, -456, -456, -456, -456, -456, 213, + 216, -456, -456, -456, -456, 219, 220, -456, -456, 242, + -46, 99, 2102, -456, 2902, -456, -3, 3973, 1598, -456, + 2902, 2902, 221, 2902, -456, 3343, -456, 3384, 332, -456, + 222, 3973, 504, 223, 3425, -456, 286, 225, -456, -22, + 0, -456, -456, -456, 356, 4, 25, 25, 25, 233, + -456, 2202, -20, 3466, 229, 2902, 120, 52, 270, -456, + 29, -456, 2902, -456, -456, -456, -456, 2902, 2902, 2902, + 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, + 2902, 2902, 2902, 2902, 2902, 2902, 28, -456, -456, -456, + 2302, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, + 2902, 2902, -456, -456, -456, 2902, 2902, 179, -5, 3507, + -456, 42, 122, 249, -456, -46, -456, 3548, 3589, 2402, + 2902, -456, 309, 2902, 248, 384, 3973, 303, 739, 323, + 3630, -456, -456, -456, 324, -456, -456, -456, -456, 258, + -456, 2902, -456, -456, 49, -456, 546, 325, -456, 10, + -456, -456, -456, 13, 260, 261, 41, 25, 3835, 263, + 394, 80, -456, -456, 3002, 25, -456, -456, -456, 968, + 1906, -456, -456, 335, -456, 289, 268, 269, -46, 99, + 2902, 4050, 2902, 2902, 2902, 2902, 1590, 1715, 1840, 1966, + 1966, 1966, 1966, 1085, 1085, 1085, 1085, 241, 241, 247, + 247, 247, 302, 302, 302, -456, -11, 2155, 2155, 2155, + 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2155, 2402, + 22, 3973, 262, 2032, -456, 268, -456, 2402, -456, 22, + -456, 385, 25, 271, 406, 15, 60, 3973, 283, 3671, + -456, -456, -456, -456, 418, 17, -456, -456, 288, -456, + 3058, -456, 546, 546, 294, 298, -456, -456, -456, 421, + 25, 297, -456, -456, -456, -456, 301, -456, 36, -456, + -456, -456, 2502, -456, 2602, -456, -456, 380, 391, 3125, + 311, 317, -456, -456, -456, -456, -456, -456, -456, 337, + 335, 321, -456, -456, -46, 4013, 2155, 3932, 2354, 833, + 28, -456, 318, -456, 2902, -456, -456, -6, -456, -456, + -456, 327, -456, -456, 1598, -456, -456, 2702, -456, -456, + 2902, 2902, 25, 14, 546, 389, 1094, -15, 326, 364, + -456, -456, -456, 399, 546, 546, -456, -456, 25, -456, + 41, 458, -456, 25, 3973, 25, 3876, 95, -456, 2902, + -456, -456, 331, 335, 330, 470, -456, -456, 2402, 2402, + -456, -456, -456, 3176, -456, 339, 2902, 2902, -456, -456, + -456, -456, 25, 39, 362, 2902, 1220, 340, 3973, 360, + 25, 360, -456, -456, 472, -456, -456, -456, 344, 345, + -456, -12, 348, -456, 368, 350, 484, -456, -456, 41, + -456, 2902, -456, -456, 2802, -456, -456, -456, 346, 1780, + 351, 470, -456, 335, 319, 354, 361, 2902, 249, -456, + -456, -456, 349, 3217, 381, 206, -456, -456, 3712, -456, + -456, -456, -456, 14, 363, -456, 365, 546, 416, -456, + 224, -456, 112, -456, -456, 370, 505, 19, -456, 546, + -456, 546, -456, 40, 2155, 25, 3973, -456, 371, -456, + 501, -456, 438, -456, -456, -456, -456, -456, -456, -456, + -456, -456, -456, 417, 203, -456, 5, -456, -456, 2255, + -456, 2402, 409, -456, -456, 22, -456, -456, 202, 392, + 448, 2902, -456, -456, -456, -456, 393, 250, 395, 2902, + -16, 158, -456, 390, 34, 463, 526, 335, -456, 419, + -456, -456, -456, -456, 528, 471, -456, -456, 475, -456, + 402, 22, -456, -456, 231, 408, 1598, -456, -456, 407, + 410, 1346, 1346, -456, 411, -456, 3261, -456, -456, -456, + -456, -456, 30, 537, 546, -456, 546, 546, 544, 8, + 332, 547, -456, -456, 422, 535, 499, 2902, -456, -456, + -456, -456, -456, -456, -456, -456, -456, -456, 427, 500, + 559, 546, -456, 503, -456, -456, 546, 506, -456, 507, + 546, 339, 2902, -456, 432, 3753, 1472, 490, -456, 183, + -456, 567, 546, -456, 440, -456, 569, -456, -456, -456, + 3794, 515, -456, -456, -456, -456, -456, 444, 186, 546, + -456, -456, 546, 447, 564, 1598, 509, -456, -456, 449, + -456, -12, -456, -456, 453, -456, 450, -456, -456, 456, + 177, 267, -456, -456, -456, -456, 496, 469, 462, -456, + 496, -456, -456, 335, -456, -456, 541, 477, -456, 476, + -456, 479, -456 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -445, -445, -445, -445, -445, -175, -445, -445, 2, -445, - -445, -445, -445, -445, -445, -445, -445, -445, -445, -445, - -445, -445, -445, -445, -445, -445, -445, -445, -445, -445, - -445, -445, -445, -445, -192, -445, -445, -445, 193, -445, - 288, 304, -95, -445, -445, -445, -445, -445, -445, -445, - -445, -445, -445, -445, 104, 77, 47, -445, -59, -445, - -445, -445, -382, -445, -445, -62, -445, -445, -445, -445, - -445, -445, -445, -144, -445, -25, -342, -445, -445, 356, - -445, 66, -445, -445, -445, -445, -445, -445, -445, -445, - 27, -445, -445, -445, -444, -445, -445, 16, -445, -445, - -445, -445, -445, -445, -445, -445, -445, -445, -445, -445, - -445, -445, -445, -23, -185, -445, -445, -445, -445, -445, - -445, 67, 92, 99, -445, -445, -445, 91, -445, 21, - 467, -306, -445, 347, -445, 222, -445, -445, -445, -445, - -445, -87, -445, -178, -445, -445, -24, -4, -445, 132, - -356, -445, -445, -445, -2, 97, 164, -445, -445, -445, - 289, -445, -445, -445, -445, -445, -445, -445 + -456, -456, -456, -456, -456, -149, -456, -456, 2, -456, + -456, -456, -456, -456, -456, -456, -456, -456, -456, -456, + -456, -456, -456, -456, -456, -456, -456, -456, -456, -456, + -456, -456, -456, -456, -140, -456, -456, -456, 244, -456, + 338, 341, -44, -456, -456, -456, -456, -456, -456, -456, + -456, -456, -456, -456, 155, 128, 78, -456, -19, -456, + -456, -456, -455, -456, -456, -21, -456, -456, -456, -456, + -456, -456, -456, -105, -456, 18, -330, -456, -456, 374, + -456, 109, -456, -456, -456, -456, -456, -456, -456, -456, + 50, -456, -456, -456, -436, -456, -456, -32, -456, -456, + -456, -456, -456, -456, -456, -456, -456, -456, -456, -456, + -456, -456, -456, -23, -170, -456, -456, -456, -456, -456, + -456, 105, -1, 111, -456, -456, -456, 133, -456, 21, + 491, -332, -456, 316, -456, 308, -456, -456, -456, -456, + -456, -49, -456, -161, -456, -456, -24, -4, -456, 165, + -342, -456, -456, -456, -2, 134, 194, -456, -456, -456, + 276, -456, -456, -456, -456, -456, -456, -456 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -351 +#define YYTABLE_NINF -350 static const yytype_int16 yytable[] = { - 121, 121, 130, 127, 309, 444, 76, 392, 509, 434, - 520, 227, 227, 242, 669, 227, 266, 443, 269, 650, - 498, 709, 131, 337, 132, 104, 102, 103, 394, 105, - 106, 107, 108, 109, 110, 111, 159, 113, 114, 115, - 116, 117, 118, 119, -152, 512, 125, 33, 457, 472, - 120, 3, 33, -155, 472, 309, 358, 138, 447, 33, - 432, 120, 151, 33, 146, 148, -153, 152, 120, 155, - 33, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, -2, 380, 120, 120, 33, 33, 174, - -349, -350, 408, 228, 228, 230, 435, 228, 33, 126, - 133, 33, 499, 156, 537, 575, 538, 539, 160, 205, - 206, 207, 398, 208, 308, 575, 33, -336, -336, 229, - 135, 357, 263, 33, 71, 231, 165, 521, 237, 140, - 670, 71, 141, 232, 637, 71, 176, 121, 163, 574, - 393, 244, 71, 142, 121, 121, 121, 243, 547, 548, - 267, 409, 270, 651, 239, 710, 240, 576, 249, 71, - 71, 395, 248, 152, 157, 252, 144, 576, 436, 534, - 71, 535, 164, 71, 437, -138, 638, -152, 310, 662, - 311, 458, 473, 437, 130, 127, -155, 642, 71, 629, - 180, 633, 167, 280, 168, 71, 181, 301, 559, -153, - -122, -122, -122, 169, 131, 313, 132, -120, -120, -120, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 310, - 310, 311, 311, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 123, 123, 493, 353, 355, - 631, 632, -122, 631, 632, 121, 121, 367, 701, -120, - 170, 655, 152, 369, 171, 594, 371, 172, 153, 182, - 121, 652, 595, 596, 597, 598, 599, 600, 601, 225, - -156, 643, 420, 226, 382, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 685, -286, 136, - 702, 634, 415, 208, 672, 210, 211, 426, 136, 594, - 233, 602, -286, 411, 234, 121, 595, 596, 597, 598, - 599, 600, 601, -23, -23, -23, 236, 557, 630, 631, - 632, -336, -336, 427, 251, 428, 429, 430, 431, 657, - 658, 121, 570, 666, 631, 632, 686, 687, 310, 255, - 311, -132, -132, -132, 257, 645, 259, 310, 261, 311, - 388, 177, 178, 179, 250, 765, 766, 367, 262, 121, - 122, 124, 152, 268, 277, 367, 299, 305, 359, 370, - 152, 372, 265, 373, -180, 374, 622, 376, 379, 273, - 274, 276, 595, 596, 597, 598, 599, 600, 391, 488, - 202, 203, 204, 205, 206, 207, 381, 208, 130, 127, - 396, 406, 397, -156, 419, 405, 422, 424, 425, 445, - 441, 449, 448, 450, 456, 476, 461, 478, 131, 465, - 132, 121, 121, 466, 467, 480, 469, 481, 485, 437, - 471, 484, 516, 483, 494, 489, 500, 121, 503, 121, - 523, 524, 121, 525, 121, 533, 542, 495, 545, 565, - 518, 569, 488, 368, 544, 505, 552, 581, 580, 564, - 152, 571, 573, 248, 510, 437, 388, 388, 582, 583, - 589, 121, 591, 463, 464, 609, 610, 617, 615, 121, - 625, 628, 626, 635, 636, 646, 648, 644, 700, 653, - 399, 403, 541, 660, 665, 661, 367, 367, 121, 673, - 562, 152, 152, 675, 667, 412, 676, 678, 719, 353, - 555, 679, 593, 689, 721, 680, 683, 684, 560, 691, - 692, 703, 697, 708, 712, 714, 715, 716, 722, 723, - 733, 724, 121, 726, 739, 740, 728, 729, 388, 734, - 741, 743, 744, -136, 586, 515, 749, 588, 388, 388, - 433, 748, 754, 753, 121, 526, 529, 756, 757, 760, - 611, 762, 764, 368, 775, 770, 774, 779, 780, 782, - 776, 368, 761, 784, 763, 468, 403, 711, 416, 543, - 568, 769, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 417, 696, 698, 783, 283, 758, - 592, 674, 624, 310, 273, 311, 677, 612, 284, 584, - 285, 286, 383, 287, 288, 289, 731, 264, 585, 367, - 554, 0, 0, 649, 152, 0, 532, 0, -336, -336, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 310, - 0, 311, 668, 0, 0, 0, 0, 0, 0, 0, - 690, 388, 0, 0, 0, 0, 0, 290, 627, 0, - 0, 506, 0, 388, 0, 388, 511, 514, 0, 0, - 640, 0, 641, 291, 292, 293, 0, 0, 0, 0, - 294, 295, 530, 0, 399, 0, 296, 403, 0, 403, + 120, 120, 129, 126, 497, 240, 75, 432, 264, 422, + 657, 508, 267, 638, 150, 225, 697, 431, 380, 297, + 435, 382, 130, -152, 131, 445, 101, 102, 225, 104, + 105, 106, 107, 108, 109, 110, 325, 112, 113, 114, + 115, 116, 117, 118, 460, 500, 124, -155, 460, 119, + 625, 33, 420, 281, 562, 486, 225, 137, 282, 563, + 119, 689, 33, 3, 145, 147, -2, 151, -153, 154, + 297, 346, 103, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 119, 132, 33, 134, 173, + 139, 155, 626, 423, 228, 33, 119, 226, 33, 125, + 296, 33, 33, 690, 617, 563, 621, -348, 368, 247, + 226, 564, 119, 345, 33, 33, 283, 284, 285, -335, + -335, 261, 158, 71, 229, 281, 658, 235, 509, -138, + 282, 522, 230, 523, 71, -349, 120, 487, 226, 241, + 242, 396, 265, 120, 120, 120, 268, 639, 535, 536, + 698, 381, 156, 237, 383, 238, -152, 564, 446, 71, + 547, 246, 151, 386, 250, 424, 525, 71, 526, 527, + 71, 140, 33, 71, 71, 650, 298, 461, 299, 425, + -155, 630, 129, 126, -286, 135, 71, 71, 425, 284, + 285, 141, 278, 281, 159, 33, 290, 143, 282, 292, + 397, -153, 130, 301, 131, 619, 620, 355, 306, 307, + 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 298, 298, 299, + 299, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 631, 227, 162, 341, 343, 208, 209, + 481, 619, 620, 120, 120, 163, 622, 284, 285, 166, + 151, 357, 120, 643, 359, 376, 291, 71, 645, 646, + 408, 640, -23, -23, -23, -122, -122, -122, -120, -120, + -120, 164, 370, 200, 201, 202, 203, 204, 205, 167, + 206, 403, 203, 204, 205, 414, 206, 674, 675, 673, + -180, 168, 660, 120, 169, 399, 170, 355, 583, 584, + 585, 586, 587, 588, 171, 355, 618, 619, 620, 753, + 754, 415, 175, 416, 417, 418, 419, -122, 178, 120, + -120, 122, 122, -132, -132, -132, 298, 179, 299, 121, + 123, 545, 654, 619, 620, 298, 180, 299, 176, 177, + 223, 206, 224, 135, 152, 231, 558, 120, -286, 232, + 151, 249, 234, 253, 255, 259, 257, 260, 151, 266, + -156, 376, 376, 288, 275, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 476, 293, 347, + 360, 358, 361, 362, 364, 367, 129, 126, 379, 369, + 610, 384, 394, 385, 393, 493, 407, 410, 412, 413, + 429, 433, 436, 464, 437, 466, 130, 582, 131, 120, + 120, -335, -335, 438, 583, 584, 585, 586, 587, 588, + 589, 444, 449, 453, 455, 120, 491, 120, 454, 457, + 120, 459, 120, 376, 425, 483, 355, 355, 506, 248, + 476, 468, 469, 376, 376, 471, 473, 472, 151, 482, + 504, 246, 498, 590, 477, 512, 511, 263, 488, 120, + 513, 521, 530, 532, 271, 272, 274, 120, 533, 540, + 425, 553, 552, 451, 452, 557, 559, 561, 568, 569, + 529, 570, 571, 579, 577, 597, 120, 603, 550, 151, + 151, 605, 598, -156, 613, 616, 614, 341, 543, 634, + 581, 623, 688, 624, 636, 632, 548, 210, 211, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 641, + 120, 649, 707, 661, 648, 653, 663, 655, 709, 664, + 666, 667, 574, 672, 668, 576, 671, 356, 677, 679, + 691, 680, 120, 685, 721, 503, 376, 696, 599, 728, + 700, 703, 702, -335, -335, 514, 517, 704, 376, 355, + 376, 710, 712, 711, 722, 736, 714, 727, 717, 716, + 729, 731, 732, -136, 387, 391, 737, 741, 372, 373, + 742, 750, 745, 400, 744, 748, 749, 758, 751, 582, + 752, 298, 763, 299, 665, 757, 583, 584, 585, 586, + 587, 588, 589, 762, 767, 29, 30, 374, 768, 770, + 764, 771, 151, 772, 456, 35, 699, 404, 531, 556, + 405, 612, 246, 684, 421, 686, 746, 298, 371, 299, + 656, 580, 662, 600, 637, 633, 256, 356, 678, 572, + 262, 542, 719, 573, 520, 356, 0, 0, 0, 0, + 391, 0, 0, 376, 0, 376, 376, 0, 615, 375, + 62, 63, 64, 65, 66, 0, 0, 0, 0, 0, + 628, 0, 629, 0, 0, 0, 0, 0, 271, 0, + 376, 0, 0, 0, 0, 376, 0, 0, 705, 376, + 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, + 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 720, 0, 0, 0, 0, 376, 0, + 0, 376, 0, 0, 0, 0, 0, 743, 0, 0, + 765, 0, 0, 0, 0, 494, 0, 0, 0, 0, + 499, 502, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 0, 0, 518, 0, 387, 0, + 0, 391, 0, 391, 0, 692, 0, 694, 695, 0, + 0, 0, 0, 0, 0, 0, 356, 356, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -335, -335, + 391, 0, 713, 0, 0, 0, 0, 715, 555, 0, + 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 730, 0, 0, 0, 387, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 717, 0, 368, 368, 0, 283, 0, 0, 0, 0, - 737, 258, 0, 0, 0, 284, 403, 285, 286, 0, - 287, 288, 289, 0, 567, 732, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 0, 755, - 0, 0, 777, 399, -351, -351, -351, -351, 200, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 388, 0, - 388, 388, 0, 0, 290, 704, 0, 706, 707, 0, - 0, 0, -336, -336, 0, 0, 0, 514, 0, 0, - 0, 292, 293, 0, 0, 388, 0, 294, 295, 0, - 388, 303, 725, 296, 388, 0, 0, 727, 0, 403, - 0, 730, 0, 375, 0, 0, 388, 5, 6, 7, - 8, 9, 0, 742, 0, 0, 10, 0, 0, 0, - 0, 0, 0, 388, 0, 368, 388, 0, 0, 0, - 750, 0, 0, 752, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, - 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 26, 27, 28, - 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, - 0, 283, 0, 35, 36, 37, 38, 0, 39, 0, - 40, 284, 41, 285, 286, 42, 287, 288, 289, 43, - 44, 45, 0, 46, 47, 0, 48, 49, 50, 0, - 0, 0, 51, 52, 53, 0, 54, 55, 56, 57, - 58, 59, 0, 0, 0, 0, 60, 61, 62, 63, - 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, - 290, 0, 10, 0, 68, 0, 69, 70, 0, 71, - 72, 73, 74, 0, 0, 0, 0, 292, 293, 0, - 0, 0, 0, 294, 295, 0, 302, 0, 0, 296, - 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 0, 25, 26, 27, 28, 0, 0, 0, 29, - 30, 31, 32, 33, 0, 34, 0, 283, 0, 35, - 36, 37, 38, 0, 39, 0, 40, 284, 41, 285, - 286, 42, 287, 288, 289, 43, 44, 45, 0, 46, - 47, 0, 48, 49, 50, 0, 0, 0, 51, 52, - 53, 0, 54, 55, 56, 413, 58, 59, 0, 0, - 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, - 6, 7, 8, 9, 0, 67, 290, 0, 10, 0, - 68, 0, 69, 70, 0, 71, 72, 73, 74, 0, - 0, 0, 517, 292, 293, 0, 0, 0, 0, 294, - 295, 0, 0, 0, 304, 296, 0, 0, 11, 12, - 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, - 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, - 0, 34, 0, 0, 0, 35, 36, 37, 38, 0, - 39, 0, 40, 0, 41, 0, 0, 42, 0, 0, - 0, 43, 44, 0, 0, 46, 47, 0, 48, 49, - 50, 0, 0, 0, 0, 0, 53, 0, 54, 55, - 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, - 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, - 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, - 0, 71, 72, 73, 74, 0, 0, 0, 561, 0, - 0, 0, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 11, 12, 0, 0, 0, 0, + 738, 0, 0, 740, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, + 0, 502, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 0, 206, 391, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, - 0, 29, 30, 31, 32, 33, 0, 34, -336, -336, + 22, 23, 24, 0, 25, 26, 27, 28, 0, 356, + 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, 37, 38, 0, 39, 0, 40, 0, - 41, 0, 0, 42, 0, 0, 0, 43, 44, 0, + 41, 0, 0, 42, 0, 0, 0, 43, 44, 45, 0, 46, 47, 0, 48, 49, 50, 0, 0, 0, - 0, 0, 53, 0, 54, 55, 56, 0, 0, 0, + 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, 0, 71, 72, 73, - 74, 0, 0, 0, 693, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, - 32, 33, 0, 34, 0, 0, 0, 35, 36, 37, + 32, 33, 0, 34, -335, -335, 0, 35, 36, 37, 38, 0, 39, 0, 40, 0, 41, 0, 0, 42, - 0, 0, 0, 43, 44, 0, 0, 46, 47, 0, - 48, 49, 50, 0, 0, 0, 0, 0, 53, 0, - 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 44, 45, 0, 46, 47, 0, + 48, 49, 50, 0, 0, 0, 51, 52, 53, 0, + 54, 55, 56, 401, 58, 59, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, - 69, 70, 0, 71, 72, 73, 74, 0, 0, 0, - 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, + 69, 70, 0, 71, 72, 73, 0, 0, 0, 0, + 505, -350, -350, -350, -350, 198, 199, 200, 201, 202, + 203, 204, 205, 0, 206, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, @@ -1498,9 +1452,9 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, 0, 71, - 72, 73, 74, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 11, 12, 0, 0, 0, 0, 13, 0, + 72, 73, 0, 0, 0, 0, 549, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, @@ -1510,396 +1464,398 @@ static const yytype_int16 yytable[] = 53, 0, 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, - 68, 0, 69, 70, 0, 71, 72, 73, 74, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 0, 11, 12, - 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, - 27, 0, 183, 184, 185, 29, 30, 31, 32, 33, - 0, 0, 0, 0, 0, 35, 384, 385, 186, 0, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 29, 30, 386, 0, 0, 0, 55, - 56, 0, 0, 35, 0, 0, 0, 0, 60, 61, - 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, - 0, 67, 0, 0, 10, 0, 68, 0, 145, 0, - 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 387, 62, 63, - 64, 65, 66, 0, 11, 12, 0, 0, 0, 0, - 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 0, 25, 26, 27, 183, 184, 185, - 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, - 0, 35, 590, 186, 0, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, - 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, - 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, - 10, 0, 68, 0, 147, 0, 0, 71, 72, 73, - 74, -351, -351, -351, -351, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 0, - 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, - 25, 26, 27, 183, 184, 185, 0, 29, 30, 31, - 32, 33, 418, 0, 0, 0, 0, 35, 0, 186, - 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, - 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, - 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, - 150, 0, 0, 71, 72, 73, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, - 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 26, 27, 183, - 184, 185, 0, 29, 30, 31, 32, 33, 442, 0, - 0, 0, 0, 35, 0, 186, 0, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, - 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, - 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, - 0, 0, 10, 0, 68, 238, 0, 0, 0, 71, - 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 0, 25, 26, 27, 183, 184, 185, 0, 29, - 30, 31, 32, 33, 462, 0, 0, 0, 0, 35, - 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 0, 0, 0, 0, - 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, - 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, - 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, - 68, 0, 0, 0, 0, 71, 72, 73, 74, 0, - 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, + 68, 0, 69, 70, 0, 71, 72, 73, 0, 0, + 0, 0, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, - 27, 183, 184, 185, 0, 29, 30, 31, 32, 33, - 482, 0, 0, 0, 0, 35, 0, 186, 0, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 0, 0, 0, 0, 0, 0, 0, 55, + 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, + 0, 34, 0, 0, 0, 35, 36, 37, 38, 0, + 39, 0, 40, 0, 41, 0, 0, 42, 0, 0, + 0, 43, 44, 0, 0, 46, 47, 0, 48, 49, + 50, 0, 0, 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, - 0, 67, 0, 0, 10, 0, 68, 0, 0, 0, - 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, + 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, + 0, 71, 72, 73, 0, 0, 0, 0, 724, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 0, 25, 26, 27, 183, 184, 185, - 0, 29, 30, 31, 32, 33, 551, 0, 0, 0, - 0, 35, 0, 186, 0, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, + 0, 35, 36, 37, 38, 0, 39, 0, 40, 0, + 41, 0, 0, 42, 0, 0, 0, 43, 44, 0, + 0, 46, 47, 0, 48, 49, 50, 0, 0, 0, + 0, 0, 53, 0, 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, - 10, 0, 68, 0, 0, 0, 0, 71, 72, 73, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 475, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 0, 68, 0, 69, 70, 0, 71, 72, 73, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 0, 206, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, - 25, 26, 27, 183, 184, 185, 0, 29, 30, 31, - 32, 33, 616, 0, 0, 0, 0, 35, 0, 186, - 492, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, + 32, 33, 0, 34, 0, 0, 0, 35, 36, 37, + 38, 0, 39, 0, 40, 0, 41, 0, 0, 42, + 0, 0, 0, 43, 44, 0, 0, 46, 47, 0, + 48, 49, 50, 0, 0, 0, 0, 0, 53, 0, + 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, - 0, 0, 0, 71, 72, 73, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, + 69, 70, 0, 71, 72, 73, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 0, 206, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 26, 27, 183, - 184, 185, 0, 29, 30, 31, 32, 33, 0, 0, - 0, 0, 0, 35, 0, 186, 0, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, + 20, 21, 22, 23, 24, 0, 25, 26, 27, 181, + 182, 183, 0, 29, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 35, 0, 184, 0, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 0, 206, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, - 0, 0, 10, 0, 68, 0, 0, 0, 0, 71, - 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 68, 0, 144, 0, 0, 71, + 72, 73, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 0, 206, 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 0, 25, 26, 27, 184, 185, 0, 0, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 0, 35, - 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 0, 0, 0, 0, 0, + 24, 0, 25, 26, 27, 181, 182, 183, 0, 29, + 30, 31, 32, 33, 0, 0, 0, 0, 578, 35, + 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 0, 206, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, - 68, 0, 0, 0, 0, 71, 72, 73, 74, 0, - 0, 0, 0, 0, 0, 0, 0, 587, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, + 68, 0, 146, 0, 0, 71, 72, 73, -350, -350, + -350, -350, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 0, 206, 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, - 27, 0, 185, 0, 0, 29, 30, 31, 32, 33, - 0, 0, 0, 0, 0, 35, 186, 0, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 27, 181, 182, 183, 0, 29, 30, 31, 32, 33, + 406, 0, 0, 0, 0, 35, 0, 184, 0, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 0, 206, 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, - 0, 67, 0, 0, 10, 0, 68, 0, 0, 0, - 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, + 0, 67, 0, 0, 10, 0, 68, 0, 149, 0, + 0, 71, 72, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 430, 0, 0, 0, + 184, 35, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 0, 206, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 277, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 236, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, - 186, 35, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 0, 35, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 0, 206, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, - 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, - 10, 0, 68, 0, 0, 0, 0, 71, 72, 73, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 0, 0, 326, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 0, 206, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 352, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, - 25, 26, 27, 183, 184, 185, 0, 29, 30, 31, - 410, 33, 0, 0, 0, 0, 0, 35, 0, 186, - 669, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, - 60, 61, 62, 63, 64, 65, 66, 0, 0, 0, - 0, 0, 0, 67, 183, 184, 185, 0, 68, 0, - 0, 0, 0, 71, 72, 73, 74, 0, 0, 0, - 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 0, 0, 0, 0, 183, - 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 186, 670, 187, 188, 189, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 463, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 465, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 492, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 575, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, + 0, 0, 0, 0, 10, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 0, 68, 0, 11, 12, 0, 71, 72, 73, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 181, 182, 183, + 0, 29, 30, 31, 398, 33, 0, 0, 0, 0, + 0, 35, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 183, 184, 185, 0, 0, 0, 209, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 186, 0, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 183, 184, 185, 0, 0, 0, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 0, 186, 0, + 200, 201, 202, 203, 204, 205, 0, 206, 0, 0, + 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 0, 0, 0, 181, 182, 183, 67, 0, 0, + 0, 0, 68, 0, 0, 0, 0, 71, 72, 73, + 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 0, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 181, 182, 183, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 184, 450, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 0, 206, 181, 182, 183, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 0, 206, 0, 0, 470, + 181, 182, 183, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 184, 657, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 183, 184, 185, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 0, 186, - 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 0, + 206, 181, 182, 183, 0, 0, 0, 0, 0, 0, + 539, 0, 0, 0, 0, 0, 0, 184, 0, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 0, 208, 183, 184, 185, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, + 0, 206, 181, 182, 183, 0, 0, 0, 0, 0, + 0, 604, 0, 0, 0, 0, 0, 0, 184, 0, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 0, 208, 183, 184, 185, 0, 0, - 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, - 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, + 205, 0, 206, 181, 182, 183, 0, 0, 0, 0, + 0, 0, 0, 658, 0, 0, 0, 0, 0, 184, + 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 0, 208, 183, 184, 185, 0, - 0, 0, 0, 0, 0, 356, 0, 0, 0, 0, - 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, + 204, 205, 0, 206, 181, 182, 183, 0, 0, 0, + 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, + 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 183, 184, 185, - 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, - 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, + 203, 204, 205, 0, 206, 181, 182, 183, 0, 0, + 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, + 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 0, 208, 183, 184, - 185, 0, 0, 0, 0, 0, 0, 363, 0, 0, - 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, + 202, 203, 204, 205, 0, 206, 181, 182, 183, 0, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 0, 208, 183, - 184, 185, 0, 0, 0, 0, 0, 0, 378, 0, - 0, 0, 0, 0, 0, 186, 0, 187, 188, 189, + 201, 202, 203, 204, 205, 0, 206, 181, 182, 183, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, - 183, 184, 185, 0, 0, 0, 0, 0, 0, 451, - 0, 0, 0, 0, 0, 0, 186, 0, 187, 188, + 200, 201, 202, 203, 204, 205, 0, 206, 181, 182, + 183, 0, 0, 0, 0, 0, 0, 287, 0, 0, + 0, 0, 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, - 208, 183, 184, 185, 0, 0, 0, 0, 0, 0, - 621, 0, 0, 0, 0, 0, 0, 186, 0, 187, + 199, 200, 201, 202, 203, 204, 205, 0, 206, 181, + 182, 183, 0, 0, 0, 0, 0, 0, 344, 0, + 0, 0, 0, 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 0, 208, 183, 184, 185, 0, 0, 0, 0, 0, - 0, 735, 0, 0, 0, 0, 0, 0, 186, 0, + 198, 199, 200, 201, 202, 203, 204, 205, 0, 206, + 181, 182, 183, 0, 0, 0, 0, 0, 0, 350, + 0, 0, 0, 0, 0, 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 746, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 0, 208, 404, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 188, 189, 190, 191, 192, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 0, + 206, 181, 182, 183, 0, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 184, 0, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 0, 206, 181, 182, 183, 0, 0, 0, 0, 0, + 0, 366, 0, 0, 0, 0, 0, 0, 184, 0, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 0, 206, 181, 182, 183, 0, 0, 0, 0, + 0, 0, 439, 0, 0, 0, 0, 0, 0, 184, + 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 0, 206, 181, 182, 183, 0, 0, 0, + 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, + 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 0, 208, 189, 190, 191, + 203, 204, 205, 0, 206, 181, 182, 183, 0, 0, + 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, + 0, 184, 0, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 0, 208 + 202, 203, 204, 205, 0, 206, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, + 0, 181, 182, 183, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 392, 184, 480, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 0, 206, 181, 182, 183, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 524, 184, 0, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 0, 206, 182, 183, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 183, 206, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 184, 0, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 0, 206 }; static const yytype_int16 yycheck[] = { - 23, 24, 26, 26, 182, 361, 4, 8, 452, 351, - 26, 61, 61, 8, 26, 61, 8, 359, 8, 8, - 61, 8, 26, 208, 26, 140, 5, 6, 8, 8, - 9, 10, 11, 12, 13, 14, 73, 16, 17, 18, - 19, 20, 21, 22, 8, 31, 25, 73, 8, 8, - 71, 0, 73, 8, 8, 233, 234, 36, 364, 73, - 63, 71, 46, 73, 43, 44, 8, 46, 71, 48, - 73, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 0, 259, 71, 71, 73, 73, 68, - 140, 140, 61, 143, 143, 99, 71, 143, 73, 71, - 140, 73, 143, 79, 71, 71, 73, 74, 145, 45, - 46, 47, 122, 49, 71, 71, 73, 59, 60, 145, - 140, 71, 143, 73, 145, 104, 73, 143, 132, 140, - 142, 145, 140, 112, 31, 145, 143, 160, 116, 521, - 141, 139, 145, 140, 167, 168, 169, 142, 490, 491, - 142, 120, 142, 142, 133, 142, 135, 123, 142, 145, - 145, 141, 141, 142, 140, 144, 140, 123, 143, 475, - 145, 477, 116, 145, 352, 141, 73, 141, 182, 623, - 182, 141, 141, 361, 208, 208, 141, 141, 145, 571, - 71, 573, 140, 172, 140, 145, 71, 176, 504, 141, - 92, 93, 94, 140, 208, 184, 208, 92, 93, 94, + 23, 24, 26, 26, 440, 8, 4, 349, 8, 339, + 26, 26, 8, 8, 46, 61, 8, 347, 8, 180, + 352, 8, 26, 8, 26, 8, 5, 6, 61, 8, + 9, 10, 11, 12, 13, 14, 206, 16, 17, 18, + 19, 20, 21, 22, 8, 31, 25, 8, 8, 71, + 31, 73, 63, 73, 509, 61, 61, 36, 78, 71, + 71, 31, 73, 0, 43, 44, 0, 46, 8, 48, + 231, 232, 140, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 71, 140, 73, 140, 68, + 140, 79, 73, 71, 98, 73, 71, 143, 73, 71, + 71, 73, 73, 73, 559, 71, 561, 140, 257, 141, + 143, 123, 71, 71, 73, 73, 136, 137, 138, 59, + 60, 143, 73, 145, 103, 73, 142, 131, 143, 141, + 78, 463, 111, 465, 145, 140, 159, 143, 143, 142, + 138, 61, 142, 166, 167, 168, 142, 142, 478, 479, + 142, 141, 140, 132, 141, 134, 141, 123, 141, 145, + 492, 140, 141, 122, 143, 143, 71, 145, 73, 74, + 145, 140, 73, 145, 145, 611, 180, 141, 180, 340, + 141, 141, 206, 206, 139, 140, 145, 145, 349, 137, + 138, 140, 171, 73, 145, 73, 175, 140, 78, 147, + 120, 141, 206, 182, 206, 93, 94, 239, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 233, - 234, 233, 234, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 23, 24, 432, 227, 228, - 93, 94, 144, 93, 94, 278, 279, 241, 31, 144, - 140, 617, 241, 242, 140, 98, 245, 140, 46, 139, - 293, 613, 105, 106, 107, 108, 109, 110, 111, 140, - 8, 587, 305, 120, 263, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 653, 139, 140, - 73, 144, 300, 49, 144, 59, 60, 311, 140, 98, - 139, 144, 139, 292, 139, 338, 105, 106, 107, 108, - 109, 110, 111, 66, 67, 68, 120, 502, 92, 93, - 94, 59, 60, 312, 140, 314, 315, 316, 317, 66, - 67, 364, 517, 92, 93, 94, 66, 67, 352, 31, - 352, 66, 67, 68, 142, 144, 143, 361, 79, 361, - 268, 72, 73, 74, 142, 142, 143, 351, 142, 392, - 23, 24, 351, 13, 141, 359, 144, 118, 140, 82, - 359, 142, 160, 8, 97, 90, 561, 71, 71, 167, - 168, 169, 105, 106, 107, 108, 109, 110, 73, 422, - 42, 43, 44, 45, 46, 47, 141, 49, 432, 432, - 141, 8, 142, 141, 71, 141, 118, 140, 140, 26, - 149, 8, 141, 140, 13, 404, 144, 406, 432, 139, - 432, 454, 455, 140, 13, 71, 142, 61, 119, 617, - 140, 140, 71, 144, 141, 143, 141, 470, 446, 472, - 140, 101, 475, 71, 477, 13, 141, 436, 8, 121, - 458, 13, 485, 241, 143, 449, 140, 121, 140, 142, - 449, 142, 142, 452, 453, 653, 384, 385, 141, 8, - 149, 504, 142, 384, 385, 141, 141, 120, 149, 512, - 141, 89, 141, 141, 8, 71, 97, 144, 673, 120, - 278, 279, 481, 142, 142, 83, 490, 491, 531, 143, - 508, 490, 491, 73, 142, 293, 13, 121, 693, 498, - 499, 13, 545, 140, 699, 73, 71, 141, 507, 142, - 141, 13, 142, 13, 13, 140, 26, 68, 144, 73, - 715, 13, 565, 73, 87, 720, 73, 71, 456, 142, - 13, 141, 13, 68, 533, 456, 142, 536, 466, 467, - 338, 736, 26, 140, 587, 466, 467, 85, 143, 142, - 549, 141, 144, 351, 140, 101, 144, 73, 141, 143, - 772, 359, 757, 144, 759, 392, 364, 682, 300, 485, - 513, 766, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 300, 664, 668, 782, 61, 753, - 544, 636, 565, 617, 392, 617, 639, 550, 71, 528, - 73, 74, 266, 76, 77, 78, 713, 160, 531, 613, - 498, -1, -1, 606, 613, -1, 472, -1, 59, 60, - -1, -1, -1, -1, 623, -1, -1, -1, -1, 653, - -1, 653, 631, -1, -1, -1, -1, -1, -1, -1, - 658, 569, -1, -1, -1, -1, -1, 120, 569, -1, - -1, 449, -1, 581, -1, 583, 454, 455, -1, -1, - 581, -1, 583, 136, 137, 138, -1, -1, -1, -1, - 143, 144, 470, -1, 472, -1, 149, 475, -1, 477, + 199, 200, 201, 202, 203, 204, 205, 231, 232, 231, + 232, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 575, 145, 116, 225, 226, 59, 60, + 420, 93, 94, 276, 277, 116, 144, 137, 138, 140, + 239, 240, 285, 605, 243, 266, 146, 145, 66, 67, + 293, 601, 66, 67, 68, 92, 93, 94, 92, 93, + 94, 73, 261, 42, 43, 44, 45, 46, 47, 140, + 49, 289, 45, 46, 47, 299, 49, 66, 67, 641, + 97, 140, 144, 326, 140, 284, 140, 339, 105, 106, + 107, 108, 109, 110, 140, 347, 92, 93, 94, 142, + 143, 300, 143, 302, 303, 304, 305, 144, 71, 352, + 144, 23, 24, 66, 67, 68, 340, 71, 340, 23, + 24, 490, 92, 93, 94, 349, 139, 349, 72, 73, + 140, 49, 120, 140, 46, 139, 505, 380, 139, 139, + 339, 140, 120, 31, 142, 79, 143, 142, 347, 13, + 8, 372, 373, 144, 141, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 410, 118, 140, + 142, 82, 8, 90, 71, 71, 420, 420, 73, 141, + 549, 141, 8, 142, 141, 437, 71, 118, 140, 140, + 148, 26, 141, 392, 8, 394, 420, 98, 420, 442, + 443, 59, 60, 140, 105, 106, 107, 108, 109, 110, + 111, 13, 144, 139, 13, 458, 434, 460, 140, 142, + 463, 140, 465, 444, 605, 424, 478, 479, 446, 141, + 473, 71, 61, 454, 455, 144, 119, 140, 437, 141, + 71, 440, 441, 144, 143, 101, 140, 159, 141, 492, + 71, 13, 141, 143, 166, 167, 168, 500, 8, 140, + 641, 121, 142, 372, 373, 13, 142, 142, 140, 121, + 469, 141, 8, 142, 148, 141, 519, 148, 496, 478, + 479, 120, 141, 141, 141, 89, 141, 486, 487, 71, + 533, 141, 661, 8, 97, 144, 495, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 120, + 553, 83, 681, 143, 142, 142, 73, 142, 687, 13, + 121, 13, 521, 141, 73, 524, 71, 239, 140, 142, + 13, 141, 575, 142, 703, 444, 557, 13, 537, 708, + 13, 26, 140, 59, 60, 454, 455, 68, 569, 601, + 571, 144, 13, 73, 142, 724, 73, 87, 71, 73, + 13, 141, 13, 68, 276, 277, 142, 140, 42, 43, + 26, 141, 143, 285, 85, 142, 745, 101, 747, 98, + 144, 605, 140, 605, 627, 754, 105, 106, 107, 108, + 109, 110, 111, 144, 73, 69, 70, 71, 141, 143, + 760, 770, 601, 144, 380, 79, 670, 289, 473, 501, + 289, 553, 611, 652, 326, 656, 741, 641, 264, 641, + 619, 532, 624, 538, 594, 144, 142, 339, 646, 516, + 159, 486, 701, 519, 460, 347, -1, -1, -1, -1, + 352, -1, -1, 664, -1, 666, 667, -1, 557, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, -1, + 569, -1, 571, -1, -1, -1, -1, -1, 380, -1, + 691, -1, -1, -1, -1, 696, -1, -1, 677, 700, + -1, -1, -1, -1, -1, -1, -1, -1, 706, -1, + -1, 712, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 702, -1, -1, -1, -1, 729, -1, + -1, 732, -1, -1, -1, -1, -1, 735, -1, -1, + 763, -1, -1, -1, -1, 437, -1, -1, -1, -1, + 442, 443, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, -1, -1, 458, -1, 460, -1, + -1, 463, -1, 465, -1, 664, -1, 666, 667, -1, + -1, -1, -1, -1, -1, -1, 478, 479, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, + 492, -1, 691, -1, -1, -1, -1, 696, 500, -1, + -1, 700, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 712, -1, -1, -1, 519, -1, 90, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 689, -1, 490, 491, -1, 61, -1, -1, -1, -1, - 718, 142, -1, -1, -1, 71, 504, 73, 74, -1, - 76, 77, 78, -1, 512, 714, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, 747, - -1, -1, 775, 531, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, 676, -1, - 678, 679, -1, -1, 120, 676, -1, 678, 679, -1, - -1, -1, 59, 60, -1, -1, -1, 565, -1, -1, - -1, 137, 138, -1, -1, 703, -1, 143, 144, -1, - 708, 147, 703, 149, 712, -1, -1, 708, -1, 587, - -1, 712, -1, 90, -1, -1, 724, 3, 4, 5, - 6, 7, -1, 724, -1, -1, 12, -1, -1, -1, - -1, -1, -1, 741, -1, 613, 744, -1, -1, -1, - 741, -1, -1, 744, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, - -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, - -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, - -1, 61, -1, 79, 80, 81, 82, -1, 84, -1, - 86, 71, 88, 73, 74, 91, 76, 77, 78, 95, - 96, 97, -1, 99, 100, -1, 102, 103, 104, -1, - -1, -1, 108, 109, 110, -1, 112, 113, 114, 115, - 116, 117, -1, -1, -1, -1, 122, 123, 124, 125, - 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, - 120, -1, 12, -1, 140, -1, 142, 143, -1, 145, - 146, 147, 148, -1, -1, -1, -1, 137, 138, -1, - -1, -1, -1, 143, 144, -1, 146, -1, -1, 149, - -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, - 70, 71, 72, 73, -1, 75, -1, 61, -1, 79, - 80, 81, 82, -1, 84, -1, 86, 71, 88, 73, - 74, 91, 76, 77, 78, 95, 96, 97, -1, 99, - 100, -1, 102, 103, 104, -1, -1, -1, 108, 109, - 110, -1, 112, 113, 114, 115, 116, 117, -1, -1, - -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, - 4, 5, 6, 7, -1, 135, 120, -1, 12, -1, - 140, -1, 142, 143, -1, 145, 146, 147, 148, -1, - -1, -1, 26, 137, 138, -1, -1, -1, -1, 143, - 144, -1, -1, -1, 148, 149, -1, -1, 42, 43, - -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, - -1, 75, -1, -1, -1, 79, 80, 81, 82, -1, - 84, -1, 86, -1, 88, -1, -1, 91, -1, -1, - -1, 95, 96, -1, -1, 99, 100, -1, 102, 103, - 104, -1, -1, -1, -1, -1, 110, -1, 112, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, - -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, - -1, 145, 146, 147, 148, -1, -1, -1, 26, -1, - -1, -1, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 42, 43, -1, -1, -1, -1, + 729, -1, -1, 732, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, -1, -1, -1, -1, -1, + -1, 553, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, -1, 49, 575, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 59, 60, + 58, 59, 60, -1, 62, 63, 64, 65, -1, 601, + -1, 69, 70, 71, 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, 82, -1, 84, -1, 86, -1, - 88, -1, -1, 91, -1, -1, -1, 95, 96, -1, + 88, -1, -1, 91, -1, -1, -1, 95, 96, 97, -1, 99, 100, -1, 102, 103, 104, -1, -1, -1, - -1, -1, 110, -1, 112, 113, 114, -1, -1, -1, + 108, 109, 110, -1, 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, -1, 145, 146, 147, - 148, -1, -1, -1, 26, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, - 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, + 72, 73, -1, 75, 59, 60, -1, 79, 80, 81, 82, -1, 84, -1, 86, -1, 88, -1, -1, 91, - -1, -1, -1, 95, 96, -1, -1, 99, 100, -1, - 102, 103, 104, -1, -1, -1, -1, -1, 110, -1, - 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 95, 96, 97, -1, 99, 100, -1, + 102, 103, 104, -1, -1, -1, 108, 109, 110, -1, + 112, 113, 114, 115, 116, 117, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, - 142, 143, -1, 145, 146, 147, 148, -1, -1, -1, - 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, + 142, 143, -1, 145, 146, 147, -1, -1, -1, -1, + 26, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, @@ -1910,9 +1866,9 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, -1, 145, - 146, 147, 148, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, 42, 43, -1, -1, -1, -1, 48, -1, + 146, 147, -1, -1, -1, -1, 26, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, -1, -1, -1, 79, @@ -1922,72 +1878,72 @@ static const yytype_int16 yycheck[] = 110, -1, 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, - 140, -1, 142, 143, -1, 145, 146, 147, 148, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, 42, 43, + 140, -1, 142, 143, -1, 145, 146, 147, -1, -1, + -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, -1, 9, 10, 11, 69, 70, 71, 72, 73, - -1, -1, -1, -1, -1, 79, 42, 43, 25, -1, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, 69, 70, 71, -1, -1, -1, 113, - 114, -1, -1, 79, -1, -1, -1, -1, 122, 123, + 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, + -1, 75, -1, -1, -1, 79, 80, 81, 82, -1, + 84, -1, 86, -1, 88, -1, -1, 91, -1, -1, + -1, 95, 96, -1, -1, 99, 100, -1, 102, 103, + 104, -1, -1, -1, -1, -1, 110, -1, 112, 113, + 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, - -1, 135, -1, -1, 12, -1, 140, -1, 142, -1, - -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, - 126, 127, 128, -1, 42, 43, -1, -1, -1, -1, + -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, + -1, 145, 146, 147, -1, -1, -1, -1, 26, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, - -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, - -1, 79, 149, 25, -1, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, + -1, 69, 70, 71, 72, 73, -1, 75, -1, -1, + -1, 79, 80, 81, 82, -1, 84, -1, 86, -1, + 88, -1, -1, 91, -1, -1, -1, 95, 96, -1, + -1, 99, 100, -1, 102, 103, 104, -1, -1, -1, + -1, -1, 110, -1, 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, - 12, -1, 140, -1, 142, -1, -1, 145, 146, 147, - 148, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, + 12, -1, 140, -1, 142, 143, -1, 145, 146, 147, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, - 72, 73, 144, -1, -1, -1, -1, 79, -1, 25, - -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, + 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, + 82, -1, 84, -1, 86, -1, 88, -1, -1, 91, + -1, -1, -1, 95, 96, -1, -1, 99, 100, -1, + 102, 103, 104, -1, -1, -1, -1, -1, 110, -1, + 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, - 142, -1, -1, 145, 146, 147, 148, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, + 142, 143, -1, 145, 146, 147, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, - 10, 11, -1, 69, 70, 71, 72, 73, 144, -1, + 10, 11, -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, - -1, -1, 12, -1, 140, 141, -1, -1, -1, 145, - 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 12, -1, 140, -1, 142, -1, -1, 145, + 146, 147, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, -1, 69, - 70, 71, 72, 73, 144, -1, -1, -1, -1, 79, + 70, 71, 72, 73, -1, -1, -1, -1, 148, 79, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, - 140, -1, -1, -1, -1, 145, 146, 147, 148, -1, - -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 140, -1, 142, -1, -1, 145, 146, 147, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, 72, 73, @@ -1997,113 +1953,132 @@ static const yytype_int16 yycheck[] = -1, 49, -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, - -1, 135, -1, -1, 12, -1, 140, -1, -1, -1, - -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, - -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 135, -1, -1, 12, -1, 140, -1, 142, -1, + -1, 145, 146, 147, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, 72, 73, 144, -1, -1, -1, - -1, 79, -1, 25, -1, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, - -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + 25, 79, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, - 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, - 12, -1, 140, -1, -1, -1, -1, 145, 146, 147, - 148, -1, -1, -1, -1, -1, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, - 72, 73, 144, -1, -1, -1, -1, 79, -1, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, - 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, - 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, - -1, -1, -1, 145, 146, 147, 148, -1, -1, -1, - -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, - -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, - 10, 11, -1, 69, 70, 71, 72, 73, -1, -1, - -1, -1, -1, 79, -1, 25, -1, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, - -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, - -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, - 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, - -1, -1, 12, -1, 140, -1, -1, -1, -1, 145, - 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, -1, 62, 63, 64, 10, 11, -1, -1, 69, - 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, - 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, 141, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, - -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, - 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, - 140, -1, -1, -1, -1, 145, 146, 147, 148, -1, - -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, - -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, -1, 11, -1, -1, 69, 70, 71, 72, 73, - -1, -1, -1, -1, -1, 79, 25, -1, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, -1, -1, -1, -1, -1, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, - -1, 135, -1, -1, 12, -1, 140, -1, -1, -1, - -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, + 45, 46, 47, -1, 49, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, -1, 49, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, - 25, 79, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, - 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, - 12, -1, 140, -1, -1, -1, -1, 145, 146, 147, - 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, - 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, - 72, 73, -1, -1, -1, -1, -1, 79, -1, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, - 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, - -1, -1, -1, 135, 9, 10, 11, -1, 140, -1, - -1, -1, -1, 145, 146, 147, 148, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, 31, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, -1, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, -1, -1, 135, -1, -1, + -1, -1, 140, -1, 42, 43, -1, 145, 146, 147, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, 25, -1, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, 9, 10, 11, 135, -1, -1, + -1, -1, 140, -1, -1, -1, -1, 145, 146, 147, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, -1, -1, -1, -1, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 25, 142, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 25, 144, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, -1, 144, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, + -1, -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, 9, 10, 11, -1, -1, -1, 142, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, + 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, + 144, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, 142, -1, -1, -1, -1, -1, 25, -1, + -1, 144, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, @@ -2115,15 +2090,15 @@ static const yytype_int16 yycheck[] = 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, - -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, - -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, - -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, @@ -2147,103 +2122,120 @@ static const yytype_int16 yycheck[] = -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 30, 31, 32, 33, 34, 35, 36, + 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, + -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, + -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, + -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, + 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, + -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, + -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, + -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 121, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 121, 25, -1, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, 121, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49 + 47, -1, 49, 10, 11, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 11, 49, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 151, 152, 0, 153, 3, 4, 5, 6, 7, + 0, 150, 151, 0, 152, 3, 4, 5, 6, 7, 12, 42, 43, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 69, 70, 71, 72, 73, 75, 79, 80, 81, 82, 84, 86, 88, 91, 95, 96, 97, 99, 100, 102, 103, 104, 108, 109, 110, 112, 113, 114, 115, 116, 117, 122, 123, 124, 125, 126, 127, 128, 135, 140, 142, - 143, 145, 146, 147, 148, 154, 158, 159, 190, 191, - 193, 196, 199, 201, 247, 258, 263, 272, 275, 279, - 280, 283, 285, 293, 294, 295, 296, 297, 298, 304, - 314, 317, 279, 279, 140, 279, 279, 279, 279, 279, - 279, 279, 257, 279, 279, 279, 279, 279, 279, 279, - 71, 263, 283, 285, 283, 279, 71, 263, 264, 265, - 296, 297, 304, 140, 270, 140, 140, 243, 279, 166, - 140, 140, 140, 176, 140, 142, 279, 142, 279, 194, - 142, 247, 279, 285, 177, 279, 79, 140, 189, 73, - 145, 228, 229, 116, 116, 73, 230, 140, 140, 140, - 140, 140, 140, 310, 279, 155, 143, 310, 310, 310, - 71, 71, 139, 9, 10, 11, 25, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 49, 142, - 59, 60, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 284, 140, 120, 61, 143, 145, - 297, 279, 279, 139, 139, 250, 120, 297, 141, 279, - 279, 259, 8, 142, 158, 164, 244, 245, 279, 247, - 285, 140, 279, 142, 142, 31, 192, 142, 142, 143, - 142, 79, 142, 143, 280, 285, 8, 142, 13, 8, - 142, 187, 188, 285, 285, 315, 285, 141, 248, 31, - 279, 308, 309, 61, 71, 73, 74, 76, 77, 78, - 120, 136, 137, 138, 143, 144, 149, 311, 141, 144, - 156, 279, 146, 147, 148, 118, 200, 198, 71, 293, - 297, 304, 253, 279, 254, 255, 251, 252, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 264, 31, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 262, 286, 279, 299, 279, 141, 71, 293, 140, - 271, 266, 141, 141, 31, 226, 227, 247, 285, 279, - 82, 279, 142, 8, 90, 90, 71, 210, 141, 71, - 155, 141, 279, 229, 42, 43, 71, 123, 272, 273, - 274, 73, 8, 141, 8, 141, 141, 142, 122, 285, - 305, 306, 281, 285, 121, 141, 8, 277, 61, 120, - 72, 279, 285, 115, 157, 158, 190, 191, 144, 71, - 263, 197, 118, 202, 140, 140, 297, 279, 279, 279, - 279, 279, 63, 285, 226, 71, 143, 293, 300, 302, - 303, 149, 144, 226, 300, 26, 160, 281, 141, 8, - 140, 141, 168, 246, 174, 172, 13, 8, 141, 171, - 195, 144, 144, 273, 273, 139, 140, 13, 188, 142, - 316, 140, 8, 141, 282, 31, 279, 31, 279, 312, - 71, 61, 144, 144, 140, 119, 203, 204, 263, 143, - 260, 261, 26, 264, 141, 279, 301, 287, 61, 143, - 141, 267, 162, 158, 31, 247, 285, 167, 165, 244, - 279, 285, 31, 206, 285, 273, 71, 26, 158, 209, - 26, 143, 211, 140, 101, 71, 273, 276, 278, 273, - 285, 307, 306, 13, 281, 281, 121, 71, 73, 74, - 313, 279, 141, 204, 143, 8, 231, 226, 226, 256, - 249, 144, 140, 291, 299, 279, 268, 155, 161, 281, - 279, 26, 158, 216, 142, 121, 205, 285, 205, 13, - 155, 142, 212, 142, 212, 71, 123, 223, 224, 225, - 140, 121, 141, 8, 277, 305, 279, 31, 279, 149, - 149, 142, 231, 263, 98, 105, 106, 107, 108, 109, - 110, 111, 144, 232, 237, 238, 239, 240, 242, 141, - 141, 279, 271, 292, 288, 149, 144, 120, 269, 163, - 217, 141, 155, 169, 206, 141, 141, 273, 89, 212, - 92, 93, 94, 212, 144, 141, 8, 31, 73, 178, - 273, 273, 141, 281, 144, 144, 71, 233, 97, 240, - 8, 142, 226, 120, 289, 300, 219, 66, 67, 221, - 142, 83, 244, 175, 173, 142, 92, 142, 279, 26, - 142, 215, 144, 143, 225, 73, 13, 263, 121, 13, - 73, 241, 234, 71, 141, 300, 66, 67, 222, 140, - 158, 142, 141, 26, 158, 208, 208, 142, 215, 214, - 155, 31, 73, 13, 273, 179, 273, 273, 13, 8, - 142, 192, 13, 290, 140, 26, 68, 279, 170, 155, - 213, 155, 144, 73, 13, 273, 73, 273, 73, 71, - 273, 291, 279, 155, 142, 141, 26, 158, 207, 87, - 155, 13, 273, 141, 13, 235, 141, 218, 155, 142, - 273, 180, 273, 140, 26, 158, 85, 143, 223, 220, - 142, 155, 141, 155, 144, 142, 143, 236, 181, 155, - 101, 182, 183, 184, 144, 140, 184, 263, 185, 73, - 141, 186, 143, 155, 144 + 143, 145, 146, 147, 153, 157, 158, 189, 190, 192, + 195, 198, 200, 246, 257, 262, 271, 274, 278, 279, + 282, 284, 292, 293, 294, 295, 296, 297, 303, 313, + 316, 278, 278, 140, 278, 278, 278, 278, 278, 278, + 278, 256, 278, 278, 278, 278, 278, 278, 278, 71, + 262, 282, 284, 282, 278, 71, 262, 263, 264, 295, + 296, 303, 140, 269, 140, 140, 242, 278, 165, 140, + 140, 140, 175, 140, 142, 278, 142, 278, 193, 142, + 246, 278, 284, 176, 278, 79, 140, 188, 73, 145, + 227, 228, 116, 116, 73, 229, 140, 140, 140, 140, + 140, 140, 309, 278, 154, 143, 309, 309, 71, 71, + 139, 9, 10, 11, 25, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 49, 142, 59, 60, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 283, 140, 120, 61, 143, 145, 296, 278, + 278, 139, 139, 249, 120, 296, 141, 278, 278, 258, + 8, 142, 157, 163, 243, 244, 278, 246, 284, 140, + 278, 142, 142, 31, 191, 142, 142, 143, 142, 79, + 142, 143, 279, 284, 8, 142, 13, 8, 142, 186, + 187, 284, 284, 314, 284, 141, 247, 31, 278, 307, + 308, 73, 78, 136, 137, 138, 310, 141, 144, 155, + 278, 146, 147, 118, 199, 197, 71, 292, 296, 303, + 252, 278, 253, 254, 250, 251, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 263, 31, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 261, + 285, 278, 298, 278, 141, 71, 292, 140, 270, 265, + 141, 141, 31, 225, 226, 246, 284, 278, 82, 278, + 142, 8, 90, 90, 71, 209, 141, 71, 154, 141, + 278, 228, 42, 43, 71, 123, 271, 272, 273, 73, + 8, 141, 8, 141, 141, 142, 122, 284, 304, 305, + 280, 284, 121, 141, 8, 276, 61, 120, 72, 278, + 284, 115, 156, 157, 189, 190, 144, 71, 262, 196, + 118, 201, 140, 140, 296, 278, 278, 278, 278, 278, + 63, 284, 225, 71, 143, 292, 299, 301, 302, 148, + 144, 225, 299, 26, 159, 280, 141, 8, 140, 141, + 167, 245, 173, 171, 13, 8, 141, 170, 194, 144, + 144, 272, 272, 139, 140, 13, 187, 142, 315, 140, + 8, 141, 281, 31, 278, 31, 278, 311, 71, 61, + 144, 144, 140, 119, 202, 203, 262, 143, 259, 260, + 26, 263, 141, 278, 300, 286, 61, 143, 141, 266, + 161, 157, 31, 246, 284, 166, 164, 243, 278, 284, + 31, 205, 284, 272, 71, 26, 157, 208, 26, 143, + 210, 140, 101, 71, 272, 275, 277, 272, 284, 306, + 305, 13, 280, 280, 121, 71, 73, 74, 312, 278, + 141, 203, 143, 8, 230, 225, 225, 255, 248, 144, + 140, 290, 298, 278, 267, 154, 160, 280, 278, 26, + 157, 215, 142, 121, 204, 284, 204, 13, 154, 142, + 211, 142, 211, 71, 123, 222, 223, 224, 140, 121, + 141, 8, 276, 304, 278, 31, 278, 148, 148, 142, + 230, 262, 98, 105, 106, 107, 108, 109, 110, 111, + 144, 231, 236, 237, 238, 239, 241, 141, 141, 278, + 270, 291, 287, 148, 144, 120, 268, 162, 216, 141, + 154, 168, 205, 141, 141, 272, 89, 211, 92, 93, + 94, 211, 144, 141, 8, 31, 73, 177, 272, 272, + 141, 280, 144, 144, 71, 232, 97, 239, 8, 142, + 225, 120, 288, 299, 218, 66, 67, 220, 142, 83, + 243, 174, 172, 142, 92, 142, 278, 26, 142, 214, + 144, 143, 224, 73, 13, 262, 121, 13, 73, 240, + 233, 71, 141, 299, 66, 67, 221, 140, 157, 142, + 141, 26, 157, 207, 207, 142, 214, 213, 154, 31, + 73, 13, 272, 178, 272, 272, 13, 8, 142, 191, + 13, 289, 140, 26, 68, 278, 169, 154, 212, 154, + 144, 73, 13, 272, 73, 272, 73, 71, 272, 290, + 278, 154, 142, 141, 26, 157, 206, 87, 154, 13, + 272, 141, 13, 234, 141, 217, 154, 142, 272, 179, + 272, 140, 26, 157, 85, 143, 222, 219, 142, 154, + 141, 154, 144, 142, 143, 235, 180, 154, 101, 181, + 182, 183, 144, 140, 183, 262, 184, 73, 141, 185, + 143, 154, 144 }; #define yyerrok (yyerrstatus = 0) @@ -4444,486 +4436,436 @@ yyreduce: case 322: - { (yyval) = (yyvsp[(2) - (3)]); zend_do_end_heredoc(TSRMLS_C); } - break; - - case 323: - { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); } break; - case 324: + case 323: { (yyval) = (yyvsp[(1) - (2)]); } break; - case 327: + case 326: { zend_do_add_static_array_element(&(yyval), &(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)])); } break; - case 328: + case 327: { zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(3) - (3)])); } break; - case 329: + case 328: { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)])); } break; - case 330: + case 329: { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(1) - (1)])); } break; - case 331: + case 330: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 332: + case 331: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 333: + case 332: { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); } break; - case 334: + case 333: { zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); } break; - case 335: + case 334: { zend_check_writable_variable(&(yyvsp[(1) - (2)])); } break; - case 336: + case 335: { zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); } break; - case 337: + case 336: { zend_check_writable_variable(&(yyvsp[(1) - (2)])); } break; - case 338: + case 337: { zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); } break; - case 339: + case 338: { zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); } break; - case 340: + case 339: { zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = (yyvsp[(1) - (7)]).u.EA.type | ((yyvsp[(7) - (7)]).u.EA.type ? (yyvsp[(7) - (7)]).u.EA.type : (yyvsp[(6) - (7)]).u.EA.type); } break; - case 341: + case 340: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 342: + case 341: { (yyval).u.EA.type = (yyvsp[(2) - (2)]).u.EA.type; } break; - case 343: + case 342: { (yyval).u.EA.type = 0; } break; - case 344: + case 343: { zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 345: + case 344: { (yyval).u.EA.type = (yyvsp[(4) - (4)]).u.EA.type; } break; - case 346: + case 345: { zend_do_pop_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); zend_do_begin_method_call(&(yyvsp[(1) - (1)]) TSRMLS_CC); } break; - case 347: + case 346: { zend_do_end_function_call(&(yyvsp[(1) - (4)]), &(yyval), &(yyvsp[(3) - (4)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_push_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_METHOD_CALL; } break; - case 348: + case 347: { zend_do_declare_implicit_property(TSRMLS_C); (yyval).u.EA.type = ZEND_PARSED_MEMBER; } break; - case 349: + case 348: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 350: + case 349: { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 351: + case 350: { (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); } break; - case 352: + case 351: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 353: + case 352: { zend_do_begin_variable_parse(TSRMLS_C); (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_FUNCTION_CALL; } break; - case 354: + case 353: { (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; } break; - case 355: + case 354: { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; } break; - case 356: + case 355: { (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_STATIC_MEMBER; } break; - case 357: + case 356: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 358: + case 357: { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 359: + case 358: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); } break; - case 360: + case 359: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 361: + case 360: { (yyval) = (yyvsp[(3) - (4)]); } break; - case 362: + case 361: { (yyval).op_type = IS_UNUSED; } break; - case 363: + case 362: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 364: + case 363: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 365: + case 364: { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); } break; - case 366: + case 365: { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (2)]) TSRMLS_CC);} break; - case 367: + case 366: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 368: + case 367: { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 369: + case 368: { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (1)]) TSRMLS_CC);} break; - case 370: + case 369: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 371: + case 370: { (yyval) = (yyvsp[(2) - (3)]); } break; - case 372: + case 371: { Z_LVAL((yyval).u.constant) = 1; } break; - case 373: + case 372: { Z_LVAL((yyval).u.constant)++; } break; - case 376: + case 375: { zend_do_add_list_element(&(yyvsp[(1) - (1)]) TSRMLS_CC); } break; - case 377: + case 376: { zend_do_new_list_begin(TSRMLS_C); } break; - case 378: + case 377: { zend_do_new_list_end(TSRMLS_C); } break; - case 379: + case 378: { zend_do_add_list_element(NULL TSRMLS_CC); } break; - case 380: + case 379: { zend_do_init_array(&(yyval), NULL, NULL, 0 TSRMLS_CC); } break; - case 381: + case 380: { (yyval) = (yyvsp[(1) - (2)]); } break; - case 382: + case 381: { zend_do_add_array_element(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(3) - (5)]), 0 TSRMLS_CC); } break; - case 383: + case 382: { zend_do_add_array_element(&(yyval), &(yyvsp[(3) - (3)]), NULL, 0 TSRMLS_CC); } break; - case 384: + case 383: { zend_do_init_array(&(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]), 0 TSRMLS_CC); } break; - case 385: + case 384: { zend_do_init_array(&(yyval), &(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); } break; - case 386: + case 385: { zend_do_add_array_element(&(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), 1 TSRMLS_CC); } break; - case 387: + case 386: { zend_do_add_array_element(&(yyval), &(yyvsp[(4) - (4)]), NULL, 1 TSRMLS_CC); } break; - case 388: + case 387: { zend_do_init_array(&(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), 1 TSRMLS_CC); } break; - case 389: + case 388: { zend_do_init_array(&(yyval), &(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); } break; - case 390: + case 389: { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 391: - - { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 392: - - { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 393: - - { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 394: - - { zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 395: + case 390: { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 396: - - { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '['; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 397: - - { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) ']'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 398: - - { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '{'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 399: - - { Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '}'; zend_do_add_char(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 400: - - { znode tmp; Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '-'; zend_do_add_char(&tmp, &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); Z_LVAL((yyvsp[(2) - (2)]).u.constant) = (long) '>'; zend_do_add_char(&(yyval), &tmp, &(yyvsp[(2) - (2)]) TSRMLS_CC); } - break; - - case 401: + case 391: { zend_do_init_string(&(yyval) TSRMLS_CC); } break; - case 402: + case 392: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); } break; - case 403: + case 393: { zend_do_begin_variable_parse(TSRMLS_C); } break; - case 404: + case 394: { fetch_array_begin(&(yyval), &(yyvsp[(1) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); } break; - case 405: + case 395: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyvsp[(2) - (3)]), &(yyvsp[(1) - (3)]), 1 TSRMLS_CC); zend_do_fetch_property(&(yyval), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); } break; - case 406: + case 396: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(2) - (3)]), 1 TSRMLS_CC); } break; - case 407: + case 397: { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_begin(&(yyval), &(yyvsp[(2) - (6)]), &(yyvsp[(4) - (6)]) TSRMLS_CC); } break; - case 408: + case 398: { (yyval) = (yyvsp[(2) - (3)]); } break; - case 409: + case 399: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 410: + case 400: { (yyval) = (yyvsp[(1) - (1)]); } break; - case 411: + case 401: { fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); } break; - case 412: + case 402: { (yyval) = (yyvsp[(3) - (4)]); } break; - case 413: + case 403: { zend_do_isset_or_isempty(ZEND_ISEMPTY, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 414: + case 404: { zend_do_include_or_eval(ZEND_INCLUDE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 415: + case 405: { zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 416: + case 406: { zend_do_include_or_eval(ZEND_EVAL, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); } break; - case 417: + case 407: { zend_do_include_or_eval(ZEND_REQUIRE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 418: + case 408: { zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 419: + case 409: { zend_do_isset_or_isempty(ZEND_ISSET, &(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); } break; - case 420: + case 410: { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } break; - case 421: + case 411: { znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &tmp, &(yyvsp[(2) - (4)]) TSRMLS_CC); } break; - case 422: + case 412: { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT TSRMLS_CC); } break; diff --git a/Zend/zend_language_parser.output b/Zend/zend_language_parser.output index 6c306aac6..976ef398e 100644 --- a/Zend/zend_language_parser.output +++ b/Zend/zend_language_parser.output @@ -1,5 +1,7 @@ Terminals which are not used + T_CHARACTER + T_BAD_CHARACTER T_COMMENT T_DOC_COMMENT T_OPEN_TAG @@ -8,8 +10,7 @@ Terminals which are not used T_WHITESPACE -State 285 conflicts: 2 shift/reduce -State 620 conflicts: 2 shift/reduce +State 608 conflicts: 2 shift/reduce Grammar @@ -486,154 +487,144 @@ Grammar 317 | class_constant 318 | common_scalar 319 | '"' encaps_list '"' - 320 | ''' encaps_list ''' - 321 | T_START_HEREDOC encaps_list T_END_HEREDOC + 320 | T_START_HEREDOC encaps_list T_END_HEREDOC - 322 static_array_pair_list: /* empty */ - 323 | non_empty_static_array_pair_list possible_comma + 321 static_array_pair_list: /* empty */ + 322 | non_empty_static_array_pair_list possible_comma - 324 possible_comma: /* empty */ - 325 | ',' + 323 possible_comma: /* empty */ + 324 | ',' - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar - 327 | non_empty_static_array_pair_list ',' static_scalar - 328 | static_scalar T_DOUBLE_ARROW static_scalar - 329 | static_scalar + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar + 326 | non_empty_static_array_pair_list ',' static_scalar + 327 | static_scalar T_DOUBLE_ARROW static_scalar + 328 | static_scalar - 330 expr: r_variable - 331 | expr_without_variable + 329 expr: r_variable + 330 | expr_without_variable - 332 r_variable: variable + 331 r_variable: variable - 333 @55: /* empty */ + 332 @55: /* empty */ - 334 w_variable: variable @55 + 333 w_variable: variable @55 - 335 @56: /* empty */ + 334 @56: /* empty */ - 336 rw_variable: variable @56 + 335 rw_variable: variable @56 - 337 @57: /* empty */ + 336 @57: /* empty */ - 338 @58: /* empty */ + 337 @58: /* empty */ - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties - 340 | base_variable_with_function_calls + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties + 339 | base_variable_with_function_calls - 341 variable_properties: variable_properties variable_property - 342 | /* empty */ + 340 variable_properties: variable_properties variable_property + 341 | /* empty */ - 343 @59: /* empty */ + 342 @59: /* empty */ - 344 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not + 343 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not - 345 @60: /* empty */ + 344 @60: /* empty */ - 346 method_or_not: '(' @60 function_call_parameter_list ')' - 347 | /* empty */ + 345 method_or_not: '(' @60 function_call_parameter_list ')' + 346 | /* empty */ - 348 variable_without_objects: reference_variable - 349 | simple_indirect_reference reference_variable + 347 variable_without_objects: reference_variable + 348 | simple_indirect_reference reference_variable - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects - 351 base_variable_with_function_calls: base_variable - 352 | function_call + 350 base_variable_with_function_calls: base_variable + 351 | function_call - 353 base_variable: reference_variable - 354 | simple_indirect_reference reference_variable - 355 | static_member + 352 base_variable: reference_variable + 353 | simple_indirect_reference reference_variable + 354 | static_member - 356 reference_variable: reference_variable '[' dim_offset ']' - 357 | reference_variable '{' expr '}' - 358 | compound_variable + 355 reference_variable: reference_variable '[' dim_offset ']' + 356 | reference_variable '{' expr '}' + 357 | compound_variable - 359 compound_variable: T_VARIABLE - 360 | '$' '{' expr '}' + 358 compound_variable: T_VARIABLE + 359 | '$' '{' expr '}' - 361 dim_offset: /* empty */ - 362 | expr + 360 dim_offset: /* empty */ + 361 | expr - 363 object_property: object_dim_list + 362 object_property: object_dim_list - 364 @61: /* empty */ + 363 @61: /* empty */ - 365 object_property: variable_without_objects @61 + 364 object_property: variable_without_objects @61 - 366 object_dim_list: object_dim_list '[' dim_offset ']' - 367 | object_dim_list '{' expr '}' - 368 | variable_name + 365 object_dim_list: object_dim_list '[' dim_offset ']' + 366 | object_dim_list '{' expr '}' + 367 | variable_name - 369 variable_name: T_STRING - 370 | '{' expr '}' + 368 variable_name: T_STRING + 369 | '{' expr '}' - 371 simple_indirect_reference: '$' - 372 | simple_indirect_reference '$' + 370 simple_indirect_reference: '$' + 371 | simple_indirect_reference '$' - 373 assignment_list: assignment_list ',' assignment_list_element - 374 | assignment_list_element + 372 assignment_list: assignment_list ',' assignment_list_element + 373 | assignment_list_element - 375 assignment_list_element: variable + 374 assignment_list_element: variable - 376 @62: /* empty */ + 375 @62: /* empty */ - 377 assignment_list_element: T_LIST '(' @62 assignment_list ')' - 378 | /* empty */ + 376 assignment_list_element: T_LIST '(' @62 assignment_list ')' + 377 | /* empty */ - 379 array_pair_list: /* empty */ - 380 | non_empty_array_pair_list possible_comma + 378 array_pair_list: /* empty */ + 379 | non_empty_array_pair_list possible_comma - 381 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr - 382 | non_empty_array_pair_list ',' expr - 383 | expr T_DOUBLE_ARROW expr - 384 | expr - 385 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable - 386 | non_empty_array_pair_list ',' '&' w_variable - 387 | expr T_DOUBLE_ARROW '&' w_variable - 388 | '&' w_variable + 380 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr + 381 | non_empty_array_pair_list ',' expr + 382 | expr T_DOUBLE_ARROW expr + 383 | expr + 384 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable + 385 | non_empty_array_pair_list ',' '&' w_variable + 386 | expr T_DOUBLE_ARROW '&' w_variable + 387 | '&' w_variable - 389 encaps_list: encaps_list encaps_var - 390 | encaps_list T_STRING - 391 | encaps_list T_NUM_STRING - 392 | encaps_list T_ENCAPSED_AND_WHITESPACE - 393 | encaps_list T_CHARACTER - 394 | encaps_list T_BAD_CHARACTER - 395 | encaps_list '[' - 396 | encaps_list ']' - 397 | encaps_list '{' - 398 | encaps_list '}' - 399 | encaps_list T_OBJECT_OPERATOR - 400 | /* empty */ + 388 encaps_list: encaps_list encaps_var + 389 | encaps_list T_ENCAPSED_AND_WHITESPACE + 390 | /* empty */ - 401 encaps_var: T_VARIABLE + 391 encaps_var: T_VARIABLE - 402 @63: /* empty */ + 392 @63: /* empty */ - 403 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']' - 404 | T_VARIABLE T_OBJECT_OPERATOR T_STRING - 405 | T_DOLLAR_OPEN_CURLY_BRACES expr '}' - 406 | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' - 407 | T_CURLY_OPEN variable '}' + 393 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']' + 394 | T_VARIABLE T_OBJECT_OPERATOR T_STRING + 395 | T_DOLLAR_OPEN_CURLY_BRACES expr '}' + 396 | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' + 397 | T_CURLY_OPEN variable '}' - 408 encaps_var_offset: T_STRING - 409 | T_NUM_STRING - 410 | T_VARIABLE + 398 encaps_var_offset: T_STRING + 399 | T_NUM_STRING + 400 | T_VARIABLE - 411 internal_functions_in_yacc: T_ISSET '(' isset_variables ')' - 412 | T_EMPTY '(' variable ')' - 413 | T_INCLUDE expr - 414 | T_INCLUDE_ONCE expr - 415 | T_EVAL '(' expr ')' - 416 | T_REQUIRE expr - 417 | T_REQUIRE_ONCE expr + 401 internal_functions_in_yacc: T_ISSET '(' isset_variables ')' + 402 | T_EMPTY '(' variable ')' + 403 | T_INCLUDE expr + 404 | T_INCLUDE_ONCE expr + 405 | T_EVAL '(' expr ')' + 406 | T_REQUIRE expr + 407 | T_REQUIRE_ONCE expr - 418 isset_variables: variable + 408 isset_variables: variable - 419 @64: /* empty */ + 409 @64: /* empty */ - 420 isset_variables: isset_variables ',' @64 variable + 410 isset_variables: isset_variables ',' @64 variable - 421 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING + 411 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING Terminals, with rules where they appear @@ -641,18 +632,17 @@ Terminals, with rules where they appear $end (0) 0 '!' (33) 247 '"' (34) 319 -'$' (36) 160 161 360 371 372 +'$' (36) 160 161 359 370 371 '%' (37) 242 -'&' (38) 81 104 139 140 143 144 153 156 204 206 235 385 386 387 388 -''' (39) 320 +'&' (38) 81 104 139 140 143 144 153 156 204 206 235 384 385 386 387 '(' (40) 8 15 20 23 26 29 33 35 49 52 55 57 64 72 77 84 128 131 173 - 202 258 274 278 280 282 284 296 297 299 312 346 377 411 412 415 + 202 258 274 278 280 282 284 296 297 299 312 345 376 401 402 405 ')' (41) 8 15 20 23 26 29 33 35 49 52 55 57 64 72 77 84 128 131 173 - 202 258 274 278 280 282 284 296 297 299 312 346 377 411 412 415 + 202 258 274 278 280 282 284 296 297 299 312 345 376 401 402 405 '*' (42) 240 '+' (43) 238 245 310 ',' (44) 74 100 112 142 143 144 145 154 155 156 157 162 163 188 189 - 192 194 199 325 326 327 373 381 382 385 386 420 + 192 194 199 324 325 326 372 380 381 384 385 410 '-' (45) 239 246 311 '.' (46) 237 '/' (47) 241 @@ -665,21 +655,21 @@ $end (0) 0 '>' (62) 255 '?' (63) 261 '@' (64) 272 -'[' (91) 356 366 395 403 406 -']' (93) 356 366 396 403 406 +'[' (91) 355 365 393 396 +']' (93) 355 365 393 396 '^' (94) 236 '`' (96) 275 -'{' (123) 17 64 72 84 86 88 113 114 161 175 357 360 367 370 397 +'{' (123) 17 64 72 84 86 88 113 114 161 175 356 359 366 369 '|' (124) 234 -'}' (125) 17 64 72 84 86 88 113 114 161 175 357 360 367 370 398 405 - 406 407 +'}' (125) 17 64 72 84 86 88 113 114 161 175 356 359 366 369 395 396 + 397 '~' (126) 248 error (256) -T_REQUIRE_ONCE (258) 417 -T_REQUIRE (259) 416 -T_EVAL (260) 415 -T_INCLUDE_ONCE (261) 414 -T_INCLUDE (262) 413 +T_REQUIRE_ONCE (258) 407 +T_REQUIRE (259) 406 +T_EVAL (260) 405 +T_INCLUDE_ONCE (261) 404 +T_INCLUDE (262) 403 T_LOGICAL_OR (263) 230 T_LOGICAL_XOR (264) 233 T_LOGICAL_AND (265) 232 @@ -725,15 +715,15 @@ T_ENDIF (304) 23 T_LNUMBER (305) 300 T_DNUMBER (306) 301 T_STRING (307) 84 86 88 111 112 147 173 192 193 278 280 285 286 309 - 314 315 369 390 404 408 421 -T_STRING_VARNAME (308) 316 406 + 314 315 368 394 398 411 +T_STRING_VARNAME (308) 316 396 T_VARIABLE (309) 64 72 138 139 140 141 142 143 144 145 159 162 163 - 164 165 188 189 190 191 359 401 403 404 410 -T_NUM_STRING (310) 391 409 + 164 165 188 189 190 191 358 391 393 394 400 +T_NUM_STRING (310) 399 T_INLINE_HTML (311) 46 -T_CHARACTER (312) 393 -T_BAD_CHARACTER (313) 394 -T_ENCAPSED_AND_WHITESPACE (314) 392 +T_CHARACTER (312) +T_BAD_CHARACTER (313) +T_ENCAPSED_AND_WHITESPACE (314) 389 T_CONSTANT_ENCAPSED_STRING (315) 76 77 302 T_ECHO (316) 45 T_DO (317) 29 @@ -768,16 +758,16 @@ T_ABSTRACT (345) 90 186 T_STATIC (346) 44 185 T_VAR (347) 177 T_UNSET (348) 49 -T_ISSET (349) 411 -T_EMPTY (350) 412 +T_ISSET (349) 401 +T_EMPTY (350) 402 T_HALT_COMPILER (351) 8 15 T_CLASS (352) 89 90 91 T_INTERFACE (353) 94 T_EXTENDS (354) 93 96 T_IMPLEMENTS (355) 98 -T_OBJECT_OPERATOR (356) 290 294 339 344 399 404 -T_DOUBLE_ARROW (357) 102 326 328 381 383 385 387 -T_LIST (358) 202 377 +T_OBJECT_OPERATOR (356) 290 294 338 343 394 +T_DOUBLE_ARROW (357) 102 325 327 380 382 384 386 +T_LIST (358) 202 376 T_ARRAY (359) 148 274 312 T_CLASS_C (360) 305 T_METHOD_C (361) 306 @@ -790,369 +780,367 @@ T_OPEN_TAG (367) T_OPEN_TAG_WITH_ECHO (368) T_CLOSE_TAG (369) T_WHITESPACE (370) -T_START_HEREDOC (371) 321 -T_END_HEREDOC (372) 321 -T_DOLLAR_OPEN_CURLY_BRACES (373) 405 406 -T_CURLY_OPEN (374) 407 -T_PAAMAYIM_NEKUDOTAYIM (375) 280 282 314 350 421 +T_START_HEREDOC (371) 320 +T_END_HEREDOC (372) 320 +T_DOLLAR_OPEN_CURLY_BRACES (373) 395 396 +T_CURLY_OPEN (374) 397 +T_PAAMAYIM_NEKUDOTAYIM (375) 280 282 314 349 411 Nonterminals, with rules where they appear -$accept (150) +$accept (149) on left: 0 -start (151) +start (150) on left: 1, on right: 0 -top_statement_list (152) +top_statement_list (151) on left: 3 4, on right: 1 3 -@1 (153) +@1 (152) on left: 2, on right: 3 -top_statement (154) +top_statement (153) on left: 5 6 7 8, on right: 3 -inner_statement_list (155) +inner_statement_list (154) on left: 10 11, on right: 10 17 23 64 72 84 106 108 110 119 121 125 131 135 175 -@2 (156) +@2 (155) on left: 9, on right: 10 -inner_statement (157) +inner_statement (156) on left: 12 13 14 15, on right: 10 -statement (158) +statement (157) on left: 16, on right: 5 12 20 29 105 107 109 124 128 133 -unticked_statement (159) +unticked_statement (158) on left: 17 20 23 26 29 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 52 55 57 58 64 65, on right: 16 -@3 (160) +@3 (159) on left: 18, on right: 20 -@4 (161) +@4 (160) on left: 19, on right: 20 -@5 (162) +@5 (161) on left: 21, on right: 23 -@6 (163) +@6 (162) on left: 22, on right: 23 -@7 (164) +@7 (163) on left: 24, on right: 26 -@8 (165) +@8 (164) on left: 25, on right: 26 -@9 (166) +@9 (165) on left: 27, on right: 29 -@10 (167) +@10 (166) on left: 28, on right: 29 -@11 (168) +@11 (167) on left: 30, on right: 33 -@12 (169) +@12 (168) on left: 31, on right: 33 -@13 (170) +@13 (169) on left: 32, on right: 33 -@14 (171) +@14 (170) on left: 34, on right: 35 -@15 (172) +@15 (171) on left: 50, on right: 52 -@16 (173) +@16 (172) on left: 51, on right: 52 -@17 (174) +@17 (173) on left: 53, on right: 55 -@18 (175) +@18 (174) on left: 54, on right: 55 -@19 (176) +@19 (175) on left: 56, on right: 57 -@20 (177) +@20 (176) on left: 59, on right: 64 -@21 (178) +@21 (177) on left: 60, on right: 64 -@22 (179) +@22 (178) on left: 61, on right: 64 -@23 (180) +@23 (179) on left: 62, on right: 64 -@24 (181) +@24 (180) on left: 63, on right: 64 -additional_catches (182) +additional_catches (181) on left: 66 67, on right: 64 -non_empty_additional_catches (183) +non_empty_additional_catches (182) on left: 68 69, on right: 66 69 -additional_catch (184) +additional_catch (183) on left: 72, on right: 68 69 -@25 (185) +@25 (184) on left: 70, on right: 72 -@26 (186) +@26 (185) on left: 71, on right: 72 -unset_variables (187) +unset_variables (186) on left: 73 74, on right: 49 74 -unset_variable (188) +unset_variable (187) on left: 75, on right: 73 74 -use_filename (189) +use_filename (188) on left: 76 77, on right: 48 -function_declaration_statement (190) +function_declaration_statement (189) on left: 78, on right: 6 13 -class_declaration_statement (191) +class_declaration_statement (190) on left: 79, on right: 7 14 -is_reference (192) +is_reference (191) on left: 80 81, on right: 84 173 -unticked_function_declaration_statement (193) +unticked_function_declaration_statement (192) on left: 84, on right: 78 -@27 (194) +@27 (193) on left: 82, on right: 84 -@28 (195) +@28 (194) on left: 83, on right: 84 -unticked_class_declaration_statement (196) +unticked_class_declaration_statement (195) on left: 86 88, on right: 79 -@29 (197) +@29 (196) on left: 85, on right: 86 -@30 (198) +@30 (197) on left: 87, on right: 88 -class_entry_type (199) +class_entry_type (198) on left: 89 90 91, on right: 86 -extends_from (200) +extends_from (199) on left: 92 93, on right: 86 -interface_entry (201) +interface_entry (200) on left: 94, on right: 88 -interface_extends_list (202) +interface_extends_list (201) on left: 95 96, on right: 88 -implements_list (203) +implements_list (202) on left: 97 98, on right: 86 -interface_list (204) +interface_list (203) on left: 99 100, on right: 96 98 100 -foreach_optional_arg (205) +foreach_optional_arg (204) on left: 101 102, on right: 52 55 -foreach_variable (206) +foreach_variable (205) on left: 103 104, on right: 52 102 -for_statement (207) +for_statement (206) on left: 105 106, on right: 33 -foreach_statement (208) +foreach_statement (207) on left: 107 108, on right: 52 55 -declare_statement (209) +declare_statement (208) on left: 109 110, on right: 57 -declare_list (210) +declare_list (209) on left: 111 112, on right: 57 112 -switch_case_list (211) +switch_case_list (210) on left: 113 114 115 116, on right: 35 -case_list (212) +case_list (211) on left: 117 119 121, on right: 113 114 115 116 119 121 -@31 (213) +@31 (212) on left: 118, on right: 119 -@32 (214) +@32 (213) on left: 120, on right: 121 -case_separator (215) +case_separator (214) on left: 122 123, on right: 119 121 -while_statement (216) +while_statement (215) on left: 124 125, on right: 26 -elseif_list (217) +elseif_list (216) on left: 126 128, on right: 20 128 -@33 (218) +@33 (217) on left: 127, on right: 128 -new_elseif_list (219) +new_elseif_list (218) on left: 129 131, on right: 23 131 -@34 (220) +@34 (219) on left: 130, on right: 131 -else_single (221) +else_single (220) on left: 132 133, on right: 20 -new_else_single (222) +new_else_single (221) on left: 134 135, on right: 23 -parameter_list (223) +parameter_list (222) on left: 136 137, on right: 84 173 -non_empty_parameter_list (224) +non_empty_parameter_list (223) on left: 138 139 140 141 142 143 144 145, on right: 136 142 143 144 145 -optional_class_type (225) +optional_class_type (224) on left: 146 147 148, on right: 138 139 140 141 142 143 144 145 -function_call_parameter_list (226) - on left: 149 150, on right: 278 280 282 284 299 346 -non_empty_function_call_parameter_list (227) +function_call_parameter_list (225) + on left: 149 150, on right: 278 280 282 284 299 345 +non_empty_function_call_parameter_list (226) on left: 151 152 153 154 155 156, on right: 149 154 155 156 -global_var_list (228) +global_var_list (227) on left: 157 158, on right: 43 157 -global_var (229) +global_var (228) on left: 159 160 161, on right: 157 158 -static_var_list (230) +static_var_list (229) on left: 162 163 164 165, on right: 44 162 163 -class_statement_list (231) +class_statement_list (230) on left: 166 167, on right: 86 88 166 -class_statement (232) +class_statement (231) on left: 169 170 173, on right: 166 -@35 (233) +@35 (232) on left: 168, on right: 169 -@36 (234) +@36 (233) on left: 171, on right: 173 -@37 (235) +@37 (234) on left: 172, on right: 173 -method_body (236) +method_body (235) on left: 174 175, on right: 173 -variable_modifiers (237) +variable_modifiers (236) on left: 176 177, on right: 169 -method_modifiers (238) +method_modifiers (237) on left: 178 179, on right: 173 -non_empty_member_modifiers (239) +non_empty_member_modifiers (238) on left: 180 181, on right: 176 179 181 -member_modifier (240) +member_modifier (239) on left: 182 183 184 185 186 187, on right: 180 181 -class_variable_declaration (241) +class_variable_declaration (240) on left: 188 189 190 191, on right: 169 188 189 -class_constant_declaration (242) +class_constant_declaration (241) on left: 192 193, on right: 170 192 -echo_expr_list (243) +echo_expr_list (242) on left: 194 195, on right: 45 194 -for_expr (244) +for_expr (243) on left: 196 197, on right: 33 -non_empty_for_expr (245) +non_empty_for_expr (244) on left: 199 200, on right: 197 199 -@38 (246) +@38 (245) on left: 198, on right: 199 -expr_without_variable (247) +expr_without_variable (246) on left: 202 203 204 206 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 226 228 230 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 261 262 263 264 265 266 267 268 269 270 272 - 273 274 275 276, on right: 41 55 151 154 331 -@39 (248) + 273 274 275 276, on right: 41 55 151 154 330 +@39 (247) on left: 201, on right: 202 -@40 (249) +@40 (248) on left: 205, on right: 206 -@41 (250) +@41 (249) on left: 207, on right: 208 -@42 (251) +@42 (250) on left: 225, on right: 226 -@43 (252) +@43 (251) on left: 227, on right: 228 -@44 (253) +@44 (252) on left: 229, on right: 230 -@45 (254) +@45 (253) on left: 231, on right: 232 -@46 (255) +@46 (254) on left: 259, on right: 261 -@47 (256) +@47 (255) on left: 260, on right: 261 -@48 (257) +@48 (256) on left: 271, on right: 272 -function_call (258) - on left: 278 280 282 284, on right: 352 -@49 (259) +function_call (257) + on left: 278 280 282 284, on right: 351 +@49 (258) on left: 277, on right: 278 -@50 (260) +@50 (259) on left: 279, on right: 280 -@51 (261) +@51 (260) on left: 281, on right: 282 -@52 (262) +@52 (261) on left: 283, on right: 284 -fully_qualified_class_name (263) - on left: 285, on right: 64 72 93 99 100 280 282 350 421 -class_name_reference (264) +fully_qualified_class_name (262) + on left: 285, on right: 64 72 93 99 100 280 282 349 411 +class_name_reference (263) on left: 286 287, on right: 206 208 257 -dynamic_class_name_reference (265) +dynamic_class_name_reference (264) on left: 290 291, on right: 287 -@53 (266) +@53 (265) on left: 288, on right: 290 -@54 (267) +@54 (266) on left: 289, on right: 290 -dynamic_class_name_variable_properties (268) +dynamic_class_name_variable_properties (267) on left: 292 293, on right: 290 292 -dynamic_class_name_variable_property (269) +dynamic_class_name_variable_property (268) on left: 294, on right: 292 -exit_expr (270) +exit_expr (269) on left: 295 296 297, on right: 270 -ctor_arguments (271) +ctor_arguments (270) on left: 298 299, on right: 206 208 -common_scalar (272) +common_scalar (271) on left: 300 301 302 303 304 305 306 307, on right: 308 318 -static_scalar (273) +static_scalar (272) on left: 308 309 310 311 312 313, on right: 111 112 140 141 144 - 145 163 165 189 191 192 193 310 311 326 327 328 329 -static_class_constant (274) + 145 163 165 189 191 192 193 310 311 325 326 327 328 +static_class_constant (273) on left: 314, on right: 313 -scalar (275) - on left: 315 316 317 318 319 320 321, on right: 273 -static_array_pair_list (276) - on left: 322 323, on right: 312 -possible_comma (277) - on left: 324 325, on right: 323 380 -non_empty_static_array_pair_list (278) - on left: 326 327 328 329, on right: 323 326 327 -expr (279) - on left: 330 331, on right: 20 23 26 29 35 37 39 47 65 119 128 +scalar (274) + on left: 315 316 317 318 319 320, on right: 273 +static_array_pair_list (275) + on left: 321 322, on right: 312 +possible_comma (276) + on left: 323 324, on right: 322 379 +non_empty_static_array_pair_list (277) + on left: 325 326 327 328, on right: 322 325 326 +expr (278) + on left: 329 330, on right: 20 23 26 29 35 37 39 47 65 119 128 131 161 194 195 199 200 202 203 209 210 211 212 213 214 215 216 217 218 219 220 226 228 230 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 - 257 258 261 263 264 265 266 267 268 269 272 276 297 357 360 362 - 367 370 381 382 383 384 385 387 405 406 413 414 415 416 417 -r_variable (280) - on left: 332, on right: 160 330 -w_variable (281) - on left: 334, on right: 153 156 385 386 387 388 -@55 (282) - on left: 333, on right: 334 -rw_variable (283) - on left: 336, on right: 221 222 223 224 -@56 (284) - on left: 335, on right: 336 -variable (285) - on left: 339 340, on right: 42 52 55 75 103 104 152 155 203 204 - 206 210 211 212 213 214 215 216 217 218 219 220 332 334 336 375 - 407 412 418 420 -@57 (286) - on left: 337, on right: 339 -@58 (287) - on left: 338, on right: 339 -variable_properties (288) - on left: 341 342, on right: 339 341 -variable_property (289) - on left: 344, on right: 341 -@59 (290) - on left: 343, on right: 344 -method_or_not (291) - on left: 346 347, on right: 339 344 -@60 (292) - on left: 345, on right: 346 -variable_without_objects (293) - on left: 348 349, on right: 282 284 350 365 -static_member (294) - on left: 350, on right: 355 -base_variable_with_function_calls (295) - on left: 351 352, on right: 339 340 -base_variable (296) - on left: 353 354 355, on right: 290 291 351 -reference_variable (297) - on left: 356 357 358, on right: 348 349 353 354 356 357 -compound_variable (298) - on left: 359 360, on right: 358 -dim_offset (299) - on left: 361 362, on right: 356 366 -object_property (300) - on left: 363 365, on right: 290 294 339 344 -@61 (301) - on left: 364, on right: 365 -object_dim_list (302) - on left: 366 367 368, on right: 363 366 367 -variable_name (303) - on left: 369 370, on right: 368 -simple_indirect_reference (304) - on left: 371 372, on right: 349 354 372 -assignment_list (305) - on left: 373 374, on right: 202 373 377 -assignment_list_element (306) - on left: 375 377 378, on right: 373 374 -@62 (307) - on left: 376, on right: 377 -array_pair_list (308) - on left: 379 380, on right: 274 -non_empty_array_pair_list (309) - on left: 381 382 383 384 385 386 387 388, on right: 380 381 382 - 385 386 -encaps_list (310) - on left: 389 390 391 392 393 394 395 396 397 398 399 400, - on right: 275 319 320 321 389 390 391 392 393 394 395 396 397 398 - 399 -encaps_var (311) - on left: 401 403 404 405 406 407, on right: 389 -@63 (312) - on left: 402, on right: 403 -encaps_var_offset (313) - on left: 408 409 410, on right: 403 -internal_functions_in_yacc (314) - on left: 411 412 413 414 415 416 417, on right: 262 -isset_variables (315) - on left: 418 420, on right: 411 420 -@64 (316) - on left: 419, on right: 420 -class_constant (317) - on left: 421, on right: 317 + 257 258 261 263 264 265 266 267 268 269 272 276 297 356 359 361 + 366 369 380 381 382 383 384 386 395 396 403 404 405 406 407 +r_variable (279) + on left: 331, on right: 160 329 +w_variable (280) + on left: 333, on right: 153 156 384 385 386 387 +@55 (281) + on left: 332, on right: 333 +rw_variable (282) + on left: 335, on right: 221 222 223 224 +@56 (283) + on left: 334, on right: 335 +variable (284) + on left: 338 339, on right: 42 52 55 75 103 104 152 155 203 204 + 206 210 211 212 213 214 215 216 217 218 219 220 331 333 335 374 + 397 402 408 410 +@57 (285) + on left: 336, on right: 338 +@58 (286) + on left: 337, on right: 338 +variable_properties (287) + on left: 340 341, on right: 338 340 +variable_property (288) + on left: 343, on right: 340 +@59 (289) + on left: 342, on right: 343 +method_or_not (290) + on left: 345 346, on right: 338 343 +@60 (291) + on left: 344, on right: 345 +variable_without_objects (292) + on left: 347 348, on right: 282 284 349 364 +static_member (293) + on left: 349, on right: 354 +base_variable_with_function_calls (294) + on left: 350 351, on right: 338 339 +base_variable (295) + on left: 352 353 354, on right: 290 291 350 +reference_variable (296) + on left: 355 356 357, on right: 347 348 352 353 355 356 +compound_variable (297) + on left: 358 359, on right: 357 +dim_offset (298) + on left: 360 361, on right: 355 365 +object_property (299) + on left: 362 364, on right: 290 294 338 343 +@61 (300) + on left: 363, on right: 364 +object_dim_list (301) + on left: 365 366 367, on right: 362 365 366 +variable_name (302) + on left: 368 369, on right: 367 +simple_indirect_reference (303) + on left: 370 371, on right: 348 353 371 +assignment_list (304) + on left: 372 373, on right: 202 372 376 +assignment_list_element (305) + on left: 374 376 377, on right: 372 373 +@62 (306) + on left: 375, on right: 376 +array_pair_list (307) + on left: 378 379, on right: 274 +non_empty_array_pair_list (308) + on left: 380 381 382 383 384 385 386 387, on right: 379 380 381 + 384 385 +encaps_list (309) + on left: 388 389 390, on right: 275 319 320 388 389 +encaps_var (310) + on left: 391 393 394 395 396 397, on right: 388 +@63 (311) + on left: 392, on right: 393 +encaps_var_offset (312) + on left: 398 399 400, on right: 393 +internal_functions_in_yacc (313) + on left: 401 402 403 404 405 406 407, on right: 262 +isset_variables (314) + on left: 408 410, on right: 401 410 +@64 (315) + on left: 409, on right: 410 +class_constant (316) + on left: 411, on right: 317 state 0 @@ -1263,40 +1251,39 @@ state 4 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - top_statement go to state 75 - statement go to state 76 - unticked_statement go to state 77 - function_declaration_statement go to state 78 - class_declaration_statement go to state 79 - unticked_function_declaration_statement go to state 80 - unticked_class_declaration_statement go to state 81 - class_entry_type go to state 82 - interface_entry go to state 83 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + top_statement go to state 74 + statement go to state 75 + unticked_statement go to state 76 + function_declaration_statement go to state 77 + class_declaration_statement go to state 78 + unticked_function_declaration_statement go to state 79 + unticked_class_declaration_statement go to state 80 + class_entry_type go to state 81 + interface_entry go to state 82 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 5 - 417 internal_functions_in_yacc: T_REQUIRE_ONCE . expr + 407 internal_functions_in_yacc: T_REQUIRE_ONCE . expr T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -1341,31 +1328,30 @@ state 5 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 102 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 101 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 6 - 416 internal_functions_in_yacc: T_REQUIRE . expr + 406 internal_functions_in_yacc: T_REQUIRE . expr T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -1410,38 +1396,37 @@ state 6 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 103 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 102 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 7 - 415 internal_functions_in_yacc: T_EVAL . '(' expr ')' + 405 internal_functions_in_yacc: T_EVAL . '(' expr ')' - '(' shift, and go to state 104 + '(' shift, and go to state 103 state 8 - 414 internal_functions_in_yacc: T_INCLUDE_ONCE . expr + 404 internal_functions_in_yacc: T_INCLUDE_ONCE . expr T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -1486,31 +1471,30 @@ state 8 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 105 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 104 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 9 - 413 internal_functions_in_yacc: T_INCLUDE . expr + 403 internal_functions_in_yacc: T_INCLUDE . expr T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -1555,26 +1539,25 @@ state 9 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 106 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 105 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 10 @@ -1624,26 +1607,25 @@ state 10 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 107 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 106 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 11 @@ -1693,26 +1675,25 @@ state 11 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 108 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 107 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 12 @@ -1762,26 +1743,25 @@ state 12 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 109 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 108 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 13 @@ -1831,26 +1811,25 @@ state 13 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 110 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 109 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 14 @@ -1900,26 +1879,25 @@ state 14 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 111 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 110 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 15 @@ -1928,7 +1906,7 @@ state 15 $default reduce using rule 271 (@48) - @48 go to state 112 + @48 go to state 111 state 16 @@ -1978,26 +1956,25 @@ state 16 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 113 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 112 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 17 @@ -2047,26 +2024,25 @@ state 17 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 114 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 113 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 18 @@ -2116,26 +2092,25 @@ state 18 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 115 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 114 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 19 @@ -2185,26 +2160,25 @@ state 19 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 116 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 115 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 20 @@ -2254,26 +2228,25 @@ state 20 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 117 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 116 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 21 @@ -2323,26 +2296,25 @@ state 21 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 118 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 117 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 22 @@ -2392,68 +2364,67 @@ state 22 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 119 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 118 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 23 224 expr_without_variable: T_DEC . rw_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - rw_variable go to state 122 - variable go to state 123 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + rw_variable go to state 121 + variable go to state 122 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 state 24 222 expr_without_variable: T_INC . rw_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - rw_variable go to state 124 - variable go to state 123 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + rw_variable go to state 123 + variable go to state 122 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 state 25 @@ -2503,55 +2474,54 @@ state 25 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 125 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 124 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 26 208 expr_without_variable: T_NEW . class_name_reference @41 ctor_arguments - T_STRING shift, and go to state 126 + T_STRING shift, and go to state 125 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - fully_qualified_class_name go to state 127 - class_name_reference go to state 128 - dynamic_class_name_reference go to state 129 - static_member go to state 94 - base_variable go to state 130 - reference_variable go to state 131 - compound_variable go to state 98 - simple_indirect_reference go to state 132 + fully_qualified_class_name go to state 126 + class_name_reference go to state 127 + dynamic_class_name_reference go to state 128 + static_member go to state 93 + base_variable go to state 129 + reference_variable go to state 130 + compound_variable go to state 97 + simple_indirect_reference go to state 131 state 27 270 expr_without_variable: T_EXIT . exit_expr - '(' shift, and go to state 133 + '(' shift, and go to state 132 $default reduce using rule 295 (exit_expr) - exit_expr go to state 134 + exit_expr go to state 133 state 28 @@ -2559,7 +2529,7 @@ state 28 20 unticked_statement: T_IF . '(' expr ')' @3 statement @4 elseif_list else_single 23 | T_IF . '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' - '(' shift, and go to state 135 + '(' shift, and go to state 134 state 29 @@ -2582,7 +2552,7 @@ state 31 285 fully_qualified_class_name: T_STRING . 315 scalar: T_STRING . - '(' shift, and go to state 136 + '(' shift, and go to state 135 T_PAAMAYIM_NEKUDOTAYIM reduce using rule 285 (fully_qualified_class_name) $default reduce using rule 315 (scalar) @@ -2597,9 +2567,9 @@ state 32 state 33 - 359 compound_variable: T_VARIABLE . + 358 compound_variable: T_VARIABLE . - $default reduce using rule 359 (compound_variable) + $default reduce using rule 358 (compound_variable) state 34 @@ -2663,27 +2633,26 @@ state 36 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - echo_expr_list go to state 137 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 138 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + echo_expr_list go to state 136 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 137 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 37 @@ -2692,21 +2661,21 @@ state 37 $default reduce using rule 27 (@9) - @9 go to state 139 + @9 go to state 138 state 38 26 unticked_statement: T_WHILE . '(' @7 expr ')' @8 while_statement - '(' shift, and go to state 140 + '(' shift, and go to state 139 state 39 33 unticked_statement: T_FOR . '(' for_expr ';' @11 for_expr ';' @12 for_expr ')' @13 for_statement - '(' shift, and go to state 141 + '(' shift, and go to state 140 state 40 @@ -2714,7 +2683,7 @@ state 40 52 unticked_statement: T_FOREACH . '(' variable T_AS @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement 55 | T_FOREACH . '(' expr_without_variable T_AS @17 variable foreach_optional_arg ')' @18 foreach_statement - '(' shift, and go to state 142 + '(' shift, and go to state 141 state 41 @@ -2723,14 +2692,14 @@ state 41 $default reduce using rule 56 (@19) - @19 go to state 143 + @19 go to state 142 state 42 35 unticked_statement: T_SWITCH . '(' expr ')' @14 switch_case_list - '(' shift, and go to state 144 + '(' shift, and go to state 143 state 43 @@ -2778,30 +2747,29 @@ state 43 T_FILE shift, and go to state 66 T_START_HEREDOC shift, and go to state 67 '(' shift, and go to state 68 - ';' shift, and go to state 145 + ';' shift, and go to state 144 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 146 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 145 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 44 @@ -2849,30 +2817,29 @@ state 44 T_FILE shift, and go to state 66 T_START_HEREDOC shift, and go to state 67 '(' shift, and go to state 68 - ';' shift, and go to state 147 + ';' shift, and go to state 146 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 148 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 147 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 45 @@ -2881,7 +2848,7 @@ state 45 $default reduce using rule 82 (@27) - @27 go to state 149 + @27 go to state 148 state 46 @@ -2930,30 +2897,29 @@ state 46 T_FILE shift, and go to state 66 T_START_HEREDOC shift, and go to state 67 '(' shift, and go to state 68 - ';' shift, and go to state 150 + ';' shift, and go to state 149 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 151 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 153 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 150 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 152 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 47 @@ -2962,7 +2928,7 @@ state 47 $default reduce using rule 59 (@20) - @20 go to state 154 + @20 go to state 153 state 48 @@ -3012,98 +2978,97 @@ state 48 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 155 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 154 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 49 48 unticked_statement: T_USE . use_filename ';' - T_CONSTANT_ENCAPSED_STRING shift, and go to state 156 - '(' shift, and go to state 157 + T_CONSTANT_ENCAPSED_STRING shift, and go to state 155 + '(' shift, and go to state 156 - use_filename go to state 158 + use_filename go to state 157 state 50 43 unticked_statement: T_GLOBAL . global_var_list ';' - T_VARIABLE shift, and go to state 159 - '$' shift, and go to state 160 + T_VARIABLE shift, and go to state 158 + '$' shift, and go to state 159 - global_var_list go to state 161 - global_var go to state 162 + global_var_list go to state 160 + global_var go to state 161 state 51 91 class_entry_type: T_FINAL . T_CLASS - T_CLASS shift, and go to state 163 + T_CLASS shift, and go to state 162 state 52 90 class_entry_type: T_ABSTRACT . T_CLASS - T_CLASS shift, and go to state 164 + T_CLASS shift, and go to state 163 state 53 44 unticked_statement: T_STATIC . static_var_list ';' - T_VARIABLE shift, and go to state 165 + T_VARIABLE shift, and go to state 164 - static_var_list go to state 166 + static_var_list go to state 165 state 54 49 unticked_statement: T_UNSET . '(' unset_variables ')' ';' - '(' shift, and go to state 167 + '(' shift, and go to state 166 state 55 - 411 internal_functions_in_yacc: T_ISSET . '(' isset_variables ')' + 401 internal_functions_in_yacc: T_ISSET . '(' isset_variables ')' - '(' shift, and go to state 168 + '(' shift, and go to state 167 state 56 - 412 internal_functions_in_yacc: T_EMPTY . '(' variable ')' + 402 internal_functions_in_yacc: T_EMPTY . '(' variable ')' - '(' shift, and go to state 169 + '(' shift, and go to state 168 state 57 8 top_statement: T_HALT_COMPILER . '(' ')' ';' - '(' shift, and go to state 170 + '(' shift, and go to state 169 state 58 @@ -3124,14 +3089,14 @@ state 60 202 expr_without_variable: T_LIST . '(' @39 assignment_list ')' '=' expr - '(' shift, and go to state 171 + '(' shift, and go to state 170 state 61 274 expr_without_variable: T_ARRAY . '(' array_pair_list ')' - '(' shift, and go to state 172 + '(' shift, and go to state 171 state 62 @@ -3171,11 +3136,11 @@ state 66 state 67 - 321 scalar: T_START_HEREDOC . encaps_list T_END_HEREDOC + 320 scalar: T_START_HEREDOC . encaps_list T_END_HEREDOC - $default reduce using rule 400 (encaps_list) + $default reduce using rule 390 (encaps_list) - encaps_list go to state 173 + encaps_list go to state 172 state 68 @@ -3225,26 +3190,25 @@ state 68 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 174 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 173 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 state 69 @@ -3260,148 +3224,139 @@ state 70 $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 175 + inner_statement_list go to state 174 state 71 - 360 compound_variable: '$' . '{' expr '}' - 371 simple_indirect_reference: '$' . + 359 compound_variable: '$' . '{' expr '}' + 370 simple_indirect_reference: '$' . - '{' shift, and go to state 176 + '{' shift, and go to state 175 - $default reduce using rule 371 (simple_indirect_reference) + $default reduce using rule 370 (simple_indirect_reference) state 72 275 expr_without_variable: '`' . encaps_list '`' - $default reduce using rule 400 (encaps_list) + $default reduce using rule 390 (encaps_list) - encaps_list go to state 177 + encaps_list go to state 176 state 73 319 scalar: '"' . encaps_list '"' - $default reduce using rule 400 (encaps_list) + $default reduce using rule 390 (encaps_list) - encaps_list go to state 178 + encaps_list go to state 177 state 74 - 320 scalar: ''' . encaps_list ''' - - $default reduce using rule 400 (encaps_list) - - encaps_list go to state 179 - - -state 75 - 3 top_statement_list: top_statement_list @1 top_statement . $default reduce using rule 3 (top_statement_list) -state 76 +state 75 5 top_statement: statement . $default reduce using rule 5 (top_statement) -state 77 +state 76 16 statement: unticked_statement . $default reduce using rule 16 (statement) -state 78 +state 77 6 top_statement: function_declaration_statement . $default reduce using rule 6 (top_statement) -state 79 +state 78 7 top_statement: class_declaration_statement . $default reduce using rule 7 (top_statement) -state 80 +state 79 78 function_declaration_statement: unticked_function_declaration_statement . $default reduce using rule 78 (function_declaration_statement) -state 81 +state 80 79 class_declaration_statement: unticked_class_declaration_statement . $default reduce using rule 79 (class_declaration_statement) -state 82 +state 81 86 unticked_class_declaration_statement: class_entry_type . T_STRING extends_from @29 implements_list '{' class_statement_list '}' - T_STRING shift, and go to state 180 + T_STRING shift, and go to state 178 -state 83 +state 82 88 unticked_class_declaration_statement: interface_entry . T_STRING @30 interface_extends_list '{' class_statement_list '}' - T_STRING shift, and go to state 181 + T_STRING shift, and go to state 179 -state 84 +state 83 - 331 expr: expr_without_variable . + 330 expr: expr_without_variable . - $default reduce using rule 331 (expr) + $default reduce using rule 330 (expr) -state 85 +state 84 - 352 base_variable_with_function_calls: function_call . + 351 base_variable_with_function_calls: function_call . - $default reduce using rule 352 (base_variable_with_function_calls) + $default reduce using rule 351 (base_variable_with_function_calls) -state 86 +state 85 280 function_call: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' @50 function_call_parameter_list ')' 282 | fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' @51 function_call_parameter_list ')' - 350 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects - 421 class_constant: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM T_STRING + 349 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + 411 class_constant: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM T_STRING - T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 182 + T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 180 -state 87 +state 86 318 scalar: common_scalar . $default reduce using rule 318 (scalar) -state 88 +state 87 273 expr_without_variable: scalar . $default reduce using rule 273 (expr_without_variable) -state 89 +state 88 47 unticked_statement: expr . ';' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -3431,52 +3386,52 @@ state 89 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ';' shift, and go to state 209 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ';' shift, and go to state 207 -state 90 +state 89 - 330 expr: r_variable . + 329 expr: r_variable . - $default reduce using rule 330 (expr) + $default reduce using rule 329 (expr) -state 91 +state 90 221 expr_without_variable: rw_variable . T_INC 223 | rw_variable . T_DEC - T_DEC shift, and go to state 210 - T_INC shift, and go to state 211 + T_DEC shift, and go to state 208 + T_INC shift, and go to state 209 -state 92 +state 91 203 expr_without_variable: variable . '=' expr 204 | variable . '=' '&' variable @@ -3492,109 +3447,109 @@ state 92 218 | variable . T_XOR_EQUAL expr 219 | variable . T_SL_EQUAL expr 220 | variable . T_SR_EQUAL expr - 332 r_variable: variable . - 336 rw_variable: variable . @56 + 331 r_variable: variable . + 335 rw_variable: variable . @56 - '=' shift, and go to state 212 - T_SR_EQUAL shift, and go to state 213 - T_SL_EQUAL shift, and go to state 214 - T_XOR_EQUAL shift, and go to state 215 - T_OR_EQUAL shift, and go to state 216 - T_AND_EQUAL shift, and go to state 217 - T_MOD_EQUAL shift, and go to state 218 - T_CONCAT_EQUAL shift, and go to state 219 - T_DIV_EQUAL shift, and go to state 220 - T_MUL_EQUAL shift, and go to state 221 - T_MINUS_EQUAL shift, and go to state 222 - T_PLUS_EQUAL shift, and go to state 223 + '=' shift, and go to state 210 + T_SR_EQUAL shift, and go to state 211 + T_SL_EQUAL shift, and go to state 212 + T_XOR_EQUAL shift, and go to state 213 + T_OR_EQUAL shift, and go to state 214 + T_AND_EQUAL shift, and go to state 215 + T_MOD_EQUAL shift, and go to state 216 + T_CONCAT_EQUAL shift, and go to state 217 + T_DIV_EQUAL shift, and go to state 218 + T_MUL_EQUAL shift, and go to state 219 + T_MINUS_EQUAL shift, and go to state 220 + T_PLUS_EQUAL shift, and go to state 221 - T_DEC reduce using rule 335 (@56) - T_INC reduce using rule 335 (@56) - $default reduce using rule 332 (r_variable) + T_DEC reduce using rule 334 (@56) + T_INC reduce using rule 334 (@56) + $default reduce using rule 331 (r_variable) - @56 go to state 224 + @56 go to state 222 -state 93 +state 92 284 function_call: variable_without_objects . '(' @52 function_call_parameter_list ')' - '(' shift, and go to state 225 + '(' shift, and go to state 223 -state 94 +state 93 - 355 base_variable: static_member . + 354 base_variable: static_member . - $default reduce using rule 355 (base_variable) + $default reduce using rule 354 (base_variable) -state 95 +state 94 - 339 variable: base_variable_with_function_calls . T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties - 340 | base_variable_with_function_calls . + 338 variable: base_variable_with_function_calls . T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties + 339 | base_variable_with_function_calls . - T_OBJECT_OPERATOR shift, and go to state 226 + T_OBJECT_OPERATOR shift, and go to state 224 - $default reduce using rule 340 (variable) + $default reduce using rule 339 (variable) -state 96 +state 95 - 351 base_variable_with_function_calls: base_variable . + 350 base_variable_with_function_calls: base_variable . - $default reduce using rule 351 (base_variable_with_function_calls) + $default reduce using rule 350 (base_variable_with_function_calls) -state 97 +state 96 - 348 variable_without_objects: reference_variable . - 353 base_variable: reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' + 347 variable_without_objects: reference_variable . + 352 base_variable: reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '[' shift, and go to state 227 - '{' shift, and go to state 228 + '[' shift, and go to state 225 + '{' shift, and go to state 226 - '(' reduce using rule 348 (variable_without_objects) - $default reduce using rule 353 (base_variable) + '(' reduce using rule 347 (variable_without_objects) + $default reduce using rule 352 (base_variable) -state 98 +state 97 - 358 reference_variable: compound_variable . + 357 reference_variable: compound_variable . - $default reduce using rule 358 (reference_variable) + $default reduce using rule 357 (reference_variable) -state 99 +state 98 - 349 variable_without_objects: simple_indirect_reference . reference_variable - 354 base_variable: simple_indirect_reference . reference_variable - 372 simple_indirect_reference: simple_indirect_reference . '$' + 348 variable_without_objects: simple_indirect_reference . reference_variable + 353 base_variable: simple_indirect_reference . reference_variable + 371 simple_indirect_reference: simple_indirect_reference . '$' T_VARIABLE shift, and go to state 33 - '$' shift, and go to state 229 + '$' shift, and go to state 227 - reference_variable go to state 230 - compound_variable go to state 98 + reference_variable go to state 228 + compound_variable go to state 97 -state 100 +state 99 262 expr_without_variable: internal_functions_in_yacc . $default reduce using rule 262 (expr_without_variable) -state 101 +state 100 317 scalar: class_constant . $default reduce using rule 317 (scalar) -state 102 +state 101 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3622,39 +3577,39 @@ state 102 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 417 internal_functions_in_yacc: T_REQUIRE_ONCE expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 417 (internal_functions_in_yacc) + 407 internal_functions_in_yacc: T_REQUIRE_ONCE expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + + $default reduce using rule 407 (internal_functions_in_yacc) -state 103 +state 102 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3682,41 +3637,41 @@ state 103 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 416 internal_functions_in_yacc: T_REQUIRE expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 416 (internal_functions_in_yacc) + 406 internal_functions_in_yacc: T_REQUIRE expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + + $default reduce using rule 406 (internal_functions_in_yacc) -state 104 +state 103 - 415 internal_functions_in_yacc: T_EVAL '(' . expr ')' + 405 internal_functions_in_yacc: T_EVAL '(' . expr ')' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -3761,29 +3716,28 @@ state 104 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 231 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 229 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 105 + +state 104 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3811,39 +3765,39 @@ state 105 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 414 internal_functions_in_yacc: T_INCLUDE_ONCE expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 414 (internal_functions_in_yacc) + 404 internal_functions_in_yacc: T_INCLUDE_ONCE expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + + $default reduce using rule 404 (internal_functions_in_yacc) -state 106 +state 105 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3871,39 +3825,39 @@ state 106 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 413 internal_functions_in_yacc: T_INCLUDE expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 413 (internal_functions_in_yacc) + 403 internal_functions_in_yacc: T_INCLUDE expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + + $default reduce using rule 403 (internal_functions_in_yacc) -state 107 +state 106 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3933,34 +3887,34 @@ state 107 261 | expr . '?' @46 expr ':' @47 expr 276 | T_PRINT expr . - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 276 (expr_without_variable) -state 108 +state 107 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -3990,15 +3944,10 @@ state 108 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - $default reduce using rule 245 (expr_without_variable) -state 109 +state 108 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4028,15 +3977,10 @@ state 109 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - $default reduce using rule 246 (expr_without_variable) -state 110 +state 109 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4066,12 +4010,12 @@ state 110 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_INSTANCEOF shift, and go to state 208 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 247 (expr_without_variable) -state 111 +state 110 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4104,7 +4048,7 @@ state 111 $default reduce using rule 248 (expr_without_variable) -state 112 +state 111 272 expr_without_variable: '@' @48 . expr @@ -4151,29 +4095,28 @@ state 112 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 232 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 230 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 113 + +state 112 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4206,7 +4149,7 @@ state 113 $default reduce using rule 269 (expr_without_variable) -state 114 +state 113 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4239,7 +4182,7 @@ state 114 $default reduce using rule 268 (expr_without_variable) -state 115 +state 114 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4272,7 +4215,7 @@ state 115 $default reduce using rule 267 (expr_without_variable) -state 116 +state 115 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4305,7 +4248,7 @@ state 116 $default reduce using rule 266 (expr_without_variable) -state 117 +state 116 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4338,7 +4281,7 @@ state 117 $default reduce using rule 265 (expr_without_variable) -state 118 +state 117 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4371,7 +4314,7 @@ state 118 $default reduce using rule 264 (expr_without_variable) -state 119 +state 118 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -4404,49 +4347,49 @@ state 119 $default reduce using rule 263 (expr_without_variable) -state 120 +state 119 278 function_call: T_STRING . '(' @49 function_call_parameter_list ')' 285 fully_qualified_class_name: T_STRING . - '(' shift, and go to state 136 + '(' shift, and go to state 135 $default reduce using rule 285 (fully_qualified_class_name) -state 121 +state 120 280 function_call: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' @50 function_call_parameter_list ')' 282 | fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' @51 function_call_parameter_list ')' - 350 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + 349 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects - T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 233 + T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 231 -state 122 +state 121 224 expr_without_variable: T_DEC rw_variable . $default reduce using rule 224 (expr_without_variable) -state 123 +state 122 - 336 rw_variable: variable . @56 + 335 rw_variable: variable . @56 - $default reduce using rule 335 (@56) + $default reduce using rule 334 (@56) - @56 go to state 224 + @56 go to state 222 -state 124 +state 123 222 expr_without_variable: T_INC rw_variable . $default reduce using rule 222 (expr_without_variable) -state 125 +state 124 209 expr_without_variable: T_CLONE expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -4479,7 +4422,7 @@ state 125 $default reduce using rule 209 (expr_without_variable) -state 126 +state 125 285 fully_qualified_class_name: T_STRING . 286 class_name_reference: T_STRING . @@ -4488,64 +4431,64 @@ state 126 $default reduce using rule 286 (class_name_reference) -state 127 +state 126 - 350 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects + 349 static_member: fully_qualified_class_name . T_PAAMAYIM_NEKUDOTAYIM variable_without_objects - T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 234 + T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 232 -state 128 +state 127 208 expr_without_variable: T_NEW class_name_reference . @41 ctor_arguments $default reduce using rule 207 (@41) - @41 go to state 235 + @41 go to state 233 -state 129 +state 128 287 class_name_reference: dynamic_class_name_reference . $default reduce using rule 287 (class_name_reference) -state 130 +state 129 290 dynamic_class_name_reference: base_variable . T_OBJECT_OPERATOR @53 object_property @54 dynamic_class_name_variable_properties 291 | base_variable . - T_OBJECT_OPERATOR shift, and go to state 236 + T_OBJECT_OPERATOR shift, and go to state 234 $default reduce using rule 291 (dynamic_class_name_reference) -state 131 +state 130 - 353 base_variable: reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' + 352 base_variable: reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '[' shift, and go to state 227 - '{' shift, and go to state 228 + '[' shift, and go to state 225 + '{' shift, and go to state 226 - $default reduce using rule 353 (base_variable) + $default reduce using rule 352 (base_variable) -state 132 +state 131 - 354 base_variable: simple_indirect_reference . reference_variable - 372 simple_indirect_reference: simple_indirect_reference . '$' + 353 base_variable: simple_indirect_reference . reference_variable + 371 simple_indirect_reference: simple_indirect_reference . '$' T_VARIABLE shift, and go to state 33 - '$' shift, and go to state 229 + '$' shift, and go to state 227 - reference_variable go to state 237 - compound_variable go to state 98 + reference_variable go to state 235 + compound_variable go to state 97 -state 133 +state 132 296 exit_expr: '(' . ')' 297 | '(' . expr ')' @@ -4590,40 +4533,39 @@ state 133 T_FILE shift, and go to state 66 T_START_HEREDOC shift, and go to state 67 '(' shift, and go to state 68 - ')' shift, and go to state 238 + ')' shift, and go to state 236 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 239 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 237 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 134 + +state 133 270 expr_without_variable: T_EXIT exit_expr . $default reduce using rule 270 (expr_without_variable) -state 135 +state 134 20 unticked_statement: T_IF '(' . expr ')' @3 statement @4 elseif_list else_single 23 | T_IF '(' . expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' @@ -4671,47 +4613,46 @@ state 135 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 240 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 238 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 136 + +state 135 278 function_call: T_STRING '(' . @49 function_call_parameter_list ')' $default reduce using rule 277 (@49) - @49 go to state 241 + @49 go to state 239 -state 137 +state 136 45 unticked_statement: T_ECHO echo_expr_list . ';' 194 echo_expr_list: echo_expr_list . ',' expr - ',' shift, and go to state 242 - ';' shift, and go to state 243 + ',' shift, and go to state 240 + ';' shift, and go to state 241 -state 138 +state 137 195 echo_expr_list: expr . 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -4741,37 +4682,37 @@ state 138 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 195 (echo_expr_list) -state 139 +state 138 29 unticked_statement: T_DO @9 . statement T_WHILE '(' @10 expr ')' ';' @@ -4838,40 +4779,39 @@ state 139 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 244 - unticked_statement go to state 77 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 242 + unticked_statement go to state 76 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 140 + +state 139 26 unticked_statement: T_WHILE '(' . @7 expr ')' @8 while_statement $default reduce using rule 24 (@7) - @7 go to state 245 + @7 go to state 243 -state 141 +state 140 33 unticked_statement: T_FOR '(' . for_expr ';' @11 for_expr ';' @12 for_expr ')' @13 for_statement @@ -4918,33 +4858,32 @@ state 141 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 196 (for_expr) - for_expr go to state 246 - non_empty_for_expr go to state 247 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 248 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + for_expr go to state 244 + non_empty_for_expr go to state 245 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 246 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 142 +state 141 52 unticked_statement: T_FOREACH '(' . variable T_AS @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement 55 | T_FOREACH '(' . expr_without_variable T_AS @17 variable foreach_optional_arg ')' @18 foreach_statement @@ -4992,36 +4931,35 @@ state 142 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 249 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 250 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 247 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 248 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 143 + +state 142 57 unticked_statement: T_DECLARE @19 . '(' declare_list ')' declare_statement - '(' shift, and go to state 251 + '(' shift, and go to state 249 -state 144 +state 143 35 unticked_statement: T_SWITCH '(' . expr ')' @14 switch_case_list @@ -5068,36 +5006,35 @@ state 144 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 252 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 250 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 145 + +state 144 36 unticked_statement: T_BREAK ';' . $default reduce using rule 36 (unticked_statement) -state 146 +state 145 37 unticked_statement: T_BREAK expr . ';' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -5127,43 +5064,43 @@ state 146 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ';' shift, and go to state 253 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ';' shift, and go to state 251 -state 147 +state 146 38 unticked_statement: T_CONTINUE ';' . $default reduce using rule 38 (unticked_statement) -state 148 +state 147 39 unticked_statement: T_CONTINUE expr . ';' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -5193,64 +5130,64 @@ state 148 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ';' shift, and go to state 254 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ';' shift, and go to state 252 -state 149 +state 148 84 unticked_function_declaration_statement: T_FUNCTION @27 . is_reference T_STRING @28 '(' parameter_list ')' '{' inner_statement_list '}' - '&' shift, and go to state 255 + '&' shift, and go to state 253 $default reduce using rule 80 (is_reference) - is_reference go to state 256 + is_reference go to state 254 -state 150 +state 149 40 unticked_statement: T_RETURN ';' . $default reduce using rule 40 (unticked_statement) -state 151 +state 150 41 unticked_statement: T_RETURN expr_without_variable . ';' - 331 expr: expr_without_variable . + 330 expr: expr_without_variable . - ';' shift, and go to state 257 + ';' shift, and go to state 255 - $default reduce using rule 331 (expr) + $default reduce using rule 330 (expr) -state 152 +state 151 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -5279,35 +5216,35 @@ state 152 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 -state 153 +state 152 42 unticked_statement: T_RETURN variable . ';' 203 expr_without_variable: variable . '=' expr @@ -5324,38 +5261,38 @@ state 153 218 | variable . T_XOR_EQUAL expr 219 | variable . T_SL_EQUAL expr 220 | variable . T_SR_EQUAL expr - 332 r_variable: variable . - 336 rw_variable: variable . @56 - - '=' shift, and go to state 212 - T_SR_EQUAL shift, and go to state 213 - T_SL_EQUAL shift, and go to state 214 - T_XOR_EQUAL shift, and go to state 215 - T_OR_EQUAL shift, and go to state 216 - T_AND_EQUAL shift, and go to state 217 - T_MOD_EQUAL shift, and go to state 218 - T_CONCAT_EQUAL shift, and go to state 219 - T_DIV_EQUAL shift, and go to state 220 - T_MUL_EQUAL shift, and go to state 221 - T_MINUS_EQUAL shift, and go to state 222 - T_PLUS_EQUAL shift, and go to state 223 - ';' shift, and go to state 258 - - T_DEC reduce using rule 335 (@56) - T_INC reduce using rule 335 (@56) - $default reduce using rule 332 (r_variable) - - @56 go to state 224 + 331 r_variable: variable . + 335 rw_variable: variable . @56 + + '=' shift, and go to state 210 + T_SR_EQUAL shift, and go to state 211 + T_SL_EQUAL shift, and go to state 212 + T_XOR_EQUAL shift, and go to state 213 + T_OR_EQUAL shift, and go to state 214 + T_AND_EQUAL shift, and go to state 215 + T_MOD_EQUAL shift, and go to state 216 + T_CONCAT_EQUAL shift, and go to state 217 + T_DIV_EQUAL shift, and go to state 218 + T_MUL_EQUAL shift, and go to state 219 + T_MINUS_EQUAL shift, and go to state 220 + T_PLUS_EQUAL shift, and go to state 221 + ';' shift, and go to state 256 + + T_DEC reduce using rule 334 (@56) + T_INC reduce using rule 334 (@56) + $default reduce using rule 331 (r_variable) + + @56 go to state 222 -state 154 +state 153 64 unticked_statement: T_TRY @20 . '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - '{' shift, and go to state 259 + '{' shift, and go to state 257 -state 155 +state 154 65 unticked_statement: T_THROW expr . ';' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -5385,216 +5322,216 @@ state 155 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ';' shift, and go to state 260 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ';' shift, and go to state 258 -state 156 +state 155 76 use_filename: T_CONSTANT_ENCAPSED_STRING . $default reduce using rule 76 (use_filename) -state 157 +state 156 77 use_filename: '(' . T_CONSTANT_ENCAPSED_STRING ')' - T_CONSTANT_ENCAPSED_STRING shift, and go to state 261 + T_CONSTANT_ENCAPSED_STRING shift, and go to state 259 -state 158 +state 157 48 unticked_statement: T_USE use_filename . ';' - ';' shift, and go to state 262 + ';' shift, and go to state 260 -state 159 +state 158 159 global_var: T_VARIABLE . $default reduce using rule 159 (global_var) -state 160 +state 159 160 global_var: '$' . r_variable 161 | '$' . '{' expr '}' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 - '{' shift, and go to state 263 + '{' shift, and go to state 261 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - r_variable go to state 264 - variable go to state 265 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + r_variable go to state 262 + variable go to state 263 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 161 +state 160 43 unticked_statement: T_GLOBAL global_var_list . ';' 157 global_var_list: global_var_list . ',' global_var - ',' shift, and go to state 266 - ';' shift, and go to state 267 + ',' shift, and go to state 264 + ';' shift, and go to state 265 -state 162 +state 161 158 global_var_list: global_var . $default reduce using rule 158 (global_var_list) -state 163 +state 162 91 class_entry_type: T_FINAL T_CLASS . $default reduce using rule 91 (class_entry_type) -state 164 +state 163 90 class_entry_type: T_ABSTRACT T_CLASS . $default reduce using rule 90 (class_entry_type) -state 165 +state 164 164 static_var_list: T_VARIABLE . 165 | T_VARIABLE . '=' static_scalar - '=' shift, and go to state 268 + '=' shift, and go to state 266 $default reduce using rule 164 (static_var_list) -state 166 +state 165 44 unticked_statement: T_STATIC static_var_list . ';' 162 static_var_list: static_var_list . ',' T_VARIABLE 163 | static_var_list . ',' T_VARIABLE '=' static_scalar - ',' shift, and go to state 269 - ';' shift, and go to state 270 + ',' shift, and go to state 267 + ';' shift, and go to state 268 -state 167 +state 166 49 unticked_statement: T_UNSET '(' . unset_variables ')' ';' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - unset_variables go to state 271 - unset_variable go to state 272 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 273 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + unset_variables go to state 269 + unset_variable go to state 270 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 271 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 168 +state 167 - 411 internal_functions_in_yacc: T_ISSET '(' . isset_variables ')' + 401 internal_functions_in_yacc: T_ISSET '(' . isset_variables ')' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 274 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - isset_variables go to state 275 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 272 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + isset_variables go to state 273 -state 169 +state 168 - 412 internal_functions_in_yacc: T_EMPTY '(' . variable ')' + 402 internal_functions_in_yacc: T_EMPTY '(' . variable ')' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 276 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 274 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 170 +state 169 8 top_statement: T_HALT_COMPILER '(' . ')' ';' - ')' shift, and go to state 277 + ')' shift, and go to state 275 -state 171 +state 170 202 expr_without_variable: T_LIST '(' . @39 assignment_list ')' '=' expr $default reduce using rule 201 (@39) - @39 go to state 278 + @39 go to state 276 -state 172 +state 171 274 expr_without_variable: T_ARRAY '(' . array_pair_list ')' @@ -5604,7 +5541,7 @@ state 172 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 279 + '&' shift, and go to state 277 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -5642,66 +5579,47 @@ state 172 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - $default reduce using rule 379 (array_pair_list) + $default reduce using rule 378 (array_pair_list) + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 278 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + array_pair_list go to state 279 + non_empty_array_pair_list go to state 280 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 280 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - array_pair_list go to state 281 - non_empty_array_pair_list go to state 282 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 +state 172 -state 173 + 320 scalar: T_START_HEREDOC encaps_list . T_END_HEREDOC + 388 encaps_list: encaps_list . encaps_var + 389 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 321 scalar: T_START_HEREDOC encaps_list . T_END_HEREDOC - 389 encaps_list: encaps_list . encaps_var - 390 | encaps_list . T_STRING - 391 | encaps_list . T_NUM_STRING - 392 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 393 | encaps_list . T_CHARACTER - 394 | encaps_list . T_BAD_CHARACTER - 395 | encaps_list . '[' - 396 | encaps_list . ']' - 397 | encaps_list . '{' - 398 | encaps_list . '}' - 399 | encaps_list . T_OBJECT_OPERATOR - - '[' shift, and go to state 283 - T_STRING shift, and go to state 284 - T_VARIABLE shift, and go to state 285 - T_NUM_STRING shift, and go to state 286 - T_CHARACTER shift, and go to state 287 - T_BAD_CHARACTER shift, and go to state 288 - T_ENCAPSED_AND_WHITESPACE shift, and go to state 289 - T_OBJECT_OPERATOR shift, and go to state 290 - T_END_HEREDOC shift, and go to state 291 - T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 292 - T_CURLY_OPEN shift, and go to state 293 - '{' shift, and go to state 294 - '}' shift, and go to state 295 - ']' shift, and go to state 296 - - encaps_var go to state 297 + T_VARIABLE shift, and go to state 281 + T_ENCAPSED_AND_WHITESPACE shift, and go to state 282 + T_END_HEREDOC shift, and go to state 283 + T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 284 + T_CURLY_OPEN shift, and go to state 285 + encaps_var go to state 286 -state 174 + +state 173 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -5731,50 +5649,50 @@ state 174 258 | '(' expr . ')' 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 298 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 287 -state 175 +state 174 10 inner_statement_list: inner_statement_list . @2 inner_statement 17 unticked_statement: '{' inner_statement_list . '}' - '}' shift, and go to state 299 + '}' shift, and go to state 288 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 176 +state 175 - 360 compound_variable: '$' '{' . expr '}' + 359 compound_variable: '$' '{' . expr '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -5819,174 +5737,104 @@ state 176 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 301 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 290 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 177 +state 176 275 expr_without_variable: '`' encaps_list . '`' - 389 encaps_list: encaps_list . encaps_var - 390 | encaps_list . T_STRING - 391 | encaps_list . T_NUM_STRING - 392 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 393 | encaps_list . T_CHARACTER - 394 | encaps_list . T_BAD_CHARACTER - 395 | encaps_list . '[' - 396 | encaps_list . ']' - 397 | encaps_list . '{' - 398 | encaps_list . '}' - 399 | encaps_list . T_OBJECT_OPERATOR - - '[' shift, and go to state 283 - T_STRING shift, and go to state 284 - T_VARIABLE shift, and go to state 285 - T_NUM_STRING shift, and go to state 286 - T_CHARACTER shift, and go to state 287 - T_BAD_CHARACTER shift, and go to state 288 - T_ENCAPSED_AND_WHITESPACE shift, and go to state 289 - T_OBJECT_OPERATOR shift, and go to state 290 - T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 292 - T_CURLY_OPEN shift, and go to state 293 - '{' shift, and go to state 294 - '}' shift, and go to state 295 - '`' shift, and go to state 302 - ']' shift, and go to state 296 - - encaps_var go to state 297 + 388 encaps_list: encaps_list . encaps_var + 389 | encaps_list . T_ENCAPSED_AND_WHITESPACE + T_VARIABLE shift, and go to state 281 + T_ENCAPSED_AND_WHITESPACE shift, and go to state 282 + T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 284 + T_CURLY_OPEN shift, and go to state 285 + '`' shift, and go to state 291 -state 178 + encaps_var go to state 286 - 319 scalar: '"' encaps_list . '"' - 389 encaps_list: encaps_list . encaps_var - 390 | encaps_list . T_STRING - 391 | encaps_list . T_NUM_STRING - 392 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 393 | encaps_list . T_CHARACTER - 394 | encaps_list . T_BAD_CHARACTER - 395 | encaps_list . '[' - 396 | encaps_list . ']' - 397 | encaps_list . '{' - 398 | encaps_list . '}' - 399 | encaps_list . T_OBJECT_OPERATOR - - '[' shift, and go to state 283 - T_STRING shift, and go to state 284 - T_VARIABLE shift, and go to state 285 - T_NUM_STRING shift, and go to state 286 - T_CHARACTER shift, and go to state 287 - T_BAD_CHARACTER shift, and go to state 288 - T_ENCAPSED_AND_WHITESPACE shift, and go to state 289 - T_OBJECT_OPERATOR shift, and go to state 290 - T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 292 - T_CURLY_OPEN shift, and go to state 293 - '{' shift, and go to state 294 - '}' shift, and go to state 295 - '"' shift, and go to state 303 - ']' shift, and go to state 296 - - encaps_var go to state 297 +state 177 -state 179 + 319 scalar: '"' encaps_list . '"' + 388 encaps_list: encaps_list . encaps_var + 389 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 320 scalar: ''' encaps_list . ''' - 389 encaps_list: encaps_list . encaps_var - 390 | encaps_list . T_STRING - 391 | encaps_list . T_NUM_STRING - 392 | encaps_list . T_ENCAPSED_AND_WHITESPACE - 393 | encaps_list . T_CHARACTER - 394 | encaps_list . T_BAD_CHARACTER - 395 | encaps_list . '[' - 396 | encaps_list . ']' - 397 | encaps_list . '{' - 398 | encaps_list . '}' - 399 | encaps_list . T_OBJECT_OPERATOR - - '[' shift, and go to state 283 - T_STRING shift, and go to state 284 - T_VARIABLE shift, and go to state 285 - T_NUM_STRING shift, and go to state 286 - T_CHARACTER shift, and go to state 287 - T_BAD_CHARACTER shift, and go to state 288 - T_ENCAPSED_AND_WHITESPACE shift, and go to state 289 - T_OBJECT_OPERATOR shift, and go to state 290 - T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 292 - T_CURLY_OPEN shift, and go to state 293 - '{' shift, and go to state 294 - '}' shift, and go to state 295 - ''' shift, and go to state 304 - ']' shift, and go to state 296 - - encaps_var go to state 297 + T_VARIABLE shift, and go to state 281 + T_ENCAPSED_AND_WHITESPACE shift, and go to state 282 + T_DOLLAR_OPEN_CURLY_BRACES shift, and go to state 284 + T_CURLY_OPEN shift, and go to state 285 + '"' shift, and go to state 292 + encaps_var go to state 286 -state 180 + +state 178 86 unticked_class_declaration_statement: class_entry_type T_STRING . extends_from @29 implements_list '{' class_statement_list '}' - T_EXTENDS shift, and go to state 305 + T_EXTENDS shift, and go to state 293 $default reduce using rule 92 (extends_from) - extends_from go to state 306 + extends_from go to state 294 -state 181 +state 179 88 unticked_class_declaration_statement: interface_entry T_STRING . @30 interface_extends_list '{' class_statement_list '}' $default reduce using rule 87 (@30) - @30 go to state 307 + @30 go to state 295 -state 182 +state 180 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . T_STRING '(' @50 function_call_parameter_list ')' 282 | fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects '(' @51 function_call_parameter_list ')' - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects - 421 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . T_STRING + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects + 411 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . T_STRING - T_STRING shift, and go to state 308 + T_STRING shift, and go to state 296 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - variable_without_objects go to state 309 - reference_variable go to state 310 - compound_variable go to state 98 - simple_indirect_reference go to state 311 + variable_without_objects go to state 297 + reference_variable go to state 298 + compound_variable go to state 97 + simple_indirect_reference go to state 299 -state 183 +state 181 230 expr_without_variable: expr T_LOGICAL_OR . @44 expr $default reduce using rule 229 (@44) - @44 go to state 312 + @44 go to state 300 -state 184 +state 182 233 expr_without_variable: expr T_LOGICAL_XOR . expr @@ -6033,65 +5881,64 @@ state 184 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 313 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 301 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 185 +state 183 232 expr_without_variable: expr T_LOGICAL_AND . @45 expr $default reduce using rule 231 (@45) - @45 go to state 314 + @45 go to state 302 -state 186 +state 184 261 expr_without_variable: expr '?' . @46 expr ':' @47 expr $default reduce using rule 259 (@46) - @46 go to state 315 + @46 go to state 303 -state 187 +state 185 226 expr_without_variable: expr T_BOOLEAN_OR . @42 expr $default reduce using rule 225 (@42) - @42 go to state 316 + @42 go to state 304 -state 188 +state 186 228 expr_without_variable: expr T_BOOLEAN_AND . @43 expr $default reduce using rule 227 (@43) - @43 go to state 317 + @43 go to state 305 -state 189 +state 187 234 expr_without_variable: expr '|' . expr @@ -6138,29 +5985,28 @@ state 189 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 318 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 306 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 190 +state 188 236 expr_without_variable: expr '^' . expr @@ -6207,29 +6053,28 @@ state 190 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 319 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 307 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 191 +state 189 235 expr_without_variable: expr '&' . expr @@ -6276,29 +6121,28 @@ state 191 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 320 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 308 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 192 +state 190 250 expr_without_variable: expr T_IS_NOT_IDENTICAL . expr @@ -6345,29 +6189,28 @@ state 192 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 321 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 309 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 193 +state 191 249 expr_without_variable: expr T_IS_IDENTICAL . expr @@ -6414,29 +6257,28 @@ state 193 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 322 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 310 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 194 +state 192 252 expr_without_variable: expr T_IS_NOT_EQUAL . expr @@ -6483,29 +6325,28 @@ state 194 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 323 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 311 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 195 +state 193 251 expr_without_variable: expr T_IS_EQUAL . expr @@ -6552,29 +6393,28 @@ state 195 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 324 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 312 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 196 +state 194 253 expr_without_variable: expr '<' . expr @@ -6621,29 +6461,28 @@ state 196 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 325 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 313 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 197 + +state 195 255 expr_without_variable: expr '>' . expr @@ -6690,29 +6529,28 @@ state 197 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 326 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 314 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 198 + +state 196 256 expr_without_variable: expr T_IS_GREATER_OR_EQUAL . expr @@ -6759,29 +6597,28 @@ state 198 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 327 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 315 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 199 +state 197 254 expr_without_variable: expr T_IS_SMALLER_OR_EQUAL . expr @@ -6828,29 +6665,28 @@ state 199 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 328 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 316 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 200 +state 198 244 expr_without_variable: expr T_SR . expr @@ -6897,29 +6733,28 @@ state 200 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 329 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 317 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 201 +state 199 243 expr_without_variable: expr T_SL . expr @@ -6966,29 +6801,28 @@ state 201 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 330 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 318 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 202 +state 200 238 expr_without_variable: expr '+' . expr @@ -7035,29 +6869,28 @@ state 202 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 331 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 319 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 203 +state 201 239 expr_without_variable: expr '-' . expr @@ -7104,29 +6937,28 @@ state 203 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 332 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 320 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 204 +state 202 237 expr_without_variable: expr '.' . expr @@ -7173,29 +7005,28 @@ state 204 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 333 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 321 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 205 +state 203 240 expr_without_variable: expr '*' . expr @@ -7242,29 +7073,28 @@ state 205 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 334 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 322 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 206 +state 204 241 expr_without_variable: expr '/' . expr @@ -7311,29 +7141,28 @@ state 206 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 335 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 323 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 207 +state 205 242 expr_without_variable: expr '%' . expr @@ -7380,68 +7209,67 @@ state 207 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 336 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 324 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 208 +state 206 257 expr_without_variable: expr T_INSTANCEOF . class_name_reference - T_STRING shift, and go to state 126 + T_STRING shift, and go to state 125 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - fully_qualified_class_name go to state 127 - class_name_reference go to state 337 - dynamic_class_name_reference go to state 129 - static_member go to state 94 - base_variable go to state 130 - reference_variable go to state 131 - compound_variable go to state 98 - simple_indirect_reference go to state 132 + fully_qualified_class_name go to state 126 + class_name_reference go to state 325 + dynamic_class_name_reference go to state 128 + static_member go to state 93 + base_variable go to state 129 + reference_variable go to state 130 + compound_variable go to state 97 + simple_indirect_reference go to state 131 -state 209 +state 207 47 unticked_statement: expr ';' . $default reduce using rule 47 (unticked_statement) -state 210 +state 208 223 expr_without_variable: rw_variable T_DEC . $default reduce using rule 223 (expr_without_variable) -state 211 +state 209 221 expr_without_variable: rw_variable T_INC . $default reduce using rule 221 (expr_without_variable) -state 212 +state 210 203 expr_without_variable: variable '=' . expr 204 | variable '=' . '&' variable @@ -7453,7 +7281,7 @@ state 212 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 338 + '&' shift, and go to state 326 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -7491,29 +7319,28 @@ state 212 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 339 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 327 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 213 + +state 211 220 expr_without_variable: variable T_SR_EQUAL . expr @@ -7560,29 +7387,28 @@ state 213 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 340 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 328 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 214 + +state 212 219 expr_without_variable: variable T_SL_EQUAL . expr @@ -7629,29 +7455,28 @@ state 214 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 341 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 329 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 215 +state 213 218 expr_without_variable: variable T_XOR_EQUAL . expr @@ -7698,29 +7523,28 @@ state 215 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 342 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 330 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 216 + +state 214 217 expr_without_variable: variable T_OR_EQUAL . expr @@ -7767,29 +7591,28 @@ state 216 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 343 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 331 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 217 +state 215 216 expr_without_variable: variable T_AND_EQUAL . expr @@ -7836,29 +7659,28 @@ state 217 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 344 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 332 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 218 + +state 216 215 expr_without_variable: variable T_MOD_EQUAL . expr @@ -7905,29 +7727,28 @@ state 218 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 345 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 333 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 219 + +state 217 214 expr_without_variable: variable T_CONCAT_EQUAL . expr @@ -7974,29 +7795,28 @@ state 219 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 346 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 334 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 220 + +state 218 213 expr_without_variable: variable T_DIV_EQUAL . expr @@ -8043,29 +7863,28 @@ state 220 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 347 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 335 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 221 + +state 219 212 expr_without_variable: variable T_MUL_EQUAL . expr @@ -8112,29 +7931,28 @@ state 221 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 348 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 336 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 222 + +state 220 211 expr_without_variable: variable T_MINUS_EQUAL . expr @@ -8181,29 +7999,28 @@ state 222 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 349 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 337 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 223 + +state 221 210 expr_without_variable: variable T_PLUS_EQUAL . expr @@ -8250,56 +8067,55 @@ state 223 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 350 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 338 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 224 - 336 rw_variable: variable @56 . +state 222 - $default reduce using rule 336 (rw_variable) + 335 rw_variable: variable @56 . + $default reduce using rule 335 (rw_variable) -state 225 + +state 223 284 function_call: variable_without_objects '(' . @52 function_call_parameter_list ')' $default reduce using rule 283 (@52) - @52 go to state 351 + @52 go to state 339 -state 226 +state 224 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR . @57 object_property @58 method_or_not variable_properties + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR . @57 object_property @58 method_or_not variable_properties - $default reduce using rule 337 (@57) + $default reduce using rule 336 (@57) - @57 go to state 352 + @57 go to state 340 -state 227 +state 225 - 356 reference_variable: reference_variable '[' . dim_offset ']' + 355 reference_variable: reference_variable '[' . dim_offset ']' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -8344,34 +8160,33 @@ state 227 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - $default reduce using rule 361 (dim_offset) + $default reduce using rule 360 (dim_offset) - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 353 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - dim_offset go to state 354 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 341 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + dim_offset go to state 342 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 228 +state 226 - 357 reference_variable: reference_variable '{' . expr '}' + 356 reference_variable: reference_variable '{' . expr '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -8416,53 +8231,52 @@ state 228 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 355 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 343 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 229 - 360 compound_variable: '$' . '{' expr '}' - 372 simple_indirect_reference: simple_indirect_reference '$' . +state 227 - '{' shift, and go to state 176 + 359 compound_variable: '$' . '{' expr '}' + 371 simple_indirect_reference: simple_indirect_reference '$' . - $default reduce using rule 372 (simple_indirect_reference) + '{' shift, and go to state 175 + $default reduce using rule 371 (simple_indirect_reference) -state 230 - 349 variable_without_objects: simple_indirect_reference reference_variable . - 354 base_variable: simple_indirect_reference reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' +state 228 - '[' shift, and go to state 227 - '{' shift, and go to state 228 + 348 variable_without_objects: simple_indirect_reference reference_variable . + 353 base_variable: simple_indirect_reference reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '(' reduce using rule 349 (variable_without_objects) - $default reduce using rule 354 (base_variable) + '[' shift, and go to state 225 + '{' shift, and go to state 226 + '(' reduce using rule 348 (variable_without_objects) + $default reduce using rule 353 (base_variable) -state 231 + +state 229 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -8490,38 +8304,38 @@ state 231 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 415 internal_functions_in_yacc: T_EVAL '(' expr . ')' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 356 + 405 internal_functions_in_yacc: T_EVAL '(' expr . ')' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 344 -state 232 +state 230 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -8554,75 +8368,75 @@ state 232 $default reduce using rule 272 (expr_without_variable) -state 233 +state 231 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . T_STRING '(' @50 function_call_parameter_list ')' 282 | fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects '(' @51 function_call_parameter_list ')' - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects - T_STRING shift, and go to state 357 + T_STRING shift, and go to state 345 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - variable_without_objects go to state 309 - reference_variable go to state 310 - compound_variable go to state 98 - simple_indirect_reference go to state 311 + variable_without_objects go to state 297 + reference_variable go to state 298 + compound_variable go to state 97 + simple_indirect_reference go to state 299 -state 234 +state 232 - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM . variable_without_objects T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - variable_without_objects go to state 358 - reference_variable go to state 310 - compound_variable go to state 98 - simple_indirect_reference go to state 311 + variable_without_objects go to state 346 + reference_variable go to state 298 + compound_variable go to state 97 + simple_indirect_reference go to state 299 -state 235 +state 233 208 expr_without_variable: T_NEW class_name_reference @41 . ctor_arguments - '(' shift, and go to state 359 + '(' shift, and go to state 347 $default reduce using rule 298 (ctor_arguments) - ctor_arguments go to state 360 + ctor_arguments go to state 348 -state 236 +state 234 290 dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR . @53 object_property @54 dynamic_class_name_variable_properties $default reduce using rule 288 (@53) - @53 go to state 361 + @53 go to state 349 -state 237 +state 235 - 354 base_variable: simple_indirect_reference reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' + 353 base_variable: simple_indirect_reference reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '[' shift, and go to state 227 - '{' shift, and go to state 228 + '[' shift, and go to state 225 + '{' shift, and go to state 226 - $default reduce using rule 354 (base_variable) + $default reduce using rule 353 (base_variable) -state 238 +state 236 296 exit_expr: '(' ')' . $default reduce using rule 296 (exit_expr) -state 239 +state 237 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -8652,36 +8466,36 @@ state 239 261 | expr . '?' @46 expr ':' @47 expr 297 exit_expr: '(' expr . ')' - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 362 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 350 -state 240 +state 238 20 unticked_statement: T_IF '(' expr . ')' @3 statement @4 elseif_list else_single 23 | T_IF '(' expr . ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' @@ -8712,36 +8526,36 @@ state 240 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 363 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 351 -state 241 +state 239 278 function_call: T_STRING '(' @49 . function_call_parameter_list ')' @@ -8751,7 +8565,7 @@ state 241 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -8789,33 +8603,32 @@ state 241 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 365 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 353 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 242 +state 240 194 echo_expr_list: echo_expr_list ',' . expr @@ -8862,43 +8675,42 @@ state 242 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 369 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 357 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 243 + +state 241 45 unticked_statement: T_ECHO echo_expr_list ';' . $default reduce using rule 45 (unticked_statement) -state 244 +state 242 29 unticked_statement: T_DO @9 statement . T_WHILE '(' @10 expr ')' ';' - T_WHILE shift, and go to state 370 + T_WHILE shift, and go to state 358 -state 245 +state 243 26 unticked_statement: T_WHILE '(' @7 . expr ')' @8 while_statement @@ -8945,46 +8757,45 @@ state 245 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 371 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 359 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 246 + +state 244 33 unticked_statement: T_FOR '(' for_expr . ';' @11 for_expr ';' @12 for_expr ')' @13 for_statement - ';' shift, and go to state 372 + ';' shift, and go to state 360 -state 247 +state 245 197 for_expr: non_empty_for_expr . 199 non_empty_for_expr: non_empty_for_expr . ',' @38 expr - ',' shift, and go to state 373 + ',' shift, and go to state 361 $default reduce using rule 197 (for_expr) -state 248 +state 246 200 non_empty_for_expr: expr . 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -9014,47 +8825,47 @@ state 248 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 200 (non_empty_for_expr) -state 249 +state 247 55 unticked_statement: T_FOREACH '(' expr_without_variable . T_AS @17 variable foreach_optional_arg ')' @18 foreach_statement - 331 expr: expr_without_variable . + 330 expr: expr_without_variable . - T_AS shift, and go to state 374 + T_AS shift, and go to state 362 - $default reduce using rule 331 (expr) + $default reduce using rule 330 (expr) -state 250 +state 248 52 unticked_statement: T_FOREACH '(' variable . T_AS @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement 203 expr_without_variable: variable . '=' expr @@ -9071,40 +8882,40 @@ state 250 218 | variable . T_XOR_EQUAL expr 219 | variable . T_SL_EQUAL expr 220 | variable . T_SR_EQUAL expr - 332 r_variable: variable . - 336 rw_variable: variable . @56 - - '=' shift, and go to state 212 - T_SR_EQUAL shift, and go to state 213 - T_SL_EQUAL shift, and go to state 214 - T_XOR_EQUAL shift, and go to state 215 - T_OR_EQUAL shift, and go to state 216 - T_AND_EQUAL shift, and go to state 217 - T_MOD_EQUAL shift, and go to state 218 - T_CONCAT_EQUAL shift, and go to state 219 - T_DIV_EQUAL shift, and go to state 220 - T_MUL_EQUAL shift, and go to state 221 - T_MINUS_EQUAL shift, and go to state 222 - T_PLUS_EQUAL shift, and go to state 223 - T_AS shift, and go to state 375 - - T_DEC reduce using rule 335 (@56) - T_INC reduce using rule 335 (@56) - $default reduce using rule 332 (r_variable) - - @56 go to state 224 + 331 r_variable: variable . + 335 rw_variable: variable . @56 + + '=' shift, and go to state 210 + T_SR_EQUAL shift, and go to state 211 + T_SL_EQUAL shift, and go to state 212 + T_XOR_EQUAL shift, and go to state 213 + T_OR_EQUAL shift, and go to state 214 + T_AND_EQUAL shift, and go to state 215 + T_MOD_EQUAL shift, and go to state 216 + T_CONCAT_EQUAL shift, and go to state 217 + T_DIV_EQUAL shift, and go to state 218 + T_MUL_EQUAL shift, and go to state 219 + T_MINUS_EQUAL shift, and go to state 220 + T_PLUS_EQUAL shift, and go to state 221 + T_AS shift, and go to state 363 + + T_DEC reduce using rule 334 (@56) + T_INC reduce using rule 334 (@56) + $default reduce using rule 331 (r_variable) + + @56 go to state 222 -state 251 +state 249 57 unticked_statement: T_DECLARE @19 '(' . declare_list ')' declare_statement - T_STRING shift, and go to state 376 + T_STRING shift, and go to state 364 - declare_list go to state 377 + declare_list go to state 365 -state 252 +state 250 35 unticked_statement: T_SWITCH '(' expr . ')' @14 switch_case_list 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -9134,108 +8945,108 @@ state 252 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 378 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 366 -state 253 +state 251 37 unticked_statement: T_BREAK expr ';' . $default reduce using rule 37 (unticked_statement) -state 254 +state 252 39 unticked_statement: T_CONTINUE expr ';' . $default reduce using rule 39 (unticked_statement) -state 255 +state 253 81 is_reference: '&' . $default reduce using rule 81 (is_reference) -state 256 +state 254 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference . T_STRING @28 '(' parameter_list ')' '{' inner_statement_list '}' - T_STRING shift, and go to state 379 + T_STRING shift, and go to state 367 -state 257 +state 255 41 unticked_statement: T_RETURN expr_without_variable ';' . $default reduce using rule 41 (unticked_statement) -state 258 +state 256 42 unticked_statement: T_RETURN variable ';' . $default reduce using rule 42 (unticked_statement) -state 259 +state 257 64 unticked_statement: T_TRY @20 '{' . inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 380 + inner_statement_list go to state 368 -state 260 +state 258 65 unticked_statement: T_THROW expr ';' . $default reduce using rule 65 (unticked_statement) -state 261 +state 259 77 use_filename: '(' T_CONSTANT_ENCAPSED_STRING . ')' - ')' shift, and go to state 381 + ')' shift, and go to state 369 -state 262 +state 260 48 unticked_statement: T_USE use_filename ';' . $default reduce using rule 48 (unticked_statement) -state 263 +state 261 161 global_var: '$' '{' . expr '}' @@ -9282,196 +9093,195 @@ state 263 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 382 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 370 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 264 + +state 262 160 global_var: '$' r_variable . $default reduce using rule 160 (global_var) -state 265 +state 263 - 332 r_variable: variable . + 331 r_variable: variable . - $default reduce using rule 332 (r_variable) + $default reduce using rule 331 (r_variable) -state 266 +state 264 157 global_var_list: global_var_list ',' . global_var - T_VARIABLE shift, and go to state 159 - '$' shift, and go to state 160 + T_VARIABLE shift, and go to state 158 + '$' shift, and go to state 159 - global_var go to state 383 + global_var go to state 371 -state 267 +state 265 43 unticked_statement: T_GLOBAL global_var_list ';' . $default reduce using rule 43 (unticked_statement) -state 268 +state 266 165 static_var_list: T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 389 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 377 + static_class_constant go to state 378 -state 269 +state 267 162 static_var_list: static_var_list ',' . T_VARIABLE 163 | static_var_list ',' . T_VARIABLE '=' static_scalar - T_VARIABLE shift, and go to state 391 + T_VARIABLE shift, and go to state 379 -state 270 +state 268 44 unticked_statement: T_STATIC static_var_list ';' . $default reduce using rule 44 (unticked_statement) -state 271 +state 269 49 unticked_statement: T_UNSET '(' unset_variables . ')' ';' 74 unset_variables: unset_variables . ',' unset_variable - ',' shift, and go to state 392 - ')' shift, and go to state 393 + ',' shift, and go to state 380 + ')' shift, and go to state 381 -state 272 +state 270 73 unset_variables: unset_variable . $default reduce using rule 73 (unset_variables) -state 273 +state 271 75 unset_variable: variable . $default reduce using rule 75 (unset_variable) -state 274 +state 272 - 418 isset_variables: variable . + 408 isset_variables: variable . - $default reduce using rule 418 (isset_variables) + $default reduce using rule 408 (isset_variables) -state 275 +state 273 - 411 internal_functions_in_yacc: T_ISSET '(' isset_variables . ')' - 420 isset_variables: isset_variables . ',' @64 variable + 401 internal_functions_in_yacc: T_ISSET '(' isset_variables . ')' + 410 isset_variables: isset_variables . ',' @64 variable - ',' shift, and go to state 394 - ')' shift, and go to state 395 + ',' shift, and go to state 382 + ')' shift, and go to state 383 -state 276 +state 274 - 412 internal_functions_in_yacc: T_EMPTY '(' variable . ')' + 402 internal_functions_in_yacc: T_EMPTY '(' variable . ')' - ')' shift, and go to state 396 + ')' shift, and go to state 384 -state 277 +state 275 8 top_statement: T_HALT_COMPILER '(' ')' . ';' - ';' shift, and go to state 397 + ';' shift, and go to state 385 -state 278 +state 276 202 expr_without_variable: T_LIST '(' @39 . assignment_list ')' '=' expr - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 - T_LIST shift, and go to state 398 + T_LIST shift, and go to state 386 '$' shift, and go to state 71 - $default reduce using rule 378 (assignment_list_element) + $default reduce using rule 377 (assignment_list_element) - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 399 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - assignment_list go to state 400 - assignment_list_element go to state 401 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 387 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + assignment_list go to state 388 + assignment_list_element go to state 389 -state 279 +state 277 - 388 non_empty_array_pair_list: '&' . w_variable + 387 non_empty_array_pair_list: '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 402 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 390 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 280 +state 278 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -9499,137 +9309,93 @@ state 280 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 383 non_empty_array_pair_list: expr . T_DOUBLE_ARROW expr - 384 | expr . - 387 | expr . T_DOUBLE_ARROW '&' w_variable - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - T_DOUBLE_ARROW shift, and go to state 404 + 382 non_empty_array_pair_list: expr . T_DOUBLE_ARROW expr + 383 | expr . + 386 | expr . T_DOUBLE_ARROW '&' w_variable + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + T_DOUBLE_ARROW shift, and go to state 392 - $default reduce using rule 384 (non_empty_array_pair_list) + $default reduce using rule 383 (non_empty_array_pair_list) -state 281 +state 279 274 expr_without_variable: T_ARRAY '(' array_pair_list . ')' - ')' shift, and go to state 405 - - -state 282 - - 380 array_pair_list: non_empty_array_pair_list . possible_comma - 381 non_empty_array_pair_list: non_empty_array_pair_list . ',' expr T_DOUBLE_ARROW expr - 382 | non_empty_array_pair_list . ',' expr - 385 | non_empty_array_pair_list . ',' expr T_DOUBLE_ARROW '&' w_variable - 386 | non_empty_array_pair_list . ',' '&' w_variable - - ',' shift, and go to state 406 - - $default reduce using rule 324 (possible_comma) - - possible_comma go to state 407 - - -state 283 - - 395 encaps_list: encaps_list '[' . - - $default reduce using rule 395 (encaps_list) - - -state 284 - - 390 encaps_list: encaps_list T_STRING . - - $default reduce using rule 390 (encaps_list) - - -state 285 - - 401 encaps_var: T_VARIABLE . - 403 | T_VARIABLE . '[' @63 encaps_var_offset ']' - 404 | T_VARIABLE . T_OBJECT_OPERATOR T_STRING - - '[' shift, and go to state 408 - T_OBJECT_OPERATOR shift, and go to state 409 - - '[' [reduce using rule 401 (encaps_var)] - T_OBJECT_OPERATOR [reduce using rule 401 (encaps_var)] - $default reduce using rule 401 (encaps_var) - - -state 286 - - 391 encaps_list: encaps_list T_NUM_STRING . - - $default reduce using rule 391 (encaps_list) - + ')' shift, and go to state 393 -state 287 - 393 encaps_list: encaps_list T_CHARACTER . +state 280 - $default reduce using rule 393 (encaps_list) + 379 array_pair_list: non_empty_array_pair_list . possible_comma + 380 non_empty_array_pair_list: non_empty_array_pair_list . ',' expr T_DOUBLE_ARROW expr + 381 | non_empty_array_pair_list . ',' expr + 384 | non_empty_array_pair_list . ',' expr T_DOUBLE_ARROW '&' w_variable + 385 | non_empty_array_pair_list . ',' '&' w_variable + ',' shift, and go to state 394 -state 288 + $default reduce using rule 323 (possible_comma) - 394 encaps_list: encaps_list T_BAD_CHARACTER . + possible_comma go to state 395 - $default reduce using rule 394 (encaps_list) +state 281 -state 289 + 391 encaps_var: T_VARIABLE . + 393 | T_VARIABLE . '[' @63 encaps_var_offset ']' + 394 | T_VARIABLE . T_OBJECT_OPERATOR T_STRING - 392 encaps_list: encaps_list T_ENCAPSED_AND_WHITESPACE . + '[' shift, and go to state 396 + T_OBJECT_OPERATOR shift, and go to state 397 - $default reduce using rule 392 (encaps_list) + $default reduce using rule 391 (encaps_var) -state 290 +state 282 - 399 encaps_list: encaps_list T_OBJECT_OPERATOR . + 389 encaps_list: encaps_list T_ENCAPSED_AND_WHITESPACE . - $default reduce using rule 399 (encaps_list) + $default reduce using rule 389 (encaps_list) -state 291 +state 283 - 321 scalar: T_START_HEREDOC encaps_list T_END_HEREDOC . + 320 scalar: T_START_HEREDOC encaps_list T_END_HEREDOC . - $default reduce using rule 321 (scalar) + $default reduce using rule 320 (scalar) -state 292 +state 284 - 405 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES . expr '}' - 406 | T_DOLLAR_OPEN_CURLY_BRACES . T_STRING_VARNAME '[' expr ']' '}' + 395 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES . expr '}' + 396 | T_DOLLAR_OPEN_CURLY_BRACES . T_STRING_VARNAME '[' expr ']' '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -9657,7 +9423,7 @@ state 292 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 T_STRING shift, and go to state 31 - T_STRING_VARNAME shift, and go to state 410 + T_STRING_VARNAME shift, and go to state 398 T_VARIABLE shift, and go to state 33 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 T_ISSET shift, and go to state 55 @@ -9674,91 +9440,69 @@ state 292 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 411 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 399 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 293 - 407 encaps_var: T_CURLY_OPEN . variable '}' +state 285 + + 397 encaps_var: T_CURLY_OPEN . variable '}' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 412 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - - -state 294 - - 397 encaps_list: encaps_list '{' . - - $default reduce using rule 397 (encaps_list) - - -state 295 - - 398 encaps_list: encaps_list '}' . - - $default reduce using rule 398 (encaps_list) + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 400 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 296 - - 396 encaps_list: encaps_list ']' . - - $default reduce using rule 396 (encaps_list) - - -state 297 +state 286 - 389 encaps_list: encaps_list encaps_var . + 388 encaps_list: encaps_list encaps_var . - $default reduce using rule 389 (encaps_list) + $default reduce using rule 388 (encaps_list) -state 298 +state 287 258 expr_without_variable: '(' expr ')' . $default reduce using rule 258 (expr_without_variable) -state 299 +state 288 17 unticked_statement: '{' inner_statement_list '}' . $default reduce using rule 17 (unticked_statement) -state 300 +state 289 10 inner_statement_list: inner_statement_list @2 . inner_statement @@ -9814,7 +9558,7 @@ state 300 T_UNSET shift, and go to state 54 T_ISSET shift, and go to state 55 T_EMPTY shift, and go to state 56 - T_HALT_COMPILER shift, and go to state 413 + T_HALT_COMPILER shift, and go to state 401 T_CLASS shift, and go to state 58 T_INTERFACE shift, and go to state 59 T_LIST shift, and go to state 60 @@ -9831,38 +9575,37 @@ state 300 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - inner_statement go to state 414 - statement go to state 415 - unticked_statement go to state 77 - function_declaration_statement go to state 416 - class_declaration_statement go to state 417 - unticked_function_declaration_statement go to state 80 - unticked_class_declaration_statement go to state 81 - class_entry_type go to state 82 - interface_entry go to state 83 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + inner_statement go to state 402 + statement go to state 403 + unticked_statement go to state 76 + function_declaration_statement go to state 404 + class_declaration_statement go to state 405 + unticked_function_declaration_statement go to state 79 + unticked_class_declaration_statement go to state 80 + class_entry_type go to state 81 + interface_entry go to state 82 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 301 + +state 290 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -9890,132 +9633,125 @@ state 301 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 360 compound_variable: '$' '{' expr . '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 418 + 359 compound_variable: '$' '{' expr . '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 406 -state 302 +state 291 275 expr_without_variable: '`' encaps_list '`' . $default reduce using rule 275 (expr_without_variable) -state 303 +state 292 319 scalar: '"' encaps_list '"' . $default reduce using rule 319 (scalar) -state 304 - - 320 scalar: ''' encaps_list ''' . - - $default reduce using rule 320 (scalar) - - -state 305 +state 293 93 extends_from: T_EXTENDS . fully_qualified_class_name - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - fully_qualified_class_name go to state 420 + fully_qualified_class_name go to state 408 -state 306 +state 294 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from . @29 implements_list '{' class_statement_list '}' $default reduce using rule 85 (@29) - @29 go to state 421 + @29 go to state 409 -state 307 +state 295 88 unticked_class_declaration_statement: interface_entry T_STRING @30 . interface_extends_list '{' class_statement_list '}' - T_EXTENDS shift, and go to state 422 + T_EXTENDS shift, and go to state 410 $default reduce using rule 95 (interface_extends_list) - interface_extends_list go to state 423 + interface_extends_list go to state 411 -state 308 +state 296 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING . '(' @50 function_call_parameter_list ')' - 421 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING . + 411 class_constant: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING . - '(' shift, and go to state 424 + '(' shift, and go to state 412 - $default reduce using rule 421 (class_constant) + $default reduce using rule 411 (class_constant) -state 309 +state 297 282 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects . '(' @51 function_call_parameter_list ')' - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects . + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects . - '(' shift, and go to state 425 + '(' shift, and go to state 413 - $default reduce using rule 350 (static_member) + $default reduce using rule 349 (static_member) -state 310 +state 298 - 348 variable_without_objects: reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' + 347 variable_without_objects: reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '[' shift, and go to state 227 - '{' shift, and go to state 228 + '[' shift, and go to state 225 + '{' shift, and go to state 226 - $default reduce using rule 348 (variable_without_objects) + $default reduce using rule 347 (variable_without_objects) -state 311 +state 299 - 349 variable_without_objects: simple_indirect_reference . reference_variable - 372 simple_indirect_reference: simple_indirect_reference . '$' + 348 variable_without_objects: simple_indirect_reference . reference_variable + 371 simple_indirect_reference: simple_indirect_reference . '$' T_VARIABLE shift, and go to state 33 - '$' shift, and go to state 229 + '$' shift, and go to state 227 - reference_variable go to state 426 - compound_variable go to state 98 + reference_variable go to state 414 + compound_variable go to state 97 -state 312 +state 300 230 expr_without_variable: expr T_LOGICAL_OR @44 . expr @@ -10062,29 +9798,28 @@ state 312 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 427 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 415 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 313 + +state 301 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10114,35 +9849,35 @@ state 313 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 233 (expr_without_variable) -state 314 +state 302 232 expr_without_variable: expr T_LOGICAL_AND @45 . expr @@ -10189,29 +9924,28 @@ state 314 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 428 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 416 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 315 + +state 303 261 expr_without_variable: expr '?' @46 . expr ':' @47 expr @@ -10258,29 +9992,28 @@ state 315 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 429 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 417 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 316 + +state 304 226 expr_without_variable: expr T_BOOLEAN_OR @42 . expr @@ -10327,29 +10060,28 @@ state 316 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 430 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 418 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 317 + +state 305 228 expr_without_variable: expr T_BOOLEAN_AND @43 . expr @@ -10396,29 +10128,28 @@ state 317 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 431 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 419 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 318 + +state 306 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10448,30 +10179,30 @@ state 318 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 234 (expr_without_variable) -state 319 +state 307 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10501,29 +10232,29 @@ state 319 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 236 (expr_without_variable) -state 320 +state 308 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10553,28 +10284,28 @@ state 320 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 235 (expr_without_variable) -state 321 +state 309 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10604,19 +10335,19 @@ state 321 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 T_IS_NOT_IDENTICAL error (nonassociative) T_IS_IDENTICAL error (nonassociative) @@ -10626,7 +10357,7 @@ state 321 $default reduce using rule 250 (expr_without_variable) -state 322 +state 310 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10656,19 +10387,19 @@ state 322 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 T_IS_NOT_IDENTICAL error (nonassociative) T_IS_IDENTICAL error (nonassociative) @@ -10678,7 +10409,7 @@ state 322 $default reduce using rule 249 (expr_without_variable) -state 323 +state 311 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10708,19 +10439,19 @@ state 323 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 T_IS_NOT_IDENTICAL error (nonassociative) T_IS_IDENTICAL error (nonassociative) @@ -10730,7 +10461,7 @@ state 323 $default reduce using rule 252 (expr_without_variable) -state 324 +state 312 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10760,19 +10491,19 @@ state 324 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 T_IS_NOT_IDENTICAL error (nonassociative) T_IS_IDENTICAL error (nonassociative) @@ -10782,7 +10513,7 @@ state 324 $default reduce using rule 251 (expr_without_variable) -state 325 +state 313 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10812,15 +10543,15 @@ state 325 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 '<' error (nonassociative) '>' error (nonassociative) @@ -10830,7 +10561,7 @@ state 325 $default reduce using rule 253 (expr_without_variable) -state 326 +state 314 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10860,15 +10591,15 @@ state 326 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 '<' error (nonassociative) '>' error (nonassociative) @@ -10878,7 +10609,7 @@ state 326 $default reduce using rule 255 (expr_without_variable) -state 327 +state 315 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10908,15 +10639,15 @@ state 327 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 '<' error (nonassociative) '>' error (nonassociative) @@ -10926,7 +10657,7 @@ state 327 $default reduce using rule 256 (expr_without_variable) -state 328 +state 316 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -10956,15 +10687,15 @@ state 328 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 '<' error (nonassociative) '>' error (nonassociative) @@ -10974,7 +10705,7 @@ state 328 $default reduce using rule 254 (expr_without_variable) -state 329 +state 317 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11004,18 +10735,18 @@ state 329 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 244 (expr_without_variable) -state 330 +state 318 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11045,18 +10776,18 @@ state 330 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 243 (expr_without_variable) -state 331 +state 319 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11086,15 +10817,15 @@ state 331 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 238 (expr_without_variable) -state 332 +state 320 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11124,15 +10855,15 @@ state 332 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 239 (expr_without_variable) -state 333 +state 321 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11162,15 +10893,15 @@ state 333 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 237 (expr_without_variable) -state 334 +state 322 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11200,12 +10931,12 @@ state 334 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_INSTANCEOF shift, and go to state 208 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 240 (expr_without_variable) -state 335 +state 323 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11235,12 +10966,12 @@ state 335 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_INSTANCEOF shift, and go to state 208 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 241 (expr_without_variable) -state 336 +state 324 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -11270,41 +11001,41 @@ state 336 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_INSTANCEOF shift, and go to state 208 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 242 (expr_without_variable) -state 337 +state 325 257 expr_without_variable: expr T_INSTANCEOF class_name_reference . $default reduce using rule 257 (expr_without_variable) -state 338 +state 326 204 expr_without_variable: variable '=' '&' . variable 206 | variable '=' '&' . T_NEW class_name_reference @40 ctor_arguments - T_NEW shift, and go to state 432 - T_STRING shift, and go to state 120 + T_NEW shift, and go to state 420 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 433 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 421 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 339 +state 327 203 expr_without_variable: variable '=' expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11334,34 +11065,34 @@ state 339 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 203 (expr_without_variable) -state 340 +state 328 220 expr_without_variable: variable T_SR_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11391,34 +11122,34 @@ state 340 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 220 (expr_without_variable) -state 341 +state 329 219 expr_without_variable: variable T_SL_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11448,34 +11179,34 @@ state 341 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 219 (expr_without_variable) -state 342 +state 330 218 expr_without_variable: variable T_XOR_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11505,34 +11236,34 @@ state 342 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 218 (expr_without_variable) -state 343 +state 331 217 expr_without_variable: variable T_OR_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11562,34 +11293,34 @@ state 343 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 217 (expr_without_variable) -state 344 +state 332 216 expr_without_variable: variable T_AND_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11619,34 +11350,34 @@ state 344 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 216 (expr_without_variable) -state 345 +state 333 215 expr_without_variable: variable T_MOD_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11676,34 +11407,34 @@ state 345 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 215 (expr_without_variable) -state 346 +state 334 214 expr_without_variable: variable T_CONCAT_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11733,34 +11464,34 @@ state 346 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 214 (expr_without_variable) -state 347 +state 335 213 expr_without_variable: variable T_DIV_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11790,34 +11521,34 @@ state 347 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 213 (expr_without_variable) -state 348 +state 336 212 expr_without_variable: variable T_MUL_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11847,34 +11578,34 @@ state 348 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 212 (expr_without_variable) -state 349 +state 337 211 expr_without_variable: variable T_MINUS_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11904,34 +11635,34 @@ state 349 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 211 (expr_without_variable) -state 350 +state 338 210 expr_without_variable: variable T_PLUS_EQUAL expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -11961,34 +11692,34 @@ state 350 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 210 (expr_without_variable) -state 351 +state 339 284 function_call: variable_without_objects '(' @52 . function_call_parameter_list ')' @@ -11998,7 +11729,7 @@ state 351 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -12036,51 +11767,50 @@ state 351 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 434 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 422 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 352 +state 340 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 . object_property @58 method_or_not variable_properties + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 . object_property @58 method_or_not variable_properties - T_STRING shift, and go to state 435 + T_STRING shift, and go to state 423 T_VARIABLE shift, and go to state 33 - '{' shift, and go to state 436 + '{' shift, and go to state 424 '$' shift, and go to state 71 - variable_without_objects go to state 437 - reference_variable go to state 310 - compound_variable go to state 98 - object_property go to state 438 - object_dim_list go to state 439 - variable_name go to state 440 - simple_indirect_reference go to state 311 + variable_without_objects go to state 425 + reference_variable go to state 298 + compound_variable go to state 97 + object_property go to state 426 + object_dim_list go to state 427 + variable_name go to state 428 + simple_indirect_reference go to state 299 -state 353 +state 341 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -12108,46 +11838,46 @@ state 353 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 362 dim_offset: expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 362 (dim_offset) + 361 dim_offset: expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + $default reduce using rule 361 (dim_offset) -state 354 - 356 reference_variable: reference_variable '[' dim_offset . ']' +state 342 - ']' shift, and go to state 441 + 355 reference_variable: reference_variable '[' dim_offset . ']' + ']' shift, and go to state 429 -state 355 + +state 343 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -12175,59 +11905,59 @@ state 355 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 357 reference_variable: reference_variable '{' expr . '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 442 + 356 reference_variable: reference_variable '{' expr . '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 430 -state 356 +state 344 - 415 internal_functions_in_yacc: T_EVAL '(' expr ')' . + 405 internal_functions_in_yacc: T_EVAL '(' expr ')' . - $default reduce using rule 415 (internal_functions_in_yacc) + $default reduce using rule 405 (internal_functions_in_yacc) -state 357 +state 345 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING . '(' @50 function_call_parameter_list ')' - '(' shift, and go to state 424 + '(' shift, and go to state 412 -state 358 +state 346 - 350 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects . + 349 static_member: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects . - $default reduce using rule 350 (static_member) + $default reduce using rule 349 (static_member) -state 359 +state 347 299 ctor_arguments: '(' . function_call_parameter_list ')' @@ -12237,7 +11967,7 @@ state 359 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -12275,127 +12005,126 @@ state 359 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 443 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 431 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 360 +state 348 208 expr_without_variable: T_NEW class_name_reference @41 ctor_arguments . $default reduce using rule 208 (expr_without_variable) -state 361 +state 349 290 dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR @53 . object_property @54 dynamic_class_name_variable_properties - T_STRING shift, and go to state 435 + T_STRING shift, and go to state 423 T_VARIABLE shift, and go to state 33 - '{' shift, and go to state 436 + '{' shift, and go to state 424 '$' shift, and go to state 71 - variable_without_objects go to state 437 - reference_variable go to state 310 - compound_variable go to state 98 - object_property go to state 444 - object_dim_list go to state 439 - variable_name go to state 440 - simple_indirect_reference go to state 311 + variable_without_objects go to state 425 + reference_variable go to state 298 + compound_variable go to state 97 + object_property go to state 432 + object_dim_list go to state 427 + variable_name go to state 428 + simple_indirect_reference go to state 299 -state 362 +state 350 297 exit_expr: '(' expr ')' . $default reduce using rule 297 (exit_expr) -state 363 +state 351 20 unticked_statement: T_IF '(' expr ')' . @3 statement @4 elseif_list else_single 23 | T_IF '(' expr ')' . ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' - ':' shift, and go to state 445 + ':' shift, and go to state 433 $default reduce using rule 18 (@3) - @3 go to state 446 + @3 go to state 434 -state 364 +state 352 153 non_empty_function_call_parameter_list: '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 447 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 435 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 365 +state 353 278 function_call: T_STRING '(' @49 function_call_parameter_list . ')' - ')' shift, and go to state 448 + ')' shift, and go to state 436 -state 366 +state 354 149 function_call_parameter_list: non_empty_function_call_parameter_list . 154 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list . ',' expr_without_variable 155 | non_empty_function_call_parameter_list . ',' variable 156 | non_empty_function_call_parameter_list . ',' '&' w_variable - ',' shift, and go to state 449 + ',' shift, and go to state 437 $default reduce using rule 149 (function_call_parameter_list) -state 367 +state 355 151 non_empty_function_call_parameter_list: expr_without_variable . - 331 expr: expr_without_variable . + 330 expr: expr_without_variable . ',' reduce using rule 151 (non_empty_function_call_parameter_list) ')' reduce using rule 151 (non_empty_function_call_parameter_list) - $default reduce using rule 331 (expr) + $default reduce using rule 330 (expr) -state 368 +state 356 152 non_empty_function_call_parameter_list: variable . 203 expr_without_variable: variable . '=' expr @@ -12412,32 +12141,32 @@ state 368 218 | variable . T_XOR_EQUAL expr 219 | variable . T_SL_EQUAL expr 220 | variable . T_SR_EQUAL expr - 332 r_variable: variable . - 336 rw_variable: variable . @56 - - '=' shift, and go to state 212 - T_SR_EQUAL shift, and go to state 213 - T_SL_EQUAL shift, and go to state 214 - T_XOR_EQUAL shift, and go to state 215 - T_OR_EQUAL shift, and go to state 216 - T_AND_EQUAL shift, and go to state 217 - T_MOD_EQUAL shift, and go to state 218 - T_CONCAT_EQUAL shift, and go to state 219 - T_DIV_EQUAL shift, and go to state 220 - T_MUL_EQUAL shift, and go to state 221 - T_MINUS_EQUAL shift, and go to state 222 - T_PLUS_EQUAL shift, and go to state 223 + 331 r_variable: variable . + 335 rw_variable: variable . @56 + + '=' shift, and go to state 210 + T_SR_EQUAL shift, and go to state 211 + T_SL_EQUAL shift, and go to state 212 + T_XOR_EQUAL shift, and go to state 213 + T_OR_EQUAL shift, and go to state 214 + T_AND_EQUAL shift, and go to state 215 + T_MOD_EQUAL shift, and go to state 216 + T_CONCAT_EQUAL shift, and go to state 217 + T_DIV_EQUAL shift, and go to state 218 + T_MUL_EQUAL shift, and go to state 219 + T_MINUS_EQUAL shift, and go to state 220 + T_PLUS_EQUAL shift, and go to state 221 ',' reduce using rule 152 (non_empty_function_call_parameter_list) - T_DEC reduce using rule 335 (@56) - T_INC reduce using rule 335 (@56) + T_DEC reduce using rule 334 (@56) + T_INC reduce using rule 334 (@56) ')' reduce using rule 152 (non_empty_function_call_parameter_list) - $default reduce using rule 332 (r_variable) + $default reduce using rule 331 (r_variable) - @56 go to state 224 + @56 go to state 222 -state 369 +state 357 194 echo_expr_list: echo_expr_list ',' expr . 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -12467,44 +12196,44 @@ state 369 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 194 (echo_expr_list) -state 370 +state 358 29 unticked_statement: T_DO @9 statement T_WHILE . '(' @10 expr ')' ';' - '(' shift, and go to state 450 + '(' shift, and go to state 438 -state 371 +state 359 26 unticked_statement: T_WHILE '(' @7 expr . ')' @8 while_statement 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -12534,125 +12263,125 @@ state 371 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 451 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 439 -state 372 +state 360 33 unticked_statement: T_FOR '(' for_expr ';' . @11 for_expr ';' @12 for_expr ')' @13 for_statement $default reduce using rule 30 (@11) - @11 go to state 452 + @11 go to state 440 -state 373 +state 361 199 non_empty_for_expr: non_empty_for_expr ',' . @38 expr $default reduce using rule 198 (@38) - @38 go to state 453 + @38 go to state 441 -state 374 +state 362 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS . @17 variable foreach_optional_arg ')' @18 foreach_statement $default reduce using rule 53 (@17) - @17 go to state 454 + @17 go to state 442 -state 375 +state 363 52 unticked_statement: T_FOREACH '(' variable T_AS . @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement $default reduce using rule 50 (@15) - @15 go to state 455 + @15 go to state 443 -state 376 +state 364 111 declare_list: T_STRING . '=' static_scalar - '=' shift, and go to state 456 + '=' shift, and go to state 444 -state 377 +state 365 57 unticked_statement: T_DECLARE @19 '(' declare_list . ')' declare_statement 112 declare_list: declare_list . ',' T_STRING '=' static_scalar - ',' shift, and go to state 457 - ')' shift, and go to state 458 + ',' shift, and go to state 445 + ')' shift, and go to state 446 -state 378 +state 366 35 unticked_statement: T_SWITCH '(' expr ')' . @14 switch_case_list $default reduce using rule 34 (@14) - @14 go to state 459 + @14 go to state 447 -state 379 +state 367 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING . @28 '(' parameter_list ')' '{' inner_statement_list '}' $default reduce using rule 83 (@28) - @28 go to state 460 + @28 go to state 448 -state 380 +state 368 10 inner_statement_list: inner_statement_list . @2 inner_statement 64 unticked_statement: T_TRY @20 '{' inner_statement_list . '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - '}' shift, and go to state 461 + '}' shift, and go to state 449 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 381 +state 369 77 use_filename: '(' T_CONSTANT_ENCAPSED_STRING ')' . $default reduce using rule 77 (use_filename) -state 382 +state 370 161 global_var: '$' '{' expr . '}' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -12682,242 +12411,242 @@ state 382 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 462 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 450 -state 383 +state 371 157 global_var_list: global_var_list ',' global_var . $default reduce using rule 157 (global_var_list) -state 384 +state 372 310 static_scalar: '+' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 463 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 451 + static_class_constant go to state 378 -state 385 +state 373 311 static_scalar: '-' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 464 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 452 + static_class_constant go to state 378 -state 386 +state 374 309 static_scalar: T_STRING . 314 static_class_constant: T_STRING . T_PAAMAYIM_NEKUDOTAYIM T_STRING - T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 465 + T_PAAMAYIM_NEKUDOTAYIM shift, and go to state 453 $default reduce using rule 309 (static_scalar) -state 387 +state 375 312 static_scalar: T_ARRAY . '(' static_array_pair_list ')' - '(' shift, and go to state 466 + '(' shift, and go to state 454 -state 388 +state 376 308 static_scalar: common_scalar . $default reduce using rule 308 (static_scalar) -state 389 +state 377 165 static_var_list: T_VARIABLE '=' static_scalar . $default reduce using rule 165 (static_var_list) -state 390 +state 378 313 static_scalar: static_class_constant . $default reduce using rule 313 (static_scalar) -state 391 +state 379 162 static_var_list: static_var_list ',' T_VARIABLE . 163 | static_var_list ',' T_VARIABLE . '=' static_scalar - '=' shift, and go to state 467 + '=' shift, and go to state 455 $default reduce using rule 162 (static_var_list) -state 392 +state 380 74 unset_variables: unset_variables ',' . unset_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - unset_variable go to state 468 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 273 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + unset_variable go to state 456 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 271 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 393 +state 381 49 unticked_statement: T_UNSET '(' unset_variables ')' . ';' - ';' shift, and go to state 469 + ';' shift, and go to state 457 -state 394 +state 382 - 420 isset_variables: isset_variables ',' . @64 variable + 410 isset_variables: isset_variables ',' . @64 variable - $default reduce using rule 419 (@64) + $default reduce using rule 409 (@64) - @64 go to state 470 + @64 go to state 458 -state 395 +state 383 - 411 internal_functions_in_yacc: T_ISSET '(' isset_variables ')' . + 401 internal_functions_in_yacc: T_ISSET '(' isset_variables ')' . - $default reduce using rule 411 (internal_functions_in_yacc) + $default reduce using rule 401 (internal_functions_in_yacc) -state 396 +state 384 - 412 internal_functions_in_yacc: T_EMPTY '(' variable ')' . + 402 internal_functions_in_yacc: T_EMPTY '(' variable ')' . - $default reduce using rule 412 (internal_functions_in_yacc) + $default reduce using rule 402 (internal_functions_in_yacc) -state 397 +state 385 8 top_statement: T_HALT_COMPILER '(' ')' ';' . $default reduce using rule 8 (top_statement) -state 398 +state 386 - 377 assignment_list_element: T_LIST . '(' @62 assignment_list ')' + 376 assignment_list_element: T_LIST . '(' @62 assignment_list ')' - '(' shift, and go to state 471 + '(' shift, and go to state 459 -state 399 +state 387 - 375 assignment_list_element: variable . + 374 assignment_list_element: variable . - $default reduce using rule 375 (assignment_list_element) + $default reduce using rule 374 (assignment_list_element) -state 400 +state 388 202 expr_without_variable: T_LIST '(' @39 assignment_list . ')' '=' expr - 373 assignment_list: assignment_list . ',' assignment_list_element + 372 assignment_list: assignment_list . ',' assignment_list_element - ',' shift, and go to state 472 - ')' shift, and go to state 473 + ',' shift, and go to state 460 + ')' shift, and go to state 461 -state 401 +state 389 - 374 assignment_list: assignment_list_element . + 373 assignment_list: assignment_list_element . - $default reduce using rule 374 (assignment_list) + $default reduce using rule 373 (assignment_list) -state 402 +state 390 - 388 non_empty_array_pair_list: '&' w_variable . + 387 non_empty_array_pair_list: '&' w_variable . - $default reduce using rule 388 (non_empty_array_pair_list) + $default reduce using rule 387 (non_empty_array_pair_list) -state 403 +state 391 - 334 w_variable: variable . @55 + 333 w_variable: variable . @55 - $default reduce using rule 333 (@55) + $default reduce using rule 332 (@55) - @55 go to state 474 + @55 go to state 462 -state 404 +state 392 - 383 non_empty_array_pair_list: expr T_DOUBLE_ARROW . expr - 387 | expr T_DOUBLE_ARROW . '&' w_variable + 382 non_empty_array_pair_list: expr T_DOUBLE_ARROW . expr + 386 | expr T_DOUBLE_ARROW . '&' w_variable T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -12925,7 +12654,7 @@ state 404 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 475 + '&' shift, and go to state 463 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -12963,42 +12692,41 @@ state 404 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 476 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 464 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 405 + +state 393 274 expr_without_variable: T_ARRAY '(' array_pair_list ')' . $default reduce using rule 274 (expr_without_variable) -state 406 +state 394 - 325 possible_comma: ',' . - 381 non_empty_array_pair_list: non_empty_array_pair_list ',' . expr T_DOUBLE_ARROW expr - 382 | non_empty_array_pair_list ',' . expr - 385 | non_empty_array_pair_list ',' . expr T_DOUBLE_ARROW '&' w_variable - 386 | non_empty_array_pair_list ',' . '&' w_variable + 324 possible_comma: ',' . + 380 non_empty_array_pair_list: non_empty_array_pair_list ',' . expr T_DOUBLE_ARROW expr + 381 | non_empty_array_pair_list ',' . expr + 384 | non_empty_array_pair_list ',' . expr T_DOUBLE_ARROW '&' w_variable + 385 | non_empty_array_pair_list ',' . '&' w_variable T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -13006,7 +12734,7 @@ state 406 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 477 + '&' shift, and go to state 465 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -13044,64 +12772,63 @@ state 406 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - $default reduce using rule 325 (possible_comma) - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 478 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + $default reduce using rule 324 (possible_comma) + + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 466 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 407 - 380 array_pair_list: non_empty_array_pair_list possible_comma . +state 395 - $default reduce using rule 380 (array_pair_list) + 379 array_pair_list: non_empty_array_pair_list possible_comma . + $default reduce using rule 379 (array_pair_list) -state 408 - 403 encaps_var: T_VARIABLE '[' . @63 encaps_var_offset ']' +state 396 - $default reduce using rule 402 (@63) + 393 encaps_var: T_VARIABLE '[' . @63 encaps_var_offset ']' - @63 go to state 479 + $default reduce using rule 392 (@63) + @63 go to state 467 -state 409 - 404 encaps_var: T_VARIABLE T_OBJECT_OPERATOR . T_STRING +state 397 - T_STRING shift, and go to state 480 + 394 encaps_var: T_VARIABLE T_OBJECT_OPERATOR . T_STRING + T_STRING shift, and go to state 468 -state 410 + +state 398 316 scalar: T_STRING_VARNAME . - 406 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME . '[' expr ']' '}' + 396 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME . '[' expr ']' '}' - '[' shift, and go to state 481 + '[' shift, and go to state 469 $default reduce using rule 316 (scalar) -state 411 +state 399 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -13129,159 +12856,159 @@ state 411 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 405 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES expr . '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 482 + 395 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES expr . '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 470 -state 412 +state 400 - 407 encaps_var: T_CURLY_OPEN variable . '}' + 397 encaps_var: T_CURLY_OPEN variable . '}' - '}' shift, and go to state 483 + '}' shift, and go to state 471 -state 413 +state 401 15 inner_statement: T_HALT_COMPILER . '(' ')' ';' - '(' shift, and go to state 484 + '(' shift, and go to state 472 -state 414 +state 402 10 inner_statement_list: inner_statement_list @2 inner_statement . $default reduce using rule 10 (inner_statement_list) -state 415 +state 403 12 inner_statement: statement . $default reduce using rule 12 (inner_statement) -state 416 +state 404 13 inner_statement: function_declaration_statement . $default reduce using rule 13 (inner_statement) -state 417 +state 405 14 inner_statement: class_declaration_statement . $default reduce using rule 14 (inner_statement) -state 418 +state 406 - 360 compound_variable: '$' '{' expr '}' . + 359 compound_variable: '$' '{' expr '}' . - $default reduce using rule 360 (compound_variable) + $default reduce using rule 359 (compound_variable) -state 419 +state 407 285 fully_qualified_class_name: T_STRING . $default reduce using rule 285 (fully_qualified_class_name) -state 420 +state 408 93 extends_from: T_EXTENDS fully_qualified_class_name . $default reduce using rule 93 (extends_from) -state 421 +state 409 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from @29 . implements_list '{' class_statement_list '}' - T_IMPLEMENTS shift, and go to state 485 + T_IMPLEMENTS shift, and go to state 473 $default reduce using rule 97 (implements_list) - implements_list go to state 486 + implements_list go to state 474 -state 422 +state 410 96 interface_extends_list: T_EXTENDS . interface_list - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - interface_list go to state 487 - fully_qualified_class_name go to state 488 + interface_list go to state 475 + fully_qualified_class_name go to state 476 -state 423 +state 411 88 unticked_class_declaration_statement: interface_entry T_STRING @30 interface_extends_list . '{' class_statement_list '}' - '{' shift, and go to state 489 + '{' shift, and go to state 477 -state 424 +state 412 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' . @50 function_call_parameter_list ')' $default reduce using rule 279 (@50) - @50 go to state 490 + @50 go to state 478 -state 425 +state 413 282 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' . @51 function_call_parameter_list ')' $default reduce using rule 281 (@51) - @51 go to state 491 + @51 go to state 479 -state 426 +state 414 - 349 variable_without_objects: simple_indirect_reference reference_variable . - 356 reference_variable: reference_variable . '[' dim_offset ']' - 357 | reference_variable . '{' expr '}' + 348 variable_without_objects: simple_indirect_reference reference_variable . + 355 reference_variable: reference_variable . '[' dim_offset ']' + 356 | reference_variable . '{' expr '}' - '[' shift, and go to state 227 - '{' shift, and go to state 228 + '[' shift, and go to state 225 + '{' shift, and go to state 226 - $default reduce using rule 349 (variable_without_objects) + $default reduce using rule 348 (variable_without_objects) -state 427 +state 415 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -13311,36 +13038,36 @@ state 427 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 230 (expr_without_variable) -state 428 +state 416 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -13370,34 +13097,34 @@ state 428 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 232 (expr_without_variable) -state 429 +state 417 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -13427,36 +13154,36 @@ state 429 261 | expr . '?' @46 expr ':' @47 expr 261 | expr '?' @46 expr . ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - ':' shift, and go to state 492 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + ':' shift, and go to state 480 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 -state 430 +state 418 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 226 | expr T_BOOLEAN_OR @42 expr . @@ -13486,32 +13213,32 @@ state 430 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 226 (expr_without_variable) -state 431 +state 419 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -13541,72 +13268,72 @@ state 431 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 228 (expr_without_variable) -state 432 +state 420 206 expr_without_variable: variable '=' '&' T_NEW . class_name_reference @40 ctor_arguments - T_STRING shift, and go to state 126 + T_STRING shift, and go to state 125 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - fully_qualified_class_name go to state 127 - class_name_reference go to state 493 - dynamic_class_name_reference go to state 129 - static_member go to state 94 - base_variable go to state 130 - reference_variable go to state 131 - compound_variable go to state 98 - simple_indirect_reference go to state 132 + fully_qualified_class_name go to state 126 + class_name_reference go to state 481 + dynamic_class_name_reference go to state 128 + static_member go to state 93 + base_variable go to state 129 + reference_variable go to state 130 + compound_variable go to state 97 + simple_indirect_reference go to state 131 -state 433 +state 421 204 expr_without_variable: variable '=' '&' variable . $default reduce using rule 204 (expr_without_variable) -state 434 +state 422 284 function_call: variable_without_objects '(' @52 function_call_parameter_list . ')' - ')' shift, and go to state 494 + ')' shift, and go to state 482 -state 435 +state 423 - 369 variable_name: T_STRING . + 368 variable_name: T_STRING . - $default reduce using rule 369 (variable_name) + $default reduce using rule 368 (variable_name) -state 436 +state 424 - 370 variable_name: '{' . expr '}' + 369 variable_name: '{' . expr '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -13651,105 +13378,104 @@ state 436 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 495 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 483 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 437 - 365 object_property: variable_without_objects . @61 +state 425 - $default reduce using rule 364 (@61) + 364 object_property: variable_without_objects . @61 - @61 go to state 496 + $default reduce using rule 363 (@61) + @61 go to state 484 -state 438 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property . @58 method_or_not variable_properties +state 426 - $default reduce using rule 338 (@58) + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property . @58 method_or_not variable_properties - @58 go to state 497 + $default reduce using rule 337 (@58) + @58 go to state 485 -state 439 - 363 object_property: object_dim_list . - 366 object_dim_list: object_dim_list . '[' dim_offset ']' - 367 | object_dim_list . '{' expr '}' +state 427 - '[' shift, and go to state 498 - '{' shift, and go to state 499 + 362 object_property: object_dim_list . + 365 object_dim_list: object_dim_list . '[' dim_offset ']' + 366 | object_dim_list . '{' expr '}' - $default reduce using rule 363 (object_property) + '[' shift, and go to state 486 + '{' shift, and go to state 487 + $default reduce using rule 362 (object_property) -state 440 - 368 object_dim_list: variable_name . +state 428 - $default reduce using rule 368 (object_dim_list) + 367 object_dim_list: variable_name . + $default reduce using rule 367 (object_dim_list) -state 441 - 356 reference_variable: reference_variable '[' dim_offset ']' . +state 429 - $default reduce using rule 356 (reference_variable) + 355 reference_variable: reference_variable '[' dim_offset ']' . + $default reduce using rule 355 (reference_variable) -state 442 - 357 reference_variable: reference_variable '{' expr '}' . +state 430 - $default reduce using rule 357 (reference_variable) + 356 reference_variable: reference_variable '{' expr '}' . + + $default reduce using rule 356 (reference_variable) -state 443 +state 431 299 ctor_arguments: '(' function_call_parameter_list . ')' - ')' shift, and go to state 500 + ')' shift, and go to state 488 -state 444 +state 432 290 dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR @53 object_property . @54 dynamic_class_name_variable_properties $default reduce using rule 289 (@54) - @54 go to state 501 + @54 go to state 489 -state 445 +state 433 23 unticked_statement: T_IF '(' expr ')' ':' . @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' $default reduce using rule 21 (@5) - @5 go to state 502 + @5 go to state 490 -state 446 +state 434 20 unticked_statement: T_IF '(' expr ')' @3 . statement @4 elseif_list else_single @@ -13816,45 +13542,44 @@ state 446 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 503 - unticked_statement go to state 77 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 491 + unticked_statement go to state 76 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 447 + +state 435 153 non_empty_function_call_parameter_list: '&' w_variable . $default reduce using rule 153 (non_empty_function_call_parameter_list) -state 448 +state 436 278 function_call: T_STRING '(' @49 function_call_parameter_list ')' . $default reduce using rule 278 (function_call) -state 449 +state 437 154 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list ',' . expr_without_variable 155 | non_empty_function_call_parameter_list ',' . variable @@ -13866,7 +13591,7 @@ state 449 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 504 + '&' shift, and go to state 492 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -13904,47 +13629,46 @@ state 449 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 505 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 506 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 493 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 494 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 450 + +state 438 29 unticked_statement: T_DO @9 statement T_WHILE '(' . @10 expr ')' ';' $default reduce using rule 28 (@10) - @10 go to state 507 + @10 go to state 495 -state 451 +state 439 26 unticked_statement: T_WHILE '(' @7 expr ')' . @8 while_statement $default reduce using rule 25 (@8) - @8 go to state 508 + @8 go to state 496 -state 452 +state 440 33 unticked_statement: T_FOR '(' for_expr ';' @11 . for_expr ';' @12 for_expr ')' @13 for_statement @@ -13991,33 +13715,32 @@ state 452 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 196 (for_expr) - for_expr go to state 509 - non_empty_for_expr go to state 247 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 248 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + for_expr go to state 497 + non_empty_for_expr go to state 245 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 246 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 453 +state 441 199 non_empty_for_expr: non_empty_for_expr ',' @38 . expr @@ -14064,100 +13787,99 @@ state 453 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 510 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 498 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 454 + +state 442 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 . variable foreach_optional_arg ')' @18 foreach_statement - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 511 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 499 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 455 +state 443 52 unticked_statement: T_FOREACH '(' variable T_AS @15 . foreach_variable foreach_optional_arg ')' @16 foreach_statement - '&' shift, and go to state 512 - T_STRING shift, and go to state 120 + '&' shift, and go to state 500 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - foreach_variable go to state 513 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 514 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + foreach_variable go to state 501 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 502 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 456 +state 444 111 declare_list: T_STRING '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 515 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 503 + static_class_constant go to state 378 -state 457 +state 445 112 declare_list: declare_list ',' . T_STRING '=' static_scalar - T_STRING shift, and go to state 516 + T_STRING shift, and go to state 504 -state 458 +state 446 57 unticked_statement: T_DECLARE @19 '(' declare_list ')' . declare_statement @@ -14167,7 +13889,7 @@ state 458 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - ':' shift, and go to state 517 + ':' shift, and go to state 505 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -14225,234 +13947,233 @@ state 458 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 518 - unticked_statement go to state 77 - declare_statement go to state 519 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 506 + unticked_statement go to state 76 + declare_statement go to state 507 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 459 + +state 447 35 unticked_statement: T_SWITCH '(' expr ')' @14 . switch_case_list - ':' shift, and go to state 520 - '{' shift, and go to state 521 + ':' shift, and go to state 508 + '{' shift, and go to state 509 - switch_case_list go to state 522 + switch_case_list go to state 510 -state 460 +state 448 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 . '(' parameter_list ')' '{' inner_statement_list '}' - '(' shift, and go to state 523 + '(' shift, and go to state 511 -state 461 +state 449 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' . T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - T_CATCH shift, and go to state 524 + T_CATCH shift, and go to state 512 -state 462 +state 450 161 global_var: '$' '{' expr '}' . $default reduce using rule 161 (global_var) -state 463 +state 451 310 static_scalar: '+' static_scalar . $default reduce using rule 310 (static_scalar) -state 464 +state 452 311 static_scalar: '-' static_scalar . $default reduce using rule 311 (static_scalar) -state 465 +state 453 314 static_class_constant: T_STRING T_PAAMAYIM_NEKUDOTAYIM . T_STRING - T_STRING shift, and go to state 525 + T_STRING shift, and go to state 513 -state 466 +state 454 312 static_scalar: T_ARRAY '(' . static_array_pair_list ')' - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - $default reduce using rule 322 (static_array_pair_list) + $default reduce using rule 321 (static_array_pair_list) - common_scalar go to state 388 - static_scalar go to state 526 - static_class_constant go to state 390 - static_array_pair_list go to state 527 - non_empty_static_array_pair_list go to state 528 + common_scalar go to state 376 + static_scalar go to state 514 + static_class_constant go to state 378 + static_array_pair_list go to state 515 + non_empty_static_array_pair_list go to state 516 -state 467 +state 455 163 static_var_list: static_var_list ',' T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 529 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 517 + static_class_constant go to state 378 -state 468 +state 456 74 unset_variables: unset_variables ',' unset_variable . $default reduce using rule 74 (unset_variables) -state 469 +state 457 49 unticked_statement: T_UNSET '(' unset_variables ')' ';' . $default reduce using rule 49 (unticked_statement) -state 470 +state 458 - 420 isset_variables: isset_variables ',' @64 . variable + 410 isset_variables: isset_variables ',' @64 . variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 530 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 518 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 471 +state 459 - 377 assignment_list_element: T_LIST '(' . @62 assignment_list ')' + 376 assignment_list_element: T_LIST '(' . @62 assignment_list ')' - $default reduce using rule 376 (@62) + $default reduce using rule 375 (@62) - @62 go to state 531 + @62 go to state 519 -state 472 +state 460 - 373 assignment_list: assignment_list ',' . assignment_list_element + 372 assignment_list: assignment_list ',' . assignment_list_element - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 - T_LIST shift, and go to state 398 + T_LIST shift, and go to state 386 '$' shift, and go to state 71 - $default reduce using rule 378 (assignment_list_element) + $default reduce using rule 377 (assignment_list_element) - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 399 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - assignment_list_element go to state 532 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 387 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + assignment_list_element go to state 520 -state 473 +state 461 202 expr_without_variable: T_LIST '(' @39 assignment_list ')' . '=' expr - '=' shift, and go to state 533 + '=' shift, and go to state 521 -state 474 +state 462 - 334 w_variable: variable @55 . + 333 w_variable: variable @55 . - $default reduce using rule 334 (w_variable) + $default reduce using rule 333 (w_variable) -state 475 +state 463 - 387 non_empty_array_pair_list: expr T_DOUBLE_ARROW '&' . w_variable + 386 non_empty_array_pair_list: expr T_DOUBLE_ARROW '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 534 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 522 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 476 +state 464 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -14480,60 +14201,60 @@ state 476 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 383 non_empty_array_pair_list: expr T_DOUBLE_ARROW expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + 382 non_empty_array_pair_list: expr T_DOUBLE_ARROW expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 - $default reduce using rule 383 (non_empty_array_pair_list) + $default reduce using rule 382 (non_empty_array_pair_list) -state 477 +state 465 - 386 non_empty_array_pair_list: non_empty_array_pair_list ',' '&' . w_variable + 385 non_empty_array_pair_list: non_empty_array_pair_list ',' '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 535 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 523 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 478 +state 466 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -14561,62 +14282,62 @@ state 478 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 381 non_empty_array_pair_list: non_empty_array_pair_list ',' expr . T_DOUBLE_ARROW expr - 382 | non_empty_array_pair_list ',' expr . - 385 | non_empty_array_pair_list ',' expr . T_DOUBLE_ARROW '&' w_variable - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - T_DOUBLE_ARROW shift, and go to state 536 + 380 non_empty_array_pair_list: non_empty_array_pair_list ',' expr . T_DOUBLE_ARROW expr + 381 | non_empty_array_pair_list ',' expr . + 384 | non_empty_array_pair_list ',' expr . T_DOUBLE_ARROW '&' w_variable + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + T_DOUBLE_ARROW shift, and go to state 524 - $default reduce using rule 382 (non_empty_array_pair_list) + $default reduce using rule 381 (non_empty_array_pair_list) -state 479 +state 467 - 403 encaps_var: T_VARIABLE '[' @63 . encaps_var_offset ']' + 393 encaps_var: T_VARIABLE '[' @63 . encaps_var_offset ']' - T_STRING shift, and go to state 537 - T_VARIABLE shift, and go to state 538 - T_NUM_STRING shift, and go to state 539 + T_STRING shift, and go to state 525 + T_VARIABLE shift, and go to state 526 + T_NUM_STRING shift, and go to state 527 - encaps_var_offset go to state 540 + encaps_var_offset go to state 528 -state 480 +state 468 - 404 encaps_var: T_VARIABLE T_OBJECT_OPERATOR T_STRING . + 394 encaps_var: T_VARIABLE T_OBJECT_OPERATOR T_STRING . - $default reduce using rule 404 (encaps_var) + $default reduce using rule 394 (encaps_var) -state 481 +state 469 - 406 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' . expr ']' '}' + 396 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' . expr ']' '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -14661,93 +14382,92 @@ state 481 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 541 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 529 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 482 - 405 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES expr '}' . +state 470 - $default reduce using rule 405 (encaps_var) + 395 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES expr '}' . + $default reduce using rule 395 (encaps_var) -state 483 - 407 encaps_var: T_CURLY_OPEN variable '}' . +state 471 - $default reduce using rule 407 (encaps_var) + 397 encaps_var: T_CURLY_OPEN variable '}' . + $default reduce using rule 397 (encaps_var) -state 484 + +state 472 15 inner_statement: T_HALT_COMPILER '(' . ')' ';' - ')' shift, and go to state 542 + ')' shift, and go to state 530 -state 485 +state 473 98 implements_list: T_IMPLEMENTS . interface_list - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - interface_list go to state 543 - fully_qualified_class_name go to state 488 + interface_list go to state 531 + fully_qualified_class_name go to state 476 -state 486 +state 474 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from @29 implements_list . '{' class_statement_list '}' - '{' shift, and go to state 544 + '{' shift, and go to state 532 -state 487 +state 475 96 interface_extends_list: T_EXTENDS interface_list . 100 interface_list: interface_list . ',' fully_qualified_class_name - ',' shift, and go to state 545 + ',' shift, and go to state 533 $default reduce using rule 96 (interface_extends_list) -state 488 +state 476 99 interface_list: fully_qualified_class_name . $default reduce using rule 99 (interface_list) -state 489 +state 477 88 unticked_class_declaration_statement: interface_entry T_STRING @30 interface_extends_list '{' . class_statement_list '}' $default reduce using rule 167 (class_statement_list) - class_statement_list go to state 546 + class_statement_list go to state 534 -state 490 +state 478 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' @50 . function_call_parameter_list ')' @@ -14757,7 +14477,7 @@ state 490 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -14795,33 +14515,32 @@ state 490 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 547 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 535 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 491 +state 479 282 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' @51 . function_call_parameter_list ')' @@ -14831,7 +14550,7 @@ state 491 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -14869,58 +14588,57 @@ state 491 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 548 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 536 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 492 +state 480 261 expr_without_variable: expr '?' @46 expr ':' . @47 expr $default reduce using rule 260 (@47) - @47 go to state 549 + @47 go to state 537 -state 493 +state 481 206 expr_without_variable: variable '=' '&' T_NEW class_name_reference . @40 ctor_arguments $default reduce using rule 205 (@40) - @40 go to state 550 + @40 go to state 538 -state 494 +state 482 284 function_call: variable_without_objects '(' @52 function_call_parameter_list ')' . $default reduce using rule 284 (function_call) -state 495 +state 483 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -14948,58 +14666,58 @@ state 495 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 370 variable_name: '{' expr . '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 551 + 369 variable_name: '{' expr . '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 539 -state 496 +state 484 - 365 object_property: variable_without_objects @61 . + 364 object_property: variable_without_objects @61 . - $default reduce using rule 365 (object_property) + $default reduce using rule 364 (object_property) -state 497 +state 485 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 . method_or_not variable_properties + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 . method_or_not variable_properties - '(' shift, and go to state 552 + '(' shift, and go to state 540 - $default reduce using rule 347 (method_or_not) + $default reduce using rule 346 (method_or_not) - method_or_not go to state 553 + method_or_not go to state 541 -state 498 +state 486 - 366 object_dim_list: object_dim_list '[' . dim_offset ']' + 365 object_dim_list: object_dim_list '[' . dim_offset ']' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -15044,34 +14762,33 @@ state 498 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - $default reduce using rule 361 (dim_offset) + $default reduce using rule 360 (dim_offset) - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 353 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - dim_offset go to state 554 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 341 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + dim_offset go to state 542 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 499 +state 487 - 367 object_dim_list: object_dim_list '{' . expr '}' + 366 object_dim_list: object_dim_list '{' . expr '}' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -15116,94 +14833,93 @@ state 499 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 555 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 543 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 500 + +state 488 299 ctor_arguments: '(' function_call_parameter_list ')' . $default reduce using rule 299 (ctor_arguments) -state 501 +state 489 290 dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR @53 object_property @54 . dynamic_class_name_variable_properties $default reduce using rule 293 (dynamic_class_name_variable_properties) - dynamic_class_name_variable_properties go to state 556 + dynamic_class_name_variable_properties go to state 544 -state 502 +state 490 23 unticked_statement: T_IF '(' expr ')' ':' @5 . inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 557 + inner_statement_list go to state 545 -state 503 +state 491 20 unticked_statement: T_IF '(' expr ')' @3 statement . @4 elseif_list else_single $default reduce using rule 19 (@4) - @4 go to state 558 + @4 go to state 546 -state 504 +state 492 156 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list ',' '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 559 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 547 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 505 +state 493 154 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list ',' expr_without_variable . - 331 expr: expr_without_variable . + 330 expr: expr_without_variable . ',' reduce using rule 154 (non_empty_function_call_parameter_list) ')' reduce using rule 154 (non_empty_function_call_parameter_list) - $default reduce using rule 331 (expr) + $default reduce using rule 330 (expr) -state 506 +state 494 155 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list ',' variable . 203 expr_without_variable: variable . '=' expr @@ -15220,32 +14936,32 @@ state 506 218 | variable . T_XOR_EQUAL expr 219 | variable . T_SL_EQUAL expr 220 | variable . T_SR_EQUAL expr - 332 r_variable: variable . - 336 rw_variable: variable . @56 - - '=' shift, and go to state 212 - T_SR_EQUAL shift, and go to state 213 - T_SL_EQUAL shift, and go to state 214 - T_XOR_EQUAL shift, and go to state 215 - T_OR_EQUAL shift, and go to state 216 - T_AND_EQUAL shift, and go to state 217 - T_MOD_EQUAL shift, and go to state 218 - T_CONCAT_EQUAL shift, and go to state 219 - T_DIV_EQUAL shift, and go to state 220 - T_MUL_EQUAL shift, and go to state 221 - T_MINUS_EQUAL shift, and go to state 222 - T_PLUS_EQUAL shift, and go to state 223 + 331 r_variable: variable . + 335 rw_variable: variable . @56 + + '=' shift, and go to state 210 + T_SR_EQUAL shift, and go to state 211 + T_SL_EQUAL shift, and go to state 212 + T_XOR_EQUAL shift, and go to state 213 + T_OR_EQUAL shift, and go to state 214 + T_AND_EQUAL shift, and go to state 215 + T_MOD_EQUAL shift, and go to state 216 + T_CONCAT_EQUAL shift, and go to state 217 + T_DIV_EQUAL shift, and go to state 218 + T_MUL_EQUAL shift, and go to state 219 + T_MINUS_EQUAL shift, and go to state 220 + T_PLUS_EQUAL shift, and go to state 221 ',' reduce using rule 155 (non_empty_function_call_parameter_list) - T_DEC reduce using rule 335 (@56) - T_INC reduce using rule 335 (@56) + T_DEC reduce using rule 334 (@56) + T_INC reduce using rule 334 (@56) ')' reduce using rule 155 (non_empty_function_call_parameter_list) - $default reduce using rule 332 (r_variable) + $default reduce using rule 331 (r_variable) - @56 go to state 224 + @56 go to state 222 -state 507 +state 495 29 unticked_statement: T_DO @9 statement T_WHILE '(' @10 . expr ')' ';' @@ -15292,29 +15008,28 @@ state 507 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 560 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 548 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 508 + +state 496 26 unticked_statement: T_WHILE '(' @7 expr ')' @8 . while_statement @@ -15324,7 +15039,7 @@ state 508 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - ':' shift, and go to state 561 + ':' shift, and go to state 549 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -15382,39 +15097,38 @@ state 508 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 562 - unticked_statement go to state 77 - while_statement go to state 563 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 550 + unticked_statement go to state 76 + while_statement go to state 551 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 509 + +state 497 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr . ';' @12 for_expr ')' @13 for_statement - ';' shift, and go to state 564 + ';' shift, and go to state 552 -state 510 +state 498 199 non_empty_for_expr: non_empty_for_expr ',' @38 expr . 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -15444,259 +15158,259 @@ state 510 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 199 (non_empty_for_expr) -state 511 +state 499 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 variable . foreach_optional_arg ')' @18 foreach_statement - T_DOUBLE_ARROW shift, and go to state 565 + T_DOUBLE_ARROW shift, and go to state 553 $default reduce using rule 101 (foreach_optional_arg) - foreach_optional_arg go to state 566 + foreach_optional_arg go to state 554 -state 512 +state 500 104 foreach_variable: '&' . variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 567 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 555 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 513 +state 501 52 unticked_statement: T_FOREACH '(' variable T_AS @15 foreach_variable . foreach_optional_arg ')' @16 foreach_statement - T_DOUBLE_ARROW shift, and go to state 565 + T_DOUBLE_ARROW shift, and go to state 553 $default reduce using rule 101 (foreach_optional_arg) - foreach_optional_arg go to state 568 + foreach_optional_arg go to state 556 -state 514 +state 502 103 foreach_variable: variable . $default reduce using rule 103 (foreach_variable) -state 515 +state 503 111 declare_list: T_STRING '=' static_scalar . $default reduce using rule 111 (declare_list) -state 516 +state 504 112 declare_list: declare_list ',' T_STRING . '=' static_scalar - '=' shift, and go to state 569 + '=' shift, and go to state 557 -state 517 +state 505 110 declare_statement: ':' . inner_statement_list T_ENDDECLARE ';' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 570 + inner_statement_list go to state 558 -state 518 +state 506 109 declare_statement: statement . $default reduce using rule 109 (declare_statement) -state 519 +state 507 57 unticked_statement: T_DECLARE @19 '(' declare_list ')' declare_statement . $default reduce using rule 57 (unticked_statement) -state 520 +state 508 115 switch_case_list: ':' . case_list T_ENDSWITCH ';' 116 | ':' . ';' case_list T_ENDSWITCH ';' - ';' shift, and go to state 571 + ';' shift, and go to state 559 $default reduce using rule 117 (case_list) - case_list go to state 572 + case_list go to state 560 -state 521 +state 509 113 switch_case_list: '{' . case_list '}' 114 | '{' . ';' case_list '}' - ';' shift, and go to state 573 + ';' shift, and go to state 561 $default reduce using rule 117 (case_list) - case_list go to state 574 + case_list go to state 562 -state 522 +state 510 35 unticked_statement: T_SWITCH '(' expr ')' @14 switch_case_list . $default reduce using rule 35 (unticked_statement) -state 523 +state 511 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' . parameter_list ')' '{' inner_statement_list '}' - T_STRING shift, and go to state 575 - T_ARRAY shift, and go to state 576 + T_STRING shift, and go to state 563 + T_ARRAY shift, and go to state 564 ')' reduce using rule 137 (parameter_list) $default reduce using rule 146 (optional_class_type) - parameter_list go to state 577 - non_empty_parameter_list go to state 578 - optional_class_type go to state 579 + parameter_list go to state 565 + non_empty_parameter_list go to state 566 + optional_class_type go to state 567 -state 524 +state 512 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH . '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - '(' shift, and go to state 580 + '(' shift, and go to state 568 -state 525 +state 513 314 static_class_constant: T_STRING T_PAAMAYIM_NEKUDOTAYIM T_STRING . $default reduce using rule 314 (static_class_constant) -state 526 +state 514 - 328 non_empty_static_array_pair_list: static_scalar . T_DOUBLE_ARROW static_scalar - 329 | static_scalar . + 327 non_empty_static_array_pair_list: static_scalar . T_DOUBLE_ARROW static_scalar + 328 | static_scalar . - T_DOUBLE_ARROW shift, and go to state 581 + T_DOUBLE_ARROW shift, and go to state 569 - $default reduce using rule 329 (non_empty_static_array_pair_list) + $default reduce using rule 328 (non_empty_static_array_pair_list) -state 527 +state 515 312 static_scalar: T_ARRAY '(' static_array_pair_list . ')' - ')' shift, and go to state 582 + ')' shift, and go to state 570 -state 528 +state 516 - 323 static_array_pair_list: non_empty_static_array_pair_list . possible_comma - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list . ',' static_scalar T_DOUBLE_ARROW static_scalar - 327 | non_empty_static_array_pair_list . ',' static_scalar + 322 static_array_pair_list: non_empty_static_array_pair_list . possible_comma + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list . ',' static_scalar T_DOUBLE_ARROW static_scalar + 326 | non_empty_static_array_pair_list . ',' static_scalar - ',' shift, and go to state 583 + ',' shift, and go to state 571 - $default reduce using rule 324 (possible_comma) + $default reduce using rule 323 (possible_comma) - possible_comma go to state 584 + possible_comma go to state 572 -state 529 +state 517 163 static_var_list: static_var_list ',' T_VARIABLE '=' static_scalar . $default reduce using rule 163 (static_var_list) -state 530 +state 518 - 420 isset_variables: isset_variables ',' @64 variable . + 410 isset_variables: isset_variables ',' @64 variable . - $default reduce using rule 420 (isset_variables) + $default reduce using rule 410 (isset_variables) -state 531 +state 519 - 377 assignment_list_element: T_LIST '(' @62 . assignment_list ')' + 376 assignment_list_element: T_LIST '(' @62 . assignment_list ')' - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 - T_LIST shift, and go to state 398 + T_LIST shift, and go to state 386 '$' shift, and go to state 71 - $default reduce using rule 378 (assignment_list_element) + $default reduce using rule 377 (assignment_list_element) - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 399 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - assignment_list go to state 585 - assignment_list_element go to state 401 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 387 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + assignment_list go to state 573 + assignment_list_element go to state 389 -state 532 +state 520 - 373 assignment_list: assignment_list ',' assignment_list_element . + 372 assignment_list: assignment_list ',' assignment_list_element . - $default reduce using rule 373 (assignment_list) + $default reduce using rule 372 (assignment_list) -state 533 +state 521 202 expr_without_variable: T_LIST '(' @39 assignment_list ')' '=' . expr @@ -15743,46 +15457,45 @@ state 533 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 586 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 574 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 534 - 387 non_empty_array_pair_list: expr T_DOUBLE_ARROW '&' w_variable . +state 522 - $default reduce using rule 387 (non_empty_array_pair_list) + 386 non_empty_array_pair_list: expr T_DOUBLE_ARROW '&' w_variable . + $default reduce using rule 386 (non_empty_array_pair_list) -state 535 - 386 non_empty_array_pair_list: non_empty_array_pair_list ',' '&' w_variable . +state 523 - $default reduce using rule 386 (non_empty_array_pair_list) + 385 non_empty_array_pair_list: non_empty_array_pair_list ',' '&' w_variable . + + $default reduce using rule 385 (non_empty_array_pair_list) -state 536 +state 524 - 381 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW . expr - 385 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW . '&' w_variable + 380 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW . expr + 384 | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW . '&' w_variable T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -15790,7 +15503,7 @@ state 536 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 587 + '&' shift, and go to state 575 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -15828,57 +15541,56 @@ state 536 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 588 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 576 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 537 - 408 encaps_var_offset: T_STRING . +state 525 - $default reduce using rule 408 (encaps_var_offset) + 398 encaps_var_offset: T_STRING . + $default reduce using rule 398 (encaps_var_offset) -state 538 - 410 encaps_var_offset: T_VARIABLE . +state 526 - $default reduce using rule 410 (encaps_var_offset) + 400 encaps_var_offset: T_VARIABLE . + $default reduce using rule 400 (encaps_var_offset) -state 539 - 409 encaps_var_offset: T_NUM_STRING . +state 527 - $default reduce using rule 409 (encaps_var_offset) + 399 encaps_var_offset: T_NUM_STRING . + $default reduce using rule 399 (encaps_var_offset) -state 540 - 403 encaps_var: T_VARIABLE '[' @63 encaps_var_offset . ']' +state 528 - ']' shift, and go to state 589 + 393 encaps_var: T_VARIABLE '[' @63 encaps_var_offset . ']' + ']' shift, and go to state 577 -state 541 + +state 529 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -15906,112 +15618,112 @@ state 541 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 406 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr . ']' '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ']' shift, and go to state 590 + 396 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr . ']' '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ']' shift, and go to state 578 -state 542 +state 530 15 inner_statement: T_HALT_COMPILER '(' ')' . ';' - ';' shift, and go to state 591 + ';' shift, and go to state 579 -state 543 +state 531 98 implements_list: T_IMPLEMENTS interface_list . 100 interface_list: interface_list . ',' fully_qualified_class_name - ',' shift, and go to state 545 + ',' shift, and go to state 533 $default reduce using rule 98 (implements_list) -state 544 +state 532 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from @29 implements_list '{' . class_statement_list '}' $default reduce using rule 167 (class_statement_list) - class_statement_list go to state 592 + class_statement_list go to state 580 -state 545 +state 533 100 interface_list: interface_list ',' . fully_qualified_class_name - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - fully_qualified_class_name go to state 593 + fully_qualified_class_name go to state 581 -state 546 +state 534 88 unticked_class_declaration_statement: interface_entry T_STRING @30 interface_extends_list '{' class_statement_list . '}' 166 class_statement_list: class_statement_list . class_statement - T_CONST shift, and go to state 594 - T_PUBLIC shift, and go to state 595 - T_PROTECTED shift, and go to state 596 - T_PRIVATE shift, and go to state 597 - T_FINAL shift, and go to state 598 - T_ABSTRACT shift, and go to state 599 - T_STATIC shift, and go to state 600 - T_VAR shift, and go to state 601 - '}' shift, and go to state 602 + T_CONST shift, and go to state 582 + T_PUBLIC shift, and go to state 583 + T_PROTECTED shift, and go to state 584 + T_PRIVATE shift, and go to state 585 + T_FINAL shift, and go to state 586 + T_ABSTRACT shift, and go to state 587 + T_STATIC shift, and go to state 588 + T_VAR shift, and go to state 589 + '}' shift, and go to state 590 $default reduce using rule 178 (method_modifiers) - class_statement go to state 603 - variable_modifiers go to state 604 - method_modifiers go to state 605 - non_empty_member_modifiers go to state 606 - member_modifier go to state 607 - class_constant_declaration go to state 608 + class_statement go to state 591 + variable_modifiers go to state 592 + method_modifiers go to state 593 + non_empty_member_modifiers go to state 594 + member_modifier go to state 595 + class_constant_declaration go to state 596 -state 547 +state 535 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' @50 function_call_parameter_list . ')' - ')' shift, and go to state 609 + ')' shift, and go to state 597 -state 548 +state 536 282 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' @51 function_call_parameter_list . ')' - ')' shift, and go to state 610 + ')' shift, and go to state 598 -state 549 +state 537 261 expr_without_variable: expr '?' @46 expr ':' @47 . expr @@ -16058,72 +15770,71 @@ state 549 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 611 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 599 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 550 + +state 538 206 expr_without_variable: variable '=' '&' T_NEW class_name_reference @40 . ctor_arguments - '(' shift, and go to state 359 + '(' shift, and go to state 347 $default reduce using rule 298 (ctor_arguments) - ctor_arguments go to state 612 + ctor_arguments go to state 600 -state 551 +state 539 - 370 variable_name: '{' expr '}' . + 369 variable_name: '{' expr '}' . - $default reduce using rule 370 (variable_name) + $default reduce using rule 369 (variable_name) -state 552 +state 540 - 346 method_or_not: '(' . @60 function_call_parameter_list ')' + 345 method_or_not: '(' . @60 function_call_parameter_list ')' - $default reduce using rule 345 (@60) + $default reduce using rule 344 (@60) - @60 go to state 613 + @60 go to state 601 -state 553 +state 541 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not . variable_properties + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not . variable_properties - $default reduce using rule 342 (variable_properties) + $default reduce using rule 341 (variable_properties) - variable_properties go to state 614 + variable_properties go to state 602 -state 554 +state 542 - 366 object_dim_list: object_dim_list '[' dim_offset . ']' + 365 object_dim_list: object_dim_list '[' dim_offset . ']' - ']' shift, and go to state 615 + ']' shift, and go to state 603 -state 555 +state 543 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -16151,50 +15862,50 @@ state 555 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 367 object_dim_list: object_dim_list '{' expr . '}' - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - '}' shift, and go to state 616 + 366 object_dim_list: object_dim_list '{' expr . '}' + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + '}' shift, and go to state 604 -state 556 +state 544 290 dynamic_class_name_reference: base_variable T_OBJECT_OPERATOR @53 object_property @54 dynamic_class_name_variable_properties . 292 dynamic_class_name_variable_properties: dynamic_class_name_variable_properties . dynamic_class_name_variable_property - T_OBJECT_OPERATOR shift, and go to state 617 + T_OBJECT_OPERATOR shift, and go to state 605 $default reduce using rule 290 (dynamic_class_name_reference) - dynamic_class_name_variable_property go to state 618 + dynamic_class_name_variable_property go to state 606 -state 557 +state 545 10 inner_statement_list: inner_statement_list . @2 inner_statement 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list . @6 new_elseif_list new_else_single T_ENDIF ';' @@ -16204,27 +15915,27 @@ state 557 T_ENDIF reduce using rule 22 (@6) $default reduce using rule 9 (@2) - @2 go to state 300 - @6 go to state 619 + @2 go to state 289 + @6 go to state 607 -state 558 +state 546 20 unticked_statement: T_IF '(' expr ')' @3 statement @4 . elseif_list else_single $default reduce using rule 126 (elseif_list) - elseif_list go to state 620 + elseif_list go to state 608 -state 559 +state 547 156 non_empty_function_call_parameter_list: non_empty_function_call_parameter_list ',' '&' w_variable . $default reduce using rule 156 (non_empty_function_call_parameter_list) -state 560 +state 548 29 unticked_statement: T_DO @9 statement T_WHILE '(' @10 expr . ')' ';' 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -16254,206 +15965,206 @@ state 560 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 621 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 609 -state 561 +state 549 125 while_statement: ':' . inner_statement_list T_ENDWHILE ';' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 622 + inner_statement_list go to state 610 -state 562 +state 550 124 while_statement: statement . $default reduce using rule 124 (while_statement) -state 563 +state 551 26 unticked_statement: T_WHILE '(' @7 expr ')' @8 while_statement . $default reduce using rule 26 (unticked_statement) -state 564 +state 552 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' . @12 for_expr ')' @13 for_statement $default reduce using rule 31 (@12) - @12 go to state 623 + @12 go to state 611 -state 565 +state 553 102 foreach_optional_arg: T_DOUBLE_ARROW . foreach_variable - '&' shift, and go to state 512 - T_STRING shift, and go to state 120 + '&' shift, and go to state 500 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - foreach_variable go to state 624 - function_call go to state 85 - fully_qualified_class_name go to state 121 - variable go to state 514 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + foreach_variable go to state 612 + function_call go to state 84 + fully_qualified_class_name go to state 120 + variable go to state 502 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 566 +state 554 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 variable foreach_optional_arg . ')' @18 foreach_statement - ')' shift, and go to state 625 + ')' shift, and go to state 613 -state 567 +state 555 104 foreach_variable: '&' variable . $default reduce using rule 104 (foreach_variable) -state 568 +state 556 52 unticked_statement: T_FOREACH '(' variable T_AS @15 foreach_variable foreach_optional_arg . ')' @16 foreach_statement - ')' shift, and go to state 626 + ')' shift, and go to state 614 -state 569 +state 557 112 declare_list: declare_list ',' T_STRING '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 627 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 615 + static_class_constant go to state 378 -state 570 +state 558 10 inner_statement_list: inner_statement_list . @2 inner_statement 110 declare_statement: ':' inner_statement_list . T_ENDDECLARE ';' - T_ENDDECLARE shift, and go to state 628 + T_ENDDECLARE shift, and go to state 616 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 571 +state 559 116 switch_case_list: ':' ';' . case_list T_ENDSWITCH ';' $default reduce using rule 117 (case_list) - case_list go to state 629 + case_list go to state 617 -state 572 +state 560 115 switch_case_list: ':' case_list . T_ENDSWITCH ';' 119 case_list: case_list . T_CASE expr case_separator @31 inner_statement_list 121 | case_list . T_DEFAULT case_separator @32 inner_statement_list - T_ENDSWITCH shift, and go to state 630 - T_CASE shift, and go to state 631 - T_DEFAULT shift, and go to state 632 + T_ENDSWITCH shift, and go to state 618 + T_CASE shift, and go to state 619 + T_DEFAULT shift, and go to state 620 -state 573 +state 561 114 switch_case_list: '{' ';' . case_list '}' $default reduce using rule 117 (case_list) - case_list go to state 633 + case_list go to state 621 -state 574 +state 562 113 switch_case_list: '{' case_list . '}' 119 case_list: case_list . T_CASE expr case_separator @31 inner_statement_list 121 | case_list . T_DEFAULT case_separator @32 inner_statement_list - T_CASE shift, and go to state 631 - T_DEFAULT shift, and go to state 632 - '}' shift, and go to state 634 + T_CASE shift, and go to state 619 + T_DEFAULT shift, and go to state 620 + '}' shift, and go to state 622 -state 575 +state 563 147 optional_class_type: T_STRING . $default reduce using rule 147 (optional_class_type) -state 576 +state 564 148 optional_class_type: T_ARRAY . $default reduce using rule 148 (optional_class_type) -state 577 +state 565 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' parameter_list . ')' '{' inner_statement_list '}' - ')' shift, and go to state 635 + ')' shift, and go to state 623 -state 578 +state 566 136 parameter_list: non_empty_parameter_list . 142 non_empty_parameter_list: non_empty_parameter_list . ',' optional_class_type T_VARIABLE @@ -16461,103 +16172,103 @@ state 578 144 | non_empty_parameter_list . ',' optional_class_type '&' T_VARIABLE '=' static_scalar 145 | non_empty_parameter_list . ',' optional_class_type T_VARIABLE '=' static_scalar - ',' shift, and go to state 636 + ',' shift, and go to state 624 $default reduce using rule 136 (parameter_list) -state 579 +state 567 138 non_empty_parameter_list: optional_class_type . T_VARIABLE 139 | optional_class_type . '&' T_VARIABLE 140 | optional_class_type . '&' T_VARIABLE '=' static_scalar 141 | optional_class_type . T_VARIABLE '=' static_scalar - '&' shift, and go to state 637 - T_VARIABLE shift, and go to state 638 + '&' shift, and go to state 625 + T_VARIABLE shift, and go to state 626 -state 580 +state 568 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' . @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches $default reduce using rule 60 (@21) - @21 go to state 639 + @21 go to state 627 -state 581 +state 569 - 328 non_empty_static_array_pair_list: static_scalar T_DOUBLE_ARROW . static_scalar + 327 non_empty_static_array_pair_list: static_scalar T_DOUBLE_ARROW . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 640 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 628 + static_class_constant go to state 378 -state 582 +state 570 312 static_scalar: T_ARRAY '(' static_array_pair_list ')' . $default reduce using rule 312 (static_scalar) -state 583 +state 571 - 325 possible_comma: ',' . - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' . static_scalar T_DOUBLE_ARROW static_scalar - 327 | non_empty_static_array_pair_list ',' . static_scalar + 324 possible_comma: ',' . + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' . static_scalar T_DOUBLE_ARROW static_scalar + 326 | non_empty_static_array_pair_list ',' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - $default reduce using rule 325 (possible_comma) + $default reduce using rule 324 (possible_comma) - common_scalar go to state 388 - static_scalar go to state 641 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 629 + static_class_constant go to state 378 -state 584 +state 572 - 323 static_array_pair_list: non_empty_static_array_pair_list possible_comma . + 322 static_array_pair_list: non_empty_static_array_pair_list possible_comma . - $default reduce using rule 323 (static_array_pair_list) + $default reduce using rule 322 (static_array_pair_list) -state 585 +state 573 - 373 assignment_list: assignment_list . ',' assignment_list_element - 377 assignment_list_element: T_LIST '(' @62 assignment_list . ')' + 372 assignment_list: assignment_list . ',' assignment_list_element + 376 assignment_list_element: T_LIST '(' @62 assignment_list . ')' - ',' shift, and go to state 472 - ')' shift, and go to state 642 + ',' shift, and go to state 460 + ')' shift, and go to state 630 -state 586 +state 574 202 expr_without_variable: T_LIST '(' @39 assignment_list ')' '=' expr . 226 | expr . T_BOOLEAN_OR @42 expr @@ -16587,55 +16298,55 @@ state 586 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 202 (expr_without_variable) -state 587 +state 575 - 385 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' . w_variable + 384 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' . w_variable - T_STRING shift, and go to state 120 + T_STRING shift, and go to state 119 T_VARIABLE shift, and go to state 33 '$' shift, and go to state 71 - function_call go to state 85 - fully_qualified_class_name go to state 121 - w_variable go to state 643 - variable go to state 403 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 + function_call go to state 84 + fully_qualified_class_name go to state 120 + w_variable go to state 631 + variable go to state 391 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 -state 588 +state 576 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -16663,227 +16374,227 @@ state 588 256 | expr . T_IS_GREATER_OR_EQUAL expr 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - 381 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr . - - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - - $default reduce using rule 381 (non_empty_array_pair_list) + 380 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr . + + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + + $default reduce using rule 380 (non_empty_array_pair_list) -state 589 +state 577 - 403 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']' . + 393 encaps_var: T_VARIABLE '[' @63 encaps_var_offset ']' . - $default reduce using rule 403 (encaps_var) + $default reduce using rule 393 (encaps_var) -state 590 +state 578 - 406 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' . '}' + 396 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' . '}' - '}' shift, and go to state 644 + '}' shift, and go to state 632 -state 591 +state 579 15 inner_statement: T_HALT_COMPILER '(' ')' ';' . $default reduce using rule 15 (inner_statement) -state 592 +state 580 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from @29 implements_list '{' class_statement_list . '}' 166 class_statement_list: class_statement_list . class_statement - T_CONST shift, and go to state 594 - T_PUBLIC shift, and go to state 595 - T_PROTECTED shift, and go to state 596 - T_PRIVATE shift, and go to state 597 - T_FINAL shift, and go to state 598 - T_ABSTRACT shift, and go to state 599 - T_STATIC shift, and go to state 600 - T_VAR shift, and go to state 601 - '}' shift, and go to state 645 + T_CONST shift, and go to state 582 + T_PUBLIC shift, and go to state 583 + T_PROTECTED shift, and go to state 584 + T_PRIVATE shift, and go to state 585 + T_FINAL shift, and go to state 586 + T_ABSTRACT shift, and go to state 587 + T_STATIC shift, and go to state 588 + T_VAR shift, and go to state 589 + '}' shift, and go to state 633 $default reduce using rule 178 (method_modifiers) - class_statement go to state 603 - variable_modifiers go to state 604 - method_modifiers go to state 605 - non_empty_member_modifiers go to state 606 - member_modifier go to state 607 - class_constant_declaration go to state 608 + class_statement go to state 591 + variable_modifiers go to state 592 + method_modifiers go to state 593 + non_empty_member_modifiers go to state 594 + member_modifier go to state 595 + class_constant_declaration go to state 596 -state 593 +state 581 100 interface_list: interface_list ',' fully_qualified_class_name . $default reduce using rule 100 (interface_list) -state 594 +state 582 193 class_constant_declaration: T_CONST . T_STRING '=' static_scalar - T_STRING shift, and go to state 646 + T_STRING shift, and go to state 634 -state 595 +state 583 182 member_modifier: T_PUBLIC . $default reduce using rule 182 (member_modifier) -state 596 +state 584 183 member_modifier: T_PROTECTED . $default reduce using rule 183 (member_modifier) -state 597 +state 585 184 member_modifier: T_PRIVATE . $default reduce using rule 184 (member_modifier) -state 598 +state 586 187 member_modifier: T_FINAL . $default reduce using rule 187 (member_modifier) -state 599 +state 587 186 member_modifier: T_ABSTRACT . $default reduce using rule 186 (member_modifier) -state 600 +state 588 185 member_modifier: T_STATIC . $default reduce using rule 185 (member_modifier) -state 601 +state 589 177 variable_modifiers: T_VAR . $default reduce using rule 177 (variable_modifiers) -state 602 +state 590 88 unticked_class_declaration_statement: interface_entry T_STRING @30 interface_extends_list '{' class_statement_list '}' . $default reduce using rule 88 (unticked_class_declaration_statement) -state 603 +state 591 166 class_statement_list: class_statement_list class_statement . $default reduce using rule 166 (class_statement_list) -state 604 +state 592 169 class_statement: variable_modifiers . @35 class_variable_declaration ';' $default reduce using rule 168 (@35) - @35 go to state 647 + @35 go to state 635 -state 605 +state 593 173 class_statement: method_modifiers . T_FUNCTION @36 is_reference T_STRING @37 '(' parameter_list ')' method_body - T_FUNCTION shift, and go to state 648 + T_FUNCTION shift, and go to state 636 -state 606 +state 594 176 variable_modifiers: non_empty_member_modifiers . 179 method_modifiers: non_empty_member_modifiers . 181 non_empty_member_modifiers: non_empty_member_modifiers . member_modifier - T_PUBLIC shift, and go to state 595 - T_PROTECTED shift, and go to state 596 - T_PRIVATE shift, and go to state 597 - T_FINAL shift, and go to state 598 - T_ABSTRACT shift, and go to state 599 - T_STATIC shift, and go to state 600 + T_PUBLIC shift, and go to state 583 + T_PROTECTED shift, and go to state 584 + T_PRIVATE shift, and go to state 585 + T_FINAL shift, and go to state 586 + T_ABSTRACT shift, and go to state 587 + T_STATIC shift, and go to state 588 T_FUNCTION reduce using rule 179 (method_modifiers) $default reduce using rule 176 (variable_modifiers) - member_modifier go to state 649 + member_modifier go to state 637 -state 607 +state 595 180 non_empty_member_modifiers: member_modifier . $default reduce using rule 180 (non_empty_member_modifiers) -state 608 +state 596 170 class_statement: class_constant_declaration . ';' 192 class_constant_declaration: class_constant_declaration . ',' T_STRING '=' static_scalar - ',' shift, and go to state 650 - ';' shift, and go to state 651 + ',' shift, and go to state 638 + ';' shift, and go to state 639 -state 609 +state 597 280 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' @50 function_call_parameter_list ')' . $default reduce using rule 280 (function_call) -state 610 +state 598 282 function_call: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' @51 function_call_parameter_list ')' . $default reduce using rule 282 (function_call) -state 611 +state 599 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr 228 | expr . T_BOOLEAN_AND @43 expr @@ -16913,42 +16624,42 @@ state 611 261 | expr . '?' @46 expr ':' @47 expr 261 | expr '?' @46 expr ':' @47 expr . - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 $default reduce using rule 261 (expr_without_variable) -state 612 +state 600 206 expr_without_variable: variable '=' '&' T_NEW class_name_reference @40 ctor_arguments . $default reduce using rule 206 (expr_without_variable) -state 613 +state 601 - 346 method_or_not: '(' @60 . function_call_parameter_list ')' + 345 method_or_not: '(' @60 . function_call_parameter_list ')' T_REQUIRE_ONCE shift, and go to state 5 T_REQUIRE shift, and go to state 6 @@ -16956,7 +16667,7 @@ state 613 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - '&' shift, and go to state 364 + '&' shift, and go to state 352 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -16994,127 +16705,126 @@ state 613 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 150 (function_call_parameter_list) - function_call_parameter_list go to state 652 - non_empty_function_call_parameter_list go to state 366 - expr_without_variable go to state 367 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 152 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 368 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + function_call_parameter_list go to state 640 + non_empty_function_call_parameter_list go to state 354 + expr_without_variable go to state 355 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 151 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 356 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 614 +state 602 - 339 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties . - 341 variable_properties: variable_properties . variable_property + 338 variable: base_variable_with_function_calls T_OBJECT_OPERATOR @57 object_property @58 method_or_not variable_properties . + 340 variable_properties: variable_properties . variable_property - T_OBJECT_OPERATOR shift, and go to state 653 + T_OBJECT_OPERATOR shift, and go to state 641 - $default reduce using rule 339 (variable) + $default reduce using rule 338 (variable) - variable_property go to state 654 + variable_property go to state 642 -state 615 +state 603 - 366 object_dim_list: object_dim_list '[' dim_offset ']' . + 365 object_dim_list: object_dim_list '[' dim_offset ']' . - $default reduce using rule 366 (object_dim_list) + $default reduce using rule 365 (object_dim_list) -state 616 +state 604 - 367 object_dim_list: object_dim_list '{' expr '}' . + 366 object_dim_list: object_dim_list '{' expr '}' . - $default reduce using rule 367 (object_dim_list) + $default reduce using rule 366 (object_dim_list) -state 617 +state 605 294 dynamic_class_name_variable_property: T_OBJECT_OPERATOR . object_property - T_STRING shift, and go to state 435 + T_STRING shift, and go to state 423 T_VARIABLE shift, and go to state 33 - '{' shift, and go to state 436 + '{' shift, and go to state 424 '$' shift, and go to state 71 - variable_without_objects go to state 437 - reference_variable go to state 310 - compound_variable go to state 98 - object_property go to state 655 - object_dim_list go to state 439 - variable_name go to state 440 - simple_indirect_reference go to state 311 + variable_without_objects go to state 425 + reference_variable go to state 298 + compound_variable go to state 97 + object_property go to state 643 + object_dim_list go to state 427 + variable_name go to state 428 + simple_indirect_reference go to state 299 -state 618 +state 606 292 dynamic_class_name_variable_properties: dynamic_class_name_variable_properties dynamic_class_name_variable_property . $default reduce using rule 292 (dynamic_class_name_variable_properties) -state 619 +state 607 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list @6 . new_elseif_list new_else_single T_ENDIF ';' $default reduce using rule 129 (new_elseif_list) - new_elseif_list go to state 656 + new_elseif_list go to state 644 -state 620 +state 608 20 unticked_statement: T_IF '(' expr ')' @3 statement @4 elseif_list . else_single 128 elseif_list: elseif_list . T_ELSEIF '(' expr ')' @33 statement - T_ELSEIF shift, and go to state 657 - T_ELSE shift, and go to state 658 + T_ELSEIF shift, and go to state 645 + T_ELSE shift, and go to state 646 T_ELSEIF [reduce using rule 132 (else_single)] T_ELSE [reduce using rule 132 (else_single)] $default reduce using rule 132 (else_single) - else_single go to state 659 + else_single go to state 647 -state 621 +state 609 29 unticked_statement: T_DO @9 statement T_WHILE '(' @10 expr ')' . ';' - ';' shift, and go to state 660 + ';' shift, and go to state 648 -state 622 +state 610 10 inner_statement_list: inner_statement_list . @2 inner_statement 125 while_statement: ':' inner_statement_list . T_ENDWHILE ';' - T_ENDWHILE shift, and go to state 661 + T_ENDWHILE shift, and go to state 649 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 623 +state 611 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' @12 . for_expr ')' @13 for_statement @@ -17161,90 +16871,89 @@ state 623 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 $default reduce using rule 196 (for_expr) - for_expr go to state 662 - non_empty_for_expr go to state 247 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 248 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + for_expr go to state 650 + non_empty_for_expr go to state 245 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 246 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 624 +state 612 102 foreach_optional_arg: T_DOUBLE_ARROW foreach_variable . $default reduce using rule 102 (foreach_optional_arg) -state 625 +state 613 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 variable foreach_optional_arg ')' . @18 foreach_statement $default reduce using rule 54 (@18) - @18 go to state 663 + @18 go to state 651 -state 626 +state 614 52 unticked_statement: T_FOREACH '(' variable T_AS @15 foreach_variable foreach_optional_arg ')' . @16 foreach_statement $default reduce using rule 51 (@16) - @16 go to state 664 + @16 go to state 652 -state 627 +state 615 112 declare_list: declare_list ',' T_STRING '=' static_scalar . $default reduce using rule 112 (declare_list) -state 628 +state 616 110 declare_statement: ':' inner_statement_list T_ENDDECLARE . ';' - ';' shift, and go to state 665 + ';' shift, and go to state 653 -state 629 +state 617 116 switch_case_list: ':' ';' case_list . T_ENDSWITCH ';' 119 case_list: case_list . T_CASE expr case_separator @31 inner_statement_list 121 | case_list . T_DEFAULT case_separator @32 inner_statement_list - T_ENDSWITCH shift, and go to state 666 - T_CASE shift, and go to state 631 - T_DEFAULT shift, and go to state 632 + T_ENDSWITCH shift, and go to state 654 + T_CASE shift, and go to state 619 + T_DEFAULT shift, and go to state 620 -state 630 +state 618 115 switch_case_list: ':' case_list T_ENDSWITCH . ';' - ';' shift, and go to state 667 + ';' shift, and go to state 655 -state 631 +state 619 119 case_list: case_list T_CASE . expr case_separator @31 inner_statement_list @@ -17291,256 +17000,255 @@ state 631 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 668 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 656 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 632 + +state 620 121 case_list: case_list T_DEFAULT . case_separator @32 inner_statement_list - ':' shift, and go to state 669 - ';' shift, and go to state 670 + ':' shift, and go to state 657 + ';' shift, and go to state 658 - case_separator go to state 671 + case_separator go to state 659 -state 633 +state 621 114 switch_case_list: '{' ';' case_list . '}' 119 case_list: case_list . T_CASE expr case_separator @31 inner_statement_list 121 | case_list . T_DEFAULT case_separator @32 inner_statement_list - T_CASE shift, and go to state 631 - T_DEFAULT shift, and go to state 632 - '}' shift, and go to state 672 + T_CASE shift, and go to state 619 + T_DEFAULT shift, and go to state 620 + '}' shift, and go to state 660 -state 634 +state 622 113 switch_case_list: '{' case_list '}' . $default reduce using rule 113 (switch_case_list) -state 635 +state 623 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' parameter_list ')' . '{' inner_statement_list '}' - '{' shift, and go to state 673 + '{' shift, and go to state 661 -state 636 +state 624 142 non_empty_parameter_list: non_empty_parameter_list ',' . optional_class_type T_VARIABLE 143 | non_empty_parameter_list ',' . optional_class_type '&' T_VARIABLE 144 | non_empty_parameter_list ',' . optional_class_type '&' T_VARIABLE '=' static_scalar 145 | non_empty_parameter_list ',' . optional_class_type T_VARIABLE '=' static_scalar - T_STRING shift, and go to state 575 - T_ARRAY shift, and go to state 576 + T_STRING shift, and go to state 563 + T_ARRAY shift, and go to state 564 $default reduce using rule 146 (optional_class_type) - optional_class_type go to state 674 + optional_class_type go to state 662 -state 637 +state 625 139 non_empty_parameter_list: optional_class_type '&' . T_VARIABLE 140 | optional_class_type '&' . T_VARIABLE '=' static_scalar - T_VARIABLE shift, and go to state 675 + T_VARIABLE shift, and go to state 663 -state 638 +state 626 138 non_empty_parameter_list: optional_class_type T_VARIABLE . 141 | optional_class_type T_VARIABLE . '=' static_scalar - '=' shift, and go to state 676 + '=' shift, and go to state 664 $default reduce using rule 138 (non_empty_parameter_list) -state 639 +state 627 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 . fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - fully_qualified_class_name go to state 677 + fully_qualified_class_name go to state 665 -state 640 +state 628 - 328 non_empty_static_array_pair_list: static_scalar T_DOUBLE_ARROW static_scalar . + 327 non_empty_static_array_pair_list: static_scalar T_DOUBLE_ARROW static_scalar . - $default reduce using rule 328 (non_empty_static_array_pair_list) + $default reduce using rule 327 (non_empty_static_array_pair_list) -state 641 +state 629 - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar . T_DOUBLE_ARROW static_scalar - 327 | non_empty_static_array_pair_list ',' static_scalar . + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar . T_DOUBLE_ARROW static_scalar + 326 | non_empty_static_array_pair_list ',' static_scalar . - T_DOUBLE_ARROW shift, and go to state 678 + T_DOUBLE_ARROW shift, and go to state 666 - $default reduce using rule 327 (non_empty_static_array_pair_list) + $default reduce using rule 326 (non_empty_static_array_pair_list) -state 642 +state 630 - 377 assignment_list_element: T_LIST '(' @62 assignment_list ')' . + 376 assignment_list_element: T_LIST '(' @62 assignment_list ')' . - $default reduce using rule 377 (assignment_list_element) + $default reduce using rule 376 (assignment_list_element) -state 643 +state 631 - 385 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable . + 384 non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable . - $default reduce using rule 385 (non_empty_array_pair_list) + $default reduce using rule 384 (non_empty_array_pair_list) -state 644 +state 632 - 406 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' . + 396 encaps_var: T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' . - $default reduce using rule 406 (encaps_var) + $default reduce using rule 396 (encaps_var) -state 645 +state 633 86 unticked_class_declaration_statement: class_entry_type T_STRING extends_from @29 implements_list '{' class_statement_list '}' . $default reduce using rule 86 (unticked_class_declaration_statement) -state 646 +state 634 193 class_constant_declaration: T_CONST T_STRING . '=' static_scalar - '=' shift, and go to state 679 + '=' shift, and go to state 667 -state 647 +state 635 169 class_statement: variable_modifiers @35 . class_variable_declaration ';' - T_VARIABLE shift, and go to state 680 + T_VARIABLE shift, and go to state 668 - class_variable_declaration go to state 681 + class_variable_declaration go to state 669 -state 648 +state 636 173 class_statement: method_modifiers T_FUNCTION . @36 is_reference T_STRING @37 '(' parameter_list ')' method_body $default reduce using rule 171 (@36) - @36 go to state 682 + @36 go to state 670 -state 649 +state 637 181 non_empty_member_modifiers: non_empty_member_modifiers member_modifier . $default reduce using rule 181 (non_empty_member_modifiers) -state 650 +state 638 192 class_constant_declaration: class_constant_declaration ',' . T_STRING '=' static_scalar - T_STRING shift, and go to state 683 + T_STRING shift, and go to state 671 -state 651 +state 639 170 class_statement: class_constant_declaration ';' . $default reduce using rule 170 (class_statement) -state 652 +state 640 - 346 method_or_not: '(' @60 function_call_parameter_list . ')' + 345 method_or_not: '(' @60 function_call_parameter_list . ')' - ')' shift, and go to state 684 + ')' shift, and go to state 672 -state 653 +state 641 - 344 variable_property: T_OBJECT_OPERATOR . object_property @59 method_or_not + 343 variable_property: T_OBJECT_OPERATOR . object_property @59 method_or_not - T_STRING shift, and go to state 435 + T_STRING shift, and go to state 423 T_VARIABLE shift, and go to state 33 - '{' shift, and go to state 436 + '{' shift, and go to state 424 '$' shift, and go to state 71 - variable_without_objects go to state 437 - reference_variable go to state 310 - compound_variable go to state 98 - object_property go to state 685 - object_dim_list go to state 439 - variable_name go to state 440 - simple_indirect_reference go to state 311 + variable_without_objects go to state 425 + reference_variable go to state 298 + compound_variable go to state 97 + object_property go to state 673 + object_dim_list go to state 427 + variable_name go to state 428 + simple_indirect_reference go to state 299 -state 654 +state 642 - 341 variable_properties: variable_properties variable_property . + 340 variable_properties: variable_properties variable_property . - $default reduce using rule 341 (variable_properties) + $default reduce using rule 340 (variable_properties) -state 655 +state 643 294 dynamic_class_name_variable_property: T_OBJECT_OPERATOR object_property . $default reduce using rule 294 (dynamic_class_name_variable_property) -state 656 +state 644 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list . new_else_single T_ENDIF ';' 131 new_elseif_list: new_elseif_list . T_ELSEIF '(' expr ')' ':' @34 inner_statement_list - T_ELSEIF shift, and go to state 686 - T_ELSE shift, and go to state 687 + T_ELSEIF shift, and go to state 674 + T_ELSE shift, and go to state 675 $default reduce using rule 134 (new_else_single) - new_else_single go to state 688 + new_else_single go to state 676 -state 657 +state 645 128 elseif_list: elseif_list T_ELSEIF . '(' expr ')' @33 statement - '(' shift, and go to state 689 + '(' shift, and go to state 677 -state 658 +state 646 133 else_single: T_ELSE . statement @@ -17607,59 +17315,58 @@ state 658 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 690 - unticked_statement go to state 77 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 678 + unticked_statement go to state 76 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 659 + +state 647 20 unticked_statement: T_IF '(' expr ')' @3 statement @4 elseif_list else_single . $default reduce using rule 20 (unticked_statement) -state 660 +state 648 29 unticked_statement: T_DO @9 statement T_WHILE '(' @10 expr ')' ';' . $default reduce using rule 29 (unticked_statement) -state 661 +state 649 125 while_statement: ':' inner_statement_list T_ENDWHILE . ';' - ';' shift, and go to state 691 + ';' shift, and go to state 679 -state 662 +state 650 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' @12 for_expr . ')' @13 for_statement - ')' shift, and go to state 692 + ')' shift, and go to state 680 -state 663 +state 651 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 variable foreach_optional_arg ')' @18 . foreach_statement @@ -17669,7 +17376,7 @@ state 663 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - ':' shift, and go to state 693 + ':' shift, and go to state 681 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -17727,32 +17434,31 @@ state 663 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 694 - unticked_statement go to state 77 - foreach_statement go to state 695 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 682 + unticked_statement go to state 76 + foreach_statement go to state 683 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 664 + +state 652 52 unticked_statement: T_FOREACH '(' variable T_AS @15 foreach_variable foreach_optional_arg ')' @16 . foreach_statement @@ -17762,7 +17468,7 @@ state 664 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - ':' shift, and go to state 693 + ':' shift, and go to state 681 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -17820,53 +17526,52 @@ state 664 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 694 - unticked_statement go to state 77 - foreach_statement go to state 696 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 682 + unticked_statement go to state 76 + foreach_statement go to state 684 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 665 + +state 653 110 declare_statement: ':' inner_statement_list T_ENDDECLARE ';' . $default reduce using rule 110 (declare_statement) -state 666 +state 654 116 switch_case_list: ':' ';' case_list T_ENDSWITCH . ';' - ';' shift, and go to state 697 + ';' shift, and go to state 685 -state 667 +state 655 115 switch_case_list: ':' case_list T_ENDSWITCH ';' . $default reduce using rule 115 (switch_case_list) -state 668 +state 656 119 case_list: case_list T_CASE expr . case_separator @31 inner_statement_list 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -17896,249 +17601,249 @@ state 668 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - ':' shift, and go to state 669 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ';' shift, and go to state 670 - - case_separator go to state 698 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + ':' shift, and go to state 657 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ';' shift, and go to state 658 + + case_separator go to state 686 -state 669 +state 657 122 case_separator: ':' . $default reduce using rule 122 (case_separator) -state 670 +state 658 123 case_separator: ';' . $default reduce using rule 123 (case_separator) -state 671 +state 659 121 case_list: case_list T_DEFAULT case_separator . @32 inner_statement_list $default reduce using rule 120 (@32) - @32 go to state 699 + @32 go to state 687 -state 672 +state 660 114 switch_case_list: '{' ';' case_list '}' . $default reduce using rule 114 (switch_case_list) -state 673 +state 661 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' parameter_list ')' '{' . inner_statement_list '}' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 700 + inner_statement_list go to state 688 -state 674 +state 662 142 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type . T_VARIABLE 143 | non_empty_parameter_list ',' optional_class_type . '&' T_VARIABLE 144 | non_empty_parameter_list ',' optional_class_type . '&' T_VARIABLE '=' static_scalar 145 | non_empty_parameter_list ',' optional_class_type . T_VARIABLE '=' static_scalar - '&' shift, and go to state 701 - T_VARIABLE shift, and go to state 702 + '&' shift, and go to state 689 + T_VARIABLE shift, and go to state 690 -state 675 +state 663 139 non_empty_parameter_list: optional_class_type '&' T_VARIABLE . 140 | optional_class_type '&' T_VARIABLE . '=' static_scalar - '=' shift, and go to state 703 + '=' shift, and go to state 691 $default reduce using rule 139 (non_empty_parameter_list) -state 676 +state 664 141 non_empty_parameter_list: optional_class_type T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 704 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 692 + static_class_constant go to state 378 -state 677 +state 665 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name . @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches $default reduce using rule 61 (@22) - @22 go to state 705 + @22 go to state 693 -state 678 +state 666 - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW . static_scalar + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 706 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 694 + static_class_constant go to state 378 -state 679 +state 667 193 class_constant_declaration: T_CONST T_STRING '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 707 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 695 + static_class_constant go to state 378 -state 680 +state 668 190 class_variable_declaration: T_VARIABLE . 191 | T_VARIABLE . '=' static_scalar - '=' shift, and go to state 708 + '=' shift, and go to state 696 $default reduce using rule 190 (class_variable_declaration) -state 681 +state 669 169 class_statement: variable_modifiers @35 class_variable_declaration . ';' 188 class_variable_declaration: class_variable_declaration . ',' T_VARIABLE 189 | class_variable_declaration . ',' T_VARIABLE '=' static_scalar - ',' shift, and go to state 709 - ';' shift, and go to state 710 + ',' shift, and go to state 697 + ';' shift, and go to state 698 -state 682 +state 670 173 class_statement: method_modifiers T_FUNCTION @36 . is_reference T_STRING @37 '(' parameter_list ')' method_body - '&' shift, and go to state 255 + '&' shift, and go to state 253 $default reduce using rule 80 (is_reference) - is_reference go to state 711 + is_reference go to state 699 -state 683 +state 671 192 class_constant_declaration: class_constant_declaration ',' T_STRING . '=' static_scalar - '=' shift, and go to state 712 + '=' shift, and go to state 700 -state 684 +state 672 - 346 method_or_not: '(' @60 function_call_parameter_list ')' . + 345 method_or_not: '(' @60 function_call_parameter_list ')' . - $default reduce using rule 346 (method_or_not) + $default reduce using rule 345 (method_or_not) -state 685 +state 673 - 344 variable_property: T_OBJECT_OPERATOR object_property . @59 method_or_not + 343 variable_property: T_OBJECT_OPERATOR object_property . @59 method_or_not - $default reduce using rule 343 (@59) + $default reduce using rule 342 (@59) - @59 go to state 713 + @59 go to state 701 -state 686 +state 674 131 new_elseif_list: new_elseif_list T_ELSEIF . '(' expr ')' ':' @34 inner_statement_list - '(' shift, and go to state 714 + '(' shift, and go to state 702 -state 687 +state 675 135 new_else_single: T_ELSE . ':' inner_statement_list - ':' shift, and go to state 715 + ':' shift, and go to state 703 -state 688 +state 676 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single . T_ENDIF ';' - T_ENDIF shift, and go to state 716 + T_ENDIF shift, and go to state 704 -state 689 +state 677 128 elseif_list: elseif_list T_ELSEIF '(' . expr ')' @33 statement @@ -18185,264 +17890,263 @@ state 689 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 717 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 705 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 690 + +state 678 133 else_single: T_ELSE statement . $default reduce using rule 133 (else_single) -state 691 +state 679 125 while_statement: ':' inner_statement_list T_ENDWHILE ';' . $default reduce using rule 125 (while_statement) -state 692 +state 680 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' @12 for_expr ')' . @13 for_statement $default reduce using rule 32 (@13) - @13 go to state 718 + @13 go to state 706 -state 693 +state 681 108 foreach_statement: ':' . inner_statement_list T_ENDFOREACH ';' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 719 + inner_statement_list go to state 707 -state 694 +state 682 107 foreach_statement: statement . $default reduce using rule 107 (foreach_statement) -state 695 +state 683 55 unticked_statement: T_FOREACH '(' expr_without_variable T_AS @17 variable foreach_optional_arg ')' @18 foreach_statement . $default reduce using rule 55 (unticked_statement) -state 696 +state 684 52 unticked_statement: T_FOREACH '(' variable T_AS @15 foreach_variable foreach_optional_arg ')' @16 foreach_statement . $default reduce using rule 52 (unticked_statement) -state 697 +state 685 116 switch_case_list: ':' ';' case_list T_ENDSWITCH ';' . $default reduce using rule 116 (switch_case_list) -state 698 +state 686 119 case_list: case_list T_CASE expr case_separator . @31 inner_statement_list $default reduce using rule 118 (@31) - @31 go to state 720 + @31 go to state 708 -state 699 +state 687 121 case_list: case_list T_DEFAULT case_separator @32 . inner_statement_list $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 721 + inner_statement_list go to state 709 -state 700 +state 688 10 inner_statement_list: inner_statement_list . @2 inner_statement 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' parameter_list ')' '{' inner_statement_list . '}' - '}' shift, and go to state 722 + '}' shift, and go to state 710 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 701 +state 689 143 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type '&' . T_VARIABLE 144 | non_empty_parameter_list ',' optional_class_type '&' . T_VARIABLE '=' static_scalar - T_VARIABLE shift, and go to state 723 + T_VARIABLE shift, and go to state 711 -state 702 +state 690 142 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type T_VARIABLE . 145 | non_empty_parameter_list ',' optional_class_type T_VARIABLE . '=' static_scalar - '=' shift, and go to state 724 + '=' shift, and go to state 712 $default reduce using rule 142 (non_empty_parameter_list) -state 703 +state 691 140 non_empty_parameter_list: optional_class_type '&' T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 725 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 713 + static_class_constant go to state 378 -state 704 +state 692 141 non_empty_parameter_list: optional_class_type T_VARIABLE '=' static_scalar . $default reduce using rule 141 (non_empty_parameter_list) -state 705 +state 693 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 . T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches - T_VARIABLE shift, and go to state 726 + T_VARIABLE shift, and go to state 714 -state 706 +state 694 - 326 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar . + 325 non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar . - $default reduce using rule 326 (non_empty_static_array_pair_list) + $default reduce using rule 325 (non_empty_static_array_pair_list) -state 707 +state 695 193 class_constant_declaration: T_CONST T_STRING '=' static_scalar . $default reduce using rule 193 (class_constant_declaration) -state 708 +state 696 191 class_variable_declaration: T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 727 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 715 + static_class_constant go to state 378 -state 709 +state 697 188 class_variable_declaration: class_variable_declaration ',' . T_VARIABLE 189 | class_variable_declaration ',' . T_VARIABLE '=' static_scalar - T_VARIABLE shift, and go to state 728 + T_VARIABLE shift, and go to state 716 -state 710 +state 698 169 class_statement: variable_modifiers @35 class_variable_declaration ';' . $default reduce using rule 169 (class_statement) -state 711 +state 699 173 class_statement: method_modifiers T_FUNCTION @36 is_reference . T_STRING @37 '(' parameter_list ')' method_body - T_STRING shift, and go to state 729 + T_STRING shift, and go to state 717 -state 712 +state 700 192 class_constant_declaration: class_constant_declaration ',' T_STRING '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 730 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 718 + static_class_constant go to state 378 -state 713 +state 701 - 344 variable_property: T_OBJECT_OPERATOR object_property @59 . method_or_not + 343 variable_property: T_OBJECT_OPERATOR object_property @59 . method_or_not - '(' shift, and go to state 552 + '(' shift, and go to state 540 - $default reduce using rule 347 (method_or_not) + $default reduce using rule 346 (method_or_not) - method_or_not go to state 731 + method_or_not go to state 719 -state 714 +state 702 131 new_elseif_list: new_elseif_list T_ELSEIF '(' . expr ')' ':' @34 inner_statement_list @@ -18489,45 +18193,44 @@ state 714 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 732 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 720 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 715 + +state 703 135 new_else_single: T_ELSE ':' . inner_statement_list $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 733 + inner_statement_list go to state 721 -state 716 +state 704 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF . ';' - ';' shift, and go to state 734 + ';' shift, and go to state 722 -state 717 +state 705 128 elseif_list: elseif_list T_ELSEIF '(' expr . ')' @33 statement 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -18557,36 +18260,36 @@ state 717 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 735 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 723 -state 718 +state 706 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' @12 for_expr ')' @13 . for_statement @@ -18596,7 +18299,7 @@ state 718 T_INCLUDE_ONCE shift, and go to state 8 T_INCLUDE shift, and go to state 9 T_PRINT shift, and go to state 10 - ':' shift, and go to state 736 + ':' shift, and go to state 724 '+' shift, and go to state 11 '-' shift, and go to state 12 '!' shift, and go to state 13 @@ -18654,53 +18357,52 @@ state 718 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 737 - unticked_statement go to state 77 - for_statement go to state 738 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 725 + unticked_statement go to state 76 + for_statement go to state 726 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 719 + +state 707 10 inner_statement_list: inner_statement_list . @2 inner_statement 108 foreach_statement: ':' inner_statement_list . T_ENDFOREACH ';' - T_ENDFOREACH shift, and go to state 739 + T_ENDFOREACH shift, and go to state 727 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 720 +state 708 119 case_list: case_list T_CASE expr case_separator @31 . inner_statement_list $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 740 + inner_statement_list go to state 728 -state 721 +state 709 10 inner_statement_list: inner_statement_list . @2 inner_statement 121 case_list: case_list T_DEFAULT case_separator @32 inner_statement_list . @@ -18711,103 +18413,103 @@ state 721 '}' reduce using rule 121 (case_list) $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 722 +state 710 84 unticked_function_declaration_statement: T_FUNCTION @27 is_reference T_STRING @28 '(' parameter_list ')' '{' inner_statement_list '}' . $default reduce using rule 84 (unticked_function_declaration_statement) -state 723 +state 711 143 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE . 144 | non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE . '=' static_scalar - '=' shift, and go to state 741 + '=' shift, and go to state 729 $default reduce using rule 143 (non_empty_parameter_list) -state 724 +state 712 145 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 742 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 730 + static_class_constant go to state 378 -state 725 +state 713 140 non_empty_parameter_list: optional_class_type '&' T_VARIABLE '=' static_scalar . $default reduce using rule 140 (non_empty_parameter_list) -state 726 +state 714 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE . ')' @23 '{' inner_statement_list '}' @24 additional_catches - ')' shift, and go to state 743 + ')' shift, and go to state 731 -state 727 +state 715 191 class_variable_declaration: T_VARIABLE '=' static_scalar . $default reduce using rule 191 (class_variable_declaration) -state 728 +state 716 188 class_variable_declaration: class_variable_declaration ',' T_VARIABLE . 189 | class_variable_declaration ',' T_VARIABLE . '=' static_scalar - '=' shift, and go to state 744 + '=' shift, and go to state 732 $default reduce using rule 188 (class_variable_declaration) -state 729 +state 717 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING . @37 '(' parameter_list ')' method_body $default reduce using rule 172 (@37) - @37 go to state 745 + @37 go to state 733 -state 730 +state 718 192 class_constant_declaration: class_constant_declaration ',' T_STRING '=' static_scalar . $default reduce using rule 192 (class_constant_declaration) -state 731 +state 719 - 344 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not . + 343 variable_property: T_OBJECT_OPERATOR object_property @59 method_or_not . - $default reduce using rule 344 (variable_property) + $default reduce using rule 343 (variable_property) -state 732 +state 720 131 new_elseif_list: new_elseif_list T_ELSEIF '(' expr . ')' ':' @34 inner_statement_list 226 expr_without_variable: expr . T_BOOLEAN_OR @42 expr @@ -18837,36 +18539,36 @@ state 732 257 | expr . T_INSTANCEOF class_name_reference 261 | expr . '?' @46 expr ':' @47 expr - T_LOGICAL_OR shift, and go to state 183 - T_LOGICAL_XOR shift, and go to state 184 - T_LOGICAL_AND shift, and go to state 185 - '?' shift, and go to state 186 - T_BOOLEAN_OR shift, and go to state 187 - T_BOOLEAN_AND shift, and go to state 188 - '|' shift, and go to state 189 - '^' shift, and go to state 190 - '&' shift, and go to state 191 - T_IS_NOT_IDENTICAL shift, and go to state 192 - T_IS_IDENTICAL shift, and go to state 193 - T_IS_NOT_EQUAL shift, and go to state 194 - T_IS_EQUAL shift, and go to state 195 - '<' shift, and go to state 196 - '>' shift, and go to state 197 - T_IS_GREATER_OR_EQUAL shift, and go to state 198 - T_IS_SMALLER_OR_EQUAL shift, and go to state 199 - T_SR shift, and go to state 200 - T_SL shift, and go to state 201 - '+' shift, and go to state 202 - '-' shift, and go to state 203 - '.' shift, and go to state 204 - '*' shift, and go to state 205 - '/' shift, and go to state 206 - '%' shift, and go to state 207 - T_INSTANCEOF shift, and go to state 208 - ')' shift, and go to state 746 + T_LOGICAL_OR shift, and go to state 181 + T_LOGICAL_XOR shift, and go to state 182 + T_LOGICAL_AND shift, and go to state 183 + '?' shift, and go to state 184 + T_BOOLEAN_OR shift, and go to state 185 + T_BOOLEAN_AND shift, and go to state 186 + '|' shift, and go to state 187 + '^' shift, and go to state 188 + '&' shift, and go to state 189 + T_IS_NOT_IDENTICAL shift, and go to state 190 + T_IS_IDENTICAL shift, and go to state 191 + T_IS_NOT_EQUAL shift, and go to state 192 + T_IS_EQUAL shift, and go to state 193 + '<' shift, and go to state 194 + '>' shift, and go to state 195 + T_IS_GREATER_OR_EQUAL shift, and go to state 196 + T_IS_SMALLER_OR_EQUAL shift, and go to state 197 + T_SR shift, and go to state 198 + T_SL shift, and go to state 199 + '+' shift, and go to state 200 + '-' shift, and go to state 201 + '.' shift, and go to state 202 + '*' shift, and go to state 203 + '/' shift, and go to state 204 + '%' shift, and go to state 205 + T_INSTANCEOF shift, and go to state 206 + ')' shift, and go to state 734 -state 733 +state 721 10 inner_statement_list: inner_statement_list . @2 inner_statement 135 new_else_single: T_ELSE ':' inner_statement_list . @@ -18874,56 +18576,56 @@ state 733 T_ENDIF reduce using rule 135 (new_else_single) $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 734 +state 722 23 unticked_statement: T_IF '(' expr ')' ':' @5 inner_statement_list @6 new_elseif_list new_else_single T_ENDIF ';' . $default reduce using rule 23 (unticked_statement) -state 735 +state 723 128 elseif_list: elseif_list T_ELSEIF '(' expr ')' . @33 statement $default reduce using rule 127 (@33) - @33 go to state 747 + @33 go to state 735 -state 736 +state 724 106 for_statement: ':' . inner_statement_list T_ENDFOR ';' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 748 + inner_statement_list go to state 736 -state 737 +state 725 105 for_statement: statement . $default reduce using rule 105 (for_statement) -state 738 +state 726 33 unticked_statement: T_FOR '(' for_expr ';' @11 for_expr ';' @12 for_expr ')' @13 for_statement . $default reduce using rule 33 (unticked_statement) -state 739 +state 727 108 foreach_statement: ':' inner_statement_list T_ENDFOREACH . ';' - ';' shift, and go to state 749 + ';' shift, and go to state 737 -state 740 +state 728 10 inner_statement_list: inner_statement_list . @2 inner_statement 119 case_list: case_list T_CASE expr case_separator @31 inner_statement_list . @@ -18934,84 +18636,84 @@ state 740 '}' reduce using rule 119 (case_list) $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 741 +state 729 144 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 750 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 738 + static_class_constant go to state 378 -state 742 +state 730 145 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type T_VARIABLE '=' static_scalar . $default reduce using rule 145 (non_empty_parameter_list) -state 743 +state 731 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' . @23 '{' inner_statement_list '}' @24 additional_catches $default reduce using rule 62 (@23) - @23 go to state 751 + @23 go to state 739 -state 744 +state 732 189 class_variable_declaration: class_variable_declaration ',' T_VARIABLE '=' . static_scalar - '+' shift, and go to state 384 - '-' shift, and go to state 385 + '+' shift, and go to state 372 + '-' shift, and go to state 373 T_LNUMBER shift, and go to state 29 T_DNUMBER shift, and go to state 30 - T_STRING shift, and go to state 386 + T_STRING shift, and go to state 374 T_CONSTANT_ENCAPSED_STRING shift, and go to state 35 - T_ARRAY shift, and go to state 387 + T_ARRAY shift, and go to state 375 T_CLASS_C shift, and go to state 62 T_METHOD_C shift, and go to state 63 T_FUNC_C shift, and go to state 64 T_LINE shift, and go to state 65 T_FILE shift, and go to state 66 - common_scalar go to state 388 - static_scalar go to state 752 - static_class_constant go to state 390 + common_scalar go to state 376 + static_scalar go to state 740 + static_class_constant go to state 378 -state 745 +state 733 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING @37 . '(' parameter_list ')' method_body - '(' shift, and go to state 753 + '(' shift, and go to state 741 -state 746 +state 734 131 new_elseif_list: new_elseif_list T_ELSEIF '(' expr ')' . ':' @34 inner_statement_list - ':' shift, and go to state 754 + ':' shift, and go to state 742 -state 747 +state 735 128 elseif_list: elseif_list T_ELSEIF '(' expr ')' @33 . statement @@ -19078,163 +18780,162 @@ state 747 '$' shift, and go to state 71 '`' shift, and go to state 72 '"' shift, and go to state 73 - ''' shift, and go to state 74 - - statement go to state 755 - unticked_statement go to state 77 - expr_without_variable go to state 84 - function_call go to state 85 - fully_qualified_class_name go to state 86 - common_scalar go to state 87 - scalar go to state 88 - expr go to state 89 - r_variable go to state 90 - rw_variable go to state 91 - variable go to state 92 - variable_without_objects go to state 93 - static_member go to state 94 - base_variable_with_function_calls go to state 95 - base_variable go to state 96 - reference_variable go to state 97 - compound_variable go to state 98 - simple_indirect_reference go to state 99 - internal_functions_in_yacc go to state 100 - class_constant go to state 101 + statement go to state 743 + unticked_statement go to state 76 + expr_without_variable go to state 83 + function_call go to state 84 + fully_qualified_class_name go to state 85 + common_scalar go to state 86 + scalar go to state 87 + expr go to state 88 + r_variable go to state 89 + rw_variable go to state 90 + variable go to state 91 + variable_without_objects go to state 92 + static_member go to state 93 + base_variable_with_function_calls go to state 94 + base_variable go to state 95 + reference_variable go to state 96 + compound_variable go to state 97 + simple_indirect_reference go to state 98 + internal_functions_in_yacc go to state 99 + class_constant go to state 100 -state 748 + +state 736 10 inner_statement_list: inner_statement_list . @2 inner_statement 106 for_statement: ':' inner_statement_list . T_ENDFOR ';' - T_ENDFOR shift, and go to state 756 + T_ENDFOR shift, and go to state 744 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 749 +state 737 108 foreach_statement: ':' inner_statement_list T_ENDFOREACH ';' . $default reduce using rule 108 (foreach_statement) -state 750 +state 738 144 non_empty_parameter_list: non_empty_parameter_list ',' optional_class_type '&' T_VARIABLE '=' static_scalar . $default reduce using rule 144 (non_empty_parameter_list) -state 751 +state 739 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 . '{' inner_statement_list '}' @24 additional_catches - '{' shift, and go to state 757 + '{' shift, and go to state 745 -state 752 +state 740 189 class_variable_declaration: class_variable_declaration ',' T_VARIABLE '=' static_scalar . $default reduce using rule 189 (class_variable_declaration) -state 753 +state 741 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING @37 '(' . parameter_list ')' method_body - T_STRING shift, and go to state 575 - T_ARRAY shift, and go to state 576 + T_STRING shift, and go to state 563 + T_ARRAY shift, and go to state 564 ')' reduce using rule 137 (parameter_list) $default reduce using rule 146 (optional_class_type) - parameter_list go to state 758 - non_empty_parameter_list go to state 578 - optional_class_type go to state 579 + parameter_list go to state 746 + non_empty_parameter_list go to state 566 + optional_class_type go to state 567 -state 754 +state 742 131 new_elseif_list: new_elseif_list T_ELSEIF '(' expr ')' ':' . @34 inner_statement_list $default reduce using rule 130 (@34) - @34 go to state 759 + @34 go to state 747 -state 755 +state 743 128 elseif_list: elseif_list T_ELSEIF '(' expr ')' @33 statement . $default reduce using rule 128 (elseif_list) -state 756 +state 744 106 for_statement: ':' inner_statement_list T_ENDFOR . ';' - ';' shift, and go to state 760 + ';' shift, and go to state 748 -state 757 +state 745 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' . inner_statement_list '}' @24 additional_catches $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 761 + inner_statement_list go to state 749 -state 758 +state 746 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING @37 '(' parameter_list . ')' method_body - ')' shift, and go to state 762 + ')' shift, and go to state 750 -state 759 +state 747 131 new_elseif_list: new_elseif_list T_ELSEIF '(' expr ')' ':' @34 . inner_statement_list $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 763 + inner_statement_list go to state 751 -state 760 +state 748 106 for_statement: ':' inner_statement_list T_ENDFOR ';' . $default reduce using rule 106 (for_statement) -state 761 +state 749 10 inner_statement_list: inner_statement_list . @2 inner_statement 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list . '}' @24 additional_catches - '}' shift, and go to state 764 + '}' shift, and go to state 752 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 762 +state 750 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING @37 '(' parameter_list ')' . method_body - ';' shift, and go to state 765 - '{' shift, and go to state 766 + ';' shift, and go to state 753 + '{' shift, and go to state 754 - method_body go to state 767 + method_body go to state 755 -state 763 +state 751 10 inner_statement_list: inner_statement_list . @2 inner_statement 131 new_elseif_list: new_elseif_list T_ELSEIF '(' expr ')' ':' @34 inner_statement_list . @@ -19244,183 +18945,183 @@ state 763 T_ENDIF reduce using rule 131 (new_elseif_list) $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 764 +state 752 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' . @24 additional_catches $default reduce using rule 63 (@24) - @24 go to state 768 + @24 go to state 756 -state 765 +state 753 174 method_body: ';' . $default reduce using rule 174 (method_body) -state 766 +state 754 175 method_body: '{' . inner_statement_list '}' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 769 + inner_statement_list go to state 757 -state 767 +state 755 173 class_statement: method_modifiers T_FUNCTION @36 is_reference T_STRING @37 '(' parameter_list ')' method_body . $default reduce using rule 173 (class_statement) -state 768 +state 756 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 . additional_catches - T_CATCH shift, and go to state 770 + T_CATCH shift, and go to state 758 $default reduce using rule 67 (additional_catches) - additional_catches go to state 771 - non_empty_additional_catches go to state 772 - additional_catch go to state 773 + additional_catches go to state 759 + non_empty_additional_catches go to state 760 + additional_catch go to state 761 -state 769 +state 757 10 inner_statement_list: inner_statement_list . @2 inner_statement 175 method_body: '{' inner_statement_list . '}' - '}' shift, and go to state 774 + '}' shift, and go to state 762 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 770 +state 758 72 additional_catch: T_CATCH . '(' fully_qualified_class_name @25 T_VARIABLE ')' @26 '{' inner_statement_list '}' - '(' shift, and go to state 775 + '(' shift, and go to state 763 -state 771 +state 759 64 unticked_statement: T_TRY @20 '{' inner_statement_list '}' T_CATCH '(' @21 fully_qualified_class_name @22 T_VARIABLE ')' @23 '{' inner_statement_list '}' @24 additional_catches . $default reduce using rule 64 (unticked_statement) -state 772 +state 760 66 additional_catches: non_empty_additional_catches . 69 non_empty_additional_catches: non_empty_additional_catches . additional_catch - T_CATCH shift, and go to state 770 + T_CATCH shift, and go to state 758 $default reduce using rule 66 (additional_catches) - additional_catch go to state 776 + additional_catch go to state 764 -state 773 +state 761 68 non_empty_additional_catches: additional_catch . $default reduce using rule 68 (non_empty_additional_catches) -state 774 +state 762 175 method_body: '{' inner_statement_list '}' . $default reduce using rule 175 (method_body) -state 775 +state 763 72 additional_catch: T_CATCH '(' . fully_qualified_class_name @25 T_VARIABLE ')' @26 '{' inner_statement_list '}' - T_STRING shift, and go to state 419 + T_STRING shift, and go to state 407 - fully_qualified_class_name go to state 777 + fully_qualified_class_name go to state 765 -state 776 +state 764 69 non_empty_additional_catches: non_empty_additional_catches additional_catch . $default reduce using rule 69 (non_empty_additional_catches) -state 777 +state 765 72 additional_catch: T_CATCH '(' fully_qualified_class_name . @25 T_VARIABLE ')' @26 '{' inner_statement_list '}' $default reduce using rule 70 (@25) - @25 go to state 778 + @25 go to state 766 -state 778 +state 766 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 . T_VARIABLE ')' @26 '{' inner_statement_list '}' - T_VARIABLE shift, and go to state 779 + T_VARIABLE shift, and go to state 767 -state 779 +state 767 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE . ')' @26 '{' inner_statement_list '}' - ')' shift, and go to state 780 + ')' shift, and go to state 768 -state 780 +state 768 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE ')' . @26 '{' inner_statement_list '}' $default reduce using rule 71 (@26) - @26 go to state 781 + @26 go to state 769 -state 781 +state 769 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE ')' @26 . '{' inner_statement_list '}' - '{' shift, and go to state 782 + '{' shift, and go to state 770 -state 782 +state 770 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE ')' @26 '{' . inner_statement_list '}' $default reduce using rule 11 (inner_statement_list) - inner_statement_list go to state 783 + inner_statement_list go to state 771 -state 783 +state 771 10 inner_statement_list: inner_statement_list . @2 inner_statement 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE ')' @26 '{' inner_statement_list . '}' - '}' shift, and go to state 784 + '}' shift, and go to state 772 $default reduce using rule 9 (@2) - @2 go to state 300 + @2 go to state 289 -state 784 +state 772 72 additional_catch: T_CATCH '(' fully_qualified_class_name @25 T_VARIABLE ')' @26 '{' inner_statement_list '}' . diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 2eb27f493..95f7e48d4 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -18,14 +18,12 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_parser.y,v 1.160.2.4.2.4 2007/04/04 00:42:42 iliaa Exp $ */ +/* $Id: zend_language_parser.y,v 1.160.2.4.2.6 2007/05/18 18:36:04 stas Exp $ */ /* * LALR shift/reduce conflicts and how they are resolved: * * - 2 shift/reduce conflicts due to the dangeling elseif/else ambiguity. Solved by shift. - * - 1 shift/reduce conflict due to arrays within encapsulated strings. Solved by shift. - * - 1 shift/reduce conflict due to objects within encapsulated strings. Solved by shift. * */ @@ -49,7 +47,7 @@ %} %pure_parser -%expect 4 +%expect 2 %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE %left ',' @@ -589,8 +587,8 @@ expr_without_variable: | expr '%' expr { zend_do_binary_op(ZEND_MOD, &$$, &$1, &$3 TSRMLS_CC); } | expr T_SL expr { zend_do_binary_op(ZEND_SL, &$$, &$1, &$3 TSRMLS_CC); } | expr T_SR expr { zend_do_binary_op(ZEND_SR, &$$, &$1, &$3 TSRMLS_CC); } - | '+' expr { Z_LVAL($1.u.constant)=0; Z_TYPE($1.u.constant)=IS_LONG; $1.op_type = IS_CONST; INIT_PZVAL(&$1.u.constant); zend_do_binary_op(ZEND_ADD, &$$, &$1, &$2 TSRMLS_CC); } - | '-' expr { Z_LVAL($1.u.constant)=0; Z_TYPE($1.u.constant)=IS_LONG; $1.op_type = IS_CONST; INIT_PZVAL(&$1.u.constant); zend_do_binary_op(ZEND_SUB, &$$, &$1, &$2 TSRMLS_CC); } + | '+' expr %prec T_INC { Z_LVAL($1.u.constant)=0; Z_TYPE($1.u.constant)=IS_LONG; $1.op_type = IS_CONST; INIT_PZVAL(&$1.u.constant); zend_do_binary_op(ZEND_ADD, &$$, &$1, &$2 TSRMLS_CC); } + | '-' expr %prec T_INC { Z_LVAL($1.u.constant)=0; Z_TYPE($1.u.constant)=IS_LONG; $1.op_type = IS_CONST; INIT_PZVAL(&$1.u.constant); zend_do_binary_op(ZEND_SUB, &$$, &$1, &$2 TSRMLS_CC); } | '!' expr { zend_do_unary_op(ZEND_BOOL_NOT, &$$, &$2 TSRMLS_CC); } | '~' expr { zend_do_unary_op(ZEND_BW_NOT, &$$, &$2 TSRMLS_CC); } | expr T_IS_IDENTICAL expr { zend_do_binary_op(ZEND_IS_IDENTICAL, &$$, &$1, &$3 TSRMLS_CC); } @@ -709,8 +707,7 @@ scalar: | class_constant { $$ = $1; } | common_scalar { $$ = $1; } | '"' encaps_list '"' { $$ = $2; } - | '\'' encaps_list '\'' { $$ = $2; } - | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = $2; zend_do_end_heredoc(TSRMLS_C); } + | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = $2; } ; @@ -869,16 +866,7 @@ non_empty_array_pair_list: encaps_list: encaps_list encaps_var { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list T_STRING { zend_do_add_string(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list T_NUM_STRING { zend_do_add_string(&$$, &$1, &$2 TSRMLS_CC); } | encaps_list T_ENCAPSED_AND_WHITESPACE { zend_do_add_string(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list T_CHARACTER { zend_do_add_char(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list T_BAD_CHARACTER { zend_do_add_string(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list '[' { Z_LVAL($2.u.constant) = (long) '['; zend_do_add_char(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list ']' { Z_LVAL($2.u.constant) = (long) ']'; zend_do_add_char(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list '{' { Z_LVAL($2.u.constant) = (long) '{'; zend_do_add_char(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list '}' { Z_LVAL($2.u.constant) = (long) '}'; zend_do_add_char(&$$, &$1, &$2 TSRMLS_CC); } - | encaps_list T_OBJECT_OPERATOR { znode tmp; Z_LVAL($2.u.constant) = (long) '-'; zend_do_add_char(&tmp, &$1, &$2 TSRMLS_CC); Z_LVAL($2.u.constant) = (long) '>'; zend_do_add_char(&$$, &tmp, &$2 TSRMLS_CC); } | /* empty */ { zend_do_init_string(&$$ TSRMLS_CC); } ; diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 43e3a4f9a..91019efdc 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -357,167 +357,175 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); #undef yy_more_len -#define YY_NUM_RULES 161 -#define YY_END_OF_BUFFER 162 -static yyconst short int yy_accept[1422] = +#define YY_NUM_RULES 159 +#define YY_END_OF_BUFFER 160 +static yyconst short int yy_accept[1493] = { 0, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 160, 114, 114, 158, + 126, 98, 142, 127, 98, 98, 98, 158, 98, 98, + 98, 98, 98, 98, 98, 104, 104, 98, 98, 98, + 98, 98, 98, 125, 144, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 99, 98, 101, 150, 156, + 159, 159, 159, 152, 159, 159, 157, 159, 154, 154, + 154, 159, 159, 154, 159, 145, 145, 148, 39, 39, + + 38, 103, 102, 124, 123, 123, 106, 106, 122, 134, + 137, 137, 129, 129, 129, 128, 128, 128, 114, 0, + 114, 117, 115, 114, 126, 77, 0, 140, 0, 0, + 0, 119, 85, 139, 92, 88, 0, 141, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, + 72, 80, 73, 81, 36, 108, 84, 133, 127, 83, + 108, 104, 0, 0, 40, 0, 96, 78, 77, 76, + 69, 79, 97, 138, 90, 125, 125, 125, 125, 125, + 23, 142, 0, 0, 125, 125, 125, 125, 125, 125, + 15, 125, 125, 125, 125, 125, 125, 125, 125, 125, + + 125, 9, 125, 125, 125, 125, 125, 93, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 89, 91, 150, 0, 0, 0, 150, 151, 151, 0, + 119, 100, 149, 151, 152, 0, 0, 0, 152, 153, + 0, 153, 153, 154, 154, 154, 0, 0, 154, 0, + 154, 0, 0, 154, 0, 154, 154, 155, 0, 0, + 154, 154, 0, 154, 0, 155, 146, 0, 0, 37, + 38, 102, 107, 0, 106, 134, 136, 135, 129, 129, + 130, 131, 114, 0, 116, 0, 0, 75, 0, 0, + 119, 139, 139, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 108, 0, 108, 105, 0, 0, + 86, 74, 87, 138, 138, 125, 125, 125, 125, 125, + 125, 94, 125, 0, 125, 125, 125, 125, 125, 125, + 125, 125, 2, 125, 125, 125, 125, 125, 125, 125, + 125, 16, 125, 125, 125, 125, 125, 125, 125, 125, + 41, 125, 125, 125, 125, 125, 125, 125, 125, 6, + 125, 57, 43, 125, 95, 151, 0, 119, 121, 151, + 153, 153, 154, 155, 0, 154, 147, 0, 154, 154, + 0, 0, 155, 155, 155, 0, 155, 155, 107, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 162, 112, 112, 160, 120, 97, 136, 121, - 97, 97, 97, 139, 97, 97, 97, 97, 97, 97, - 97, 103, 103, 97, 97, 97, 97, 97, 97, 118, - 138, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 98, 97, 100, 141, 157, 146, 141, 105, 105, - 146, 160, 119, 143, 146, 142, 159, 160, 144, 160, - 158, 156, 141, 160, 119, 38, 37, 102, 101, 128, - - 131, 131, 123, 123, 123, 122, 122, 122, 112, 0, - 112, 115, 113, 112, 120, 76, 0, 134, 0, 117, - 84, 133, 91, 87, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 71, 79, - 72, 80, 36, 106, 83, 127, 121, 82, 106, 103, - 0, 0, 39, 0, 95, 77, 76, 75, 68, 78, - 96, 132, 89, 118, 118, 118, 118, 118, 23, 136, - 139, 0, 118, 118, 118, 118, 118, 118, 15, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 9, - 118, 118, 118, 118, 118, 92, 118, 118, 118, 118, - - 118, 118, 118, 118, 118, 118, 118, 118, 88, 90, - 141, 145, 99, 36, 105, 0, 155, 151, 153, 155, - 147, 119, 143, 148, 142, 0, 149, 150, 144, 152, - 156, 141, 140, 140, 119, 0, 37, 101, 128, 130, - 129, 123, 123, 124, 125, 112, 0, 114, 0, 0, - 74, 117, 133, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 106, 0, 106, 104, 0, - 0, 85, 73, 86, 132, 132, 118, 118, 118, 118, - 118, 118, 93, 118, 0, 118, 118, 118, 118, 118, - 118, 118, 118, 2, 118, 118, 118, 118, 118, 118, - - 118, 118, 16, 118, 118, 118, 118, 118, 118, 118, - 118, 40, 118, 118, 118, 118, 118, 118, 118, 118, - 6, 118, 56, 42, 118, 94, 105, 153, 154, 112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 0, 0, 0, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 26, 118, 118, 118, - 118, 118, 118, 118, 30, 12, 118, 118, 118, 118, - 118, 118, 51, 1, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 69, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 153, 154, 112, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, - 0, 0, 0, 0, 0, 137, 137, 0, 118, 118, - 118, 118, 118, 118, 118, 70, 28, 7, 32, 41, - 4, 118, 118, 118, 118, 59, 118, 118, 11, 118, - 118, 118, 63, 118, 118, 118, 118, 118, 118, 118, - 58, 31, 118, 118, 118, 118, 118, 118, 118, 8, - 67, 13, 112, 0, 116, 116, 0, 0, 0, 0, - 49, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 10, 118, 17, 118, 118, 118, 118, 118, 57, 118, - - 118, 118, 118, 118, 118, 66, 118, 5, 61, 24, - 112, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 50, 0, 118, 118, 118, 118, 118, 118, 118, - 118, 20, 27, 118, 118, 118, 118, 34, 18, 118, - 118, 52, 118, 118, 64, 118, 54, 112, 0, 0, - 0, 46, 0, 0, 0, 48, 0, 45, 0, 118, - 111, 118, 118, 110, 118, 62, 29, 118, 118, 118, - 14, 3, 118, 118, 118, 118, 118, 118, 112, 0, - 0, 0, 107, 118, 118, 118, 118, 118, 25, 118, - 118, 118, 33, 65, 118, 112, 0, 0, 118, 118, - - 109, 21, 19, 35, 118, 22, 118, 112, 0, 0, - 118, 118, 118, 118, 112, 0, 0, 108, 118, 53, - 55, 112, 0, 0, 118, 112, 0, 0, 118, 112, - 0, 0, 60, 112, 0, 0, 112, 0, 0, 0, - 112, 0, 0, 0, 0, 0, 112, 0, 0, 0, - 0, 112, 0, 0, 0, 0, 112, 0, 0, 0, - 0, 113, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, - 0 + + 0, 0, 0, 132, 0, 0, 0, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 26, 125, 125, 125, + 125, 125, 125, 125, 30, 12, 125, 125, 125, 125, + 125, 125, 52, 1, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 70, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 0, 155, 154, 155, + 0, 154, 155, 155, 155, 155, 114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 143, 143, 0, 125, 125, 125, 125, + 125, 125, 125, 71, 28, 7, 32, 42, 4, 125, + + 125, 125, 125, 60, 125, 125, 11, 125, 125, 125, + 64, 125, 125, 125, 125, 125, 125, 125, 59, 31, + 125, 125, 125, 125, 125, 125, 125, 8, 68, 13, + 120, 155, 155, 114, 0, 118, 118, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 10, 125, 17, 125, 125, 125, 125, 125, 58, + 125, 125, 125, 125, 125, 125, 67, 125, 5, 62, + 24, 114, 0, 0, 0, 48, 0, 0, 0, 0, + 0, 0, 51, 0, 125, 125, 125, 125, 125, 125, + + 125, 125, 20, 27, 125, 125, 125, 125, 34, 18, + 125, 125, 53, 125, 125, 65, 125, 55, 114, 0, + 0, 0, 47, 0, 0, 0, 49, 0, 46, 0, + 125, 113, 125, 125, 112, 125, 63, 29, 125, 125, + 125, 14, 3, 125, 125, 125, 125, 125, 125, 114, + 0, 0, 0, 109, 125, 125, 125, 125, 125, 25, + 125, 125, 125, 33, 66, 125, 114, 0, 0, 125, + 125, 111, 21, 19, 35, 125, 22, 125, 114, 0, + 0, 125, 125, 125, 125, 114, 0, 0, 110, 125, + 54, 56, 114, 0, 0, 125, 114, 0, 0, 125, + + 114, 0, 0, 61, 114, 0, 0, 114, 0, 0, + 0, 114, 0, 0, 0, 0, 0, 114, 0, 0, + 0, 0, 114, 0, 0, 0, 0, 114, 0, 0, + 0, 0, 115, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 114, 0, 114, 0, 114, 0, 114, 0, 114, + 0, 0 + } ; static yyconst int yy_ec[256] = @@ -527,11 +535,11 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, - 21, 21, 21, 21, 21, 22, 22, 23, 24, 25, - 26, 27, 28, 16, 34, 35, 36, 37, 38, 39, + 21, 21, 21, 21, 21, 21, 21, 22, 23, 24, + 25, 26, 27, 16, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 29, 30, 29, 31, 32, 33, 34, 35, 36, 37, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, @@ -554,1278 +562,1445 @@ static yyconst int yy_ec[256] = static yyconst int yy_meta[63] = { 0, - 1, 2, 3, 3, 4, 1, 4, 5, 4, 4, - 6, 4, 4, 7, 4, 4, 4, 4, 4, 8, - 8, 8, 4, 9, 10, 4, 4, 4, 1, 1, - 4, 11, 1, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 1, - 4, 1 + 1, 2, 3, 3, 1, 4, 1, 1, 1, 1, + 1, 1, 1, 5, 1, 1, 6, 1, 1, 7, + 7, 1, 8, 9, 1, 1, 1, 6, 1, 1, + 1, 10, 11, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, + 1, 1 } ; -static yyconst short int yy_base[1842] = +static yyconst short int yy_base[1922] = { 0, - 7591, 7590, 0, 0, 62, 0, 114, 115, 121, 122, - 123, 151, 210, 0, 272, 0, 7600, 7599, 7598, 7597, - 132, 139, 7610, 7584, 121, 7617, 129, 7582, 131, 7617, - 0, 112, 137, 135, 333, 7617, 7581, 143, 151, 150, - 322, 322, 331, 7583, 320, 148, 153, 7578, 7578, 7571, - 7617, 303, 351, 329, 323, 344, 340, 7557, 0, 357, - 7559, 7562, 7548, 305, 7560, 330, 99, 326, 7563, 7555, - 7547, 7617, 332, 7617, 0, 7617, 409, 7567, 452, 385, - 7617, 469, 0, 7560, 7584, 7561, 7617, 465, 7584, 458, - 7617, 471, 474, 463, 484, 7617, 0, 7617, 0, 0, - - 7570, 7569, 489, 7617, 7584, 7559, 7617, 7558, 7559, 472, - 7558, 7556, 470, 7545, 499, 7554, 480, 7617, 389, 0, - 7617, 502, 7617, 7617, 483, 7617, 7576, 0, 7527, 479, - 7529, 7531, 7528, 7539, 7535, 7519, 7524, 7617, 7617, 7617, - 7617, 7617, 7617, 510, 7617, 7556, 7617, 7617, 513, 518, - 532, 523, 7617, 7517, 486, 7617, 7617, 7542, 7617, 7617, - 7541, 538, 7617, 0, 527, 7514, 7528, 7513, 0, 516, - 539, 7538, 7524, 512, 480, 7514, 359, 7522, 0, 7518, - 7506, 7508, 7519, 7521, 525, 7507, 7502, 7505, 7503, 0, - 7501, 534, 7497, 7496, 7491, 0, 529, 7511, 526, 7511, - - 7502, 7492, 7484, 7489, 7502, 7488, 7496, 7486, 7617, 7617, - 0, 7617, 7617, 0, 560, 563, 7617, 7617, 554, 569, - 7617, 0, 7503, 7617, 7505, 7504, 7617, 7617, 7527, 7617, - 582, 603, 7617, 7529, 592, 607, 0, 0, 0, 7617, - 7617, 614, 7617, 7617, 7617, 7506, 603, 7617, 7489, 7478, - 7617, 0, 7617, 7525, 7476, 7479, 7477, 7470, 7475, 7469, - 7478, 7486, 7468, 7466, 617, 605, 612, 617, 624, 7481, - 7514, 7617, 7617, 7617, 7617, 7512, 7469, 483, 7479, 7470, - 7473, 7457, 0, 7475, 7483, 7473, 7468, 7469, 7452, 7456, - 577, 7457, 7467, 0, 7452, 7461, 7445, 612, 7452, 7443, - - 7457, 7460, 7455, 7456, 7456, 7445, 7444, 7435, 7449, 7448, - 7432, 0, 353, 7431, 7438, 7428, 7427, 7427, 7426, 7430, - 0, 7439, 0, 0, 7431, 0, 645, 627, 651, 7450, - 666, 7425, 7431, 7438, 7437, 7425, 7434, 7434, 690, 7429, - 7421, 7423, 7426, 674, 7412, 7460, 649, 7427, 7415, 7412, - 7413, 7410, 7403, 7404, 7396, 7409, 0, 7411, 7399, 7412, - 7396, 7406, 7413, 7392, 0, 7403, 7386, 7405, 7394, 7402, - 7384, 7398, 0, 0, 7391, 7392, 7402, 7382, 7400, 7395, - 7378, 7397, 7379, 7376, 0, 7375, 7393, 7388, 7383, 7382, - 7372, 7380, 7385, 7364, 7366, 7380, 7617, 7617, 7392, 684, - - 693, 7367, 7357, 7363, 697, 7368, 7359, 611, 7617, 7371, - 7374, 698, 7362, 7355, 7365, 7617, 7403, 653, 7353, 7366, - 7367, 7349, 7363, 7359, 7365, 0, 0, 0, 0, 0, - 0, 7351, 7346, 7351, 7356, 0, 7358, 7342, 0, 7350, - 7349, 7353, 0, 7353, 7346, 7342, 7340, 7348, 7337, 7344, - 0, 0, 2983, 2999, 2997, 2981, 2984, 2994, 2975, 0, - 0, 0, 2990, 689, 7617, 3011, 2960, 700, 2954, 702, - 7617, 2977, 2972, 2971, 2942, 703, 7617, 2954, 706, 2917, - 2906, 2925, 2901, 2921, 2918, 2899, 2910, 2891, 2906, 2884, - 0, 2885, 2891, 2861, 2866, 2854, 2864, 2838, 0, 2842, - - 2776, 2777, 2778, 2773, 2757, 0, 2771, 0, 0, 0, - 2783, 697, 727, 719, 7617, 721, 2760, 2755, 724, 725, - 731, 7617, 2752, 2771, 2770, 2759, 2764, 2767, 2760, 2743, - 2757, 0, 0, 2760, 2758, 2754, 2748, 0, 0, 2738, - 2737, 2750, 2741, 2742, 0, 2735, 2738, 2743, 715, 743, - 737, 7617, 740, 746, 749, 7617, 750, 7617, 752, 2735, - 0, 2716, 2694, 0, 2707, 0, 0, 2686, 2692, 2686, - 0, 0, 2672, 2676, 2674, 2659, 2659, 2646, 2666, 748, - 2654, 762, 0, 2638, 2636, 2647, 2638, 2624, 0, 2602, - 2606, 2612, 0, 0, 2603, 2623, 749, 2592, 2604, 2576, - - 0, 0, 0, 0, 2586, 0, 2583, 2588, 759, 2570, - 2576, 2565, 2566, 2551, 2557, 766, 2525, 0, 2532, 0, - 0, 2551, 771, 2539, 2529, 2539, 777, 2522, 2486, 2511, - 781, 2496, 0, 2508, 788, 767, 2506, 789, 817, 824, - 2497, 806, 842, 2470, 2467, 2464, 2469, 827, 2450, 2449, - 2439, 2460, 829, 2433, 2430, 847, 2451, 838, 2459, 2451, - 857, 7617, 2434, 847, 2423, 855, 2422, 860, 2420, 861, - 2419, 867, 2417, 868, 2397, 869, 2394, 873, 2392, 878, - 2391, 899, 2388, 901, 2382, 906, 2379, 907, 2377, 908, - 2358, 913, 2352, 914, 2351, 919, 2349, 936, 2348, 945, - - 2346, 947, 2345, 953, 2342, 954, 2331, 958, 2320, 959, - 2309, 965, 2306, 967, 2305, 976, 2303, 987, 2302, 993, - 2300, 998, 2291, 999, 2280, 1004, 2277, 1005, 2274, 1013, - 2263, 1027, 2260, 1033, 2259, 1034, 2257, 1035, 2254, 1039, - 2251, 1044, 2237, 1045, 2234, 1065, 2232, 1067, 2231, 1073, - 2228, 1074, 2217, 1075, 2214, 1079, 2211, 1080, 2192, 1085, - 2191, 1105, 2189, 1111, 2188, 1113, 2186, 1115, 2185, 1119, - 2182, 1120, 2171, 1125, 2152, 1126, 2149, 1133, 2146, 1151, - 2145, 1155, 2143, 1159, 2142, 1161, 2140, 1165, 2139, 1166, - 2106, 1172, 2104, 1173, 2103, 1187, 2101, 1195, 2100, 1201, - - 2099, 1205, 2097, 1207, 2094, 1212, 2064, 1213, 2061, 1218, - 2060, 1227, 2058, 1233, 2057, 1235, 2055, 1241, 2054, 1247, - 2051, 1253, 2032, 1258, 2029, 1264, 2018, 1273, 2015, 1275, - 2014, 1279, 2012, 1281, 2011, 1286, 2009, 1287, 1992, 1293, - 1989, 1304, 1986, 1315, 1983, 1319, 1972, 1321, 1969, 1325, - 1968, 1326, 1966, 1327, 1963, 1332, 1952, 1333, 1946, 1355, - 1943, 1361, 1941, 1363, 1940, 1365, 1937, 1367, 1926, 1372, - 1923, 1373, 1912, 1378, 1901, 1393, 1900, 1395, 1898, 1401, - 1897, 1403, 1895, 1407, 1894, 1413, 1891, 1418, 1869, 1424, - 1864, 1433, 1861, 1435, 1858, 1439, 1855, 1441, 1854, 1447, - - 1852, 1453, 1851, 1464, 1849, 1470, 1826, 1475, 1824, 1479, - 1823, 1481, 1821, 1485, 1812, 1487, 1809, 1492, 1806, 1493, - 1803, 1510, 1792, 1515, 1786, 1521, 1783, 1523, 1781, 1525, - 1780, 1527, 1777, 1532, 1766, 1533, 139, 1538, 157, 1555, - 312, 1561, 339, 1563, 341, 1567, 474, 1569, 530, 1573, - 567, 1578, 569, 1584, 597, 1595, 610, 1599, 615, 1601, - 625, 1607, 644, 1609, 645, 1613, 649, 1624, 676, 1630, - 682, 1635, 695, 1639, 735, 1641, 736, 1645, 747, 1647, - 753, 1653, 756, 1670, 757, 1675, 758, 1676, 760, 1681, - 767, 1683, 770, 1685, 778, 1687, 779, 1693, 782, 1698, - - 783, 1715, 785, 1716, 787, 1721, 797, 1723, 799, 1727, - 800, 1729, 807, 1733, 812, 1738, 814, 1744, 817, 1755, - 837, 1761, 840, 1767, 842, 1769, 843, 1773, 846, 1775, - 875, 1784, 877, 1790, 879, 1795, 880, 1801, 884, 1805, - 886, 1807, 889, 1813, 893, 1815, 912, 1830, 915, 1835, - 918, 1836, 921, 1841, 923, 1843, 924, 1845, 925, 1847, - 927, 1853, 930, 1875, 932, 1876, 944, 1881, 952, 1882, - 955, 1883, 964, 1887, 966, 1889, 969, 1893, 973, 1904, - 975, 1915, 978, 1921, 984, 1922, 991, 1927, 995, 1929, - 1000, 1933, 1006, 1935, 1009, 1944, 1010, 1950, 1012, 1955, - - 1015, 1961, 1021, 1967, 1022, 1973, 1024, 1975, 1041, 1981, - 1043, 1990, 1046, 1995, 1050, 1996, 1052, 2001, 1053, 2003, - 1055, 2007, 1056, 2013, 1081, 2021, 1084, 2035, 1086, 2036, - 1087, 2041, 1090, 2042, 1091, 2043, 1093, 2047, 1096, 2049, - 1098, 2053, 1121, 2075, 1124, 2081, 1127, 2082, 1130, 2083, - 1131, 2087, 1134, 2088, 1137, 2089, 1141, 2093, 1144, 2095, - 1148, 2121, 1163, 2123, 1167, 2127, 1170, 2128, 1174, 2129, - 1177, 2133, 1180, 2134, 1181, 2135, 1183, 2141, 1184, 2163, - 1194, 2167, 1203, 2169, 1206, 2173, 1209, 2174, 1220, 2175, - 1223, 2180, 1224, 2181, 1226, 2195, 1229, 2203, 1243, 2209, - - 1246, 2213, 1249, 2215, 1251, 2220, 1252, 2221, 1255, 2226, - 1266, 2235, 1269, 2241, 1272, 2243, 1283, 2249, 1292, 2255, - 1294, 2261, 1295, 2266, 1297, 2272, 1298, 2281, 1301, 2283, - 1312, 2287, 1323, 2289, 1334, 2294, 1337, 2295, 1338, 2301, - 1340, 2312, 1341, 2323, 1343, 2327, 1344, 2329, 1350, 2333, - 1369, 2334, 1371, 2335, 1374, 2340, 1380, 2341, 1383, 2363, - 1384, 2369, 1386, 2371, 1389, 2373, 1409, 2375, 1411, 2380, - 1412, 2381, 1414, 2386, 1415, 2401, 1426, 2403, 1429, 2409, - 1432, 2411, 1443, 2415, 1446, 2421, 1449, 2426, 1452, 2432, - 1455, 2441, 1457, 2443, 1458, 2447, 1461, 2449, 1472, 2455, - - 1483, 2461, 1486, 2472, 1489, 2478, 1498, 2483, 1500, 2487, - 1501, 2489, 1503, 2493, 1504, 2495, 1529, 2500, 1531, 2501, - 1534, 2518, 1540, 2523, 1543, 2529, 1544, 2531, 1546, 2533, - 1549, 2535, 1556, 2540, 1571, 2541, 1574, 2546, 1575, 2563, - 1577, 2569, 1580, 2571, 1586, 2575, 1589, 2577, 1592, 2581, - 1603, 2586, 1606, 2592, 1615, 2603, 1617, 2607, 1618, 2609, - 1620, 2615, 1621, 2617, 1632, 2621, 1643, 2632, 1646, 2638, - 1649, 2643, 1652, 2647, 1655, 2649, 1658, 2653, 1661, 2655, - 1663, 2661, 1664, 2678, 1689, 2683, 1691, 2684, 1692, 2689, - 1694, 2691, 1695, 2693, 1704, 2695, 1706, 2701, 1709, 2706, - - 1731, 2723, 1734, 2724, 1735, 2729, 1737, 2731, 1740, 2735, - 1746, 2737, 1749, 2741, 1752, 2746, 1762, 2752, 7617, 2763, - 7617, 2815, 2826, 2837, 2848, 2859, 2870, 2881, 1777, 2892, - 2896, 2906, 2916, 2920, 2931, 2940, 2944, 2948, 2959, 2970, - 2981, 2985, 2996, 3006, 3017, 3026, 3037, 3048, 3059, 3070, - 3081, 3092, 3103, 3114, 3125, 3136, 3147, 3158, 3169, 3180, - 3191, 3202, 3213, 3224, 3235, 3246, 3257, 3268, 3279, 3290, - 3301, 3312, 3323, 3334, 3345, 3356, 3367, 3378, 3389, 3400, - 3411, 3422, 3433, 3444, 3455, 3466, 3477, 3488, 3499, 3510, - 3521, 3532, 3543, 3554, 3565, 3576, 3587, 3598, 3609, 3620, - - 3631, 3642, 3653, 3664, 3675, 3686, 3697, 3708, 3719, 3730, - 3741, 3752, 3763, 3774, 3785, 3796, 3807, 3818, 3829, 3840, - 3851, 3862, 3873, 3884, 3895, 3906, 3917, 3928, 3939, 3950, - 3961, 3972, 3983, 3994, 4005, 4016, 4027, 4038, 4049, 4060, - 4071, 4082, 4093, 4104, 4115, 4126, 4137, 4148, 4159, 4170, - 4181, 4192, 4203, 4214, 4225, 4236, 4247, 4258, 4269, 4280, - 4291, 4302, 4313, 4324, 4335, 4346, 4357, 4368, 4379, 4390, - 4401, 4412, 4423, 4434, 4445, 4456, 4467, 4478, 4489, 4500, - 4511, 4522, 4533, 4544, 4555, 4566, 4577, 4588, 4599, 4610, - 4621, 4632, 4643, 4654, 4665, 4676, 4687, 4698, 4709, 4720, - - 4731, 4742, 4753, 4764, 4775, 4786, 4797, 4808, 4819, 4830, - 4841, 4852, 4863, 4874, 4885, 4896, 4907, 4918, 4929, 4940, - 4951, 4962, 4973, 4984, 4995, 5006, 5017, 5028, 5039, 5050, - 5061, 5072, 5083, 5094, 5105, 5116, 5127, 5138, 5149, 5160, - 5171, 5182, 5193, 5204, 5215, 5226, 5237, 5248, 5259, 5270, - 5281, 5292, 5303, 5314, 5325, 5336, 5347, 5358, 5369, 5380, - 5391, 5402, 5413, 5424, 5435, 5446, 5457, 5468, 5479, 5490, - 5501, 5512, 5523, 5534, 5545, 5556, 5567, 5578, 5589, 5600, - 5611, 5622, 5633, 5644, 5655, 5666, 5677, 5688, 5699, 5710, - 5721, 5732, 5743, 5754, 5765, 5776, 5787, 5798, 5809, 5820, - - 5831, 5842, 5853, 5864, 5875, 5886, 5897, 5908, 5919, 5930, - 5941, 5952, 5963, 5974, 5985, 5996, 6007, 6018, 6029, 6040, - 6051, 6062, 6073, 6084, 6095, 6106, 6117, 6128, 6139, 6150, - 6161, 6172, 6183, 6194, 6205, 6216, 6227, 6238, 6249, 6260, - 6271, 6282, 6293, 6304, 6315, 6326, 6337, 6348, 6359, 6370, - 6381, 6392, 6403, 6414, 6425, 6436, 6447, 6458, 6469, 6480, - 6491, 6502, 6513, 6524, 6535, 6546, 6557, 6568, 6579, 6590, - 6601, 6612, 6623, 6634, 6645, 6656, 6667, 6678, 6689, 6700, - 6711, 6722, 6733, 6744, 6755, 6766, 6777, 6788, 6799, 6810, - 6821, 6832, 6843, 6854, 6865, 6876, 6887, 6898, 6909, 6920, - - 6931, 6942, 6953, 6964, 6975, 6986, 6997, 7008, 7019, 7030, - 7041, 7052, 7063, 7074, 7085, 7096, 7107, 7118, 7129, 7140, - 7151, 7162, 7173, 7184, 7195, 7206, 7217, 7228, 7239, 7250, - 7261, 7272, 7283, 7294, 7305, 7316, 7327, 7338, 7349, 7360, - 7371 + 8941, 8940, 0, 0, 57, 58, 59, 60, 120, 0, + 182, 0, 0, 0, 244, 0, 306, 0, 368, 0, + 8949, 8948, 8947, 8946, 68, 70, 8959, 8934, 422, 8966, + 78, 8932, 426, 8966, 0, 44, 65, 72, 485, 8966, + 8931, 83, 59, 79, 88, 415, 419, 8933, 86, 89, + 416, 8928, 8928, 8920, 8966, 409, 439, 414, 416, 434, + 423, 8906, 0, 436, 8908, 8911, 8897, 52, 8909, 390, + 425, 400, 8912, 8904, 8896, 8966, 442, 8966, 465, 8966, + 539, 8937, 596, 470, 656, 8909, 8966, 595, 718, 780, + 8938, 842, 897, 957, 1012, 8966, 481, 8966, 8966, 8914, + + 0, 8966, 0, 8966, 8966, 0, 448, 472, 8966, 0, + 8920, 8919, 505, 8966, 8934, 8910, 8966, 8909, 8910, 486, + 8909, 8907, 472, 8895, 498, 8905, 1015, 8966, 600, 0, + 1016, 0, 8966, 503, 8966, 8966, 80, 8966, 0, 0, + 8878, 469, 8880, 8882, 8879, 8890, 8886, 8870, 8875, 8966, + 8966, 8966, 8966, 8966, 8966, 589, 8966, 8907, 8966, 8966, + 592, 596, 616, 886, 8966, 8868, 491, 8966, 8966, 8894, + 8966, 8966, 8893, 525, 8966, 0, 599, 8865, 8879, 8864, + 0, 1019, 594, 8890, 8875, 482, 464, 8865, 487, 8873, + 0, 8869, 8857, 8859, 8870, 8872, 565, 8858, 8853, 8856, + + 8854, 0, 8852, 590, 8848, 8847, 8842, 0, 573, 8862, + 569, 8862, 8853, 8843, 8835, 8840, 8853, 8839, 8847, 8837, + 8966, 8966, 1018, 1022, 8881, 1023, 1024, 8966, 1027, 1053, + 622, 8966, 8966, 1057, 1106, 1026, 8853, 1107, 1108, 1028, + 1137, 8966, 1110, 0, 0, 8882, 1035, 0, 0, 1190, + 0, 1116, 1243, 1303, 1192, 0, 0, 1118, 1363, 1124, + 0, 1193, 0, 0, 1194, 1195, 8966, 905, 643, 8966, + 0, 0, 628, 1121, 631, 0, 8966, 8966, 1201, 8966, + 8966, 8966, 8860, 1190, 8966, 8842, 8831, 8966, 1200, 1392, + 0, 8966, 8878, 8829, 8832, 8830, 8823, 8828, 8822, 8831, + + 8839, 8821, 8819, 908, 1029, 633, 893, 1210, 8834, 8867, + 8966, 8966, 8966, 8966, 8865, 8822, 578, 8832, 8823, 8826, + 8810, 0, 8828, 8837, 8826, 8821, 8822, 8805, 8809, 863, + 8810, 8820, 0, 8805, 8814, 8798, 1092, 8805, 8796, 8810, + 8813, 8808, 8809, 8809, 8798, 8797, 8788, 8802, 8801, 8785, + 0, 872, 8784, 8791, 8781, 8780, 8780, 8779, 8783, 0, + 8792, 0, 0, 8784, 0, 1052, 8802, 1045, 8966, 1203, + 1117, 1204, 0, 1212, 1450, 0, 8966, 1232, 0, 1491, + 914, 1365, 1205, 1367, 1452, 0, 1210, 1543, 1437, 8803, + 1543, 8777, 8783, 8790, 8789, 8777, 8786, 8786, 1551, 8781, + + 8773, 8775, 8778, 1066, 8764, 8812, 1148, 8779, 8767, 8764, + 8765, 8762, 8755, 8756, 8748, 8761, 0, 8763, 8751, 8764, + 8748, 8758, 8765, 8744, 0, 8755, 8738, 8757, 8746, 8754, + 8736, 8750, 0, 0, 8743, 8744, 8754, 8734, 8752, 8747, + 8730, 8749, 8731, 8728, 0, 8727, 8745, 8740, 8735, 8734, + 8724, 8732, 8737, 8716, 8718, 8732, 0, 1551, 0, 1553, + 1601, 0, 1565, 1550, 1573, 1554, 8745, 1566, 1159, 8719, + 8709, 8715, 1558, 8720, 8711, 1064, 8966, 8723, 8726, 1069, + 8714, 8707, 8717, 8966, 8755, 1161, 8705, 8718, 8719, 8701, + 8715, 8711, 8717, 0, 0, 0, 0, 0, 0, 8703, + + 8698, 8703, 8708, 0, 8710, 8694, 0, 8702, 8701, 8705, + 0, 8705, 8698, 8694, 8692, 8700, 8689, 8696, 0, 0, + 8681, 8697, 8696, 8680, 8683, 8693, 8687, 0, 0, 0, + 8966, 1583, 1603, 8703, 1653, 8966, 8723, 8672, 1136, 8666, + 1254, 8966, 8689, 8684, 8683, 8667, 1255, 8966, 8679, 1256, + 8669, 8665, 8684, 8662, 8682, 8681, 8664, 8675, 8656, 8671, + 8655, 0, 8662, 8668, 8652, 8659, 8651, 8661, 8653, 0, + 8662, 8661, 8662, 8663, 8658, 8642, 0, 8656, 0, 0, + 0, 8669, 1655, 1374, 1260, 8966, 1370, 8645, 8640, 1372, + 1377, 1378, 8966, 8637, 8657, 8656, 8645, 8650, 8653, 8647, + + 8630, 8644, 0, 0, 8647, 8646, 8643, 8640, 0, 0, + 8630, 8629, 8643, 8636, 8637, 0, 8634, 8639, 8646, 1657, + 1475, 1379, 8966, 1380, 1457, 1467, 8966, 1511, 8966, 1595, + 8637, 0, 8620, 8619, 0, 8634, 0, 0, 8614, 8628, + 8622, 0, 0, 3868, 3872, 3870, 3879, 3879, 3841, 3854, + 1659, 3843, 1667, 0, 3829, 3829, 3842, 3835, 3831, 0, + 3805, 3799, 3796, 0, 0, 3777, 3799, 1663, 3772, 3776, + 3758, 0, 0, 0, 0, 3768, 0, 3727, 3733, 1664, + 3716, 3721, 3710, 3711, 3708, 3721, 1665, 3690, 0, 3696, + 0, 0, 3698, 1676, 3683, 3678, 3663, 1686, 3553, 3541, + + 3567, 1695, 3552, 0, 3565, 1697, 1695, 3563, 1699, 1727, + 1730, 3562, 1716, 1742, 3536, 3534, 3541, 3557, 1730, 3539, + 3538, 3528, 3552, 1746, 3526, 3524, 1757, 3548, 1747, 3565, + 3559, 1760, 8966, 3544, 1757, 3540, 1763, 3538, 1768, 3534, + 1769, 3530, 1776, 3528, 1780, 3523, 1792, 3519, 1799, 3502, + 1803, 3501, 1809, 3484, 1813, 3480, 1815, 3478, 1822, 3475, + 1826, 3473, 1832, 3457, 1836, 3456, 1845, 3452, 1849, 3438, + 1853, 3434, 1855, 3433, 1859, 3429, 1866, 3411, 1872, 3406, + 1876, 3390, 1882, 3388, 1886, 3385, 1893, 3383, 1895, 3367, + 1899, 3362, 1903, 3344, 1905, 3343, 1912, 3339, 1916, 3338, + + 1922, 3335, 1926, 3321, 1932, 3317, 1939, 3316, 1943, 3300, + 1945, 3298, 1949, 3293, 1953, 3289, 1962, 3272, 1966, 3271, + 1972, 3254, 1976, 3250, 1983, 3248, 1985, 3245, 1989, 3243, + 1993, 3227, 1995, 3226, 1999, 3222, 2006, 3208, 2012, 3204, + 2016, 3203, 2022, 3199, 2029, 3181, 2033, 3176, 2035, 3160, + 2039, 3158, 2043, 3155, 2045, 3153, 2052, 3137, 2056, 3132, + 2062, 3114, 2066, 3113, 2075, 3109, 2079, 3108, 2083, 3105, + 2085, 3091, 2089, 3087, 2096, 3086, 2102, 3070, 2106, 3068, + 2112, 3063, 2116, 3059, 2123, 3042, 2125, 3041, 2129, 3024, + 2133, 3020, 2135, 3018, 2142, 3015, 2146, 3013, 2152, 2997, + + 2156, 2996, 2162, 2992, 2169, 2978, 2173, 2974, 2175, 2973, + 2179, 2969, 2183, 2951, 2192, 2946, 2196, 2930, 2202, 2928, + 2206, 2925, 2213, 2923, 2215, 2907, 2219, 2902, 2223, 2884, + 2225, 2883, 2229, 2879, 2236, 2878, 2242, 2875, 2246, 2861, + 2252, 2857, 2259, 2856, 2263, 2840, 2265, 2838, 2269, 2833, + 2273, 2829, 2275, 2812, 2282, 2811, 2286, 2794, 2292, 2790, + 2296, 2788, 2305, 2785, 2309, 2783, 2313, 2767, 2315, 2766, + 2319, 2762, 2326, 2748, 2332, 2744, 2336, 2743, 2342, 2739, + 2346, 2721, 2353, 2716, 2355, 2700, 2359, 2698, 2363, 2695, + 2365, 2693, 2372, 2677, 2376, 2672, 2382, 2654, 2386, 2653, + + 2392, 2649, 2399, 2648, 2403, 2645, 2405, 2631, 2409, 2627, + 2413, 2626, 2422, 54, 2426, 92, 2432, 414, 2436, 427, + 2443, 472, 2445, 494, 2449, 587, 2453, 617, 2455, 906, + 2459, 1013, 2466, 1016, 2472, 1018, 2476, 1022, 2482, 1030, + 2489, 1050, 2493, 1056, 2495, 1099, 2499, 1106, 2503, 1109, + 2505, 1130, 2512, 1183, 2516, 1201, 2522, 1202, 2526, 1214, + 2535, 1219, 2539, 1235, 2543, 1242, 2545, 1247, 2549, 1250, + 2556, 1252, 2562, 1360, 2566, 1362, 2572, 1363, 2576, 1364, + 2583, 1365, 2585, 1437, 2589, 1438, 2593, 1439, 2595, 1440, + 2602, 1441, 2606, 1442, 2612, 1443, 2616, 1444, 2622, 1459, + + 2629, 1491, 2633, 1492, 2635, 1493, 2639, 1494, 2643, 1495, + 2652, 1497, 2656, 1498, 2662, 1539, 2666, 1541, 2673, 1542, + 2675, 1550, 2679, 1554, 2683, 1560, 2685, 1561, 2689, 1564, + 2696, 1568, 2702, 1576, 2706, 1577, 2712, 1584, 2719, 1585, + 2723, 1589, 2725, 1591, 2729, 1592, 2733, 1593, 2735, 1595, + 2742, 1596, 2746, 1598, 2752, 1599, 2756, 1600, 2765, 1602, + 2769, 1603, 2773, 1604, 2775, 1605, 2779, 1606, 2786, 1607, + 2792, 1610, 2796, 1641, 2802, 1643, 2806, 1651, 2813, 1652, + 2815, 1654, 2819, 1670, 2823, 1672, 2825, 1677, 2832, 1678, + 2836, 1688, 2842, 1690, 2846, 1694, 2852, 1703, 2859, 1711, + + 2863, 1713, 2865, 1718, 2869, 1726, 2873, 1734, 2882, 1741, + 2886, 1743, 2892, 1745, 2896, 1751, 2903, 1752, 2905, 1756, + 2909, 1764, 2913, 1770, 2915, 1773, 2919, 1778, 2926, 1781, + 2932, 1782, 2936, 1786, 2942, 1787, 2949, 1789, 2953, 1790, + 2955, 1793, 2959, 1801, 2963, 1805, 2965, 1810, 2972, 1814, + 2976, 1819, 2982, 1823, 2986, 1824, 2995, 1828, 2999, 1833, + 3003, 1842, 3005, 1846, 3009, 1847, 3016, 1863, 3022, 1865, + 3026, 1868, 3032, 1870, 3036, 1874, 3043, 1891, 3045, 1892, + 3049, 1909, 3053, 1913, 3055, 1918, 3062, 1920, 3066, 1936, + 3072, 1937, 3076, 1941, 3082, 1955, 3089, 1958, 3093, 1959, + + 3095, 1963, 3099, 1964, 3103, 1982, 3112, 1987, 3116, 2003, + 3122, 2005, 3126, 2008, 3133, 2010, 3135, 2026, 3139, 2031, + 3143, 2049, 3145, 2053, 3149, 2054, 3156, 2058, 3162, 2072, + 3166, 2076, 3172, 2077, 3179, 2093, 3183, 2095, 3185, 2098, + 3189, 2100, 3193, 2104, 3195, 2121, 3202, 2122, 3206, 2139, + 3212, 2143, 3216, 2148, 3225, 2150, 3229, 2166, 3233, 2167, + 3235, 2171, 3239, 2185, 3246, 2188, 3252, 2189, 3256, 2193, + 3262, 2194, 3266, 2212, 3273, 2217, 3275, 2233, 3279, 2235, + 3283, 2238, 3285, 2240, 3292, 2256, 3296, 2261, 3302, 2279, + 3306, 2283, 3312, 2284, 3319, 2288, 3323, 2302, 3325, 2306, + + 3329, 2307, 3333, 2323, 3342, 2325, 3346, 2328, 3352, 2330, + 3356, 2334, 3363, 2351, 3365, 2352, 3369, 2369, 3373, 2373, + 3375, 2378, 3379, 2380, 3386, 2396, 3392, 2397, 3396, 2401, + 3402, 2415, 3409, 2418, 3413, 2419, 3415, 2423, 3419, 2424, + 3423, 2442, 3425, 2447, 3432, 2463, 3436, 2465, 3442, 2468, + 3446, 2470, 3455, 2486, 3459, 2491, 3463, 2509, 3465, 2513, + 3469, 2514, 3476, 2518, 3482, 2532, 3486, 2536, 3492, 2537, + 3496, 2553, 3503, 2555, 3505, 2558, 3509, 2560, 3513, 2564, + 3515, 2581, 3522, 2582, 3526, 2599, 3532, 2603, 3536, 8966, + 3542, 8966, 3594, 3606, 3618, 3630, 3642, 3654, 3666, 3678, + + 3690, 2622, 3702, 3708, 3718, 3730, 3740, 3744, 3748, 3758, + 3770, 3782, 3794, 3799, 3809, 3815, 3825, 3836, 3847, 3858, + 3869, 3879, 3890, 3902, 3912, 2624, 3922, 3934, 3946, 3958, + 3970, 3982, 3994, 4006, 4018, 4030, 4042, 4054, 4066, 4078, + 4090, 4102, 4114, 4126, 4138, 4150, 4162, 4174, 4186, 4198, + 4210, 4222, 4234, 4246, 4258, 4270, 4282, 4294, 4306, 4318, + 4330, 4342, 4354, 4366, 4378, 4390, 4402, 4414, 4426, 4438, + 4450, 4462, 4474, 4486, 4498, 4510, 4522, 4534, 4546, 4558, + 4570, 4582, 4594, 4606, 4618, 4630, 4642, 4654, 4666, 4678, + 4690, 4702, 4714, 4726, 4738, 4750, 4762, 4774, 4786, 4798, + + 4810, 4822, 4834, 4846, 4858, 4870, 4882, 4894, 4906, 4918, + 4930, 4942, 4954, 4966, 4978, 4990, 5002, 5014, 5026, 5038, + 5050, 5062, 5074, 5086, 5098, 5110, 5122, 5134, 5146, 5158, + 5170, 5182, 5194, 5206, 5218, 5230, 5242, 5254, 5266, 5278, + 5290, 5302, 5314, 5326, 5338, 5350, 5362, 5374, 5386, 5398, + 5410, 5422, 5434, 5446, 5458, 5470, 5482, 5494, 5506, 5518, + 5530, 5542, 5554, 5566, 5578, 5590, 5602, 5614, 5626, 5638, + 5650, 5662, 5674, 5686, 5698, 5710, 5722, 5734, 5746, 5758, + 5770, 5782, 5794, 5806, 5818, 5830, 5842, 5854, 5866, 5878, + 5890, 5902, 5914, 5926, 5938, 5950, 5962, 5974, 5986, 5998, + + 6010, 6022, 6034, 6046, 6058, 6070, 6082, 6094, 6106, 6118, + 6130, 6142, 6154, 6166, 6178, 6190, 6202, 6214, 6226, 6238, + 6250, 6262, 6274, 6286, 6298, 6310, 6322, 6334, 6346, 6358, + 6370, 6382, 6394, 6406, 6418, 6430, 6442, 6454, 6466, 6478, + 6490, 6502, 6514, 6526, 6538, 6550, 6562, 6574, 6586, 6598, + 6610, 6622, 6634, 6646, 6658, 6670, 6682, 6694, 6706, 6718, + 6730, 6742, 6754, 6766, 6778, 6790, 6802, 6814, 6826, 6838, + 6850, 6862, 6874, 6886, 6898, 6910, 6922, 6934, 6946, 6958, + 6970, 6982, 6994, 7006, 7018, 7030, 7042, 7054, 7066, 7078, + 7090, 7102, 7114, 7126, 7138, 7150, 7162, 7174, 7186, 7198, + + 7210, 7222, 7234, 7246, 7258, 7270, 7282, 7294, 7306, 7318, + 7330, 7342, 7354, 7366, 7378, 7390, 7402, 7414, 7426, 7438, + 7450, 7462, 7474, 7486, 7498, 7510, 7522, 7534, 7546, 7558, + 7570, 7582, 7594, 7606, 7618, 7630, 7642, 7654, 7666, 7678, + 7690, 7702, 7714, 7726, 7738, 7750, 7762, 7774, 7786, 7798, + 7810, 7822, 7834, 7846, 7858, 7870, 7882, 7894, 7906, 7918, + 7930, 7942, 7954, 7966, 7978, 7990, 8002, 8014, 8026, 8038, + 8050, 8062, 8074, 8086, 8098, 8110, 8122, 8134, 8146, 8158, + 8170, 8182, 8194, 8206, 8218, 8230, 8242, 8254, 8266, 8278, + 8290, 8302, 8314, 8326, 8338, 8350, 8362, 8374, 8386, 8398, + + 8410, 8422, 8434, 8446, 8458, 8470, 8482, 8494, 8506, 8518, + 8530, 8542, 8554, 8566, 8578, 8590, 8602, 8614, 8626, 8638, + 8650 } ; -static yyconst short int yy_def[1842] = +static yyconst short int yy_def[1922] = { 0, - 1422, 1422, 1421, 3, 1421, 5, 1423, 1423, 5, 5, - 5, 5, 1421, 13, 1421, 15, 1424, 1424, 1424, 1424, - 1425, 1425, 1421, 1426, 1427, 1421, 1421, 1421, 1428, 1421, - 1429, 1421, 1421, 1430, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1431, - 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1421, 1421, 1421, 1432, 1421, 1421, 1432, 1421, 1421, - 1421, 1433, 1434, 1421, 1421, 1435, 1421, 1435, 1421, 1433, - 1421, 1421, 1432, 1433, 1436, 1421, 1437, 1421, 1438, 1439, - - 1421, 1421, 1440, 1421, 1421, 1421, 1421, 1421, 1441, 1426, - 1426, 1421, 1421, 1421, 1421, 1421, 1428, 1421, 1428, 1442, - 1421, 1421, 1421, 1421, 1430, 1421, 1430, 35, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1428, - 1430, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421, - 1432, 1421, 1421, 1432, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1434, 1421, 1421, 1435, 1435, 1421, 1421, 1421, 1421, - 1421, 1432, 1421, 1421, 1436, 1421, 1437, 1438, 1439, 1421, - 1421, 1440, 1421, 1421, 1421, 1443, 1441, 1421, 1421, 1421, - 1421, 1442, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1444, 1421, 1421, 1421, 1421, 1421, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1421, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421, 1421, 1445, - 1443, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1444, 1446, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1421, 1421, 1447, 1445, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1446, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1448, 1447, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1449, 1448, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1450, 1449, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1451, 1450, - 1421, 1421, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1431, 1431, 1452, 1451, 1421, 1431, 1431, - - 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1453, 1452, 1421, - 1431, 1431, 1431, 1431, 1454, 1453, 1421, 1431, 1431, 1431, - 1431, 1455, 1454, 1421, 1431, 1456, 1455, 1421, 1431, 1457, - 1456, 1421, 1431, 1458, 1457, 1421, 1459, 1458, 1421, 1421, - 1460, 1459, 1421, 1421, 1421, 1421, 1461, 1460, 1421, 1421, - 1421, 1462, 1461, 1421, 1421, 1421, 1463, 1462, 1421, 1421, - 1421, 1421, 1464, 1463, 1465, 1464, 1466, 1465, 1467, 1466, - 1468, 1467, 1469, 1468, 1470, 1469, 1471, 1470, 1472, 1471, - 1473, 1472, 1474, 1473, 1475, 1474, 1476, 1475, 1477, 1476, - 1478, 1477, 1479, 1478, 1480, 1479, 1481, 1480, 1482, 1481, - - 1483, 1482, 1484, 1483, 1485, 1484, 1486, 1485, 1487, 1486, - 1488, 1487, 1489, 1488, 1490, 1489, 1491, 1490, 1492, 1491, - 1493, 1492, 1494, 1493, 1495, 1494, 1496, 1495, 1497, 1496, - 1498, 1497, 1499, 1498, 1500, 1499, 1501, 1500, 1502, 1501, - 1503, 1502, 1504, 1503, 1505, 1504, 1506, 1505, 1507, 1506, - 1508, 1507, 1509, 1508, 1510, 1509, 1511, 1510, 1512, 1511, - 1513, 1512, 1514, 1513, 1515, 1514, 1516, 1515, 1517, 1516, - 1518, 1517, 1519, 1518, 1520, 1519, 1521, 1520, 1522, 1521, - 1523, 1522, 1524, 1523, 1525, 1524, 1526, 1525, 1527, 1526, - 1528, 1527, 1529, 1528, 1530, 1529, 1531, 1530, 1532, 1531, - - 1533, 1532, 1534, 1533, 1535, 1534, 1536, 1535, 1537, 1536, - 1538, 1537, 1539, 1538, 1540, 1539, 1541, 1540, 1542, 1541, - 1543, 1542, 1544, 1543, 1545, 1544, 1546, 1545, 1547, 1546, - 1548, 1547, 1549, 1548, 1550, 1549, 1551, 1550, 1552, 1551, - 1553, 1552, 1554, 1553, 1555, 1554, 1556, 1555, 1557, 1556, - 1558, 1557, 1559, 1558, 1560, 1559, 1561, 1560, 1562, 1561, - 1563, 1562, 1564, 1563, 1565, 1564, 1566, 1565, 1567, 1566, - 1568, 1567, 1569, 1568, 1570, 1569, 1571, 1570, 1572, 1571, - 1573, 1572, 1574, 1573, 1575, 1574, 1576, 1575, 1577, 1576, - 1578, 1577, 1579, 1578, 1580, 1579, 1581, 1580, 1582, 1581, - - 1583, 1582, 1584, 1583, 1585, 1584, 1586, 1585, 1587, 1586, - 1588, 1587, 1589, 1588, 1590, 1589, 1591, 1590, 1592, 1591, - 1593, 1592, 1594, 1593, 1595, 1594, 1596, 1595, 1597, 1596, - 1598, 1597, 1599, 1598, 1600, 1599, 1601, 1600, 1602, 1601, - 1603, 1602, 1604, 1603, 1605, 1604, 1606, 1605, 1607, 1606, - 1608, 1607, 1609, 1608, 1610, 1609, 1611, 1610, 1612, 1611, - 1613, 1612, 1614, 1613, 1615, 1614, 1616, 1615, 1617, 1616, - 1618, 1617, 1619, 1618, 1620, 1619, 1621, 1620, 1622, 1621, - 1623, 1622, 1624, 1623, 1625, 1624, 1626, 1625, 1627, 1626, - 1628, 1627, 1629, 1628, 1630, 1629, 1631, 1630, 1632, 1631, - - 1633, 1632, 1634, 1633, 1635, 1634, 1636, 1635, 1637, 1636, - 1638, 1637, 1639, 1638, 1640, 1639, 1641, 1640, 1642, 1641, - 1643, 1642, 1644, 1643, 1645, 1644, 1646, 1645, 1647, 1646, - 1648, 1647, 1649, 1648, 1650, 1649, 1651, 1650, 1652, 1651, - 1653, 1652, 1654, 1653, 1655, 1654, 1656, 1655, 1657, 1656, - 1658, 1657, 1659, 1658, 1660, 1659, 1661, 1660, 1662, 1661, - 1663, 1662, 1664, 1663, 1665, 1664, 1666, 1665, 1667, 1666, - 1668, 1667, 1669, 1668, 1670, 1669, 1671, 1670, 1672, 1671, - 1673, 1672, 1674, 1673, 1675, 1674, 1676, 1675, 1677, 1676, - 1678, 1677, 1679, 1678, 1680, 1679, 1681, 1680, 1682, 1681, - - 1683, 1682, 1684, 1683, 1685, 1684, 1686, 1685, 1687, 1686, - 1688, 1687, 1689, 1688, 1690, 1689, 1691, 1690, 1692, 1691, - 1693, 1692, 1694, 1693, 1695, 1694, 1696, 1695, 1697, 1696, - 1698, 1697, 1699, 1698, 1700, 1699, 1701, 1700, 1702, 1701, - 1703, 1702, 1704, 1703, 1705, 1704, 1706, 1705, 1707, 1706, - 1708, 1707, 1709, 1708, 1710, 1709, 1711, 1710, 1712, 1711, - 1713, 1712, 1714, 1713, 1715, 1714, 1716, 1715, 1717, 1716, - 1718, 1717, 1719, 1718, 1720, 1719, 1721, 1720, 1722, 1721, - 1723, 1722, 1724, 1723, 1725, 1724, 1726, 1725, 1727, 1726, - 1728, 1727, 1729, 1728, 1730, 1729, 1731, 1730, 1732, 1731, - - 1733, 1732, 1734, 1733, 1735, 1734, 1736, 1735, 1737, 1736, - 1738, 1737, 1739, 1738, 1740, 1739, 1741, 1740, 1742, 1741, - 1743, 1742, 1744, 1743, 1745, 1744, 1746, 1745, 1747, 1746, - 1748, 1747, 1749, 1748, 1750, 1749, 1751, 1750, 1752, 1751, - 1753, 1752, 1754, 1753, 1755, 1754, 1756, 1755, 1757, 1756, - 1758, 1757, 1759, 1758, 1760, 1759, 1761, 1760, 1762, 1761, - 1763, 1762, 1764, 1763, 1765, 1764, 1766, 1765, 1767, 1766, - 1768, 1767, 1769, 1768, 1770, 1769, 1771, 1770, 1772, 1771, - 1773, 1772, 1774, 1773, 1775, 1774, 1776, 1775, 1777, 1776, - 1778, 1777, 1779, 1778, 1780, 1779, 1781, 1780, 1782, 1781, - - 1783, 1782, 1784, 1783, 1785, 1784, 1786, 1785, 1787, 1786, - 1788, 1787, 1789, 1788, 1790, 1789, 1791, 1790, 1792, 1791, - 1793, 1792, 1794, 1793, 1795, 1794, 1796, 1795, 1797, 1796, - 1798, 1797, 1799, 1798, 1800, 1799, 1801, 1800, 1802, 1801, - 1803, 1802, 1804, 1803, 1805, 1804, 1806, 1805, 1807, 1806, - 1808, 1807, 1809, 1808, 1810, 1809, 1811, 1810, 1812, 1811, - 1813, 1812, 1814, 1813, 1815, 1814, 1816, 1815, 1817, 1816, - 1818, 1817, 1819, 1818, 1820, 1819, 1821, 1820, 1822, 1821, - 1823, 1822, 1824, 1823, 1825, 1824, 1826, 1825, 1827, 1826, - 1828, 1827, 1829, 1828, 1830, 1829, 1831, 1830, 1832, 1831, - - 1833, 1832, 1834, 1833, 1835, 1834, 1836, 1835, 1837, 1836, - 1838, 1837, 1839, 1838, 1840, 1839, 1841, 1840, 1421, 1841, - 0, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421 + 1493, 1493, 1492, 3, 1494, 1494, 1495, 1495, 1492, 9, + 1492, 11, 1496, 1496, 1492, 15, 1492, 17, 1492, 19, + 1497, 1497, 1497, 1497, 1498, 1498, 1492, 1499, 1500, 1492, + 1492, 1492, 1501, 1492, 1502, 1492, 1492, 1503, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1504, 1492, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1492, 1492, 1492, 1505, 1492, + 1492, 1505, 1505, 1506, 1492, 1506, 1492, 1506, 1492, 1492, + 90, 1492, 89, 1492, 93, 1492, 1507, 1492, 1492, 1492, + + 1508, 1492, 1509, 1492, 1492, 1502, 1492, 1492, 1492, 1510, + 1492, 1492, 1511, 1492, 1492, 1492, 1492, 1492, 1512, 1499, + 1499, 1492, 1492, 1492, 1492, 1492, 1501, 1492, 1513, 1501, + 1501, 1514, 1492, 1492, 1492, 1492, 1503, 1492, 1503, 39, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504, + 1504, 1501, 1503, 1492, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1492, 1492, 1505, 1515, 1505, 1505, 1505, 1492, 1515, 1515, + 1516, 1492, 1492, 1505, 1506, 1517, 1506, 1506, 1506, 1517, + 1517, 1492, 1506, 89, 90, 90, 1518, 93, 94, 93, + 89, 1519, 90, 1492, 253, 90, 89, 1518, 1518, 1518, + 94, 89, 93, 94, 93, 93, 1492, 1507, 1492, 1492, + 1508, 1509, 1492, 1492, 1492, 1510, 1492, 1492, 1511, 1492, + 1492, 1492, 1520, 1512, 1492, 1492, 1492, 1492, 1501, 1513, + 1514, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1521, + 1492, 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1492, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1515, 1492, 1516, 1492, 1505, + 1517, 1506, 89, 1519, 1519, 89, 1492, 1522, 254, 254, + 1523, 1523, 253, 1518, 1518, 259, 93, 93, 1492, 1524, + 1520, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1521, 1525, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1526, 1519, 89, 1522, + 1522, 89, 1523, 253, 1518, 93, 1527, 1524, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1525, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1492, 1522, 1523, 1528, 1527, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1529, 1528, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504, 1504, + + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1530, 1529, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1531, + 1530, 1492, 1492, 1504, 1504, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1532, 1531, 1492, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1533, 1532, + 1492, 1504, 1504, 1504, 1504, 1534, 1533, 1492, 1504, 1504, + 1504, 1504, 1535, 1534, 1492, 1504, 1536, 1535, 1492, 1504, + + 1537, 1536, 1492, 1504, 1538, 1537, 1492, 1539, 1538, 1492, + 1492, 1540, 1539, 1492, 1492, 1492, 1492, 1541, 1540, 1492, + 1492, 1492, 1542, 1541, 1492, 1492, 1492, 1543, 1542, 1492, + 1492, 1492, 1492, 1544, 1543, 1545, 1544, 1546, 1545, 1547, + 1546, 1548, 1547, 1549, 1548, 1550, 1549, 1551, 1550, 1552, + 1551, 1553, 1552, 1554, 1553, 1555, 1554, 1556, 1555, 1557, + 1556, 1558, 1557, 1559, 1558, 1560, 1559, 1561, 1560, 1562, + 1561, 1563, 1562, 1564, 1563, 1565, 1564, 1566, 1565, 1567, + 1566, 1568, 1567, 1569, 1568, 1570, 1569, 1571, 1570, 1572, + 1571, 1573, 1572, 1574, 1573, 1575, 1574, 1576, 1575, 1577, + + 1576, 1578, 1577, 1579, 1578, 1580, 1579, 1581, 1580, 1582, + 1581, 1583, 1582, 1584, 1583, 1585, 1584, 1586, 1585, 1587, + 1586, 1588, 1587, 1589, 1588, 1590, 1589, 1591, 1590, 1592, + 1591, 1593, 1592, 1594, 1593, 1595, 1594, 1596, 1595, 1597, + 1596, 1598, 1597, 1599, 1598, 1600, 1599, 1601, 1600, 1602, + 1601, 1603, 1602, 1604, 1603, 1605, 1604, 1606, 1605, 1607, + 1606, 1608, 1607, 1609, 1608, 1610, 1609, 1611, 1610, 1612, + 1611, 1613, 1612, 1614, 1613, 1615, 1614, 1616, 1615, 1617, + 1616, 1618, 1617, 1619, 1618, 1620, 1619, 1621, 1620, 1622, + 1621, 1623, 1622, 1624, 1623, 1625, 1624, 1626, 1625, 1627, + + 1626, 1628, 1627, 1629, 1628, 1630, 1629, 1631, 1630, 1632, + 1631, 1633, 1632, 1634, 1633, 1635, 1634, 1636, 1635, 1637, + 1636, 1638, 1637, 1639, 1638, 1640, 1639, 1641, 1640, 1642, + 1641, 1643, 1642, 1644, 1643, 1645, 1644, 1646, 1645, 1647, + 1646, 1648, 1647, 1649, 1648, 1650, 1649, 1651, 1650, 1652, + 1651, 1653, 1652, 1654, 1653, 1655, 1654, 1656, 1655, 1657, + 1656, 1658, 1657, 1659, 1658, 1660, 1659, 1661, 1660, 1662, + 1661, 1663, 1662, 1664, 1663, 1665, 1664, 1666, 1665, 1667, + 1666, 1668, 1667, 1669, 1668, 1670, 1669, 1671, 1670, 1672, + 1671, 1673, 1672, 1674, 1673, 1675, 1674, 1676, 1675, 1677, + + 1676, 1678, 1677, 1679, 1678, 1680, 1679, 1681, 1680, 1682, + 1681, 1683, 1682, 1684, 1683, 1685, 1684, 1686, 1685, 1687, + 1686, 1688, 1687, 1689, 1688, 1690, 1689, 1691, 1690, 1692, + 1691, 1693, 1692, 1694, 1693, 1695, 1694, 1696, 1695, 1697, + 1696, 1698, 1697, 1699, 1698, 1700, 1699, 1701, 1700, 1702, + 1701, 1703, 1702, 1704, 1703, 1705, 1704, 1706, 1705, 1707, + 1706, 1708, 1707, 1709, 1708, 1710, 1709, 1711, 1710, 1712, + 1711, 1713, 1712, 1714, 1713, 1715, 1714, 1716, 1715, 1717, + 1716, 1718, 1717, 1719, 1718, 1720, 1719, 1721, 1720, 1722, + 1721, 1723, 1722, 1724, 1723, 1725, 1724, 1726, 1725, 1727, + + 1726, 1728, 1727, 1729, 1728, 1730, 1729, 1731, 1730, 1732, + 1731, 1733, 1732, 1734, 1733, 1735, 1734, 1736, 1735, 1737, + 1736, 1738, 1737, 1739, 1738, 1740, 1739, 1741, 1740, 1742, + 1741, 1743, 1742, 1744, 1743, 1745, 1744, 1746, 1745, 1747, + 1746, 1748, 1747, 1749, 1748, 1750, 1749, 1751, 1750, 1752, + 1751, 1753, 1752, 1754, 1753, 1755, 1754, 1756, 1755, 1757, + 1756, 1758, 1757, 1759, 1758, 1760, 1759, 1761, 1760, 1762, + 1761, 1763, 1762, 1764, 1763, 1765, 1764, 1766, 1765, 1767, + 1766, 1768, 1767, 1769, 1768, 1770, 1769, 1771, 1770, 1772, + 1771, 1773, 1772, 1774, 1773, 1775, 1774, 1776, 1775, 1777, + + 1776, 1778, 1777, 1779, 1778, 1780, 1779, 1781, 1780, 1782, + 1781, 1783, 1782, 1784, 1783, 1785, 1784, 1786, 1785, 1787, + 1786, 1788, 1787, 1789, 1788, 1790, 1789, 1791, 1790, 1792, + 1791, 1793, 1792, 1794, 1793, 1795, 1794, 1796, 1795, 1797, + 1796, 1798, 1797, 1799, 1798, 1800, 1799, 1801, 1800, 1802, + 1801, 1803, 1802, 1804, 1803, 1805, 1804, 1806, 1805, 1807, + 1806, 1808, 1807, 1809, 1808, 1810, 1809, 1811, 1810, 1812, + 1811, 1813, 1812, 1814, 1813, 1815, 1814, 1816, 1815, 1817, + 1816, 1818, 1817, 1819, 1818, 1820, 1819, 1821, 1820, 1822, + 1821, 1823, 1822, 1824, 1823, 1825, 1824, 1826, 1825, 1827, + + 1826, 1828, 1827, 1829, 1828, 1830, 1829, 1831, 1830, 1832, + 1831, 1833, 1832, 1834, 1833, 1835, 1834, 1836, 1835, 1837, + 1836, 1838, 1837, 1839, 1838, 1840, 1839, 1841, 1840, 1842, + 1841, 1843, 1842, 1844, 1843, 1845, 1844, 1846, 1845, 1847, + 1846, 1848, 1847, 1849, 1848, 1850, 1849, 1851, 1850, 1852, + 1851, 1853, 1852, 1854, 1853, 1855, 1854, 1856, 1855, 1857, + 1856, 1858, 1857, 1859, 1858, 1860, 1859, 1861, 1860, 1862, + 1861, 1863, 1862, 1864, 1863, 1865, 1864, 1866, 1865, 1867, + 1866, 1868, 1867, 1869, 1868, 1870, 1869, 1871, 1870, 1872, + 1871, 1873, 1872, 1874, 1873, 1875, 1874, 1876, 1875, 1877, + + 1876, 1878, 1877, 1879, 1878, 1880, 1879, 1881, 1880, 1882, + 1881, 1883, 1882, 1884, 1883, 1885, 1884, 1886, 1885, 1887, + 1886, 1888, 1887, 1889, 1888, 1890, 1889, 1891, 1890, 1892, + 1891, 1893, 1892, 1894, 1893, 1895, 1894, 1896, 1895, 1897, + 1896, 1898, 1897, 1899, 1898, 1900, 1899, 1901, 1900, 1902, + 1901, 1903, 1902, 1904, 1903, 1905, 1904, 1906, 1905, 1907, + 1906, 1908, 1907, 1909, 1908, 1910, 1909, 1911, 1910, 1912, + 1911, 1913, 1912, 1914, 1913, 1915, 1914, 1916, 1915, 1917, + 1916, 1918, 1917, 1919, 1918, 1920, 1919, 1921, 1920, 1492, + 1921, 0, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492 } ; -static yyconst short int yy_nxt[7680] = +static yyconst short int yy_nxt[9029] = { 0, - 26, 27, 27, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 36, 39, 40, 41, 42, - 43, 43, 44, 36, 45, 46, 47, 48, 36, 26, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 59, 59, 61, 59, 62, 63, 64, 59, - 65, 66, 67, 68, 69, 70, 71, 59, 59, 72, - 73, 74, 26, 75, 75, 75, 75, 76, 75, 77, - 75, 75, 75, 75, 75, 75, 75, 75, 78, 75, - 75, 79, 80, 80, 75, 75, 75, 75, 75, 75, - 81, 82, 75, 83, 84, 83, 83, 83, 83, 83, - - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 85, 75, 81, 87, 87, 89, 89, 92, 112, - 115, 115, 115, 93, 104, 105, 118, 121, 122, 202, - 106, 104, 105, 88, 88, 126, 123, 106, 113, 203, - 90, 90, 94, 91, 91, 92, 92, 139, 107, 108, - 119, 93, 124, 940, 127, 107, 108, 141, 140, 144, - 144, 144, 114, 158, 159, 145, 142, 143, 160, 161, - 94, 942, 95, 92, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 30, 31, 31, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 40, 43, 44, 45, 46, + 47, 48, 40, 49, 50, 51, 52, 40, 30, 40, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 63, 63, 65, 63, 66, 67, 68, 63, + 69, 70, 71, 72, 73, 74, 75, 63, 63, 76, + 77, 78, 80, 80, 81, 81, 85, 85, 133, 134, + 114, 115, 114, 115, 135, 153, 116, 1017, 116, 125, + 125, 125, 138, 154, 155, 82, 82, 86, 86, 136, + 138, 87, 87, 117, 118, 117, 118, 151, 156, 156, + + 139, 158, 209, 157, 166, 210, 159, 152, 139, 167, + 168, 169, 160, 170, 171, 1019, 83, 83, 88, 88, + 89, 89, 90, 91, 89, 89, 89, 92, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 93, 89, + 89, 94, 89, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, + 89, 89, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 97, 96, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 97, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, - 96, 96, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 96, 96, 96, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 101, 99, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + + 101, 101, 101, 99, 99, 99, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 103, 102, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 103, 102, 102, 102, 30, 104, + 104, 104, 105, 105, 104, 106, 105, 105, 104, 105, + 105, 105, 105, 105, 105, 105, 105, 107, 108, 105, + 105, 105, 105, 105, 105, 105, 104, 109, 105, 63, + + 105, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 105, 105, 105, + 122, 128, 161, 129, 162, 162, 161, 1021, 162, 162, + 172, 173, 212, 178, 182, 213, 216, 186, 123, 183, + 1023, 217, 163, 189, 130, 179, 163, 190, 187, 180, + 181, 188, 184, 191, 198, 214, 221, 273, 273, 192, + 199, 164, 224, 124, 202, 215, 200, 236, 193, 194, + 195, 203, 204, 267, 267, 131, 140, 205, 196, 185, + 197, 275, 275, 225, 1492, 1025, 285, 328, 237, 125, + + 125, 125, 222, 269, 274, 292, 293, 280, 280, 1492, + 295, 329, 1492, 280, 310, 311, 296, 1027, 141, 142, + 286, 143, 331, 144, 226, 332, 145, 314, 315, 238, + 280, 280, 146, 326, 327, 147, 148, 1492, 149, 227, + 227, 227, 227, 227, 228, 227, 229, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 230, 227, 227, + 231, 227, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 232, 227, + + 227, 228, 233, 233, 138, 128, 339, 129, 156, 156, + 1029, 305, 305, 161, 352, 162, 162, 340, 355, 409, + 353, 356, 139, 237, 225, 346, 163, 242, 290, 163, + 306, 410, 306, 163, 316, 307, 307, 317, 367, 318, + 1031, 347, 348, 319, 320, 267, 267, 273, 273, 369, + 275, 275, 307, 307, 243, 234, 239, 239, 239, 239, + 239, 239, 239, 240, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 241, 239, 239, 231, 242, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 232, 239, 239, 244, 244, + 245, 246, 244, 244, 244, 247, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 248, 244, 244, 249, + 244, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 250, 244, 244, + 251, 251, 245, 246, 251, 251, 251, 252, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + + 251, 251, 251, 251, 251, 251, 251, 251, 253, 251, + 251, 254, 251, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, + 251, 251, 257, 257, 245, 246, 257, 257, 257, 258, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 259, 257, 257, 231, 257, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + + 231, 232, 257, 257, 244, 308, 308, 267, 267, 404, + 404, 404, 307, 307, 421, 422, 245, 246, 446, 308, + 308, 308, 308, 308, 308, 244, 447, 269, 244, 1033, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, + 246, 244, 244, 244, 260, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 261, 261, 244, 262, + 244, 244, 244, 244, 244, 263, 244, 244, 264, 244, + 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, + + 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, + 264, 264, 264, 264, 264, 264, 265, 244, 244, 233, + 128, 128, 129, 1492, 128, 224, 129, 228, 228, 229, + 1492, 224, 228, 240, 366, 371, 1035, 245, 246, 1037, + 248, 1039, 258, 130, 130, 1041, 225, 130, 305, 305, + 230, 225, 225, 1043, 241, 230, 241, 228, 242, 366, + 242, 367, 228, 259, 1492, 476, 163, 404, 404, 404, + 547, 266, 369, 1045, 131, 131, 477, 226, 131, 1047, + 230, 548, 234, 226, 227, 225, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 236, 1492, 236, 370, 1492, 245, 246, + 245, 246, 1049, 374, 371, 384, 245, 246, 428, 1051, + 429, 385, 1053, 430, 237, 237, 237, 585, 237, 242, + 389, 389, 242, 431, 375, 241, 259, 432, 586, 242, + 484, 485, 386, 1055, 389, 389, 389, 389, 389, 389, + 536, 536, 537, 484, 485, 238, 243, 238, 239, 372, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 1492, 1492, 1492, + + 260, 1492, 1492, 280, 280, 128, 1057, 129, 228, 280, + 1492, 1492, 1492, 1492, 245, 246, 1492, 1492, 248, 458, + 253, 263, 263, 248, 1059, 1061, 280, 280, 130, 308, + 308, 225, 237, 253, 245, 246, 242, 1063, 263, 460, + 375, 1492, 1065, 308, 308, 308, 308, 308, 308, 266, + 251, 383, 265, 387, 388, 541, 547, 592, 1067, 131, + 461, 585, 370, 372, 464, 1069, 542, 548, 593, 466, + 1071, 251, 586, 1073, 251, 1075, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + + 251, 251, 251, 376, 376, 377, 377, 376, 376, 376, + 378, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 379, 379, 376, 380, 376, 376, 376, 376, + 376, 381, 376, 376, 379, 376, 379, 379, 379, 379, + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, + 379, 379, 382, 376, 376, 245, 246, 245, 246, 245, + 246, 622, 1492, 626, 384, 621, 621, 621, 628, 592, + 622, 541, 623, 1077, 627, 1079, 1081, 1083, 1085, 629, + 593, 623, 542, 381, 257, 259, 257, 257, 257, 257, + + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 289, 463, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 245, 246, 245, 246, 389, 389, 476, 465, + 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 626, 477, + 389, 389, 389, 389, 389, 389, 621, 621, 621, 627, + 386, 373, 1103, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 376, 376, 628, 376, 1105, 1107, 1109, 1111, 1113, 652, + 1115, 1117, 376, 629, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 1492, 1492, 476, 245, 246, 245, 246, 1492, 458, 541, + 532, 1492, 1119, 477, 1121, 1123, 1492, 245, 246, 1492, + 542, 248, 1492, 1125, 1492, 245, 246, 1127, 253, 375, + 465, 461, 263, 1129, 1131, 245, 246, 1133, 478, 1492, + 532, 1135, 1492, 381, 1492, 543, 653, 653, 653, 1137, + + 1139, 386, 388, 245, 246, 245, 246, 1141, 1143, 464, + 1492, 461, 1145, 466, 1147, 1149, 1151, 1492, 1153, 1155, + 174, 1157, 1159, 1161, 533, 1163, 1165, 1167, 1169, 1171, + 1173, 381, 459, 1175, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 1492, 533, 1492, 1177, 1492, 1179, 1492, 653, 653, + 653, 1492, 1492, 1492, 1181, 1183, 1492, 1185, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 174, 1187, 1492, 1189, 710, 710, 710, 1492, + + 1191, 1193, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1195, 1492, 1197, 1492, 1492, 1492, 1199, 1492, 711, + 1492, 1492, 1492, 1492, 1492, 1492, 1201, 1492, 710, 710, + 710, 714, 714, 714, 1203, 715, 1205, 1492, 1492, 1492, + 716, 1207, 1492, 714, 714, 714, 1492, 715, 1492, 1209, + 1492, 711, 716, 1492, 1492, 1492, 1492, 1211, 732, 732, + 732, 732, 732, 732, 1213, 1492, 1215, 1492, 1217, 1492, + 1492, 1492, 1492, 1492, 1219, 1221, 1492, 1492, 717, 1223, + 1492, 1492, 733, 1492, 1492, 733, 1492, 1225, 1492, 1492, + 717, 1492, 1492, 1227, 1492, 1492, 1229, 1492, 1492, 1492, + + 1492, 1231, 1492, 1492, 1233, 1235, 1492, 1492, 1492, 1237, + 1239, 1492, 1241, 1243, 1492, 1492, 1245, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1247, 1492, 1492, 1492, 1249, 1492, + 1492, 1492, 1492, 1251, 1492, 1492, 1492, 1253, 1492, 1492, + 1492, 1492, 1255, 1492, 1492, 1492, 1257, 1259, 1492, 1492, + 1492, 1261, 1492, 1492, 1492, 1492, 1263, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1265, 1492, 1492, 1492, 1267, + 1269, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1271, 1492, 1273, 1492, + 1492, 1275, 1492, 1277, 1492, 1492, 1492, 1279, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1281, 1283, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1285, 1492, 1492, 1492, 1287, 1492, 1492, 1492, + 1492, 1289, 1492, 1291, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1293, + 1295, 1492, 1492, 1492, 1297, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1299, 1492, + 1492, 1301, 1303, 1492, 1492, 1492, 1305, 1307, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1309, 1492, 1492, 1492, 1492, + 1311, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1313, 1492, 1315, 1492, + 1492, 1317, 1492, 1319, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1321, + 1492, 1492, 1492, 1492, 1323, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1325, 1492, 1492, 1492, 1327, 1329, 1492, 1492, + 1492, 1331, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1333, 1492, 1492, 1492, 1335, + + 1337, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1339, 1492, 1341, 1492, + 1492, 1343, 1492, 1345, 1492, 1492, 1492, 1347, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1349, 1351, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1353, 1492, 1492, 1492, 1355, 1492, 1492, 1492, + 1492, 1357, 1492, 1359, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1361, + 1363, 1492, 1492, 1492, 1365, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1367, 1492, + 1492, 1369, 1371, 1492, 1492, 1492, 1373, 1375, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1377, 1492, 1492, 1492, 1492, + 1379, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1381, 1492, 1383, 1492, + 1492, 1385, 1492, 1387, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1389, + 1492, 1492, 1492, 1492, 1391, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1393, 1492, 1492, 1492, 1395, 1397, 1492, 1492, + 1492, 1399, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1401, 1492, 1492, 1492, 1403, + 1405, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1407, 1492, 1409, 1492, + 1492, 1411, 1492, 1413, 1492, 1492, 1492, 1415, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1417, 1419, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1421, 1492, 1492, 1492, 1423, 1492, 1492, 1492, + + 1492, 1425, 1492, 1427, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1429, + 1431, 1492, 1492, 1492, 1433, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1435, 1492, + 1492, 1437, 1439, 1492, 1492, 1492, 1441, 1443, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1445, 1492, 1492, 1492, 1492, + 1447, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1449, 1492, 1451, 1492, + 1492, 1453, 1492, 1455, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1457, + 1492, 1492, 1492, 1492, 1459, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1461, 1492, 1492, 1492, 1463, 1465, 1492, 1492, + 1492, 1467, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1469, 1492, 1492, 1492, 1471, + 1473, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1475, 1492, 1477, 1492, + 1492, 1479, 1492, 1481, 1492, 1492, 1492, 1483, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1485, 1487, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1489, 1492, 1492, 1492, 1491, 1492, 1492, 1492, + 1492, 132, 1492, 531, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1015, + 1013, 1492, 1492, 1492, 1011, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1009, 1492, + 1492, 1007, 1005, 1492, 1492, 1492, 1003, 1001, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 999, 1492, 1492, 1492, 1492, + + 997, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 995, 1492, 993, 1492, + 1492, 991, 1492, 989, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 987, + 1492, 1492, 1492, 1492, 985, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 983, 1492, 1492, 1492, 981, 979, 1492, 1492, + 1492, 977, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 975, 1492, 1492, 1492, 973, + 971, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 969, 1492, 967, 1492, + 1492, 965, 1492, 963, 1492, 1492, 1492, 961, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 959, 957, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 955, 1492, 1492, 1492, 953, 1492, 1492, 1492, + 1492, 951, 1492, 949, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 947, + 945, 1492, 1492, 1492, 943, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 941, 1492, + + 1492, 939, 937, 1492, 1492, 1492, 935, 933, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 931, 1492, 1492, 1492, 1492, + 929, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 927, 1492, 925, 1492, + 1492, 923, 1492, 921, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 919, + 1492, 1492, 1492, 1492, 917, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 915, 1492, 1492, 1492, 913, 911, 1492, 1492, + + 1492, 909, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 907, 1492, 1492, 1492, 905, + 903, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 901, 1492, 899, 1492, + 1492, 897, 1492, 895, 1492, 1492, 1492, 893, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 891, 889, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 887, 1492, 1492, 1492, 885, 1492, 1492, 1492, + 1492, 883, 1492, 881, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 879, + 877, 1492, 1492, 1492, 875, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 873, 1492, + 1492, 871, 869, 1492, 1492, 1492, 867, 865, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 863, 1492, 1492, 1492, 1492, + 861, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 859, 1492, 857, 1492, + 1492, 855, 1492, 853, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 851, + + 1492, 1492, 1492, 1492, 849, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 847, 1492, 1492, 1492, 845, 843, 1492, 1492, + 1492, 841, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 839, 1492, 1492, 1492, 837, + 835, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 833, 1492, 831, 1492, + 1492, 829, 1492, 827, 1492, 1492, 1492, 825, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 823, 821, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 819, 1492, 1492, 1492, 817, 1492, 1492, 1492, + 1492, 815, 1492, 813, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 811, + 809, 1492, 1492, 1492, 807, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 805, 1492, + 1492, 803, 801, 1492, 1492, 1492, 799, 797, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 795, 1492, 1492, 1492, 1492, + 793, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 791, 1492, 789, 1492, + 1492, 787, 1492, 785, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 783, + 1492, 1492, 1492, 1492, 781, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 779, 1492, 1492, 1492, 777, 775, 1492, 1492, + 1492, 773, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 771, 1492, 1492, 1492, 769, + 767, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 765, 1492, 763, 1492, + + 1492, 761, 1492, 759, 1492, 1492, 1492, 757, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 755, 753, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 751, 1492, 1492, 1492, 749, 1492, 1492, 1492, + 1492, 747, 1492, 745, 1492, 1492, 1492, 743, 1492, 1492, + 1492, 741, 1492, 739, 1492, 1492, 1492, 737, 1492, 727, + 727, 735, 731, 1492, 730, 729, 727, 1492, 726, 725, + 724, 722, 721, 1492, 720, 719, 713, 1492, 709, 707, + 706, 704, 703, 1492, 28, 28, 28, 28, 28, 28, + + 28, 28, 28, 28, 28, 28, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 121, 121, + 121, 121, 121, 121, 121, 121, 702, 121, 121, 121, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + + 127, 127, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 176, 700, 699, 176, 223, 223, + 223, 698, 223, 223, 223, 223, 223, 223, 223, 223, + 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, + 696, 235, 268, 695, 694, 692, 268, 268, 691, 268, + 271, 690, 689, 271, 272, 688, 687, 272, 276, 276, + 276, 276, 685, 276, 276, 276, 276, 276, 276, 276, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 289, 289, 289, 289, 289, 289, + + 289, 289, 289, 684, 289, 291, 683, 682, 291, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 681, 227, + 368, 368, 680, 678, 368, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 677, 239, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 676, 257, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 675, 373, 390, 390, + 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, + 407, 674, 673, 672, 671, 670, 669, 668, 407, 459, + 459, 459, 459, 459, 459, 459, 459, 459, 666, 459, + 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, + + 462, 462, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 486, 665, 664, 663, 486, 662, + 661, 486, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 619, 619, 619, 619, + 619, 619, 619, 619, 619, 619, 619, 619, 650, 650, + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, + 667, 667, 667, 667, 667, 667, 667, 667, 667, 667, + 667, 667, 679, 679, 679, 679, 679, 679, 679, 679, + 679, 679, 679, 679, 686, 686, 686, 686, 686, 686, + + 686, 686, 686, 686, 686, 686, 693, 693, 693, 693, + 693, 693, 693, 693, 693, 693, 693, 693, 697, 697, + 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, + 701, 701, 701, 701, 701, 701, 701, 701, 701, 701, + 701, 701, 705, 705, 705, 705, 705, 705, 705, 705, + 705, 705, 705, 705, 708, 708, 708, 708, 708, 708, + 708, 708, 708, 708, 708, 708, 712, 712, 712, 712, + 712, 712, 712, 712, 712, 712, 712, 712, 718, 718, + 718, 718, 718, 718, 718, 718, 718, 718, 718, 718, + 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, + + 723, 723, 728, 728, 728, 728, 728, 728, 728, 728, + 728, 728, 728, 728, 734, 734, 734, 734, 734, 734, + 734, 734, 734, 734, 734, 734, 736, 736, 736, 736, + 736, 736, 736, 736, 736, 736, 736, 736, 738, 738, + 738, 738, 738, 738, 738, 738, 738, 738, 738, 738, + 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, + 740, 740, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 746, 746, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 746, 748, 748, + + 748, 748, 748, 748, 748, 748, 748, 748, 748, 748, + 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, + 750, 750, 752, 752, 752, 752, 752, 752, 752, 752, + 752, 752, 752, 752, 754, 754, 754, 754, 754, 754, + 754, 754, 754, 754, 754, 754, 756, 756, 756, 756, + 756, 756, 756, 756, 756, 756, 756, 756, 758, 758, + 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, + 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, + 760, 760, 762, 762, 762, 762, 762, 762, 762, 762, + 762, 762, 762, 762, 764, 764, 764, 764, 764, 764, + + 764, 764, 764, 764, 764, 764, 766, 766, 766, 766, + 766, 766, 766, 766, 766, 766, 766, 766, 768, 768, + 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, + 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, + 770, 770, 772, 772, 772, 772, 772, 772, 772, 772, + 772, 772, 772, 772, 774, 774, 774, 774, 774, 774, + 774, 774, 774, 774, 774, 774, 776, 776, 776, 776, + 776, 776, 776, 776, 776, 776, 776, 776, 778, 778, + 778, 778, 778, 778, 778, 778, 778, 778, 778, 778, + 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, + + 780, 780, 782, 782, 782, 782, 782, 782, 782, 782, + 782, 782, 782, 782, 784, 784, 784, 784, 784, 784, + 784, 784, 784, 784, 784, 784, 786, 786, 786, 786, + 786, 786, 786, 786, 786, 786, 786, 786, 788, 788, + 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, + 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, + 790, 790, 792, 792, 792, 792, 792, 792, 792, 792, + 792, 792, 792, 792, 794, 794, 794, 794, 794, 794, + 794, 794, 794, 794, 794, 794, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, 798, 798, + + 798, 798, 798, 798, 798, 798, 798, 798, 798, 798, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 802, 802, 802, 802, 802, 802, 802, 802, + 802, 802, 802, 802, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 806, 806, 806, 806, + 806, 806, 806, 806, 806, 806, 806, 806, 808, 808, + 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, + 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, + 810, 810, 812, 812, 812, 812, 812, 812, 812, 812, + 812, 812, 812, 812, 814, 814, 814, 814, 814, 814, + + 814, 814, 814, 814, 814, 814, 816, 816, 816, 816, + 816, 816, 816, 816, 816, 816, 816, 816, 818, 818, + 818, 818, 818, 818, 818, 818, 818, 818, 818, 818, + 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, + 820, 820, 822, 822, 822, 822, 822, 822, 822, 822, + 822, 822, 822, 822, 824, 824, 824, 824, 824, 824, + 824, 824, 824, 824, 824, 824, 826, 826, 826, 826, + 826, 826, 826, 826, 826, 826, 826, 826, 828, 828, + 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, + 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + + 830, 830, 832, 832, 832, 832, 832, 832, 832, 832, + 832, 832, 832, 832, 834, 834, 834, 834, 834, 834, + 834, 834, 834, 834, 834, 834, 836, 836, 836, 836, + 836, 836, 836, 836, 836, 836, 836, 836, 838, 838, + 838, 838, 838, 838, 838, 838, 838, 838, 838, 838, + 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, + 840, 840, 842, 842, 842, 842, 842, 842, 842, 842, + 842, 842, 842, 842, 844, 844, 844, 844, 844, 844, + 844, 844, 844, 844, 844, 844, 846, 846, 846, 846, + 846, 846, 846, 846, 846, 846, 846, 846, 848, 848, + + 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, + 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, + 850, 850, 852, 852, 852, 852, 852, 852, 852, 852, + 852, 852, 852, 852, 854, 854, 854, 854, 854, 854, + 854, 854, 854, 854, 854, 854, 856, 856, 856, 856, + 856, 856, 856, 856, 856, 856, 856, 856, 858, 858, + 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, + 860, 860, 860, 860, 860, 860, 860, 860, 860, 860, + 860, 860, 862, 862, 862, 862, 862, 862, 862, 862, + 862, 862, 862, 862, 864, 864, 864, 864, 864, 864, + + 864, 864, 864, 864, 864, 864, 866, 866, 866, 866, + 866, 866, 866, 866, 866, 866, 866, 866, 868, 868, + 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, + 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, + 870, 870, 872, 872, 872, 872, 872, 872, 872, 872, + 872, 872, 872, 872, 874, 874, 874, 874, 874, 874, + 874, 874, 874, 874, 874, 874, 876, 876, 876, 876, + 876, 876, 876, 876, 876, 876, 876, 876, 878, 878, + 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, + 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, + + 880, 880, 882, 882, 882, 882, 882, 882, 882, 882, + 882, 882, 882, 882, 884, 884, 884, 884, 884, 884, + 884, 884, 884, 884, 884, 884, 886, 886, 886, 886, + 886, 886, 886, 886, 886, 886, 886, 886, 888, 888, + 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 892, 892, 892, 892, 892, 892, 892, 892, + 892, 892, 892, 892, 894, 894, 894, 894, 894, 894, + 894, 894, 894, 894, 894, 894, 896, 896, 896, 896, + 896, 896, 896, 896, 896, 896, 896, 896, 898, 898, + + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, + 900, 900, 902, 902, 902, 902, 902, 902, 902, 902, + 902, 902, 902, 902, 904, 904, 904, 904, 904, 904, + 904, 904, 904, 904, 904, 904, 906, 906, 906, 906, + 906, 906, 906, 906, 906, 906, 906, 906, 908, 908, + 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, + 910, 910, 910, 910, 910, 910, 910, 910, 910, 910, + 910, 910, 912, 912, 912, 912, 912, 912, 912, 912, + 912, 912, 912, 912, 914, 914, 914, 914, 914, 914, + + 914, 914, 914, 914, 914, 914, 916, 916, 916, 916, + 916, 916, 916, 916, 916, 916, 916, 916, 918, 918, + 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, + 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, + 920, 920, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 924, 924, 924, 924, 924, 924, + 924, 924, 924, 924, 924, 924, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 928, 928, + 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + + 930, 930, 932, 932, 932, 932, 932, 932, 932, 932, + 932, 932, 932, 932, 934, 934, 934, 934, 934, 934, + 934, 934, 934, 934, 934, 934, 936, 936, 936, 936, + 936, 936, 936, 936, 936, 936, 936, 936, 938, 938, + 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, + 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 940, 940, 942, 942, 942, 942, 942, 942, 942, 942, + 942, 942, 942, 942, 944, 944, 944, 944, 944, 944, + 944, 944, 944, 944, 944, 944, 946, 946, 946, 946, + 946, 946, 946, 946, 946, 946, 946, 946, 948, 948, + + 948, 948, 948, 948, 948, 948, 948, 948, 948, 948, + 950, 950, 950, 950, 950, 950, 950, 950, 950, 950, + 950, 950, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 954, 954, 954, 954, 954, 954, + 954, 954, 954, 954, 954, 954, 956, 956, 956, 956, + 956, 956, 956, 956, 956, 956, 956, 956, 958, 958, + 958, 958, 958, 958, 958, 958, 958, 958, 958, 958, + 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + 960, 960, 962, 962, 962, 962, 962, 962, 962, 962, + 962, 962, 962, 962, 964, 964, 964, 964, 964, 964, + + 964, 964, 964, 964, 964, 964, 966, 966, 966, 966, + 966, 966, 966, 966, 966, 966, 966, 966, 968, 968, + 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, + 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, + 970, 970, 972, 972, 972, 972, 972, 972, 972, 972, + 972, 972, 972, 972, 974, 974, 974, 974, 974, 974, + 974, 974, 974, 974, 974, 974, 976, 976, 976, 976, + 976, 976, 976, 976, 976, 976, 976, 976, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, + + 980, 980, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 984, 984, 984, 984, 984, 984, + 984, 984, 984, 984, 984, 984, 986, 986, 986, 986, + 986, 986, 986, 986, 986, 986, 986, 986, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, + 990, 990, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 994, 994, 994, 994, 994, 994, + 994, 994, 994, 994, 994, 994, 996, 996, 996, 996, + 996, 996, 996, 996, 996, 996, 996, 996, 998, 998, + + 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, + 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, + 1000, 1000, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, + 1002, 1002, 1002, 1002, 1004, 1004, 1004, 1004, 1004, 1004, + 1004, 1004, 1004, 1004, 1004, 1004, 1006, 1006, 1006, 1006, + 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, + 1010, 1010, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, + 1012, 1012, 1012, 1012, 1014, 1014, 1014, 1014, 1014, 1014, + + 1014, 1014, 1014, 1014, 1014, 1014, 1016, 1016, 1016, 1016, + 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, + 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, + 1020, 1020, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, + 1022, 1022, 1022, 1022, 1024, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1028, 1028, + 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, + 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + + 1030, 1030, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, + 1032, 1032, 1032, 1032, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1034, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1038, 1038, + 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, + 1042, 1042, 1042, 1042, 1044, 1044, 1044, 1044, 1044, 1044, + 1044, 1044, 1044, 1044, 1044, 1044, 1046, 1046, 1046, 1046, + 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1048, 1048, + + 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, + 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, + 1050, 1050, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1054, 1054, 1054, 1054, 1054, 1054, + 1054, 1054, 1054, 1054, 1054, 1054, 1056, 1056, 1056, 1056, + 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1058, 1058, + 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, + 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, + 1060, 1060, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, + 1062, 1062, 1062, 1062, 1064, 1064, 1064, 1064, 1064, 1064, + + 1064, 1064, 1064, 1064, 1064, 1064, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1068, 1068, + 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, + 1072, 1072, 1072, 1072, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1076, 1076, 1076, 1076, + 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1078, 1078, + 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, + 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, + + 1080, 1080, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1082, + 1082, 1082, 1082, 1082, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1084, 1084, 1084, 1084, 1084, 1086, 1086, 1086, 1086, + 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, + 1090, 1090, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, + 1092, 1092, 1092, 1092, 1094, 1094, 1094, 1094, 1094, 1094, + 1094, 1094, 1094, 1094, 1094, 1094, 1096, 1096, 1096, 1096, + 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1098, 1098, + + 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, + 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, + 1100, 1100, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, + 1102, 1102, 1102, 1102, 1104, 1104, 1104, 1104, 1104, 1104, + 1104, 1104, 1104, 1104, 1104, 1104, 1106, 1106, 1106, 1106, + 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1108, 1108, + 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, + 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, + 1110, 1110, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, + 1112, 1112, 1112, 1112, 1114, 1114, 1114, 1114, 1114, 1114, + + 1114, 1114, 1114, 1114, 1114, 1114, 1116, 1116, 1116, 1116, + 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1118, 1118, + 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, + 1122, 1122, 1122, 1122, 1124, 1124, 1124, 1124, 1124, 1124, + 1124, 1124, 1124, 1124, 1124, 1124, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1128, 1128, + 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, + 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, + + 1130, 1130, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, + 1132, 1132, 1132, 1132, 1134, 1134, 1134, 1134, 1134, 1134, + 1134, 1134, 1134, 1134, 1134, 1134, 1136, 1136, 1136, 1136, + 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1138, 1138, + 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, + 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, + 1140, 1140, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 1142, 1142, 1142, 1142, 1144, 1144, 1144, 1144, 1144, 1144, + 1144, 1144, 1144, 1144, 1144, 1144, 1146, 1146, 1146, 1146, + 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1148, 1148, + + 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, + 1150, 1150, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1154, 1154, 1154, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1154, 1154, 1156, 1156, 1156, 1156, + 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, + 1160, 1160, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, + 1162, 1162, 1162, 1162, 1164, 1164, 1164, 1164, 1164, 1164, + + 1164, 1164, 1164, 1164, 1164, 1164, 1166, 1166, 1166, 1166, + 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1168, 1168, + 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, + 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, + 1170, 1170, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 1172, 1172, 1174, 1174, 1174, 1174, 1174, 1174, + 1174, 1174, 1174, 1174, 1174, 1174, 1176, 1176, 1176, 1176, + 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1178, 1178, + 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, + 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, + + 1180, 1180, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, + 1182, 1182, 1182, 1182, 1184, 1184, 1184, 1184, 1184, 1184, + 1184, 1184, 1184, 1184, 1184, 1184, 1186, 1186, 1186, 1186, + 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1188, 1188, + 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, + 1192, 1192, 1192, 1192, 1194, 1194, 1194, 1194, 1194, 1194, + 1194, 1194, 1194, 1194, 1194, 1194, 1196, 1196, 1196, 1196, + 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1198, 1198, + + 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, + 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, + 1200, 1200, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, + 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204, + 1204, 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206, + 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1208, 1208, + 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, + 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, + 1210, 1210, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, + 1212, 1212, 1212, 1212, 1214, 1214, 1214, 1214, 1214, 1214, + + 1214, 1214, 1214, 1214, 1214, 1214, 1216, 1216, 1216, 1216, + 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1218, 1218, + 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, + 1220, 1220, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, + 1222, 1222, 1222, 1222, 1224, 1224, 1224, 1224, 1224, 1224, + 1224, 1224, 1224, 1224, 1224, 1224, 1226, 1226, 1226, 1226, + 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1228, 1228, + 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, + 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, + + 1230, 1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, + 1232, 1232, 1232, 1232, 1234, 1234, 1234, 1234, 1234, 1234, + 1234, 1234, 1234, 1234, 1234, 1234, 1236, 1236, 1236, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1238, 1238, + 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, 1240, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, + 1242, 1242, 1242, 1242, 1244, 1244, 1244, 1244, 1244, 1244, + 1244, 1244, 1244, 1244, 1244, 1244, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1248, 1248, + + 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, + 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, + 1250, 1250, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, + 1252, 1252, 1252, 1252, 1254, 1254, 1254, 1254, 1254, 1254, + 1254, 1254, 1254, 1254, 1254, 1254, 1256, 1256, 1256, 1256, + 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1258, 1258, + 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, + 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, + 1260, 1260, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, + 1262, 1262, 1262, 1262, 1264, 1264, 1264, 1264, 1264, 1264, + + 1264, 1264, 1264, 1264, 1264, 1264, 1266, 1266, 1266, 1266, + 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, + 1270, 1270, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, + 1272, 1272, 1272, 1272, 1274, 1274, 1274, 1274, 1274, 1274, + 1274, 1274, 1274, 1274, 1274, 1274, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1278, 1278, + 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, + 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, + + 1280, 1280, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, + 1282, 1282, 1282, 1282, 1284, 1284, 1284, 1284, 1284, 1284, + 1284, 1284, 1284, 1284, 1284, 1284, 1286, 1286, 1286, 1286, + 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1288, 1288, + 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, + 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, + 1290, 1290, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, + 1292, 1292, 1292, 1292, 1294, 1294, 1294, 1294, 1294, 1294, + 1294, 1294, 1294, 1294, 1294, 1294, 1296, 1296, 1296, 1296, + 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1298, 1298, + + 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, + 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, + 1300, 1300, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, + 1302, 1302, 1302, 1302, 1304, 1304, 1304, 1304, 1304, 1304, + 1304, 1304, 1304, 1304, 1304, 1304, 1306, 1306, 1306, 1306, + 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1308, 1308, + 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, + 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, + 1310, 1310, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, + 1312, 1312, 1312, 1312, 1314, 1314, 1314, 1314, 1314, 1314, + + 1314, 1314, 1314, 1314, 1314, 1314, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1318, 1318, + 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, + 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, + 1320, 1320, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + 1322, 1322, 1322, 1322, 1324, 1324, 1324, 1324, 1324, 1324, + 1324, 1324, 1324, 1324, 1324, 1324, 1326, 1326, 1326, 1326, + 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1328, 1328, + 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, + 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, + + 1330, 1330, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, + 1332, 1332, 1332, 1332, 1334, 1334, 1334, 1334, 1334, 1334, + 1334, 1334, 1334, 1334, 1334, 1334, 1336, 1336, 1336, 1336, + 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1338, 1338, + 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, + 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, + 1340, 1340, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, + 1342, 1342, 1342, 1342, 1344, 1344, 1344, 1344, 1344, 1344, + 1344, 1344, 1344, 1344, 1344, 1344, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1348, 1348, + + 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, + 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, + 1350, 1350, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, + 1352, 1352, 1352, 1352, 1354, 1354, 1354, 1354, 1354, 1354, + 1354, 1354, 1354, 1354, 1354, 1354, 1356, 1356, 1356, 1356, + 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1358, 1358, + 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, + 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 1360, 1360, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, + 1362, 1362, 1362, 1362, 1364, 1364, 1364, 1364, 1364, 1364, + + 1364, 1364, 1364, 1364, 1364, 1364, 1366, 1366, 1366, 1366, + 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1368, 1368, + 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, + 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, + 1370, 1370, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, + 1372, 1372, 1372, 1372, 1374, 1374, 1374, 1374, 1374, 1374, + 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376, 1376, + 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1378, 1378, + 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, + 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, + + 1380, 1380, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, + 1382, 1382, 1382, 1382, 1384, 1384, 1384, 1384, 1384, 1384, + 1384, 1384, 1384, 1384, 1384, 1384, 1386, 1386, 1386, 1386, + 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1388, 1388, + 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, + 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, + 1390, 1390, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 1392, 1392, 1394, 1394, 1394, 1394, 1394, 1394, + 1394, 1394, 1394, 1394, 1394, 1394, 1396, 1396, 1396, 1396, + 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1398, 1398, + + 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, + 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, + 1400, 1400, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, + 1402, 1402, 1402, 1402, 1404, 1404, 1404, 1404, 1404, 1404, + 1404, 1404, 1404, 1404, 1404, 1404, 1406, 1406, 1406, 1406, + 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1408, 1408, + 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, + 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, + 1410, 1410, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, + 1412, 1412, 1412, 1412, 1414, 1414, 1414, 1414, 1414, 1414, + + 1414, 1414, 1414, 1414, 1414, 1414, 1416, 1416, 1416, 1416, + 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1418, 1418, + 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, + 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, + 1420, 1420, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, + 1422, 1422, 1422, 1422, 1424, 1424, 1424, 1424, 1424, 1424, + 1424, 1424, 1424, 1424, 1424, 1424, 1426, 1426, 1426, 1426, + 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1428, 1428, + 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, + 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, + + 1430, 1430, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, + 1432, 1432, 1432, 1432, 1434, 1434, 1434, 1434, 1434, 1434, + 1434, 1434, 1434, 1434, 1434, 1434, 1436, 1436, 1436, 1436, + 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1438, 1438, + 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, + 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, + 1440, 1440, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, + 1442, 1442, 1442, 1442, 1444, 1444, 1444, 1444, 1444, 1444, + 1444, 1444, 1444, 1444, 1444, 1444, 1446, 1446, 1446, 1446, + 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1448, 1448, - 98, 98, 98, 99, 98, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 98, 98, 98, 128, 146, 944, 166, 154, 149, - 147, 150, 150, 150, 155, 156, 157, 148, 149, 167, - 150, 150, 150, 168, 169, 197, 170, 209, 198, 151, - 177, 171, 174, 946, 178, 948, 129, 130, 151, 131, - 179, 132, 204, 175, 133, 172, 176, 205, 152, 180, - 134, 186, 200, 135, 136, 201, 137, 187, 181, 182, - 183, 1421, 210, 188, 292, 190, 117, 293, 184, 386, - - 185, 173, 191, 192, 215, 215, 215, 387, 193, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 120, 212, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 213, 212, - 212, 215, 215, 215, 218, 227, 231, 219, 219, 231, - 1421, 231, 219, 219, 232, 118, 233, 234, 219, 219, - 230, 243, 243, 126, 228, 248, 1421, 243, 950, 1421, - - 115, 115, 115, 231, 253, 254, 231, 236, 216, 119, - 271, 272, 127, 289, 220, 243, 243, 221, 249, 220, - 256, 118, 221, 1421, 349, 220, 257, 290, 221, 144, - 144, 144, 266, 266, 266, 149, 350, 150, 150, 150, - 275, 276, 269, 269, 269, 119, 267, 151, 267, 126, - 151, 268, 268, 268, 952, 151, 269, 269, 269, 269, - 269, 269, 277, 287, 288, 278, 300, 279, 127, 307, - 313, 280, 281, 328, 328, 316, 314, 301, 317, 215, - 215, 215, 327, 327, 327, 308, 309, 231, 329, 329, - 329, 954, 231, 956, 233, 234, 327, 327, 327, 327, - - 327, 327, 329, 329, 329, 329, 329, 329, 231, 233, - 234, 1421, 408, 232, 231, 236, 243, 243, 344, 344, - 344, 958, 243, 409, 266, 266, 266, 1421, 361, 362, - 1421, 268, 268, 268, 960, 231, 268, 268, 268, 962, - 243, 243, 151, 269, 269, 269, 397, 397, 368, 964, - 369, 416, 417, 370, 1421, 416, 417, 269, 269, 269, - 269, 269, 269, 371, 327, 327, 327, 372, 966, 968, - 398, 398, 398, 970, 1421, 344, 344, 344, 327, 327, - 327, 327, 327, 327, 398, 398, 398, 398, 398, 398, - 1421, 408, 1421, 1421, 465, 465, 466, 1421, 470, 476, - - 972, 514, 409, 470, 476, 1421, 974, 521, 1421, 471, - 477, 1421, 515, 1421, 471, 477, 1421, 1421, 522, 976, - 514, 1421, 551, 1421, 1421, 555, 557, 410, 550, 550, - 550, 515, 521, 552, 472, 1421, 556, 558, 551, 1421, - 1421, 470, 1421, 522, 550, 550, 550, 408, 1421, 552, - 555, 557, 471, 582, 582, 582, 1421, 1421, 409, 978, - 980, 556, 558, 582, 582, 582, 1421, 1421, 639, 639, - 639, 982, 1421, 1421, 1421, 1421, 1421, 984, 162, 1421, - 986, 988, 990, 1421, 992, 1421, 1421, 581, 162, 1421, - 1421, 994, 640, 1421, 996, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 998, 1000, 1421, 1421, 1002, 1004, 1421, 1006, - 1421, 1008, 1421, 1421, 1421, 1421, 1421, 1421, 639, 639, - 639, 1010, 1421, 1012, 1014, 643, 643, 643, 1421, 644, - 1421, 1016, 1421, 1421, 645, 1421, 1018, 1421, 1020, 1421, - 1421, 1022, 640, 643, 643, 643, 1421, 644, 661, 661, - 661, 1421, 645, 1421, 1421, 1421, 1421, 1421, 661, 661, - 661, 1024, 1421, 1421, 1026, 1421, 1028, 1030, 1421, 1421, - 1032, 1421, 646, 662, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 662, 1421, 1421, 1421, 1421, 1421, 1421, - 646, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1034, - - 1421, 1036, 1421, 1038, 1040, 1421, 1421, 1421, 1042, 1421, - 1044, 1421, 1421, 1046, 1421, 1421, 1421, 1048, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1050, 1421, 1421, 1052, - 1421, 1421, 1054, 1421, 1421, 1056, 1421, 1058, 1060, 1062, - 1421, 1064, 1421, 1421, 1066, 1421, 1068, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1070, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1072, 1421, 1421, 1074, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1076, 1421, - 1078, 1421, 1421, 1080, 1421, 1421, 1421, 1082, 1421, 1084, - - 1421, 1421, 1086, 1421, 1421, 1421, 1421, 1421, 1088, 1421, - 1421, 1421, 1421, 1421, 1421, 1090, 1421, 1421, 1421, 1092, - 1421, 1421, 1421, 1421, 1094, 1421, 1421, 1421, 1421, 1421, - 1096, 1421, 1421, 1098, 1100, 1421, 1102, 1421, 1421, 1104, - 1421, 1421, 1421, 1421, 1421, 1106, 1108, 1421, 1110, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1112, 1421, 1114, 1421, 1421, - 1116, 1421, 1421, 1421, 1118, 1421, 1120, 1122, 1421, 1124, - 1126, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1128, 1421, 1421, 1130, 1421, - 1132, 1134, 1421, 1421, 1136, 1138, 1421, 1140, 1421, 1421, - 1142, 1421, 1144, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1146, 1421, 1421, 1148, 1421, - 1421, 1150, 1421, 1421, 1152, 1154, 1421, 1421, 1156, 1421, - 1421, 1158, 1421, 1421, 1421, 1160, 1421, 1421, 1162, 1421, - 1421, 1421, 1164, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1166, 1421, 1421, - 1421, 1168, 1421, 1421, 1170, 1421, 1421, 1421, 1172, 1421, - - 1421, 1174, 1421, 1421, 1176, 1178, 1421, 1180, 1182, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1184, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1186, 1421, 1421, - 1188, 1421, 1421, 1190, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1192, 1421, 1421, 1194, 1196, 1421, - 1198, 1421, 1421, 1200, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1202, 1421, 1421, - 1204, 1421, 1421, 1206, 1421, 1208, 1210, 1421, 1421, 1212, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1214, 1421, 1421, 1216, 1421, 1421, 1218, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1220, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1222, 1421, 1224, 1226, - 1421, 1228, 1230, 1421, 1421, 1232, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1234, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1236, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1238, 1421, - 1421, 1240, 1242, 1421, 1244, 1246, 1421, 1248, 1250, 1421, - 1421, 1421, 1421, 1421, 1252, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1254, 1421, 1256, 1421, 1421, 1258, 1421, - - 1421, 1421, 1421, 1421, 1260, 1421, 1421, 1262, 1264, 1421, - 1266, 1421, 1421, 1268, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1270, 1421, 1272, 1274, 1421, 1276, 1278, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1280, 1421, 1421, 1282, 1421, 1421, 1284, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1286, 1421, 1421, - 1288, 1421, 1421, 1290, 1421, 1421, 1292, 1421, 1421, 1294, - 1421, 1296, 1298, 1421, 1421, 1300, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1302, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1304, 1421, 1421, - 1306, 1421, 1421, 1308, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1310, 1421, 1312, 1314, 1421, 1316, 1318, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1320, 1421, 1322, 1421, 1421, 1324, 1421, - 1421, 1421, 1421, 1421, 1326, 1421, 1421, 1328, 1330, 1421, - 1332, 1421, 1421, 1334, 1421, 1421, 1421, 1421, 1421, 1421, - 1336, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1338, 1421, 1421, 1340, 1342, - - 1421, 1344, 1421, 1421, 1346, 1421, 1421, 1421, 1421, 1421, - 1348, 1421, 1421, 1350, 1421, 1421, 1352, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1354, 1421, 1421, - 1356, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1358, - 1421, 1360, 1362, 1421, 1364, 1366, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1368, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1370, 1421, 1421, - 1372, 1421, 1421, 1374, 1421, 1421, 1376, 1421, 1421, 1378, - 1421, 1421, 1380, 1421, 1421, 1382, 1421, 1384, 1386, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1388, 1421, 1390, 1392, 1421, 1394, 1396, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1398, 1421, - 1400, 1421, 1421, 1402, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1404, 1421, 1421, 1406, 1408, - 1421, 1410, 1421, 1421, 1412, 1421, 1421, 1421, 1421, 1421, - 1414, 1421, 1421, 1416, 1421, 1421, 1418, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1420, 120, 1421, 1421, - 938, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 936, 1421, 1421, 934, 932, 1421, 930, 1421, 1421, - 928, 1421, 1421, 1421, 1421, 1421, 926, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 924, 1421, 1421, - 922, 1421, 1421, 920, 1421, 1421, 918, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 916, 1421, 914, 912, 1421, - 910, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 908, 1421, 906, 904, 1421, 902, 900, - 1421, 1421, 898, 1421, 1421, 896, 1421, 1421, 894, 1421, - 1421, 1421, 1421, 892, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 890, 1421, 1421, 888, 886, - 1421, 884, 882, 1421, 880, 878, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 876, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 874, 1421, 1421, - 872, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 870, 1421, 1421, 868, 866, 1421, 864, 1421, 1421, - 862, 1421, 1421, 1421, 1421, 1421, 860, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 858, 1421, 1421, - 856, 1421, 854, 852, 1421, 1421, 850, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 848, 1421, 1421, - 846, 1421, 1421, 844, 1421, 1421, 842, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 840, 1421, 838, 836, 1421, 834, 832, - 1421, 1421, 830, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 828, 1421, 1421, 826, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 824, 1421, 1421, 822, 820, - 1421, 818, 816, 1421, 814, 812, 1421, 1421, 810, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 808, 1421, - 1421, 806, 1421, 804, 802, 800, 1421, 798, 796, 1421, - 794, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 792, 790, 1421, 788, 786, 1421, 784, - 782, 1421, 1421, 780, 1421, 1421, 778, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 776, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 774, 1421, 1421, 772, - 770, 1421, 768, 766, 1421, 764, 762, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 760, 1421, 1421, 758, 1421, - 1421, 756, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 754, 1421, 1421, 752, 750, 1421, 748, 1421, - 1421, 746, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 744, 1421, 1421, 742, 1421, - 1421, 740, 1421, 738, 736, 1421, 1421, 734, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 732, 1421, - - 1421, 730, 1421, 1421, 728, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 726, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 724, 1421, 722, 720, 1421, 718, - 716, 1421, 1421, 714, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 712, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 710, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 708, 1421, 1421, 706, - 704, 1421, 702, 700, 1421, 698, 696, 1421, 1421, 1421, - 1421, 1421, 694, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 692, 1421, 690, 1421, 1421, 688, 1421, 1421, 1421, - 1421, 1421, 686, 1421, 1421, 684, 682, 1421, 680, 1421, - 1421, 678, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 676, 1421, 674, 672, 1421, 670, 668, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 666, 1421, - 1421, 656, 1421, 1421, 656, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 664, 1421, 1421, 660, 1421, - 1421, 659, 1421, 1421, 658, 1421, 1421, 656, 1421, 655, - 654, 1421, 1421, 653, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 651, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 650, 1421, 1421, 649, 1421, - 1421, 648, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 642, 1421, 638, 636, 1421, 635, 633, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 632, 1421, 631, 1421, 1421, 629, 1421, 1421, 1421, - 1421, 1421, 628, 1421, 1421, 627, 625, 1421, 624, 1421, - 1421, 623, 1421, 1421, 1421, 1421, 1421, 1421, 621, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - - 1421, 1421, 1421, 620, 1421, 1421, 619, 618, 1421, 617, - 1421, 1421, 616, 1421, 1421, 1421, 1421, 1421, 614, 1421, - 1421, 613, 1421, 1421, 612, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 611, 1421, 1421, 610, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 609, 1421, 607, - 606, 1421, 605, 604, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 603, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 602, 1421, 1421, 601, 1421, - 1421, 600, 1421, 1421, 599, 1421, 1421, 598, 1421, 1421, - 597, 1421, 1421, 595, 1421, 594, 593, 1421, 1421, 1421, - - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 592, 1421, 591, 590, 1421, 589, 588, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 587, 1421, 586, 1421, - 1421, 585, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 584, 1421, 1421, 583, 580, 1421, 578, - 1421, 1421, 577, 1421, 1421, 1421, 1421, 576, 575, 1421, - 1421, 574, 1421, 573, 572, 571, 1421, 1421, 1421, 570, - 1421, 569, 1421, 568, 567, 566, 565, 1421, 564, 563, - - 562, 561, 560, 1421, 559, 554, 553, 549, 547, 546, - 545, 544, 543, 542, 1421, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 541, - 111, 117, 117, 117, 117, 540, 117, 117, 117, 117, - 117, 117, 125, 125, 125, 125, 125, 125, 125, 125, - - 125, 125, 125, 164, 539, 538, 164, 211, 211, 211, - 537, 211, 211, 536, 211, 211, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 222, 535, 534, - 222, 225, 225, 225, 225, 225, 533, 225, 225, 225, - 225, 225, 235, 532, 531, 530, 529, 235, 235, 528, - 235, 237, 527, 526, 237, 238, 525, 524, 238, 239, - 239, 239, 239, 239, 239, 523, 239, 239, 239, 239, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 252, 520, 519, 252, 330, 330, 330, 330, - - 330, 330, 330, 330, 330, 330, 330, 347, 518, 412, - 517, 516, 513, 465, 512, 510, 347, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 399, 399, 418, 509, - 508, 507, 506, 418, 505, 504, 418, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 548, - 548, 548, 548, 548, 548, 548, 548, 548, 548, 548, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 596, 596, 596, 596, 596, 596, 596, 596, 596, - 596, 596, 608, 608, 608, 608, 608, 608, 608, 608, - - 608, 608, 608, 615, 615, 615, 615, 615, 615, 615, - 615, 615, 615, 615, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 626, 626, 626, 626, 626, - 626, 626, 626, 626, 626, 626, 630, 630, 630, 630, - 630, 630, 630, 630, 630, 630, 630, 634, 634, 634, - 634, 634, 634, 634, 634, 634, 634, 634, 637, 637, - 637, 637, 637, 637, 637, 637, 637, 637, 637, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 647, 652, 652, 652, 652, 652, 652, 652, 652, 652, - - 652, 652, 657, 657, 657, 657, 657, 657, 657, 657, - 657, 657, 657, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 667, 667, 667, 667, 667, - 667, 667, 667, 667, 667, 667, 669, 669, 669, 669, - 669, 669, 669, 669, 669, 669, 669, 671, 671, 671, - 671, 671, 671, 671, 671, 671, 671, 671, 673, 673, - 673, 673, 673, 673, 673, 673, 673, 673, 673, 675, - 675, 675, 675, 675, 675, 675, 675, 675, 675, 675, - 677, 677, 677, 677, 677, 677, 677, 677, 677, 677, - - 677, 679, 679, 679, 679, 679, 679, 679, 679, 679, - 679, 679, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 683, 683, 683, 683, 683, 683, 683, - 683, 683, 683, 683, 685, 685, 685, 685, 685, 685, - 685, 685, 685, 685, 685, 687, 687, 687, 687, 687, - 687, 687, 687, 687, 687, 687, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 691, 691, 691, - 691, 691, 691, 691, 691, 691, 691, 691, 693, 693, - 693, 693, 693, 693, 693, 693, 693, 693, 693, 695, - 695, 695, 695, 695, 695, 695, 695, 695, 695, 695, + 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, + 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, + 1450, 1450, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, + 1452, 1452, 1452, 1452, 1454, 1454, 1454, 1454, 1454, 1454, + 1454, 1454, 1454, 1454, 1454, 1454, 1456, 1456, 1456, 1456, + 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1458, 1458, + 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, + 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, + 1460, 1460, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, + 1462, 1462, 1462, 1462, 1464, 1464, 1464, 1464, 1464, 1464, - 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, - 697, 699, 699, 699, 699, 699, 699, 699, 699, 699, - 699, 699, 701, 701, 701, 701, 701, 701, 701, 701, - 701, 701, 701, 703, 703, 703, 703, 703, 703, 703, - 703, 703, 703, 703, 705, 705, 705, 705, 705, 705, - 705, 705, 705, 705, 705, 707, 707, 707, 707, 707, - 707, 707, 707, 707, 707, 707, 709, 709, 709, 709, - 709, 709, 709, 709, 709, 709, 709, 711, 711, 711, - 711, 711, 711, 711, 711, 711, 711, 711, 713, 713, - 713, 713, 713, 713, 713, 713, 713, 713, 713, 715, - - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 719, 719, 719, 719, 719, 719, 719, 719, 719, - 719, 719, 721, 721, 721, 721, 721, 721, 721, 721, - 721, 721, 721, 723, 723, 723, 723, 723, 723, 723, - 723, 723, 723, 723, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 727, 727, 727, 727, 727, - 727, 727, 727, 727, 727, 727, 729, 729, 729, 729, - 729, 729, 729, 729, 729, 729, 729, 731, 731, 731, - 731, 731, 731, 731, 731, 731, 731, 731, 733, 733, - - 733, 733, 733, 733, 733, 733, 733, 733, 733, 735, - 735, 735, 735, 735, 735, 735, 735, 735, 735, 735, - 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, - 737, 739, 739, 739, 739, 739, 739, 739, 739, 739, - 739, 739, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 743, 743, 743, 743, 743, 743, 743, - 743, 743, 743, 743, 745, 745, 745, 745, 745, 745, - 745, 745, 745, 745, 745, 747, 747, 747, 747, 747, - 747, 747, 747, 747, 747, 747, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 751, 751, 751, - - 751, 751, 751, 751, 751, 751, 751, 751, 753, 753, - 753, 753, 753, 753, 753, 753, 753, 753, 753, 755, - 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, - 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, - 757, 759, 759, 759, 759, 759, 759, 759, 759, 759, - 759, 759, 761, 761, 761, 761, 761, 761, 761, 761, - 761, 761, 761, 763, 763, 763, 763, 763, 763, 763, - 763, 763, 763, 763, 765, 765, 765, 765, 765, 765, - 765, 765, 765, 765, 765, 767, 767, 767, 767, 767, - 767, 767, 767, 767, 767, 767, 769, 769, 769, 769, - - 769, 769, 769, 769, 769, 769, 769, 771, 771, 771, - 771, 771, 771, 771, 771, 771, 771, 771, 773, 773, - 773, 773, 773, 773, 773, 773, 773, 773, 773, 775, - 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, - 777, 777, 777, 777, 777, 777, 777, 777, 777, 777, - 777, 779, 779, 779, 779, 779, 779, 779, 779, 779, - 779, 779, 781, 781, 781, 781, 781, 781, 781, 781, - 781, 781, 781, 783, 783, 783, 783, 783, 783, 783, - 783, 783, 783, 783, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 785, 787, 787, 787, 787, 787, - - 787, 787, 787, 787, 787, 787, 789, 789, 789, 789, - 789, 789, 789, 789, 789, 789, 789, 791, 791, 791, - 791, 791, 791, 791, 791, 791, 791, 791, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 795, - 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 801, 801, 801, 801, 801, 801, 801, 801, - 801, 801, 801, 803, 803, 803, 803, 803, 803, 803, - 803, 803, 803, 803, 805, 805, 805, 805, 805, 805, - - 805, 805, 805, 805, 805, 807, 807, 807, 807, 807, - 807, 807, 807, 807, 807, 807, 809, 809, 809, 809, - 809, 809, 809, 809, 809, 809, 809, 811, 811, 811, - 811, 811, 811, 811, 811, 811, 811, 811, 813, 813, - 813, 813, 813, 813, 813, 813, 813, 813, 813, 815, - 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, - 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, - 817, 819, 819, 819, 819, 819, 819, 819, 819, 819, - 819, 819, 821, 821, 821, 821, 821, 821, 821, 821, - 821, 821, 821, 823, 823, 823, 823, 823, 823, 823, - - 823, 823, 823, 823, 825, 825, 825, 825, 825, 825, - 825, 825, 825, 825, 825, 827, 827, 827, 827, 827, - 827, 827, 827, 827, 827, 827, 829, 829, 829, 829, - 829, 829, 829, 829, 829, 829, 829, 831, 831, 831, - 831, 831, 831, 831, 831, 831, 831, 831, 833, 833, - 833, 833, 833, 833, 833, 833, 833, 833, 833, 835, - 835, 835, 835, 835, 835, 835, 835, 835, 835, 835, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 839, 839, 839, 839, 839, 839, 839, 839, 839, - 839, 839, 841, 841, 841, 841, 841, 841, 841, 841, - - 841, 841, 841, 843, 843, 843, 843, 843, 843, 843, - 843, 843, 843, 843, 845, 845, 845, 845, 845, 845, - 845, 845, 845, 845, 845, 847, 847, 847, 847, 847, - 847, 847, 847, 847, 847, 847, 849, 849, 849, 849, - 849, 849, 849, 849, 849, 849, 849, 851, 851, 851, - 851, 851, 851, 851, 851, 851, 851, 851, 853, 853, - 853, 853, 853, 853, 853, 853, 853, 853, 853, 855, - 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, - 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, - 857, 859, 859, 859, 859, 859, 859, 859, 859, 859, - - 859, 859, 861, 861, 861, 861, 861, 861, 861, 861, - 861, 861, 861, 863, 863, 863, 863, 863, 863, 863, - 863, 863, 863, 863, 865, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 867, 867, 867, 867, 867, - 867, 867, 867, 867, 867, 867, 869, 869, 869, 869, - 869, 869, 869, 869, 869, 869, 869, 871, 871, 871, - 871, 871, 871, 871, 871, 871, 871, 871, 873, 873, - 873, 873, 873, 873, 873, 873, 873, 873, 873, 875, - 875, 875, 875, 875, 875, 875, 875, 875, 875, 875, - 877, 877, 877, 877, 877, 877, 877, 877, 877, 877, - - 877, 879, 879, 879, 879, 879, 879, 879, 879, 879, - 879, 879, 881, 881, 881, 881, 881, 881, 881, 881, - 881, 881, 881, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 885, 885, 885, 885, 885, 885, - 885, 885, 885, 885, 885, 887, 887, 887, 887, 887, - 887, 887, 887, 887, 887, 887, 889, 889, 889, 889, - 889, 889, 889, 889, 889, 889, 889, 891, 891, 891, - 891, 891, 891, 891, 891, 891, 891, 891, 893, 893, - 893, 893, 893, 893, 893, 893, 893, 893, 893, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - - 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, - 897, 899, 899, 899, 899, 899, 899, 899, 899, 899, - 899, 899, 901, 901, 901, 901, 901, 901, 901, 901, - 901, 901, 901, 903, 903, 903, 903, 903, 903, 903, - 903, 903, 903, 903, 905, 905, 905, 905, 905, 905, - 905, 905, 905, 905, 905, 907, 907, 907, 907, 907, - 907, 907, 907, 907, 907, 907, 909, 909, 909, 909, - 909, 909, 909, 909, 909, 909, 909, 911, 911, 911, - 911, 911, 911, 911, 911, 911, 911, 911, 913, 913, - 913, 913, 913, 913, 913, 913, 913, 913, 913, 915, - - 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, - 917, 917, 917, 917, 917, 917, 917, 917, 917, 917, - 917, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 919, 919, 921, 921, 921, 921, 921, 921, 921, 921, - 921, 921, 921, 923, 923, 923, 923, 923, 923, 923, - 923, 923, 923, 923, 925, 925, 925, 925, 925, 925, - 925, 925, 925, 925, 925, 927, 927, 927, 927, 927, - 927, 927, 927, 927, 927, 927, 929, 929, 929, 929, - 929, 929, 929, 929, 929, 929, 929, 931, 931, 931, - 931, 931, 931, 931, 931, 931, 931, 931, 933, 933, - - 933, 933, 933, 933, 933, 933, 933, 933, 933, 935, - 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, - 937, 937, 937, 937, 937, 937, 937, 937, 937, 937, - 937, 939, 939, 939, 939, 939, 939, 939, 939, 939, - 939, 939, 941, 941, 941, 941, 941, 941, 941, 941, - 941, 941, 941, 943, 943, 943, 943, 943, 943, 943, - 943, 943, 943, 943, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 947, 947, 947, 947, 947, - 947, 947, 947, 947, 947, 947, 949, 949, 949, 949, - 949, 949, 949, 949, 949, 949, 949, 951, 951, 951, - - 951, 951, 951, 951, 951, 951, 951, 951, 953, 953, - 953, 953, 953, 953, 953, 953, 953, 953, 953, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, - 957, 959, 959, 959, 959, 959, 959, 959, 959, 959, - 959, 959, 961, 961, 961, 961, 961, 961, 961, 961, - 961, 961, 961, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 967, 967, 967, 967, 967, - 967, 967, 967, 967, 967, 967, 969, 969, 969, 969, - - 969, 969, 969, 969, 969, 969, 969, 971, 971, 971, - 971, 971, 971, 971, 971, 971, 971, 971, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 983, 983, 983, 983, 983, 983, 983, - 983, 983, 983, 983, 985, 985, 985, 985, 985, 985, - 985, 985, 985, 985, 985, 987, 987, 987, 987, 987, - - 987, 987, 987, 987, 987, 987, 989, 989, 989, 989, - 989, 989, 989, 989, 989, 989, 989, 991, 991, 991, - 991, 991, 991, 991, 991, 991, 991, 991, 993, 993, - 993, 993, 993, 993, 993, 993, 993, 993, 993, 995, - 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 999, 999, 999, 999, 999, 999, 999, 999, 999, - 999, 999, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, - 1001, 1001, 1001, 1003, 1003, 1003, 1003, 1003, 1003, 1003, - 1003, 1003, 1003, 1003, 1005, 1005, 1005, 1005, 1005, 1005, - - 1005, 1005, 1005, 1005, 1005, 1007, 1007, 1007, 1007, 1007, - 1007, 1007, 1007, 1007, 1007, 1007, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1011, 1011, 1011, - 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1013, 1013, - 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, - 1019, 1019, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, - 1021, 1021, 1021, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - - 1023, 1023, 1023, 1023, 1025, 1025, 1025, 1025, 1025, 1025, - 1025, 1025, 1025, 1025, 1025, 1027, 1027, 1027, 1027, 1027, - 1027, 1027, 1027, 1027, 1027, 1027, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1031, 1031, 1031, - 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1033, 1033, - 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1035, - 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, - 1037, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, - 1039, 1039, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, - - 1041, 1041, 1041, 1043, 1043, 1043, 1043, 1043, 1043, 1043, - 1043, 1043, 1043, 1043, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1047, 1047, 1047, 1047, 1047, - 1047, 1047, 1047, 1047, 1047, 1047, 1049, 1049, 1049, 1049, - 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1051, 1051, 1051, - 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1053, 1053, - 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1055, - 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, - - 1059, 1059, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1065, 1065, 1065, 1065, 1065, 1065, - 1065, 1065, 1065, 1065, 1065, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1069, 1069, 1069, 1069, - 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1071, 1071, 1071, - 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1073, 1073, - 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1075, - 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, - 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, - - 1077, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, - 1079, 1079, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1083, 1083, 1083, 1083, 1083, 1083, 1083, - 1083, 1083, 1083, 1083, 1085, 1085, 1085, 1085, 1085, 1085, - 1085, 1085, 1085, 1085, 1085, 1087, 1087, 1087, 1087, 1087, - 1087, 1087, 1087, 1087, 1087, 1087, 1089, 1089, 1089, 1089, - 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1091, 1091, 1091, - 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1093, 1093, - 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - - 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, - 1097, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, - 1099, 1099, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1103, 1103, 1103, 1103, 1103, 1103, 1103, - 1103, 1103, 1103, 1103, 1105, 1105, 1105, 1105, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1109, 1109, 1109, 1109, - 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1111, 1111, 1111, - 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1115, - - 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, - 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, - 1117, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, - 1121, 1121, 1121, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - 1123, 1123, 1123, 1123, 1125, 1125, 1125, 1125, 1125, 1125, - 1125, 1125, 1125, 1125, 1125, 1127, 1127, 1127, 1127, 1127, - 1127, 1127, 1127, 1127, 1127, 1127, 1129, 1129, 1129, 1129, - 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1131, 1131, 1131, - 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1133, 1133, - - 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1135, - 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, - 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, - 1137, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, - 1139, 1139, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, - 1141, 1141, 1141, 1143, 1143, 1143, 1143, 1143, 1143, 1143, - 1143, 1143, 1143, 1143, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1145, 1145, 1145, 1145, 1147, 1147, 1147, 1147, 1147, - 1147, 1147, 1147, 1147, 1147, 1147, 1149, 1149, 1149, 1149, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1151, 1151, 1151, - - 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1153, 1153, - 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1155, - 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, - 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, - 1157, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, - 1159, 1159, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, - 1161, 1161, 1161, 1163, 1163, 1163, 1163, 1163, 1163, 1163, - 1163, 1163, 1163, 1163, 1165, 1165, 1165, 1165, 1165, 1165, - 1165, 1165, 1165, 1165, 1165, 1167, 1167, 1167, 1167, 1167, - 1167, 1167, 1167, 1167, 1167, 1167, 1169, 1169, 1169, 1169, - - 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1171, 1171, 1171, - 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1173, 1173, - 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1175, - 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, - 1179, 1179, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, - 1181, 1181, 1181, 1183, 1183, 1183, 1183, 1183, 1183, 1183, - 1183, 1183, 1183, 1183, 1185, 1185, 1185, 1185, 1185, 1185, - 1185, 1185, 1185, 1185, 1185, 1187, 1187, 1187, 1187, 1187, - - 1187, 1187, 1187, 1187, 1187, 1187, 1189, 1189, 1189, 1189, - 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1193, 1193, - 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, - 1197, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, - 1199, 1199, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, - 1201, 1201, 1201, 1203, 1203, 1203, 1203, 1203, 1203, 1203, - 1203, 1203, 1203, 1203, 1205, 1205, 1205, 1205, 1205, 1205, - - 1205, 1205, 1205, 1205, 1205, 1207, 1207, 1207, 1207, 1207, - 1207, 1207, 1207, 1207, 1207, 1207, 1209, 1209, 1209, 1209, - 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1211, 1211, 1211, - 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1213, 1213, - 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1215, - 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, - 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, - 1217, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, - 1219, 1219, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, - 1221, 1221, 1221, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - - 1223, 1223, 1223, 1223, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1227, 1227, 1227, 1227, 1227, - 1227, 1227, 1227, 1227, 1227, 1227, 1229, 1229, 1229, 1229, - 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1231, 1231, 1231, - 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1233, 1233, - 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1235, - 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, - 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1237, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, - 1239, 1239, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, - - 1241, 1241, 1241, 1243, 1243, 1243, 1243, 1243, 1243, 1243, - 1243, 1243, 1243, 1243, 1245, 1245, 1245, 1245, 1245, 1245, - 1245, 1245, 1245, 1245, 1245, 1247, 1247, 1247, 1247, 1247, - 1247, 1247, 1247, 1247, 1247, 1247, 1249, 1249, 1249, 1249, - 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1251, 1251, 1251, - 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1253, 1253, - 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1255, - 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, - 1257, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, - - 1259, 1259, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, - 1261, 1261, 1261, 1263, 1263, 1263, 1263, 1263, 1263, 1263, - 1263, 1263, 1263, 1263, 1265, 1265, 1265, 1265, 1265, 1265, - 1265, 1265, 1265, 1265, 1265, 1267, 1267, 1267, 1267, 1267, - 1267, 1267, 1267, 1267, 1267, 1267, 1269, 1269, 1269, 1269, - 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1271, 1271, 1271, - 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1273, 1273, - 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1275, - 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, - 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, - - 1277, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, - 1279, 1279, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, - 1281, 1281, 1281, 1283, 1283, 1283, 1283, 1283, 1283, 1283, - 1283, 1283, 1283, 1283, 1285, 1285, 1285, 1285, 1285, 1285, - 1285, 1285, 1285, 1285, 1285, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1289, 1289, 1289, 1289, - 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1291, 1291, 1291, - 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1293, 1293, - 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1295, - 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, - - 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, - 1297, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, - 1299, 1299, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, - 1301, 1301, 1301, 1303, 1303, 1303, 1303, 1303, 1303, 1303, - 1303, 1303, 1303, 1303, 1305, 1305, 1305, 1305, 1305, 1305, - 1305, 1305, 1305, 1305, 1305, 1307, 1307, 1307, 1307, 1307, - 1307, 1307, 1307, 1307, 1307, 1307, 1309, 1309, 1309, 1309, - 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1311, 1311, 1311, - 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1313, 1313, - 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1315, - - 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, - 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, - 1317, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, - 1319, 1319, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, - 1321, 1321, 1321, 1323, 1323, 1323, 1323, 1323, 1323, 1323, - 1323, 1323, 1323, 1323, 1325, 1325, 1325, 1325, 1325, 1325, - 1325, 1325, 1325, 1325, 1325, 1327, 1327, 1327, 1327, 1327, - 1327, 1327, 1327, 1327, 1327, 1327, 1329, 1329, 1329, 1329, - 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1331, 1331, 1331, - 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1333, 1333, - - 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1335, - 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, - 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, - 1337, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, - 1339, 1339, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, - 1341, 1341, 1341, 1343, 1343, 1343, 1343, 1343, 1343, 1343, - 1343, 1343, 1343, 1343, 1345, 1345, 1345, 1345, 1345, 1345, - 1345, 1345, 1345, 1345, 1345, 1347, 1347, 1347, 1347, 1347, - 1347, 1347, 1347, 1347, 1347, 1347, 1349, 1349, 1349, 1349, - 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1351, 1351, 1351, - - 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1353, 1353, - 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1355, - 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, - 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, - 1357, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, - 1359, 1359, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 1361, 1361, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1365, 1365, 1365, 1365, 1365, 1365, - 1365, 1365, 1365, 1365, 1365, 1367, 1367, 1367, 1367, 1367, - 1367, 1367, 1367, 1367, 1367, 1367, 1369, 1369, 1369, 1369, - - 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1371, 1371, 1371, - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1373, 1373, - 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1375, - 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, - 1379, 1379, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, - 1381, 1381, 1381, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1383, 1385, 1385, 1385, 1385, 1385, 1385, - 1385, 1385, 1385, 1385, 1385, 1387, 1387, 1387, 1387, 1387, - - 1387, 1387, 1387, 1387, 1387, 1387, 1389, 1389, 1389, 1389, - 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1391, 1391, 1391, - 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1393, 1393, - 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1395, - 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, - 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, - 1397, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, - 1399, 1399, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, - 1401, 1401, 1401, 1403, 1403, 1403, 1403, 1403, 1403, 1403, - 1403, 1403, 1403, 1403, 1405, 1405, 1405, 1405, 1405, 1405, - - 1405, 1405, 1405, 1405, 1405, 1407, 1407, 1407, 1407, 1407, - 1407, 1407, 1407, 1407, 1407, 1407, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1411, 1411, 1411, - 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1413, 1413, - 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1415, - 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, - 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, - 1417, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, - 1419, 1419, 503, 502, 501, 500, 499, 498, 497, 496, - 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, - - 485, 484, 483, 482, 481, 416, 480, 479, 478, 475, - 474, 412, 473, 469, 468, 467, 464, 462, 461, 460, - 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, - 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 346, 415, 414, 413, 412, 411, 407, 406, 405, - 404, 403, 402, 401, 400, 396, 395, 394, 393, 392, - 391, 390, 389, 388, 385, 384, 383, 382, 381, 380, - 379, 378, 377, 376, 375, 374, 373, 367, 366, 365, - - 364, 363, 360, 359, 358, 357, 356, 271, 355, 354, - 353, 352, 351, 348, 275, 346, 345, 343, 342, 341, - 340, 339, 338, 337, 336, 335, 334, 253, 333, 332, - 331, 233, 229, 1421, 226, 223, 326, 325, 324, 323, - 322, 321, 320, 319, 318, 315, 312, 311, 310, 306, - 305, 304, 303, 302, 299, 298, 297, 296, 295, 294, - 291, 286, 285, 284, 283, 282, 274, 273, 270, 265, - 264, 263, 262, 261, 260, 259, 258, 255, 1421, 251, - 250, 248, 110, 247, 245, 245, 244, 241, 240, 229, - 226, 224, 223, 214, 208, 207, 206, 199, 196, 195, - - 194, 189, 165, 163, 162, 153, 138, 116, 110, 1421, - 102, 102, 101, 101, 25, 25, 23, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421 + 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1466, 1466, 1466, + 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1468, 1468, + 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, + 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, + 1470, 1470, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1474, 1474, 1474, 1474, 1474, 1474, + 1474, 1474, 1474, 1474, 1474, 1474, 1476, 1476, 1476, 1476, + 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + + 1480, 1480, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, + 1482, 1482, 1482, 1482, 1484, 1484, 1484, 1484, 1484, 1484, + 1484, 1484, 1484, 1484, 1484, 1484, 1486, 1486, 1486, 1486, + 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1488, 1488, + 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, + 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 660, 659, 658, 657, 656, 655, 654, 651, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, + 625, 624, 620, 618, 617, 616, 615, 614, 613, 612, + + 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, + 601, 600, 599, 598, 597, 596, 595, 594, 591, 590, + 589, 480, 588, 587, 584, 536, 583, 581, 580, 579, + 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, + 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, + 558, 557, 556, 555, 554, 553, 552, 484, 551, 550, + 549, 546, 545, 480, 544, 540, 539, 538, 535, 530, + 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, + 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, + 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, + + 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, + 489, 488, 487, 406, 483, 482, 481, 480, 479, 475, + 474, 473, 472, 471, 470, 469, 468, 457, 456, 455, + 454, 453, 452, 451, 450, 449, 448, 445, 444, 443, + 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, + 427, 426, 425, 424, 423, 420, 419, 418, 417, 416, + 310, 415, 414, 413, 412, 411, 408, 314, 406, 405, + 403, 402, 401, 400, 399, 398, 397, 396, 395, 394, + 292, 393, 392, 391, 256, 235, 223, 365, 364, 363, + 362, 361, 360, 359, 358, 357, 354, 351, 350, 349, + + 345, 344, 343, 342, 341, 338, 337, 336, 335, 334, + 333, 330, 325, 324, 323, 322, 321, 313, 312, 309, + 304, 303, 302, 301, 300, 299, 298, 297, 294, 288, + 287, 285, 120, 284, 282, 282, 281, 278, 277, 270, + 256, 235, 223, 220, 219, 218, 211, 208, 207, 206, + 201, 177, 175, 174, 165, 150, 126, 120, 1492, 112, + 112, 111, 111, 29, 29, 27, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492 } ; -static yyconst short int yy_chk[7680] = +static yyconst short int yy_chk[9029] = { 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -1833,844 +2008,993 @@ static yyconst short int yy_chk[7680] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 7, 8, 9, 10, 11, 25, - 27, 27, 27, 11, 21, 21, 29, 32, 32, 67, - 21, 22, 22, 7, 8, 34, 33, 22, 25, 67, - 9, 10, 11, 9, 10, 11, 12, 38, 21, 21, - 29, 12, 33, 937, 34, 22, 22, 39, 38, 40, - 40, 40, 25, 46, 46, 40, 39, 39, 47, 47, - 12, 939, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, + 3, 3, 5, 6, 5, 6, 7, 8, 36, 36, + 25, 25, 26, 26, 37, 43, 25, 1014, 26, 31, + 31, 31, 38, 43, 43, 5, 6, 7, 8, 37, + 137, 7, 8, 25, 25, 26, 26, 42, 44, 44, + + 38, 45, 68, 44, 49, 68, 45, 42, 137, 49, + 49, 49, 45, 50, 50, 1016, 5, 6, 7, 8, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 35, 41, 941, 52, 45, 42, - 41, 42, 42, 42, 45, 45, 45, 41, 43, 52, - 43, 43, 43, 52, 52, 64, 53, 73, 64, 42, - 55, 53, 54, 943, 55, 945, 35, 35, 43, 35, - 55, 35, 68, 54, 35, 53, 54, 68, 42, 56, - 35, 57, 66, 35, 35, 66, 35, 57, 56, 56, - 56, 119, 73, 57, 177, 60, 119, 177, 56, 313, - - 56, 53, 60, 60, 80, 80, 80, 313, 60, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 79, 79, 79, 82, 88, 92, 90, 90, 93, - 110, 92, 94, 94, 93, 117, 95, 95, 82, 82, - 90, 103, 103, 125, 88, 113, 110, 103, 947, 110, - - 115, 115, 115, 92, 122, 122, 93, 95, 79, 117, - 155, 155, 125, 175, 90, 103, 103, 90, 113, 94, - 130, 170, 94, 110, 278, 82, 130, 175, 82, 144, - 144, 144, 149, 149, 149, 150, 278, 150, 150, 150, - 162, 162, 152, 152, 152, 170, 151, 144, 151, 171, - 149, 151, 151, 151, 949, 150, 152, 152, 152, 152, - 152, 152, 165, 174, 174, 165, 185, 165, 171, 192, - 197, 165, 165, 219, 219, 199, 197, 185, 199, 215, - 215, 215, 216, 216, 216, 192, 192, 231, 220, 220, - 220, 951, 231, 953, 235, 235, 216, 216, 216, 216, - - 216, 216, 220, 220, 220, 220, 220, 220, 232, 236, - 236, 247, 408, 232, 231, 235, 242, 242, 265, 265, - 265, 955, 242, 408, 266, 266, 266, 247, 291, 291, - 247, 267, 267, 267, 957, 232, 268, 268, 268, 959, - 242, 242, 266, 269, 269, 269, 328, 328, 298, 961, - 298, 347, 347, 298, 247, 418, 418, 269, 269, 269, - 269, 269, 269, 298, 327, 327, 327, 298, 963, 965, - 329, 329, 329, 967, 331, 344, 344, 344, 327, 327, - 327, 327, 327, 327, 329, 329, 329, 329, 329, 329, - 331, 339, 400, 331, 401, 401, 401, 464, 405, 412, - - 969, 468, 339, 470, 476, 512, 971, 479, 400, 405, - 412, 400, 468, 464, 470, 476, 464, 331, 479, 973, - 514, 512, 516, 549, 512, 519, 520, 339, 513, 513, - 513, 514, 521, 516, 405, 400, 519, 520, 551, 549, - 464, 553, 549, 521, 550, 550, 550, 554, 512, 551, - 555, 557, 553, 559, 559, 559, 580, 597, 554, 975, - 977, 555, 557, 582, 582, 582, 549, 609, 636, 636, - 636, 979, 580, 597, 616, 580, 597, 981, 559, 623, - 983, 985, 987, 609, 989, 627, 609, 550, 582, 631, - 616, 991, 636, 616, 993, 623, 635, 638, 623, 580, - - 597, 627, 995, 997, 627, 631, 999, 1001, 631, 1003, - 609, 1005, 635, 638, 642, 635, 638, 616, 639, 639, - 639, 1007, 623, 1009, 1011, 640, 640, 640, 627, 640, - 642, 1013, 631, 642, 640, 648, 1015, 653, 1017, 635, - 638, 1019, 639, 643, 643, 643, 658, 643, 656, 656, - 656, 648, 643, 653, 648, 664, 653, 642, 661, 661, - 661, 1021, 658, 666, 1023, 658, 1025, 1027, 668, 670, - 1029, 664, 640, 656, 664, 672, 674, 676, 648, 666, - 653, 678, 666, 661, 668, 670, 680, 668, 670, 658, - 643, 672, 674, 676, 672, 674, 676, 678, 664, 1031, - - 678, 1033, 680, 1035, 1037, 680, 666, 682, 1039, 684, - 1041, 668, 670, 1043, 686, 688, 690, 1045, 672, 674, - 676, 692, 694, 682, 678, 684, 682, 696, 684, 680, - 686, 688, 690, 686, 688, 690, 1047, 692, 694, 1049, - 692, 694, 1051, 696, 698, 1053, 696, 1055, 1057, 1059, - 682, 1061, 684, 700, 1063, 702, 1065, 686, 688, 690, - 698, 704, 706, 698, 692, 694, 708, 710, 1067, 700, - 696, 702, 700, 712, 702, 714, 1069, 704, 706, 1071, - 704, 706, 708, 710, 716, 708, 710, 698, 1073, 712, - 1075, 714, 712, 1077, 714, 718, 700, 1079, 702, 1081, - - 716, 720, 1083, 716, 704, 706, 722, 724, 1085, 708, - 710, 718, 726, 728, 718, 1087, 712, 720, 714, 1089, - 720, 730, 722, 724, 1091, 722, 724, 716, 726, 728, - 1093, 726, 728, 1095, 1097, 732, 1099, 730, 718, 1101, - 730, 734, 736, 738, 720, 1103, 1105, 740, 1107, 722, - 724, 732, 742, 744, 732, 726, 728, 734, 736, 738, - 734, 736, 738, 740, 730, 1109, 740, 1111, 742, 744, - 1113, 742, 744, 746, 1115, 748, 1117, 1119, 732, 1121, - 1123, 750, 752, 754, 734, 736, 738, 756, 758, 746, - 740, 748, 746, 760, 748, 742, 744, 750, 752, 754, - - 750, 752, 754, 756, 758, 1125, 756, 758, 1127, 760, - 1129, 1131, 760, 762, 1133, 1135, 746, 1137, 748, 764, - 1139, 766, 1141, 768, 750, 752, 754, 770, 772, 762, - 756, 758, 762, 774, 776, 764, 760, 766, 764, 768, - 766, 778, 768, 770, 772, 1143, 770, 772, 1145, 774, - 776, 1147, 774, 776, 1149, 1151, 762, 778, 1153, 780, - 778, 1155, 764, 782, 766, 1157, 768, 784, 1159, 786, - 770, 772, 1161, 788, 790, 780, 774, 776, 780, 782, - 792, 794, 782, 784, 778, 786, 784, 1163, 786, 788, - 790, 1165, 788, 790, 1167, 796, 792, 794, 1169, 792, - - 794, 1171, 780, 798, 1173, 1175, 782, 1177, 1179, 800, - 784, 796, 786, 802, 796, 804, 788, 790, 1181, 798, - 806, 808, 798, 792, 794, 800, 810, 1183, 800, 802, - 1185, 804, 802, 1187, 804, 812, 806, 808, 796, 806, - 808, 814, 810, 816, 1189, 810, 798, 1191, 1193, 818, - 1195, 812, 800, 1197, 812, 820, 802, 814, 804, 816, - 814, 822, 816, 806, 808, 818, 824, 1199, 818, 810, - 1201, 820, 826, 1203, 820, 1205, 1207, 822, 812, 1209, - 822, 828, 824, 830, 814, 824, 816, 832, 826, 834, - 1211, 826, 818, 1213, 836, 838, 1215, 828, 820, 830, - - 828, 840, 830, 832, 822, 834, 832, 1217, 834, 824, - 836, 838, 842, 836, 838, 826, 1219, 840, 1221, 1223, - 840, 1225, 1227, 844, 828, 1229, 830, 846, 842, 848, - 832, 842, 834, 850, 852, 854, 1231, 836, 838, 844, - 856, 858, 844, 846, 840, 848, 846, 1233, 848, 850, - 852, 854, 850, 852, 854, 842, 856, 858, 1235, 856, - 858, 1237, 1239, 860, 1241, 1243, 844, 1245, 1247, 862, - 846, 864, 848, 866, 1249, 868, 850, 852, 854, 860, - 870, 872, 860, 856, 858, 862, 874, 864, 862, 866, - 864, 868, 866, 1251, 868, 1253, 870, 872, 1255, 870, - - 872, 876, 874, 878, 1257, 874, 860, 1259, 1261, 880, - 1263, 882, 862, 1265, 864, 884, 866, 876, 868, 878, - 876, 886, 878, 870, 872, 880, 888, 882, 880, 874, - 882, 884, 890, 1267, 884, 1269, 1271, 886, 1273, 1275, - 886, 892, 888, 894, 876, 888, 878, 896, 890, 898, - 1277, 890, 880, 1279, 882, 900, 1281, 892, 884, 894, - 892, 902, 894, 896, 886, 898, 896, 1283, 898, 888, - 1285, 900, 904, 1287, 900, 890, 1289, 902, 906, 1291, - 902, 1293, 1295, 908, 892, 1297, 894, 910, 904, 912, - 896, 904, 898, 914, 906, 916, 1299, 906, 900, 908, - - 918, 920, 908, 910, 902, 912, 910, 1301, 912, 914, - 1303, 916, 914, 1305, 916, 904, 918, 920, 922, 918, - 920, 906, 1307, 924, 1309, 1311, 908, 1313, 1315, 926, - 910, 928, 912, 930, 922, 932, 914, 922, 916, 924, - 934, 936, 924, 918, 920, 926, 938, 928, 926, 930, - 928, 932, 930, 1317, 932, 1319, 934, 936, 1321, 934, - 936, 922, 938, 940, 1323, 938, 924, 1325, 1327, 942, - 1329, 944, 926, 1331, 928, 946, 930, 948, 932, 940, - 1333, 950, 940, 934, 936, 942, 952, 944, 942, 938, - 944, 946, 954, 948, 946, 1335, 948, 950, 1337, 1339, - - 950, 1341, 952, 956, 1343, 952, 940, 958, 954, 960, - 1345, 954, 942, 1347, 944, 962, 1349, 964, 946, 956, - 948, 966, 956, 958, 950, 960, 958, 1351, 960, 952, - 1353, 962, 968, 964, 962, 954, 964, 966, 970, 1355, - 966, 1357, 1359, 972, 1361, 1363, 956, 974, 968, 976, - 958, 968, 960, 978, 970, 980, 1365, 970, 962, 972, - 964, 982, 972, 974, 966, 976, 974, 1367, 976, 978, - 1369, 980, 978, 1371, 980, 968, 1373, 982, 984, 1375, - 982, 970, 1377, 986, 988, 1379, 972, 1381, 1383, 990, - 974, 992, 976, 994, 984, 996, 978, 984, 980, 986, - - 988, 998, 986, 988, 982, 990, 1000, 992, 990, 994, - 992, 996, 994, 1385, 996, 1387, 1389, 998, 1391, 1393, - 998, 984, 1000, 1002, 1004, 1000, 986, 988, 1395, 1006, - 1397, 1008, 990, 1399, 992, 1010, 994, 1012, 996, 1002, - 1004, 1014, 1002, 1004, 998, 1006, 1016, 1008, 1006, 1000, - 1008, 1010, 1018, 1012, 1010, 1401, 1012, 1014, 1403, 1405, - 1014, 1407, 1016, 1020, 1409, 1016, 1002, 1004, 1018, 1022, - 1411, 1018, 1006, 1413, 1008, 1024, 1415, 1026, 1010, 1020, - 1012, 1028, 1020, 1030, 1014, 1022, 1417, 1429, 1022, 1016, - 935, 1024, 1032, 1026, 1024, 1018, 1026, 1028, 1034, 1030, - - 1028, 933, 1030, 1036, 931, 929, 1020, 927, 1032, 1038, - 925, 1032, 1022, 1040, 1034, 1042, 923, 1034, 1024, 1036, - 1026, 1044, 1036, 1046, 1028, 1038, 1030, 921, 1038, 1040, - 919, 1042, 1040, 917, 1042, 1032, 915, 1044, 1048, 1046, - 1044, 1034, 1046, 1050, 1052, 913, 1036, 911, 909, 1054, - 907, 1056, 1038, 1058, 1048, 1060, 1040, 1048, 1042, 1050, - 1052, 1062, 1050, 1052, 1044, 1054, 1046, 1056, 1054, 1058, - 1056, 1060, 1058, 905, 1060, 903, 901, 1062, 899, 897, - 1062, 1048, 895, 1064, 1066, 893, 1050, 1052, 891, 1068, - 1070, 1072, 1054, 889, 1056, 1074, 1058, 1076, 1060, 1064, - - 1066, 1078, 1064, 1066, 1062, 1068, 1070, 1072, 1068, 1070, - 1072, 1074, 1080, 1076, 1074, 887, 1076, 1078, 885, 883, - 1078, 881, 879, 1082, 877, 875, 1064, 1066, 1080, 1084, - 1086, 1080, 1068, 1070, 1072, 1088, 873, 1090, 1074, 1082, - 1076, 1092, 1082, 1094, 1078, 1084, 1086, 871, 1084, 1086, - 869, 1088, 1096, 1090, 1088, 1080, 1090, 1092, 1098, 1094, - 1092, 867, 1094, 1100, 865, 863, 1082, 861, 1096, 1102, - 859, 1096, 1084, 1086, 1098, 1104, 857, 1098, 1088, 1100, - 1090, 1106, 1100, 1108, 1092, 1102, 1094, 855, 1102, 1110, - 853, 1104, 851, 849, 1104, 1096, 847, 1106, 1112, 1108, - - 1106, 1098, 1108, 1114, 1116, 1110, 1100, 845, 1110, 1118, - 843, 1120, 1102, 841, 1112, 1122, 839, 1112, 1104, 1114, - 1116, 1124, 1114, 1116, 1106, 1118, 1108, 1120, 1118, 1126, - 1120, 1122, 1110, 837, 1122, 835, 833, 1124, 831, 829, - 1124, 1112, 827, 1128, 1130, 1126, 1114, 1116, 1126, 1132, - 1134, 1136, 1118, 825, 1120, 1138, 823, 1140, 1122, 1128, - 1130, 1142, 1128, 1130, 1124, 1132, 1134, 1136, 1132, 1134, - 1136, 1138, 1126, 1140, 1138, 821, 1140, 1142, 819, 817, - 1142, 815, 813, 1144, 811, 809, 1128, 1130, 807, 1146, - 1148, 1150, 1132, 1134, 1136, 1152, 1154, 1156, 1138, 1144, - - 1140, 1158, 1144, 1160, 1142, 1146, 1148, 1150, 1146, 1148, - 1150, 1152, 1154, 1156, 1152, 1154, 1156, 1158, 805, 1160, - 1158, 803, 1160, 801, 799, 797, 1144, 795, 793, 1162, - 791, 1164, 1146, 1148, 1150, 1166, 1168, 1170, 1152, 1154, - 1156, 1172, 1174, 1176, 1158, 1162, 1160, 1164, 1162, 1178, - 1164, 1166, 1168, 1170, 1166, 1168, 1170, 1172, 1174, 1176, - 1172, 1174, 1176, 789, 787, 1178, 785, 783, 1178, 781, - 779, 1180, 1162, 777, 1164, 1182, 775, 1184, 1166, 1168, - 1170, 1186, 1188, 1190, 1172, 1174, 1176, 1180, 1192, 1194, - 1180, 1182, 1178, 1184, 1182, 773, 1184, 1186, 1188, 1190, - - 1186, 1188, 1190, 1196, 1192, 1194, 771, 1192, 1194, 769, - 767, 1198, 765, 763, 1180, 761, 759, 1200, 1182, 1196, - 1184, 1202, 1196, 1204, 1186, 1188, 1190, 1198, 1206, 1208, - 1198, 1192, 1194, 1200, 1210, 757, 1200, 1202, 755, 1204, - 1202, 753, 1204, 1212, 1206, 1208, 1196, 1206, 1208, 1214, - 1210, 1216, 751, 1210, 1198, 749, 747, 1218, 745, 1212, - 1200, 743, 1212, 1220, 1202, 1214, 1204, 1216, 1214, 1222, - 1216, 1206, 1208, 1218, 1224, 741, 1218, 1210, 739, 1220, - 1226, 737, 1220, 735, 733, 1222, 1212, 731, 1222, 1228, - 1224, 1230, 1214, 1224, 1216, 1232, 1226, 1234, 729, 1226, - - 1218, 727, 1236, 1238, 725, 1228, 1220, 1230, 1228, 1240, - 1230, 1232, 1222, 1234, 1232, 723, 1234, 1224, 1236, 1238, - 1242, 1236, 1238, 1226, 721, 1240, 719, 717, 1240, 715, - 713, 1244, 1228, 711, 1230, 1246, 1242, 1248, 1232, 1242, - 1234, 1250, 1252, 1254, 709, 1236, 1238, 1244, 1256, 1258, - 1244, 1246, 1240, 1248, 1246, 707, 1248, 1250, 1252, 1254, - 1250, 1252, 1254, 1242, 1256, 1258, 705, 1256, 1258, 703, - 701, 1260, 699, 697, 1244, 695, 693, 1262, 1246, 1264, - 1248, 1266, 691, 1268, 1250, 1252, 1254, 1260, 1270, 1272, - 1260, 1256, 1258, 1262, 1274, 1264, 1262, 1266, 1264, 1268, - - 1266, 689, 1268, 687, 1270, 1272, 685, 1270, 1272, 1276, - 1274, 1278, 683, 1274, 1260, 681, 679, 1280, 677, 1282, - 1262, 675, 1264, 1284, 1266, 1276, 1268, 1278, 1276, 1286, - 1278, 1270, 1272, 1280, 1288, 1282, 1280, 1274, 1282, 1284, - 1290, 673, 1284, 671, 669, 1286, 667, 665, 1286, 1292, - 1288, 1294, 1276, 1288, 1278, 1296, 1290, 1298, 663, 1290, - 1280, 660, 1282, 1300, 659, 1292, 1284, 1294, 1292, 1302, - 1294, 1296, 1286, 1298, 1296, 657, 1298, 1288, 655, 1300, - 1304, 654, 1300, 1290, 652, 1302, 1306, 651, 1302, 650, - 649, 1308, 1292, 647, 1294, 1310, 1304, 1312, 1296, 1304, - - 1298, 1314, 1306, 1316, 646, 1306, 1300, 1308, 1318, 1320, - 1308, 1310, 1302, 1312, 1310, 645, 1312, 1314, 644, 1316, - 1314, 641, 1316, 1304, 1318, 1320, 1322, 1318, 1320, 1306, - 637, 1324, 634, 632, 1308, 630, 629, 1326, 1310, 1328, - 1312, 1330, 1322, 1332, 1314, 1322, 1316, 1324, 1334, 1336, - 1324, 1318, 1320, 1326, 1338, 1328, 1326, 1330, 1328, 1332, - 1330, 628, 1332, 626, 1334, 1336, 625, 1334, 1336, 1322, - 1338, 1340, 624, 1338, 1324, 622, 619, 1342, 617, 1344, - 1326, 615, 1328, 1346, 1330, 1348, 1332, 1340, 614, 1350, - 1340, 1334, 1336, 1342, 1352, 1344, 1342, 1338, 1344, 1346, - - 1354, 1348, 1346, 613, 1348, 1350, 612, 611, 1350, 610, - 1352, 1356, 608, 1352, 1340, 1358, 1354, 1360, 607, 1354, - 1342, 605, 1344, 1362, 600, 1364, 1346, 1356, 1348, 1366, - 1356, 1358, 1350, 1360, 1358, 599, 1360, 1352, 598, 1362, - 1368, 1364, 1362, 1354, 1364, 1366, 1370, 596, 1366, 595, - 592, 1372, 591, 590, 1356, 1374, 1368, 1376, 1358, 1368, - 1360, 1378, 1370, 1380, 588, 1370, 1362, 1372, 1364, 1382, - 1372, 1374, 1366, 1376, 1374, 587, 1376, 1378, 586, 1380, - 1378, 585, 1380, 1368, 584, 1382, 1384, 581, 1382, 1370, - 579, 1386, 1388, 578, 1372, 577, 576, 1390, 1374, 1392, - - 1376, 1394, 1384, 1396, 1378, 1384, 1380, 1386, 1388, 1398, - 1386, 1388, 1382, 1390, 1400, 1392, 1390, 1394, 1392, 1396, - 1394, 575, 1396, 574, 573, 1398, 570, 569, 1398, 1384, - 1400, 1402, 1404, 1400, 1386, 1388, 568, 1406, 565, 1408, - 1390, 563, 1392, 1410, 1394, 1412, 1396, 1402, 1404, 1414, - 1402, 1404, 1398, 1406, 1416, 1408, 1406, 1400, 1408, 1410, - 1418, 1412, 1410, 562, 1412, 1414, 560, 548, 1414, 547, - 1416, 1420, 546, 1416, 1402, 1404, 1418, 544, 543, 1418, - 1406, 542, 1408, 541, 540, 537, 1410, 1420, 1412, 536, - 1420, 535, 1414, 534, 531, 530, 529, 1416, 528, 527, - - 526, 525, 524, 1418, 523, 518, 517, 511, 507, 505, - 504, 503, 502, 501, 1420, 1422, 1422, 1422, 1422, 1422, - 1422, 1422, 1422, 1422, 1422, 1422, 1423, 1423, 1423, 1423, - 1423, 1423, 1423, 1423, 1423, 1423, 1423, 1424, 1424, 1424, - 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1425, - 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1426, - 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, - 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 500, - 1427, 1428, 1428, 1428, 1428, 498, 1428, 1428, 1428, 1428, - 1428, 1428, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, - - 1430, 1430, 1430, 1431, 497, 496, 1431, 1432, 1432, 1432, - 495, 1432, 1432, 494, 1432, 1432, 1433, 1433, 1433, 1433, - 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 493, 492, - 1434, 1435, 1435, 1435, 1435, 1435, 490, 1435, 1435, 1435, - 1435, 1435, 1436, 489, 488, 487, 486, 1436, 1436, 485, - 1436, 1437, 484, 483, 1437, 1438, 482, 481, 1438, 1439, - 1439, 1439, 1439, 1439, 1439, 480, 1439, 1439, 1439, 1439, - 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, - 1440, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441, - 1441, 1441, 1442, 478, 475, 1442, 1443, 1443, 1443, 1443, - - 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1444, 474, 473, - 472, 469, 467, 466, 463, 459, 1444, 1445, 1445, 1445, - 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1446, 458, - 457, 456, 455, 1446, 454, 453, 1446, 1447, 1447, 1447, - 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1448, 1448, - 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1449, - 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, - 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, - 1450, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, - 1451, 1451, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, - - 1452, 1452, 1452, 1453, 1453, 1453, 1453, 1453, 1453, 1453, - 1453, 1453, 1453, 1453, 1454, 1454, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1455, 1455, 1455, 1455, 1455, - 1455, 1455, 1455, 1455, 1455, 1455, 1456, 1456, 1456, 1456, - 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, 1457, - 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1458, 1458, - 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, - - 1461, 1461, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, - 1462, 1462, 1462, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464, - 1464, 1464, 1464, 1464, 1464, 1465, 1465, 1465, 1465, 1465, - 1465, 1465, 1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466, - 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1467, 1467, 1467, - 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1468, 1468, - 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1469, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, - 1470, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, - 1472, 1472, 1472, 1473, 1473, 1473, 1473, 1473, 1473, 1473, - 1473, 1473, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1475, 1475, 1475, 1475, 1475, - 1475, 1475, 1475, 1475, 1475, 1475, 1476, 1476, 1476, 1476, - 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1477, 1477, 1477, - 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1478, 1478, - 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479, - 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, - - 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, - 1480, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481, - 1481, 1481, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, - 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1483, 1483, 1483, - 1483, 1483, 1483, 1483, 1484, 1484, 1484, 1484, 1484, 1484, - 1484, 1484, 1484, 1484, 1484, 1485, 1485, 1485, 1485, 1485, - 1485, 1485, 1485, 1485, 1485, 1485, 1486, 1486, 1486, 1486, - 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1487, 1487, 1487, - 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1488, 1488, - 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1489, - - 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, - 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, - 1490, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, - 1491, 1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, - 1492, 1492, 1492, 1493, 1493, 1493, 1493, 1493, 1493, 1493, - 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1494, 1494, 1494, - 1494, 1494, 1494, 1494, 1494, 1495, 1495, 1495, 1495, 1495, - 1495, 1495, 1495, 1495, 1495, 1495, 1496, 1496, 1496, 1496, - 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1497, 1497, 1497, - 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1498, 1498, - - 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1499, - 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, - 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, - 1500, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, - 1501, 1501, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, - 1502, 1502, 1502, 1503, 1503, 1503, 1503, 1503, 1503, 1503, - 1503, 1503, 1503, 1503, 1504, 1504, 1504, 1504, 1504, 1504, - 1504, 1504, 1504, 1504, 1504, 1505, 1505, 1505, 1505, 1505, - 1505, 1505, 1505, 1505, 1505, 1505, 1506, 1506, 1506, 1506, - 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1507, 1507, 1507, - - 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1508, 1508, - 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1509, - 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, - 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, - 1510, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 15, 15, 15, 15, 15, 15, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 29, 33, 46, 33, 46, 46, 47, 1018, 47, 47, + 51, 51, 70, 56, 57, 70, 72, 58, 29, 57, + 1020, 72, 46, 59, 33, 56, 47, 59, 58, 56, + 56, 58, 57, 59, 61, 71, 77, 107, 107, 60, + 61, 46, 79, 29, 64, 71, 61, 84, 60, 60, + 60, 64, 64, 97, 97, 33, 39, 64, 60, 57, + 60, 108, 108, 79, 120, 1022, 123, 187, 84, 125, + + 125, 125, 77, 97, 107, 134, 134, 113, 113, 120, + 142, 187, 120, 113, 167, 167, 142, 1024, 39, 39, + 123, 39, 189, 39, 79, 189, 39, 174, 174, 84, + 113, 113, 39, 186, 186, 39, 39, 120, 39, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + + 81, 83, 88, 83, 183, 129, 197, 129, 156, 156, + 1026, 161, 161, 162, 209, 162, 162, 197, 211, 317, + 209, 211, 183, 88, 83, 204, 156, 88, 129, 161, + 163, 317, 163, 162, 177, 163, 163, 177, 231, 177, + 1028, 204, 204, 177, 177, 269, 269, 273, 273, 231, + 275, 275, 306, 306, 88, 83, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + + 92, 92, 92, 92, 93, 164, 164, 268, 268, 304, + 304, 304, 307, 307, 330, 330, 381, 381, 352, 164, + 164, 164, 164, 164, 164, 93, 352, 268, 93, 1030, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, + 127, 131, 127, 131, 182, 223, 182, 224, 226, 224, + 226, 227, 229, 236, 229, 240, 1032, 247, 247, 1034, + 95, 1036, 247, 127, 131, 1038, 223, 182, 305, 305, + 224, 226, 227, 1040, 236, 229, 240, 366, 236, 366, + 240, 368, 234, 247, 234, 476, 305, 404, 404, 404, + 480, 95, 368, 1042, 127, 131, 476, 223, 182, 1044, + 366, 480, 226, 227, 230, 234, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 235, 238, 239, 234, 243, 252, 252, + 258, 258, 1046, 252, 371, 258, 260, 260, 337, 1048, + 337, 260, 1050, 337, 235, 238, 239, 539, 243, 238, + 274, 274, 243, 337, 252, 371, 258, 337, 539, 371, + 407, 407, 260, 1052, 274, 274, 274, 274, 274, 274, + 469, 469, 469, 486, 486, 235, 238, 239, 241, 243, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 250, 284, 255, + + 262, 265, 266, 279, 279, 289, 1054, 289, 370, 279, + 370, 372, 383, 284, 374, 374, 284, 387, 250, 374, + 255, 262, 265, 266, 1056, 1058, 279, 279, 289, 308, + 308, 370, 372, 383, 378, 378, 372, 1060, 387, 378, + 374, 284, 1062, 308, 308, 308, 308, 308, 308, 250, + 253, 255, 262, 265, 266, 541, 547, 550, 1064, 289, + 378, 585, 370, 372, 383, 1066, 541, 547, 550, 387, + 1068, 253, 585, 1070, 253, 1072, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, + + 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 259, 259, 382, 382, 384, + 384, 587, 382, 590, 384, 584, 584, 584, 591, 592, + 622, 624, 587, 1074, 590, 1076, 1078, 1080, 1082, 591, + 592, 622, 624, 382, 259, 384, 259, 259, 259, 259, + + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 290, 382, 290, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 290, 290, 375, 375, 385, 385, 389, 389, 625, 385, + 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 626, 625, + 389, 389, 389, 389, 389, 389, 621, 621, 621, 626, + 385, 375, 1100, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + + 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, + 380, 380, 628, 380, 1102, 1104, 1106, 1108, 1110, 621, + 1112, 1114, 380, 628, 380, 380, 380, 380, 380, 380, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 388, 391, 399, 458, 458, 460, 460, 464, 458, 473, + 460, 466, 1116, 399, 1118, 1120, 391, 463, 463, 391, + 473, 388, 463, 1122, 468, 465, 465, 1124, 464, 458, + 465, 460, 466, 1126, 1128, 532, 532, 1130, 399, 468, + 532, 1132, 468, 463, 391, 473, 630, 630, 630, 1134, + + 1136, 465, 388, 461, 461, 533, 533, 1138, 1140, 464, + 533, 532, 1142, 466, 1144, 1146, 1148, 468, 1150, 1152, + 630, 1154, 1156, 1158, 463, 1160, 1162, 1164, 1166, 1168, + 1170, 533, 461, 1172, 461, 461, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, + 461, 535, 533, 583, 1174, 620, 1176, 651, 653, 653, + 653, 668, 680, 687, 1178, 1180, 535, 1182, 583, 535, + 620, 583, 651, 620, 694, 651, 668, 680, 687, 668, + 680, 687, 653, 1184, 698, 1186, 707, 707, 707, 694, + + 1188, 1190, 694, 702, 535, 706, 583, 709, 620, 698, + 651, 1192, 698, 1194, 668, 680, 687, 1196, 702, 707, + 706, 702, 709, 706, 713, 709, 1198, 694, 710, 710, + 710, 711, 711, 711, 1200, 711, 1202, 698, 719, 713, + 711, 1204, 713, 714, 714, 714, 702, 714, 706, 1206, + 709, 710, 714, 719, 724, 729, 719, 1208, 727, 727, + 727, 732, 732, 732, 1210, 735, 1212, 713, 1214, 724, + 729, 737, 724, 729, 1216, 1218, 739, 741, 711, 1220, + 735, 719, 727, 735, 743, 732, 737, 1222, 745, 737, + 714, 739, 741, 1224, 739, 741, 1226, 724, 729, 743, + + 747, 1228, 743, 745, 1230, 1232, 745, 749, 735, 1234, + 1236, 751, 1238, 1240, 737, 747, 1242, 753, 747, 739, + 741, 755, 749, 757, 1244, 749, 751, 743, 1246, 751, + 759, 745, 753, 1248, 761, 753, 755, 1250, 757, 755, + 763, 757, 1252, 747, 765, 759, 1254, 1256, 759, 761, + 749, 1258, 761, 767, 751, 763, 1260, 769, 763, 765, + 753, 771, 765, 773, 755, 1262, 757, 775, 767, 1264, + 1266, 767, 769, 759, 777, 769, 771, 761, 773, 771, + 779, 773, 775, 763, 781, 775, 1268, 765, 1270, 777, + 783, 1272, 777, 1274, 785, 779, 767, 1276, 779, 781, + + 769, 787, 781, 789, 771, 783, 773, 791, 783, 785, + 775, 793, 785, 795, 1278, 1280, 787, 777, 789, 787, + 797, 789, 791, 779, 799, 791, 793, 781, 795, 793, + 801, 795, 1282, 783, 803, 797, 1284, 785, 797, 799, + 805, 1286, 799, 1288, 787, 801, 789, 807, 801, 803, + 791, 809, 803, 811, 793, 805, 795, 813, 805, 1290, + 1292, 815, 807, 797, 1294, 807, 809, 799, 811, 809, + 817, 811, 813, 801, 819, 813, 815, 803, 1296, 815, + 821, 1298, 1300, 805, 823, 817, 1302, 1304, 817, 819, + 807, 825, 819, 827, 809, 821, 811, 829, 821, 823, + + 813, 831, 823, 833, 815, 1306, 825, 835, 827, 825, + 1308, 827, 829, 817, 837, 829, 831, 819, 833, 831, + 839, 833, 835, 821, 841, 835, 1310, 823, 1312, 837, + 843, 1314, 837, 1316, 825, 839, 827, 845, 839, 841, + 829, 847, 841, 849, 831, 843, 833, 851, 843, 1318, + 835, 853, 845, 855, 1320, 845, 847, 837, 849, 847, + 857, 849, 851, 839, 859, 851, 853, 841, 855, 853, + 861, 855, 1322, 843, 863, 857, 1324, 1326, 857, 859, + 845, 1328, 859, 865, 847, 861, 849, 867, 861, 863, + 851, 869, 863, 871, 853, 1330, 855, 873, 865, 1332, + + 1334, 865, 867, 857, 875, 867, 869, 859, 871, 869, + 877, 871, 873, 861, 879, 873, 1336, 863, 1338, 875, + 881, 1340, 875, 1342, 883, 877, 865, 1344, 877, 879, + 867, 885, 879, 887, 869, 881, 871, 889, 881, 883, + 873, 891, 883, 893, 1346, 1348, 885, 875, 887, 885, + 895, 887, 889, 877, 897, 889, 891, 879, 893, 891, + 899, 893, 1350, 881, 901, 895, 1352, 883, 895, 897, + 903, 1354, 897, 1356, 885, 899, 887, 905, 899, 901, + 889, 907, 901, 909, 891, 903, 893, 911, 903, 1358, + 1360, 913, 905, 895, 1362, 905, 907, 897, 909, 907, + + 915, 909, 911, 899, 917, 911, 913, 901, 1364, 913, + 919, 1366, 1368, 903, 921, 915, 1370, 1372, 915, 917, + 905, 923, 917, 925, 907, 919, 909, 927, 919, 921, + 911, 929, 921, 931, 913, 1374, 923, 933, 925, 923, + 1376, 925, 927, 915, 935, 927, 929, 917, 931, 929, + 937, 931, 933, 919, 939, 933, 1378, 921, 1380, 935, + 941, 1382, 935, 1384, 923, 937, 925, 943, 937, 939, + 927, 945, 939, 947, 929, 941, 931, 949, 941, 1386, + 933, 951, 943, 953, 1388, 943, 945, 935, 947, 945, + 955, 947, 949, 937, 957, 949, 951, 939, 953, 951, + + 959, 953, 1390, 941, 961, 955, 1392, 1394, 955, 957, + 943, 1396, 957, 963, 945, 959, 947, 965, 959, 961, + 949, 967, 961, 969, 951, 1398, 953, 971, 963, 1400, + 1402, 963, 965, 955, 973, 965, 967, 957, 969, 967, + 975, 969, 971, 959, 977, 971, 1404, 961, 1406, 973, + 979, 1408, 973, 1410, 981, 975, 963, 1412, 975, 977, + 965, 983, 977, 985, 967, 979, 969, 987, 979, 981, + 971, 989, 981, 991, 1414, 1416, 983, 973, 985, 983, + 993, 985, 987, 975, 995, 987, 989, 977, 991, 989, + 997, 991, 1418, 979, 999, 993, 1420, 981, 993, 995, + + 1001, 1422, 995, 1424, 983, 997, 985, 1003, 997, 999, + 987, 1005, 999, 1007, 989, 1001, 991, 1009, 1001, 1426, + 1428, 1011, 1003, 993, 1430, 1003, 1005, 995, 1007, 1005, + 1013, 1007, 1009, 997, 1015, 1009, 1011, 999, 1432, 1011, + 1017, 1434, 1436, 1001, 1019, 1013, 1438, 1440, 1013, 1015, + 1003, 1021, 1015, 1023, 1005, 1017, 1007, 1025, 1017, 1019, + 1009, 1027, 1019, 1029, 1011, 1442, 1021, 1031, 1023, 1021, + 1444, 1023, 1025, 1013, 1033, 1025, 1027, 1015, 1029, 1027, + 1035, 1029, 1031, 1017, 1037, 1031, 1446, 1019, 1448, 1033, + 1039, 1450, 1033, 1452, 1021, 1035, 1023, 1041, 1035, 1037, + + 1025, 1043, 1037, 1045, 1027, 1039, 1029, 1047, 1039, 1454, + 1031, 1049, 1041, 1051, 1456, 1041, 1043, 1033, 1045, 1043, + 1053, 1045, 1047, 1035, 1055, 1047, 1049, 1037, 1051, 1049, + 1057, 1051, 1458, 1039, 1059, 1053, 1460, 1462, 1053, 1055, + 1041, 1464, 1055, 1061, 1043, 1057, 1045, 1063, 1057, 1059, + 1047, 1065, 1059, 1067, 1049, 1466, 1051, 1069, 1061, 1468, + 1470, 1061, 1063, 1053, 1071, 1063, 1065, 1055, 1067, 1065, + 1073, 1067, 1069, 1057, 1075, 1069, 1472, 1059, 1474, 1071, + 1077, 1476, 1071, 1478, 1079, 1073, 1061, 1480, 1073, 1075, + 1063, 1081, 1075, 1083, 1065, 1077, 1067, 1085, 1077, 1079, + + 1069, 1087, 1079, 1089, 1482, 1484, 1081, 1071, 1083, 1081, + 1091, 1083, 1085, 1073, 1093, 1085, 1087, 1075, 1089, 1087, + 1095, 1089, 1486, 1077, 1097, 1091, 1488, 1079, 1091, 1093, + 1099, 1502, 1093, 1526, 1081, 1095, 1083, 1101, 1095, 1097, + 1085, 1103, 1097, 1105, 1087, 1099, 1089, 1107, 1099, 1012, + 1010, 1109, 1101, 1091, 1008, 1101, 1103, 1093, 1105, 1103, + 1111, 1105, 1107, 1095, 1113, 1107, 1109, 1097, 1006, 1109, + 1115, 1004, 1002, 1099, 1117, 1111, 1000, 998, 1111, 1113, + 1101, 1119, 1113, 1121, 1103, 1115, 1105, 1123, 1115, 1117, + 1107, 1125, 1117, 1127, 1109, 996, 1119, 1129, 1121, 1119, + + 994, 1121, 1123, 1111, 1131, 1123, 1125, 1113, 1127, 1125, + 1133, 1127, 1129, 1115, 1135, 1129, 992, 1117, 990, 1131, + 1137, 988, 1131, 986, 1119, 1133, 1121, 1139, 1133, 1135, + 1123, 1141, 1135, 1143, 1125, 1137, 1127, 1145, 1137, 984, + 1129, 1147, 1139, 1149, 982, 1139, 1141, 1131, 1143, 1141, + 1151, 1143, 1145, 1133, 1153, 1145, 1147, 1135, 1149, 1147, + 1155, 1149, 980, 1137, 1157, 1151, 978, 976, 1151, 1153, + 1139, 974, 1153, 1159, 1141, 1155, 1143, 1161, 1155, 1157, + 1145, 1163, 1157, 1165, 1147, 972, 1149, 1167, 1159, 970, + 968, 1159, 1161, 1151, 1169, 1161, 1163, 1153, 1165, 1163, + + 1171, 1165, 1167, 1155, 1173, 1167, 966, 1157, 964, 1169, + 1175, 962, 1169, 960, 1177, 1171, 1159, 958, 1171, 1173, + 1161, 1179, 1173, 1181, 1163, 1175, 1165, 1183, 1175, 1177, + 1167, 1185, 1177, 1187, 956, 954, 1179, 1169, 1181, 1179, + 1189, 1181, 1183, 1171, 1191, 1183, 1185, 1173, 1187, 1185, + 1193, 1187, 952, 1175, 1195, 1189, 950, 1177, 1189, 1191, + 1197, 948, 1191, 946, 1179, 1193, 1181, 1199, 1193, 1195, + 1183, 1201, 1195, 1203, 1185, 1197, 1187, 1205, 1197, 944, + 942, 1207, 1199, 1189, 940, 1199, 1201, 1191, 1203, 1201, + 1209, 1203, 1205, 1193, 1211, 1205, 1207, 1195, 938, 1207, + + 1213, 936, 934, 1197, 1215, 1209, 932, 930, 1209, 1211, + 1199, 1217, 1211, 1219, 1201, 1213, 1203, 1221, 1213, 1215, + 1205, 1223, 1215, 1225, 1207, 928, 1217, 1227, 1219, 1217, + 926, 1219, 1221, 1209, 1229, 1221, 1223, 1211, 1225, 1223, + 1231, 1225, 1227, 1213, 1233, 1227, 924, 1215, 922, 1229, + 1235, 920, 1229, 918, 1217, 1231, 1219, 1237, 1231, 1233, + 1221, 1239, 1233, 1241, 1223, 1235, 1225, 1243, 1235, 916, + 1227, 1245, 1237, 1247, 914, 1237, 1239, 1229, 1241, 1239, + 1249, 1241, 1243, 1231, 1251, 1243, 1245, 1233, 1247, 1245, + 1253, 1247, 912, 1235, 1255, 1249, 910, 908, 1249, 1251, + + 1237, 906, 1251, 1257, 1239, 1253, 1241, 1259, 1253, 1255, + 1243, 1261, 1255, 1263, 1245, 904, 1247, 1265, 1257, 902, + 900, 1257, 1259, 1249, 1267, 1259, 1261, 1251, 1263, 1261, + 1269, 1263, 1265, 1253, 1271, 1265, 898, 1255, 896, 1267, + 1273, 894, 1267, 892, 1275, 1269, 1257, 890, 1269, 1271, + 1259, 1277, 1271, 1279, 1261, 1273, 1263, 1281, 1273, 1275, + 1265, 1283, 1275, 1285, 888, 886, 1277, 1267, 1279, 1277, + 1287, 1279, 1281, 1269, 1289, 1281, 1283, 1271, 1285, 1283, + 1291, 1285, 884, 1273, 1293, 1287, 882, 1275, 1287, 1289, + 1295, 880, 1289, 878, 1277, 1291, 1279, 1297, 1291, 1293, + + 1281, 1299, 1293, 1301, 1283, 1295, 1285, 1303, 1295, 876, + 874, 1305, 1297, 1287, 872, 1297, 1299, 1289, 1301, 1299, + 1307, 1301, 1303, 1291, 1309, 1303, 1305, 1293, 870, 1305, + 1311, 868, 866, 1295, 1313, 1307, 864, 862, 1307, 1309, + 1297, 1315, 1309, 1317, 1299, 1311, 1301, 1319, 1311, 1313, + 1303, 1321, 1313, 1323, 1305, 860, 1315, 1325, 1317, 1315, + 858, 1317, 1319, 1307, 1327, 1319, 1321, 1309, 1323, 1321, + 1329, 1323, 1325, 1311, 1331, 1325, 856, 1313, 854, 1327, + 1333, 852, 1327, 850, 1315, 1329, 1317, 1335, 1329, 1331, + 1319, 1337, 1331, 1339, 1321, 1333, 1323, 1341, 1333, 848, + + 1325, 1343, 1335, 1345, 846, 1335, 1337, 1327, 1339, 1337, + 1347, 1339, 1341, 1329, 1349, 1341, 1343, 1331, 1345, 1343, + 1351, 1345, 844, 1333, 1353, 1347, 842, 840, 1347, 1349, + 1335, 838, 1349, 1355, 1337, 1351, 1339, 1357, 1351, 1353, + 1341, 1359, 1353, 1361, 1343, 836, 1345, 1363, 1355, 834, + 832, 1355, 1357, 1347, 1365, 1357, 1359, 1349, 1361, 1359, + 1367, 1361, 1363, 1351, 1369, 1363, 830, 1353, 828, 1365, + 1371, 826, 1365, 824, 1373, 1367, 1355, 822, 1367, 1369, + 1357, 1375, 1369, 1377, 1359, 1371, 1361, 1379, 1371, 1373, + 1363, 1381, 1373, 1383, 820, 818, 1375, 1365, 1377, 1375, + + 1385, 1377, 1379, 1367, 1387, 1379, 1381, 1369, 1383, 1381, + 1389, 1383, 816, 1371, 1391, 1385, 814, 1373, 1385, 1387, + 1393, 812, 1387, 810, 1375, 1389, 1377, 1395, 1389, 1391, + 1379, 1397, 1391, 1399, 1381, 1393, 1383, 1401, 1393, 808, + 806, 1403, 1395, 1385, 804, 1395, 1397, 1387, 1399, 1397, + 1405, 1399, 1401, 1389, 1407, 1401, 1403, 1391, 802, 1403, + 1409, 800, 798, 1393, 1411, 1405, 796, 794, 1405, 1407, + 1395, 1413, 1407, 1415, 1397, 1409, 1399, 1417, 1409, 1411, + 1401, 1419, 1411, 1421, 1403, 792, 1413, 1423, 1415, 1413, + 790, 1415, 1417, 1405, 1425, 1417, 1419, 1407, 1421, 1419, + + 1427, 1421, 1423, 1409, 1429, 1423, 788, 1411, 786, 1425, + 1431, 784, 1425, 782, 1413, 1427, 1415, 1433, 1427, 1429, + 1417, 1435, 1429, 1437, 1419, 1431, 1421, 1439, 1431, 780, + 1423, 1441, 1433, 1443, 778, 1433, 1435, 1425, 1437, 1435, + 1445, 1437, 1439, 1427, 1447, 1439, 1441, 1429, 1443, 1441, + 1449, 1443, 776, 1431, 1451, 1445, 774, 772, 1445, 1447, + 1433, 770, 1447, 1453, 1435, 1449, 1437, 1455, 1449, 1451, + 1439, 1457, 1451, 1459, 1441, 768, 1443, 1461, 1453, 766, + 764, 1453, 1455, 1445, 1463, 1455, 1457, 1447, 1459, 1457, + 1465, 1459, 1461, 1449, 1467, 1461, 762, 1451, 760, 1463, + + 1469, 758, 1463, 756, 1471, 1465, 1453, 754, 1465, 1467, + 1455, 1473, 1467, 1475, 1457, 1469, 1459, 1477, 1469, 1471, + 1461, 1479, 1471, 1481, 752, 750, 1473, 1463, 1475, 1473, + 1483, 1475, 1477, 1465, 1485, 1477, 1479, 1467, 1481, 1479, + 1487, 1481, 748, 1469, 1489, 1483, 746, 1471, 1483, 1485, + 1491, 744, 1485, 742, 1473, 1487, 1475, 740, 1487, 1489, + 1477, 738, 1489, 736, 1479, 1491, 1481, 734, 1491, 731, + 730, 728, 726, 1483, 725, 723, 722, 1485, 721, 720, + 718, 717, 716, 1487, 715, 712, 708, 1489, 705, 703, + 701, 700, 699, 1491, 1493, 1493, 1493, 1493, 1493, 1493, + + 1493, 1493, 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1494, + 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1495, 1495, + 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, + 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, + 1496, 1496, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, + 1497, 1497, 1497, 1497, 1498, 1498, 1498, 1498, 1498, 1498, + 1498, 1498, 1498, 1498, 1498, 1498, 1499, 1499, 1499, 1499, + 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1500, 1500, + 1500, 1500, 1500, 1500, 1500, 1500, 697, 1500, 1500, 1500, + 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, + + 1501, 1501, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, + 1503, 1503, 1503, 1503, 1504, 696, 695, 1504, 1505, 1505, + 1505, 693, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, + 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, + 690, 1506, 1507, 688, 686, 685, 1507, 1507, 684, 1507, + 1508, 683, 682, 1508, 1509, 681, 679, 1509, 1510, 1510, + 1510, 1510, 678, 1510, 1510, 1510, 1510, 1510, 1510, 1510, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, - 1512, 1512, 1512, 1513, 1513, 1513, 1513, 1513, 1513, 1513, - 1513, 1513, 1513, 1513, 1514, 1514, 1514, 1514, 1514, 1514, - 1514, 1514, 1514, 1514, 1514, 1515, 1515, 1515, 1515, 1515, - 1515, 1515, 1515, 1515, 1515, 1515, 1516, 1516, 1516, 1516, - - 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1517, 1517, 1517, - 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1518, 1518, - 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1519, - 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, + 1512, 1512, 1512, 1512, 1513, 1513, 1513, 1513, 1513, 1513, + + 1513, 1513, 1513, 676, 1513, 1514, 671, 670, 1514, 1515, + 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 669, 1515, + 1516, 1516, 667, 666, 1516, 1517, 1517, 1517, 1517, 1517, + 1517, 1517, 1517, 1517, 663, 1517, 1518, 1518, 1518, 1518, + 1518, 1518, 1518, 1518, 1518, 662, 1518, 1519, 1519, 1519, + 1519, 1519, 1519, 1519, 1519, 1519, 661, 1519, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, - 1520, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, - 1521, 1521, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, - 1522, 1522, 1522, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1524, 1524, 1524, 1524, 1524, 1524, - 1524, 1524, 1524, 1524, 1524, 1525, 1525, 1525, 1525, 1525, - - 1525, 1525, 1525, 1525, 1525, 1525, 1526, 1526, 1526, 1526, - 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1528, 1528, - 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1529, - 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, + 1521, 659, 658, 657, 656, 655, 652, 650, 1521, 1522, + 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 649, 1522, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + + 1523, 1523, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, + 1524, 1524, 1524, 1524, 1525, 648, 647, 646, 1525, 645, + 644, 1525, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1528, 1528, 1528, 1528, 1528, 1528, + 1528, 1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1529, + 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, - 1530, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, + 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, - 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 1533, 1533, - 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534, 1534, 1534, - - 1534, 1534, 1534, 1534, 1534, 1535, 1535, 1535, 1535, 1535, - 1535, 1535, 1535, 1535, 1535, 1535, 1536, 1536, 1536, 1536, - 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1537, 1537, 1537, - 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1538, 1538, - 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1539, - 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, + 1532, 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 1533, + + 1533, 1533, 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534, + 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535, + 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, + 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, + 1536, 1536, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1538, 1538, 1538, 1538, 1538, 1538, + 1538, 1538, 1538, 1538, 1538, 1538, 1539, 1539, 1539, 1539, + 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, + 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, + 1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542, - 1542, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1543, 1543, - - 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1544, 1544, - 1544, 1544, 1544, 1544, 1544, 1545, 1545, 1545, 1545, 1545, - 1545, 1545, 1545, 1545, 1545, 1545, 1546, 1546, 1546, 1546, - 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1547, 1547, 1547, - 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1548, 1548, - 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, - 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, + 1542, 1542, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1543, + 1543, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, + 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545, + 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, + 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, + 1546, 1546, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, + 1547, 1547, 1547, 1547, 1548, 1548, 1548, 1548, 1548, 1548, + 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549, + 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 1550, + 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, - 1550, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552, - - 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1553, 1553, 1553, - 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, 1554, 1554, - 1554, 1554, 1554, 1554, 1554, 1555, 1555, 1555, 1555, 1555, - 1555, 1555, 1555, 1555, 1555, 1555, 1556, 1556, 1556, 1556, - 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1557, 1557, 1557, - 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1558, - 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1559, - 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, + 1552, 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1553, 1553, + 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554, + 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555, + 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, + 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, + 1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, + 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1558, 1558, 1558, + + 1558, 1558, 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1559, + 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, - 1560, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, - + 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, - 1562, 1562, 1562, 1563, 1563, 1563, 1563, 1563, 1563, 1563, - 1563, 1563, 1563, 1563, 1564, 1564, 1564, 1564, 1564, 1564, - 1564, 1564, 1564, 1564, 1564, 1565, 1565, 1565, 1565, 1565, - 1565, 1565, 1565, 1565, 1565, 1565, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1567, 1567, 1567, - 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1568, 1568, - 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1569, - 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, + 1562, 1562, 1562, 1562, 1563, 1563, 1563, 1563, 1563, 1563, + 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1564, 1564, 1564, + 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1565, 1565, + 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, + 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, + + 1566, 1566, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567, + 1567, 1567, 1567, 1567, 1568, 1568, 1568, 1568, 1568, 1568, + 1568, 1568, 1568, 1568, 1568, 1568, 1569, 1569, 1569, 1569, + 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, - - 1570, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, + 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572, - 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1573, 1573, - 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1575, 1575, 1575, 1575, 1575, - 1575, 1575, 1575, 1575, 1575, 1575, 1576, 1576, 1576, 1576, - 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1577, 1577, 1577, - 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1578, 1578, - 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1579, - 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, - + 1572, 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1573, + 1573, 1573, 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574, + 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 1575, + + 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, + 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, + 1576, 1576, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, + 1577, 1577, 1577, 1577, 1578, 1578, 1578, 1578, 1578, 1578, + 1578, 1578, 1578, 1578, 1578, 1578, 1579, 1579, 1579, 1579, + 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, - 1580, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, + 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583, 1583, - 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, 1584, 1584, - 1584, 1584, 1584, 1584, 1584, 1585, 1585, 1585, 1585, 1585, - 1585, 1585, 1585, 1585, 1585, 1585, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1587, - 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1588, 1588, - 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1588, 1589, - - 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, + 1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583, + + 1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584, + 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1585, 1585, + 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, + 1587, 1587, 1587, 1587, 1588, 1588, 1588, 1588, 1588, 1588, + 1588, 1588, 1588, 1588, 1588, 1588, 1589, 1589, 1589, 1589, + 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, - 1590, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, + 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, + 1591, 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, - 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, 1593, - 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594, 1594, 1594, - 1594, 1594, 1594, 1594, 1594, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1596, 1596, 1596, 1596, - 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1597, 1597, 1597, - 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, 1598, - - 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1599, - 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, + 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593, + 1593, 1593, 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594, + 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595, + 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, + 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, + 1596, 1596, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, + 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598, + 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599, + 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, - 1600, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, + 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602, - 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603, 1603, - 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604, 1604, 1604, - 1604, 1604, 1604, 1604, 1604, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1606, 1606, 1606, 1606, - 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1607, 1607, 1607, - - 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1608, 1608, - 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1608, 1609, - 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, + 1602, 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603, + 1603, 1603, 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604, + 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, + 1606, 1606, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, + 1607, 1607, 1607, 1607, 1608, 1608, 1608, 1608, 1608, 1608, + + 1608, 1608, 1608, 1608, 1608, 1608, 1609, 1609, 1609, 1609, + 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, - 1610, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, + 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612, - 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613, 1613, - 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614, 1614, 1614, - 1614, 1614, 1614, 1614, 1614, 1615, 1615, 1615, 1615, 1615, - 1615, 1615, 1615, 1615, 1615, 1615, 1616, 1616, 1616, 1616, - - 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1617, 1617, 1617, - 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1618, 1618, - 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1618, 1619, - 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, + 1612, 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613, + 1613, 1613, 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614, + 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1615, 1615, + 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + + 1616, 1616, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617, + 1617, 1617, 1617, 1617, 1618, 1618, 1618, 1618, 1618, 1618, + 1618, 1618, 1618, 1618, 1618, 1618, 1619, 1619, 1619, 1619, + 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, - 1620, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, + 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622, - 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1623, 1623, 1623, - 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624, 1624, 1624, - 1624, 1624, 1624, 1624, 1624, 1625, 1625, 1625, 1625, 1625, - - 1625, 1625, 1625, 1625, 1625, 1625, 1626, 1626, 1626, 1626, - 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1627, 1627, 1627, - 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1629, - 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, + 1622, 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1623, 1623, + 1623, 1623, 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624, + 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1625, 1625, + + 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, + 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, + 1626, 1626, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, + 1627, 1627, 1627, 1627, 1628, 1628, 1628, 1628, 1628, 1628, + 1628, 1628, 1628, 1628, 1628, 1628, 1629, 1629, 1629, 1629, + 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, - 1630, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, + 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632, - 1632, 1632, 1632, 1633, 1633, 1633, 1633, 1633, 1633, 1633, - 1633, 1633, 1633, 1633, 1634, 1634, 1634, 1634, 1634, 1634, - - 1634, 1634, 1634, 1634, 1634, 1635, 1635, 1635, 1635, 1635, - 1635, 1635, 1635, 1635, 1635, 1635, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1637, 1637, 1637, - 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1638, 1638, - 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1638, 1639, - 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, + 1632, 1632, 1632, 1632, 1633, 1633, 1633, 1633, 1633, 1633, + + 1633, 1633, 1633, 1633, 1633, 1633, 1634, 1634, 1634, 1634, + 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1635, 1635, + 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, + 1637, 1637, 1637, 1637, 1638, 1638, 1638, 1638, 1638, 1638, + 1638, 1638, 1638, 1638, 1638, 1638, 1639, 1639, 1639, 1639, + 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, - 1640, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, + 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, + 1641, 1641, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, - 1642, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643, 1643, - - 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644, 1644, 1644, - 1644, 1644, 1644, 1644, 1644, 1645, 1645, 1645, 1645, 1645, - 1645, 1645, 1645, 1645, 1645, 1645, 1646, 1646, 1646, 1646, - 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1647, 1647, 1647, - 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1648, 1648, - 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1649, - 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, + 1642, 1642, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643, + 1643, 1643, 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644, + 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1645, 1645, + 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, + 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, + 1646, 1646, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, + 1647, 1647, 1647, 1647, 1648, 1648, 1648, 1648, 1648, 1648, + 1648, 1648, 1648, 1648, 1648, 1648, 1649, 1649, 1649, 1649, + 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1650, 1650, + 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, - 1650, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, + 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652, - - 1652, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1653, 1653, - 1653, 1653, 1653, 1653, 1654, 1654, 1654, 1654, 1654, 1654, - 1654, 1654, 1654, 1654, 1654, 1655, 1655, 1655, 1655, 1655, - 1655, 1655, 1655, 1655, 1655, 1655, 1656, 1656, 1656, 1656, - 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1657, 1657, 1657, - 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1658, 1658, - 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1659, - 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, + 1652, 1652, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1653, + 1653, 1653, 1653, 1653, 1653, 1653, 1654, 1654, 1654, 1654, + 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1655, 1655, + 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, + 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, + 1656, 1656, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657, + 1657, 1657, 1657, 1657, 1658, 1658, 1658, 1658, 1658, 1658, + + 1658, 1658, 1658, 1658, 1658, 1658, 1659, 1659, 1659, 1659, + 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, - 1660, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662, - 1662, 1662, 1662, 1663, 1663, 1663, 1663, 1663, 1663, 1663, - 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664, 1664, 1664, - 1664, 1664, 1664, 1664, 1664, 1665, 1665, 1665, 1665, 1665, - 1665, 1665, 1665, 1665, 1665, 1665, 1666, 1666, 1666, 1666, - 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1667, 1667, 1667, - 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1668, 1668, - 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, + 1662, 1662, 1662, 1662, 1663, 1663, 1663, 1663, 1663, 1663, + 1663, 1663, 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664, + 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1665, 1665, + 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, + 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, + + 1666, 1666, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, + 1667, 1667, 1667, 1667, 1668, 1668, 1668, 1668, 1668, 1668, + 1668, 1668, 1668, 1668, 1668, 1668, 1669, 1669, 1669, 1669, + 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, - - 1670, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, + 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, - 1672, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1674, 1674, 1674, 1674, 1674, 1674, - 1674, 1674, 1674, 1674, 1674, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1676, 1676, 1676, 1676, - 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1677, 1677, 1677, - 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1678, - 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1679, - 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, - + 1672, 1672, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673, + 1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674, 1674, 1674, + 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1675, 1675, + + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, + 1676, 1676, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677, + 1677, 1677, 1677, 1677, 1678, 1678, 1678, 1678, 1678, 1678, + 1678, 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1679, 1679, + 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, - 1680, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, + 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682, - 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683, 1683, - 1683, 1683, 1683, 1683, 1684, 1684, 1684, 1684, 1684, 1684, - 1684, 1684, 1684, 1684, 1684, 1685, 1685, 1685, 1685, 1685, - 1685, 1685, 1685, 1685, 1685, 1685, 1686, 1686, 1686, 1686, - 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1687, 1687, 1687, - 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1688, 1688, - 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1688, 1689, - - 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, + 1682, 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683, + + 1683, 1683, 1683, 1683, 1683, 1683, 1684, 1684, 1684, 1684, + 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1685, 1685, + 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, + 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, + 1686, 1686, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687, + 1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688, 1688, + 1688, 1688, 1688, 1688, 1688, 1688, 1689, 1689, 1689, 1689, + 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, - 1690, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, + 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, + 1691, 1691, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692, - 1692, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693, 1693, - 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694, 1694, 1694, - 1694, 1694, 1694, 1694, 1694, 1695, 1695, 1695, 1695, 1695, - 1695, 1695, 1695, 1695, 1695, 1695, 1696, 1696, 1696, 1696, - 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1697, 1697, 1697, - 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1698, 1698, - - 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1698, 1699, - 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, + 1692, 1692, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693, + 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694, + 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1695, 1695, + 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, + 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, + 1696, 1696, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697, + 1697, 1697, 1697, 1697, 1698, 1698, 1698, 1698, 1698, 1698, + 1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699, + 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1700, 1700, + 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, + 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, - 1702, 1702, 1702, 1703, 1703, 1703, 1703, 1703, 1703, 1703, - 1703, 1703, 1703, 1703, 1704, 1704, 1704, 1704, 1704, 1704, - 1704, 1704, 1704, 1704, 1704, 1705, 1705, 1705, 1705, 1705, - 1705, 1705, 1705, 1705, 1705, 1705, 1706, 1706, 1706, 1706, - 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1707, 1707, 1707, - - 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1708, 1708, - 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1709, - 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, + 1702, 1702, 1702, 1702, 1703, 1703, 1703, 1703, 1703, 1703, + 1703, 1703, 1703, 1703, 1703, 1703, 1704, 1704, 1704, 1704, + 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1705, 1705, + 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, + 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, + 1706, 1706, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, + 1707, 1707, 1707, 1707, 1708, 1708, 1708, 1708, 1708, 1708, + + 1708, 1708, 1708, 1708, 1708, 1708, 1709, 1709, 1709, 1709, + 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, - 1710, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, + 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, - 1712, 1712, 1712, 1713, 1713, 1713, 1713, 1713, 1713, 1713, - 1713, 1713, 1713, 1713, 1714, 1714, 1714, 1714, 1714, 1714, - 1714, 1714, 1714, 1714, 1714, 1715, 1715, 1715, 1715, 1715, - 1715, 1715, 1715, 1715, 1715, 1715, 1716, 1716, 1716, 1716, - - 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1717, 1717, 1717, - 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1718, 1718, - 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1719, - 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, + 1712, 1712, 1712, 1712, 1713, 1713, 1713, 1713, 1713, 1713, + 1713, 1713, 1713, 1713, 1713, 1713, 1714, 1714, 1714, 1714, + 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1715, 1715, + 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, + 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, + + 1716, 1716, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, + 1717, 1717, 1717, 1717, 1718, 1718, 1718, 1718, 1718, 1718, + 1718, 1718, 1718, 1718, 1718, 1718, 1719, 1719, 1719, 1719, + 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, - 1720, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, + 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, - 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723, 1723, - 1723, 1723, 1723, 1723, 1724, 1724, 1724, 1724, 1724, 1724, - 1724, 1724, 1724, 1724, 1724, 1725, 1725, 1725, 1725, 1725, - - 1725, 1725, 1725, 1725, 1725, 1725, 1726, 1726, 1726, 1726, - 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1727, 1727, 1727, - 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1728, 1728, - 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1729, - 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, + 1722, 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723, + 1723, 1723, 1723, 1723, 1723, 1723, 1724, 1724, 1724, 1724, + 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1725, 1725, + + 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, + 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, + 1726, 1726, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, + 1727, 1727, 1727, 1727, 1728, 1728, 1728, 1728, 1728, 1728, + 1728, 1728, 1728, 1728, 1728, 1728, 1729, 1729, 1729, 1729, + 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, - 1730, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, + 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, - 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733, 1733, - 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734, 1734, - - 1734, 1734, 1734, 1734, 1734, 1735, 1735, 1735, 1735, 1735, - 1735, 1735, 1735, 1735, 1735, 1735, 1736, 1736, 1736, 1736, - 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737, - 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1738, 1738, - 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1738, 1739, - 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, + 1732, 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733, + + 1733, 1733, 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734, + 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1735, 1735, + 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, + 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, + 1736, 1736, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, + 1737, 1737, 1737, 1737, 1738, 1738, 1738, 1738, 1738, 1738, + 1738, 1738, 1738, 1738, 1738, 1738, 1739, 1739, 1739, 1739, + 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, - 1740, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, + 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, + 1741, 1741, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, - 1742, 1742, 1742, 1743, 1743, 1743, 1743, 1743, 1743, 1743, - - 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744, 1744, 1744, - 1744, 1744, 1744, 1744, 1744, 1745, 1745, 1745, 1745, 1745, - 1745, 1745, 1745, 1745, 1745, 1745, 1746, 1746, 1746, 1746, - 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1747, 1747, 1747, - 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1748, 1748, - 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1748, 1749, - 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, + 1742, 1742, 1742, 1742, 1743, 1743, 1743, 1743, 1743, 1743, + 1743, 1743, 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744, + 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1745, 1745, + 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, + 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, + 1746, 1746, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, + 1747, 1747, 1747, 1747, 1748, 1748, 1748, 1748, 1748, 1748, + 1748, 1748, 1748, 1748, 1748, 1748, 1749, 1749, 1749, 1749, + 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1750, + 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, - 1750, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, + 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752, - - 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753, 1753, - 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754, 1754, 1754, - 1754, 1754, 1754, 1754, 1754, 1755, 1755, 1755, 1755, 1755, - 1755, 1755, 1755, 1755, 1755, 1755, 1756, 1756, 1756, 1756, - 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1757, 1757, 1757, - 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1758, 1758, - 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1759, - 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, + 1752, 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753, + 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754, + 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1755, 1755, + 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, + 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, + 1756, 1756, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, + 1757, 1757, 1757, 1757, 1758, 1758, 1758, 1758, 1758, 1758, + + 1758, 1758, 1758, 1758, 1758, 1758, 1759, 1759, 1759, 1759, + 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, - 1760, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, - + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, - 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, 1763, 1763, - 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764, 1764, 1764, - 1764, 1764, 1764, 1764, 1764, 1765, 1765, 1765, 1765, 1765, - 1765, 1765, 1765, 1765, 1765, 1765, 1766, 1766, 1766, 1766, - 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1767, 1767, 1767, - 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1768, 1768, - 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1769, - 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, + 1762, 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, 1763, + 1763, 1763, 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764, + 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765, 1765, + 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, + 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, + + 1766, 1766, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + 1767, 1767, 1767, 1767, 1768, 1768, 1768, 1768, 1768, 1768, + 1768, 1768, 1768, 1768, 1768, 1768, 1769, 1769, 1769, 1769, + 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, - - 1770, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, + 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772, - 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773, 1773, - 1773, 1773, 1773, 1773, 1774, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1774, 1774, 1774, 1775, 1775, 1775, 1775, 1775, - 1775, 1775, 1775, 1775, 1775, 1775, 1776, 1776, 1776, 1776, - 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1777, 1777, 1777, - 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1778, 1778, - 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1779, - 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, - + 1772, 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773, + 1773, 1773, 1773, 1773, 1773, 1773, 1774, 1774, 1774, 1774, + 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1775, + + 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, + 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, + 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1778, 1778, 1778, 1778, 1778, 1778, + 1778, 1778, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, - 1780, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, + 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, - 1782, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783, 1783, - 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, 1784, 1784, - 1784, 1784, 1784, 1784, 1784, 1785, 1785, 1785, 1785, 1785, - 1785, 1785, 1785, 1785, 1785, 1785, 1786, 1786, 1786, 1786, - 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1787, 1787, 1787, - 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1788, 1788, - 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1789, - - 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, + 1782, 1782, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783, + + 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784, + 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1785, 1785, + 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, + 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, + 1786, 1786, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, + 1787, 1787, 1787, 1787, 1788, 1788, 1788, 1788, 1788, 1788, + 1788, 1788, 1788, 1788, 1788, 1788, 1789, 1789, 1789, 1789, + 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, - 1790, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, + 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, + 1791, 1791, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, - 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793, 1793, - 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794, 1794, 1794, - 1794, 1794, 1794, 1794, 1794, 1795, 1795, 1795, 1795, 1795, - 1795, 1795, 1795, 1795, 1795, 1795, 1796, 1796, 1796, 1796, - 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1797, 1797, 1797, - 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1798, 1798, - - 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1799, - 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, + 1792, 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793, + 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794, + 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1795, 1795, + 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, + 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, + 1796, 1796, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, + 1797, 1797, 1797, 1797, 1798, 1798, 1798, 1798, 1798, 1798, + 1798, 1798, 1798, 1798, 1798, 1798, 1799, 1799, 1799, 1799, + 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1800, 1800, + 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, - 1800, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, + 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802, - 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1803, 1803, - 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, 1804, 1804, - 1804, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1805, - 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806, 1806, 1806, - 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1807, 1807, 1807, - - 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1808, 1808, - 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1809, - 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, + 1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1803, + 1803, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804, + 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1805, 1805, + 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, + 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, + 1806, 1806, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, + 1807, 1807, 1807, 1807, 1808, 1808, 1808, 1808, 1808, 1808, + + 1808, 1808, 1808, 1808, 1808, 1808, 1809, 1809, 1809, 1809, + 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, - 1810, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, + 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, - 1812, 1812, 1812, 1813, 1813, 1813, 1813, 1813, 1813, 1813, - 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814, 1814, 1814, - 1814, 1814, 1814, 1814, 1814, 1815, 1815, 1815, 1815, 1815, - 1815, 1815, 1815, 1815, 1815, 1815, 1816, 1816, 1816, 1816, - - 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1817, 1817, 1817, - 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818, - 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1819, - 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, + 1812, 1812, 1812, 1812, 1813, 1813, 1813, 1813, 1813, 1813, + 1813, 1813, 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814, + 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1815, + 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, + 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, + + 1816, 1816, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, + 1817, 1817, 1817, 1817, 1818, 1818, 1818, 1818, 1818, 1818, + 1818, 1818, 1818, 1818, 1818, 1818, 1819, 1819, 1819, 1819, + 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, - 1820, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, + 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, - 1822, 1822, 1822, 1823, 1823, 1823, 1823, 1823, 1823, 1823, - 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824, 1824, 1824, - 1824, 1824, 1824, 1824, 1824, 1825, 1825, 1825, 1825, 1825, - - 1825, 1825, 1825, 1825, 1825, 1825, 1826, 1826, 1826, 1826, - 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1827, 1827, 1827, - 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1828, 1828, - 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1829, - 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, + 1822, 1822, 1822, 1822, 1823, 1823, 1823, 1823, 1823, 1823, + 1823, 1823, 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824, + 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 1825, + + 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, + 1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827, + 1827, 1827, 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828, + 1828, 1828, 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829, + 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, - 1830, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, + 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832, - 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833, 1833, - 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834, 1834, 1834, - - 1834, 1834, 1834, 1834, 1834, 1835, 1835, 1835, 1835, 1835, - 1835, 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, - 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1837, 1837, 1837, - 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1838, 1838, - 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1839, - 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, + 1832, 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833, + + 1833, 1833, 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834, + 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1835, 1835, + 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, + 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, + 1836, 1836, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837, + 1837, 1837, 1837, 1837, 1838, 1838, 1838, 1838, 1838, 1838, + 1838, 1838, 1838, 1838, 1838, 1838, 1839, 1839, 1839, 1839, + 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, - 1840, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, - 1841, 1841, 450, 449, 448, 447, 446, 445, 444, 442, - 441, 440, 438, 437, 435, 434, 433, 432, 425, 424, - - 423, 422, 421, 420, 419, 417, 415, 414, 413, 411, - 410, 407, 406, 404, 403, 402, 399, 396, 395, 394, - 393, 392, 391, 390, 389, 388, 387, 386, 384, 383, - 382, 381, 380, 379, 378, 377, 376, 375, 372, 371, - 370, 369, 368, 367, 366, 364, 363, 362, 361, 360, - 359, 358, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 346, 345, 343, 342, 341, 340, 338, 337, 336, - 335, 334, 333, 332, 330, 325, 322, 320, 319, 318, - 317, 316, 315, 314, 311, 310, 309, 308, 307, 306, - 305, 304, 303, 302, 301, 300, 299, 297, 296, 295, - - 293, 292, 290, 289, 288, 287, 286, 285, 284, 282, - 281, 280, 279, 277, 276, 271, 270, 264, 263, 262, - 261, 260, 259, 258, 257, 256, 255, 254, 250, 249, - 246, 234, 229, 226, 225, 223, 208, 207, 206, 205, - 204, 203, 202, 201, 200, 198, 195, 194, 193, 191, - 189, 188, 187, 186, 184, 183, 182, 181, 180, 178, - 176, 173, 172, 168, 167, 166, 161, 158, 154, 146, - 137, 136, 135, 134, 133, 132, 131, 129, 127, 116, - 114, 112, 111, 109, 108, 106, 105, 102, 101, 89, - 86, 85, 84, 78, 71, 70, 69, 65, 63, 62, - - 61, 58, 50, 49, 48, 44, 37, 28, 24, 23, - 20, 19, 18, 17, 2, 1, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, - 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421 + 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, + + 1841, 1841, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, + 1842, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1843, 1843, + 1843, 1843, 1843, 1843, 1843, 1843, 1844, 1844, 1844, 1844, + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1845, 1845, + 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, + 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, + 1846, 1846, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, + 1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, 1848, 1848, + 1848, 1848, 1848, 1848, 1848, 1848, 1849, 1849, 1849, 1849, + 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1850, 1850, + + 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, + 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, + 1851, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852, + 1852, 1852, 1852, 1852, 1853, 1853, 1853, 1853, 1853, 1853, + 1853, 1853, 1853, 1853, 1853, 1853, 1854, 1854, 1854, 1854, + 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1855, 1855, + 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, + 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, + 1856, 1856, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, + 1857, 1857, 1857, 1857, 1858, 1858, 1858, 1858, 1858, 1858, + + 1858, 1858, 1858, 1858, 1858, 1858, 1859, 1859, 1859, 1859, + 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860, + 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, + 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, + 1861, 1861, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862, + 1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, 1863, + 1863, 1863, 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864, + 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1865, 1865, + 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, + 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, + + 1866, 1866, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, + 1867, 1867, 1867, 1867, 1868, 1868, 1868, 1868, 1868, 1868, + 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1869, 1869, 1869, + 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870, + 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, + 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 1871, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872, + 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, 1873, + 1873, 1873, 1873, 1873, 1873, 1873, 1874, 1874, 1874, 1874, + 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1875, 1875, + + 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, + 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, + 1876, 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, + 1877, 1877, 1877, 1877, 1878, 1878, 1878, 1878, 1878, 1878, + 1878, 1878, 1878, 1878, 1878, 1878, 1879, 1879, 1879, 1879, + 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1880, 1880, + 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, + 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, + 1881, 1881, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, + 1882, 1882, 1882, 1882, 1883, 1883, 1883, 1883, 1883, 1883, + + 1883, 1883, 1883, 1883, 1883, 1883, 1884, 1884, 1884, 1884, + 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1885, 1885, + 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, + 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, + 1886, 1886, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + 1887, 1887, 1887, 1887, 1888, 1888, 1888, 1888, 1888, 1888, + 1888, 1888, 1888, 1888, 1888, 1888, 1889, 1889, 1889, 1889, + 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1890, 1890, + 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, + 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, + + 1891, 1891, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892, + 1892, 1892, 1892, 1892, 1893, 1893, 1893, 1893, 1893, 1893, + 1893, 1893, 1893, 1893, 1893, 1893, 1894, 1894, 1894, 1894, + 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1895, 1895, + 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, + 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, + 1896, 1896, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1897, 1897, 1897, 1898, 1898, 1898, 1898, 1898, 1898, + 1898, 1898, 1898, 1898, 1898, 1898, 1899, 1899, 1899, 1899, + 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1900, 1900, + + 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, + 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, + 1901, 1901, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, + 1902, 1902, 1902, 1902, 1903, 1903, 1903, 1903, 1903, 1903, + 1903, 1903, 1903, 1903, 1903, 1903, 1904, 1904, 1904, 1904, + 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1905, 1905, + 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, + 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, + 1906, 1906, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, + 1907, 1907, 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908, + + 1908, 1908, 1908, 1908, 1908, 1908, 1909, 1909, 1909, 1909, + 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1910, 1910, + 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, + 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, + 1911, 1911, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, + 1912, 1912, 1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913, + 1913, 1913, 1913, 1913, 1913, 1913, 1914, 1914, 1914, 1914, + 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 1915, + 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, + 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, + + 1916, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, + 1918, 1918, 1918, 1918, 1918, 1918, 1919, 1919, 1919, 1919, + 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1920, 1920, + 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 641, 640, 639, 636, 634, 633, 631, 619, + 618, 617, 615, 614, 613, 612, 611, 608, 607, 606, + 605, 602, 601, 600, 599, 598, 597, 596, 595, 594, + 589, 588, 582, 578, 576, 575, 574, 573, 572, 571, + + 569, 568, 567, 566, 565, 564, 563, 561, 560, 559, + 558, 557, 556, 555, 554, 553, 552, 551, 549, 546, + 545, 544, 543, 540, 538, 537, 534, 527, 526, 525, + 524, 523, 522, 521, 518, 517, 516, 515, 514, 513, + 512, 510, 509, 508, 506, 505, 503, 502, 501, 500, + 493, 492, 491, 490, 489, 488, 487, 485, 483, 482, + 481, 479, 478, 475, 474, 472, 471, 470, 467, 456, + 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, + 444, 443, 442, 441, 440, 439, 438, 437, 436, 435, + 432, 431, 430, 429, 428, 427, 426, 424, 423, 422, + + 421, 420, 419, 418, 416, 415, 414, 413, 412, 411, + 410, 409, 408, 406, 405, 403, 402, 401, 400, 398, + 397, 396, 395, 394, 393, 392, 390, 367, 364, 361, + 359, 358, 357, 356, 355, 354, 353, 350, 349, 348, + 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, + 336, 335, 334, 332, 331, 329, 328, 327, 326, 325, + 324, 323, 321, 320, 319, 318, 316, 315, 310, 309, + 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, + 293, 287, 286, 283, 246, 237, 225, 220, 219, 218, + 217, 216, 215, 214, 213, 212, 210, 207, 206, 205, + + 203, 201, 200, 199, 198, 196, 195, 194, 193, 192, + 190, 188, 185, 184, 180, 179, 178, 173, 170, 166, + 158, 149, 148, 147, 146, 145, 144, 143, 141, 126, + 124, 122, 121, 119, 118, 116, 115, 112, 111, 100, + 91, 86, 82, 75, 74, 73, 69, 67, 66, 65, + 62, 54, 53, 52, 48, 41, 32, 28, 27, 24, + 23, 22, 21, 2, 1, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492 } ; static yy_state_type yy_last_accepting_state; @@ -2707,7 +3031,7 @@ char *yytext; +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.l,v 1.131.2.11.2.10 2007/04/22 21:33:10 tony2001 Exp $ */ +/* $Id: zend_language_scanner.l,v 1.131.2.11.2.12 2007/05/24 08:56:35 dmitry Exp $ */ #define yyleng SCNG(yy_leng) #define yytext SCNG(yy_text) @@ -2723,21 +3047,25 @@ char *yytext; #define ST_DOUBLE_QUOTES 2 -#define ST_SINGLE_QUOTE 3 +#define ST_BACKQUOTE 3 + +#define ST_HEREDOC 4 -#define ST_BACKQUOTE 4 +#define ST_START_HEREDOC 5 -#define ST_HEREDOC 5 +#define ST_END_HEREDOC 6 -#define ST_LOOKING_FOR_PROPERTY 6 +#define ST_LOOKING_FOR_PROPERTY 7 -#define ST_LOOKING_FOR_VARNAME 7 +#define ST_LOOKING_FOR_VARNAME 8 -#define ST_COMMENT 8 +#define ST_VAR_OFFSET 9 -#define ST_DOC_COMMENT 9 +#define ST_COMMENT 10 -#define ST_ONE_LINE_COMMENT 10 +#define ST_DOC_COMMENT 11 + +#define ST_ONE_LINE_COMMENT 12 #define YY_STACK_USED 1 @@ -2790,9 +3118,7 @@ do { \ char *p = (s), *boundary = p+(l); \ \ while (p<boundary) { \ - if (*p == '\n') { \ - CG(zend_lineno)++; \ - } else if ((*p == '\r') && (p+1 < boundary) && (*(p+1) != '\n')) { \ + if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \ CG(zend_lineno)++; \ } \ p++; \ @@ -3484,6 +3810,146 @@ ZEND_API int zend_multibyte_read_script(TSRMLS_D) zendlval->value.str.len = yyleng; #endif /* ZEND_MULTIBYTE */ +static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC) +{ + register char *s, *t; + char *end; + + ZVAL_STRINGL(zendlval, str, len, 1); + + /* convert escape sequences */ + s = t = zendlval->value.str.val; + end = s+zendlval->value.str.len; + while (s<end) { + if (*s=='\\') { + s++; + if (s>=end) { + continue; + } + switch(*s) { + case 'n': + *t++ = '\n'; + zendlval->value.str.len--; + break; + case 'r': + *t++ = '\r'; + zendlval->value.str.len--; + break; + case 't': + *t++ = '\t'; + zendlval->value.str.len--; + break; + case '"': + case '`': + if (*s != quote_type) { + *t++ = '\\'; + *t++ = *s; + break; + } + case '\\': + case '$': + *t++ = *s; + zendlval->value.str.len--; + break; + case 'x': + case 'X': + if (ZEND_IS_HEX(*(s+1))) { + char hex_buf[3] = { 0, 0, 0 }; + + zendlval->value.str.len--; /* for the 'x' */ + + hex_buf[0] = *(++s); + zendlval->value.str.len--; + if (ZEND_IS_HEX(*(s+1))) { + hex_buf[1] = *(++s); + zendlval->value.str.len--; + } + *t++ = (char) strtol(hex_buf, NULL, 16); + } else { + *t++ = '\\'; + *t++ = *s; + } + break; + default: + /* check for an octal */ + if (ZEND_IS_OCT(*s)) { + char octal_buf[4] = { 0, 0, 0, 0 }; + + octal_buf[0] = *s; + zendlval->value.str.len--; + if (ZEND_IS_OCT(*(s+1))) { + octal_buf[1] = *(++s); + zendlval->value.str.len--; + if (ZEND_IS_OCT(*(s+1))) { + octal_buf[2] = *(++s); + zendlval->value.str.len--; + } + } + *t++ = (char) strtol(octal_buf, NULL, 8); + } else { + *t++ = '\\'; + *t++ = *s; + } + break; + } + } else { + *t++ = *s; + } + + if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { + CG(zend_lineno)++; + } + s++; + } + *t = 0; + +#ifdef ZEND_MULTIBYTE + if (SCNG(output_filter)) { + s = zendlval->value.str.val; + SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC); + efree(s); + } +#endif /* ZEND_MULTIBYTE */ +} + +/* + * LITERAL_DOLLAR matches unescaped $ that aren't followed by a label character + * or a { and therefore will be taken literally. The case of literal $ before + * a variable or "${" is handled in a rule for each string type + */ +/* + * Usually, HEREDOC_NEWLINE will just function like a simple NEWLINE, but some + * special cases need to be handled. HEREDOC_CHARS doesn't allow a line to + * match when { or $, and/or \ is at the end. (("{"*|"$"*)"\\"?) handles that, + * along with cases where { or $, and/or \ is the ONLY thing on a line + * + * The other case is when a line contains a label, followed by ONLY + * { or $, and/or \ Handled by ({LABEL}";"?((("{"+|"$"+)"\\"?)|"\\")) + */ +/* + * This pattern is just used in the next 2 for matching { or literal $, and/or + * \ escape sequence immediately at the beginning of a line or after a label + */ +/* + * These 2 label-related patterns allow HEREDOC_CHARS to continue "regular" + * matching after a newline that starts with either a non-label character or a + * label that isn't followed by a newline. Like HEREDOC_CHARS, they won't match + * a variable or "{$" Matching a newline, and possibly label, up TO a variable + * or "{$", is handled in the heredoc rules + * + * The HEREDOC_LABEL_NO_NEWLINE pattern (";"[^$\n\r\\{]) handles cases where ; + * follows a label. [^a-zA-Z0-9_\x7f-\xff;$\n\r\\{] is needed to prevent a label + * character or ; from matching on a possible (real) ending label + */ +/* + * CHARS matches everything up to a variable or "{$" + * {'s are matched as long as they aren't followed by a $ + * The case of { before "{$" is handled in a rule for each string type + * + * For heredocs, matching continues across/after newlines if/when it's known + * that the next line doesn't contain a possible ending label + */ + /* Macros after this point can all be overridden by user definitions in * section 1. */ @@ -3659,9 +4125,6 @@ YY_MALLOC_DECL #endif #define YY_RULE_SETUP \ - if ( yyleng > 0 ) \ - yy_current_buffer->yy_at_bol = \ - (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION YY_DECL @@ -3718,7 +4181,6 @@ YY_DECL yy_bp = yy_cp; yy_current_state = yy_start; - yy_current_state += YY_AT_BOL(); yy_match: do { @@ -3731,13 +4193,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1422 ) + if ( yy_current_state >= 1493 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 7617 ); + while ( yy_base[yy_current_state] != 8966 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3983,388 +4445,394 @@ YY_RULE_SETUP case 37: YY_RULE_SETUP { + return T_OBJECT_OPERATOR; +} + YY_BREAK +case 38: +YY_RULE_SETUP +{ yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } YY_BREAK -case 38: +case 39: YY_RULE_SETUP { yyless(0); yy_pop_state(TSRMLS_C); } YY_BREAK -case 39: +case 40: YY_RULE_SETUP { return T_PAAMAYIM_NEKUDOTAYIM; } YY_BREAK -case 40: +case 41: YY_RULE_SETUP { return T_NEW; } YY_BREAK -case 41: +case 42: YY_RULE_SETUP { return T_CLONE; } YY_BREAK -case 42: +case 43: YY_RULE_SETUP { return T_VAR; } YY_BREAK -case 43: +case 44: YY_RULE_SETUP { return T_INT_CAST; } YY_BREAK -case 44: +case 45: YY_RULE_SETUP { return T_DOUBLE_CAST; } YY_BREAK -case 45: +case 46: YY_RULE_SETUP { return T_STRING_CAST; } YY_BREAK -case 46: +case 47: YY_RULE_SETUP { return T_STRING_CAST; } YY_BREAK -case 47: +case 48: YY_RULE_SETUP { return T_ARRAY_CAST; } YY_BREAK -case 48: +case 49: YY_RULE_SETUP { return T_OBJECT_CAST; } YY_BREAK -case 49: +case 50: YY_RULE_SETUP { return T_BOOL_CAST; } YY_BREAK -case 50: +case 51: YY_RULE_SETUP { return T_UNSET_CAST; } YY_BREAK -case 51: +case 52: YY_RULE_SETUP { return T_EVAL; } YY_BREAK -case 52: +case 53: YY_RULE_SETUP { return T_INCLUDE; } YY_BREAK -case 53: +case 54: YY_RULE_SETUP { return T_INCLUDE_ONCE; } YY_BREAK -case 54: +case 55: YY_RULE_SETUP { return T_REQUIRE; } YY_BREAK -case 55: +case 56: YY_RULE_SETUP { return T_REQUIRE_ONCE; } YY_BREAK -case 56: +case 57: YY_RULE_SETUP { return T_USE; } YY_BREAK -case 57: +case 58: YY_RULE_SETUP { return T_GLOBAL; } YY_BREAK -case 58: +case 59: YY_RULE_SETUP { return T_ISSET; } YY_BREAK -case 59: +case 60: YY_RULE_SETUP { return T_EMPTY; } YY_BREAK -case 60: +case 61: YY_RULE_SETUP { return T_HALT_COMPILER; } YY_BREAK -case 61: +case 62: YY_RULE_SETUP { return T_STATIC; } YY_BREAK -case 62: +case 63: YY_RULE_SETUP { return T_ABSTRACT; } YY_BREAK -case 63: +case 64: YY_RULE_SETUP { return T_FINAL; } YY_BREAK -case 64: +case 65: YY_RULE_SETUP { return T_PRIVATE; } YY_BREAK -case 65: +case 66: YY_RULE_SETUP { return T_PROTECTED; } YY_BREAK -case 66: +case 67: YY_RULE_SETUP { return T_PUBLIC; } YY_BREAK -case 67: +case 68: YY_RULE_SETUP { return T_UNSET; } YY_BREAK -case 68: +case 69: YY_RULE_SETUP { return T_DOUBLE_ARROW; } YY_BREAK -case 69: +case 70: YY_RULE_SETUP { return T_LIST; } YY_BREAK -case 70: +case 71: YY_RULE_SETUP { return T_ARRAY; } YY_BREAK -case 71: +case 72: YY_RULE_SETUP { return T_INC; } YY_BREAK -case 72: +case 73: YY_RULE_SETUP { return T_DEC; } YY_BREAK -case 73: +case 74: YY_RULE_SETUP { return T_IS_IDENTICAL; } YY_BREAK -case 74: +case 75: YY_RULE_SETUP { return T_IS_NOT_IDENTICAL; } YY_BREAK -case 75: +case 76: YY_RULE_SETUP { return T_IS_EQUAL; } YY_BREAK -case 76: +case 77: YY_RULE_SETUP { return T_IS_NOT_EQUAL; } YY_BREAK -case 77: +case 78: YY_RULE_SETUP { return T_IS_SMALLER_OR_EQUAL; } YY_BREAK -case 78: +case 79: YY_RULE_SETUP { return T_IS_GREATER_OR_EQUAL; } YY_BREAK -case 79: +case 80: YY_RULE_SETUP { return T_PLUS_EQUAL; } YY_BREAK -case 80: +case 81: YY_RULE_SETUP { return T_MINUS_EQUAL; } YY_BREAK -case 81: +case 82: YY_RULE_SETUP { return T_MUL_EQUAL; } YY_BREAK -case 82: +case 83: YY_RULE_SETUP { return T_DIV_EQUAL; } YY_BREAK -case 83: +case 84: YY_RULE_SETUP { return T_CONCAT_EQUAL; } YY_BREAK -case 84: +case 85: YY_RULE_SETUP { return T_MOD_EQUAL; } YY_BREAK -case 85: +case 86: YY_RULE_SETUP { return T_SL_EQUAL; } YY_BREAK -case 86: +case 87: YY_RULE_SETUP { return T_SR_EQUAL; } YY_BREAK -case 87: +case 88: YY_RULE_SETUP { return T_AND_EQUAL; } YY_BREAK -case 88: +case 89: YY_RULE_SETUP { return T_OR_EQUAL; } YY_BREAK -case 89: +case 90: YY_RULE_SETUP { return T_XOR_EQUAL; } YY_BREAK -case 90: +case 91: YY_RULE_SETUP { return T_BOOLEAN_OR; } YY_BREAK -case 91: +case 92: YY_RULE_SETUP { return T_BOOLEAN_AND; } YY_BREAK -case 92: +case 93: YY_RULE_SETUP { return T_LOGICAL_OR; } YY_BREAK -case 93: +case 94: YY_RULE_SETUP { return T_LOGICAL_AND; } YY_BREAK -case 94: +case 95: YY_RULE_SETUP { return T_LOGICAL_XOR; } YY_BREAK -case 95: +case 96: YY_RULE_SETUP { return T_SL; } YY_BREAK -case 96: +case 97: YY_RULE_SETUP { return T_SR; } YY_BREAK -case 97: +case 98: YY_RULE_SETUP { return yytext[0]; } YY_BREAK -case 98: +case 99: YY_RULE_SETUP { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } YY_BREAK -case 99: +case 100: YY_RULE_SETUP { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } YY_BREAK -case 100: +case 101: YY_RULE_SETUP { RESET_DOC_COMMENT(); @@ -4375,7 +4843,7 @@ YY_RULE_SETUP return '}'; } YY_BREAK -case 101: +case 102: YY_RULE_SETUP { zend_copy_value(zendlval, yytext, yyleng); @@ -4385,7 +4853,7 @@ YY_RULE_SETUP return T_STRING_VARNAME; } YY_BREAK -case 102: +case 103: YY_RULE_SETUP { yyless(0); @@ -4393,7 +4861,7 @@ YY_RULE_SETUP yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); } YY_BREAK -case 103: +case 104: YY_RULE_SETUP { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ @@ -4416,7 +4884,7 @@ YY_RULE_SETUP return T_LNUMBER; } YY_BREAK -case 104: +case 105: YY_RULE_SETUP { char *hex = yytext + 2; /* Skip "0x" */ @@ -4439,16 +4907,30 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 106: +YY_RULE_SETUP +{ /* Offset could be treated as a long */ + if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { + zendlval->value.lval = strtol(yytext, NULL, 10); + zendlval->type = IS_LONG; + } else { + zendlval->value.str.val = (char *)estrndup(yytext, yyleng); + zendlval->value.str.len = yyleng; + zendlval->type = IS_STRING; + } + return T_NUM_STRING; +} + YY_BREAK +case 107: YY_RULE_SETUP -{ /* treat numbers (almost) as strings inside encapsulated strings */ +{ /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } YY_BREAK -case 106: +case 108: YY_RULE_SETUP { zendlval->value.dval = zend_strtod(yytext, NULL); @@ -4456,7 +4938,7 @@ YY_RULE_SETUP return T_DNUMBER; } YY_BREAK -case 107: +case 109: YY_RULE_SETUP { char *class_name = NULL; @@ -4474,7 +4956,7 @@ YY_RULE_SETUP return T_CLASS_C; } YY_BREAK -case 108: +case 110: YY_RULE_SETUP { char *func_name = NULL; @@ -4492,7 +4974,7 @@ YY_RULE_SETUP return T_FUNC_C; } YY_BREAK -case 109: +case 111: YY_RULE_SETUP { char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; @@ -4515,7 +4997,7 @@ YY_RULE_SETUP return T_METHOD_C; } YY_BREAK -case 110: +case 112: YY_RULE_SETUP { zendlval->value.lval = CG(zend_lineno); @@ -4523,7 +5005,7 @@ YY_RULE_SETUP return T_LINE; } YY_BREAK -case 111: +case 113: YY_RULE_SETUP { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4537,7 +5019,7 @@ YY_RULE_SETUP return T_FILE; } YY_BREAK -case 112: +case 114: YY_RULE_SETUP { #ifdef ZEND_MULTIBYTE @@ -4560,7 +5042,7 @@ YY_RULE_SETUP return T_INLINE_HTML; } YY_BREAK -case 113: +case 115: YY_RULE_SETUP { HANDLE_NEWLINES(yytext, yyleng); @@ -4578,7 +5060,7 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 116: YY_RULE_SETUP { if ((yytext[1]=='%' && CG(asp_tags)) || (yytext[1]=='?' && CG(short_tags))) { @@ -4595,7 +5077,7 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 117: YY_RULE_SETUP { if (CG(asp_tags)) { @@ -4612,7 +5094,7 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 118: YY_RULE_SETUP { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -4623,7 +5105,7 @@ YY_RULE_SETUP return T_OPEN_TAG; } YY_BREAK -case 117: +case 119: YY_RULE_SETUP { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); @@ -4631,15 +5113,58 @@ YY_RULE_SETUP return T_VARIABLE; } YY_BREAK -case 118: + +/* Make sure a label character follows "->", otherwise there is no property + * and "->" will be taken literally + */ +case 120: YY_RULE_SETUP { - zend_copy_value(zendlval, yytext, yyleng); + yyless(yyleng - 3); + yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); + zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; - return T_STRING; + return T_VARIABLE; } YY_BREAK -case 119: + +/* A [ always designates a variable offset, regardless of what follows + */ +case 121: +YY_RULE_SETUP +{ + yyless(yyleng - 1); + yy_push_state(ST_VAR_OFFSET TSRMLS_CC); + zend_copy_value(zendlval, (yytext+1), (yyleng-1)); + zendlval->type = IS_STRING; + return T_VARIABLE; +} + YY_BREAK +case 122: +YY_RULE_SETUP +{ + yy_pop_state(TSRMLS_C); + return ']'; +} + YY_BREAK +case 123: +YY_RULE_SETUP +{ + /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ + return yytext[0]; +} + YY_BREAK +case 124: +YY_RULE_SETUP +{ + /* Invalid rule to return a more explicit parse error with proper line number */ + yyless(0); + yy_pop_state(TSRMLS_C); + ZVAL_EMPTY_STRING(zendlval); /* Empty since it won't be used */ + return T_ENCAPSED_AND_WHITESPACE; +} + YY_BREAK +case 125: YY_RULE_SETUP { zend_copy_value(zendlval, yytext, yyleng); @@ -4647,7 +5172,7 @@ YY_RULE_SETUP return T_STRING; } YY_BREAK -case 120: +case 126: YY_RULE_SETUP { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -4657,20 +5182,20 @@ YY_RULE_SETUP return T_WHITESPACE; } YY_BREAK -case 121: +case 127: YY_RULE_SETUP { BEGIN(ST_ONE_LINE_COMMENT); yymore(); } YY_BREAK -case 122: +case 128: YY_RULE_SETUP { yymore(); } YY_BREAK -case 123: +case 129: YY_RULE_SETUP { switch (yytext[yyleng-1]) { @@ -4690,7 +5215,7 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 130: YY_RULE_SETUP { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -4701,7 +5226,7 @@ YY_RULE_SETUP return T_COMMENT; } YY_BREAK -case 125: +case 131: YY_RULE_SETUP { if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */ @@ -4716,7 +5241,7 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 132: YY_RULE_SETUP { CG(comment_start_line) = CG(zend_lineno); @@ -4725,7 +5250,7 @@ YY_RULE_SETUP yymore(); } YY_BREAK -case 127: +case 133: YY_RULE_SETUP { CG(comment_start_line) = CG(zend_lineno); @@ -4733,13 +5258,13 @@ YY_RULE_SETUP yymore(); } YY_BREAK -case 128: +case 134: YY_RULE_SETUP { yymore(); } YY_BREAK -case 129: +case 135: YY_RULE_SETUP { CG(doc_comment) = estrndup(yytext, yyleng); @@ -4749,7 +5274,7 @@ YY_RULE_SETUP return T_DOC_COMMENT; } YY_BREAK -case 130: +case 136: YY_RULE_SETUP { HANDLE_NEWLINES(yytext, yyleng); @@ -4757,13 +5282,13 @@ YY_RULE_SETUP return T_COMMENT; } YY_BREAK -case 131: +case 137: YY_RULE_SETUP { yymore(); } YY_BREAK -case 132: +case 138: YY_RULE_SETUP { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -4773,7 +5298,7 @@ YY_RULE_SETUP return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } YY_BREAK -case 133: +case 139: YY_RULE_SETUP { if (CG(asp_tags)) { @@ -4788,109 +5313,28 @@ YY_RULE_SETUP } } YY_BREAK -case 134: + +/* ("{"*|"$"*) handles { or $ at the end of a string (or the entire contents) + */ +case 140: YY_RULE_SETUP { - register char *s, *t; - char *end; - int bprefix = (*yytext == 'b') ? 1 : 0; - - zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2); - zendlval->value.str.len = yyleng-bprefix-2; - zendlval->type = IS_STRING; - HANDLE_NEWLINES(yytext, yyleng); - - /* convert escape sequences */ - s = t = zendlval->value.str.val; - end = s+zendlval->value.str.len; - while (s<end) { - if (*s=='\\') { - s++; - if (s>=end) { - continue; - } - switch(*s) { - case 'n': - *t++ = '\n'; - zendlval->value.str.len--; - break; - case 'r': - *t++ = '\r'; - zendlval->value.str.len--; - break; - case 't': - *t++ = '\t'; - zendlval->value.str.len--; - break; - case '\\': - case '$': - case '"': - *t++ = *s; - zendlval->value.str.len--; - break; - default: - /* check for an octal */ - if (ZEND_IS_OCT(*s)) { - char octal_buf[4] = { 0, 0, 0, 0 }; - - octal_buf[0] = *s; - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_OCT(*(s+1))) { - octal_buf[1] = *(++s); - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_OCT(*(s+1))) { - octal_buf[2] = *(++s); - zendlval->value.str.len--; - } - } - *t++ = (char) strtol(octal_buf, NULL, 8); - } else if (*s=='x' && (s+1)<end && ZEND_IS_HEX(*(s+1))) { - char hex_buf[3] = { 0, 0, 0}; - - zendlval->value.str.len--; /* for the 'x' */ - - hex_buf[0] = *(++s); - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_HEX(*(s+1))) { - hex_buf[1] = *(++s); - zendlval->value.str.len--; - } - *t++ = (char) strtol(hex_buf, NULL, 16); - } else { - *t++ = '\\'; - *t++ = *s; - } - break; - } - s++; - } else { - *t++ = *s++; - } - } - *t = 0; - -#ifdef ZEND_MULTIBYTE - if (SCNG(output_filter)) { - s = zendlval->value.str.val; - SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC); - efree(s); - } -#endif /* ZEND_MULTIBYTE */ + int bprefix = (yytext[0] != '"') ? 1 : 0; + zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC); return T_CONSTANT_ENCAPSED_STRING; } YY_BREAK -case 135: +case 141: YY_RULE_SETUP { register char *s, *t; char *end; - int bprefix = (*yytext == 'b') ? 1 : 0; + int bprefix = (yytext[0] != '\'') ? 1 : 0; zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2); zendlval->value.str.len = yyleng-bprefix-2; zendlval->type = IS_STRING; - HANDLE_NEWLINES(yytext, yyleng); /* convert escape sequences */ s = t = zendlval->value.str.val; @@ -4912,10 +5356,14 @@ YY_RULE_SETUP *t++ = *s; break; } - s++; } else { - *t++ = *s++; + *t++ = *s; } + + if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { + CG(zend_lineno)++; + } + s++; } *t = 0; @@ -4930,18 +5378,18 @@ YY_RULE_SETUP return T_CONSTANT_ENCAPSED_STRING; } YY_BREAK -case 136: +case 142: YY_RULE_SETUP { BEGIN(ST_DOUBLE_QUOTES); - return '\"'; + return '"'; } YY_BREAK -case 137: +case 143: YY_RULE_SETUP { char *s; - int bprefix = (*yytext == 'b') ? 1 : 0; + int bprefix = (yytext[0] != '<') ? 1 : 0; CG(zend_lineno)++; CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); @@ -4951,236 +5399,187 @@ YY_RULE_SETUP CG(heredoc_len)--; } CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_HEREDOC); + BEGIN(ST_START_HEREDOC); return T_START_HEREDOC; } YY_BREAK -case 138: +case 144: YY_RULE_SETUP { BEGIN(ST_BACKQUOTE); return '`'; } YY_BREAK -case 139: +case 145: YY_RULE_SETUP { - BEGIN(ST_SINGLE_QUOTE); - return '\''; + yyless(0); + BEGIN(ST_HEREDOC); } YY_BREAK -case 140: +case 146: YY_RULE_SETUP { - int label_len; - - if (yytext[yyleng-2]=='\r') { - label_len = yyleng-2; - } else { - label_len = yyleng-1; - } + int label_len = yyleng - 1; if (yytext[label_len-1]==';') { label_len--; } + yyless(label_len); + if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - zendlval->value.str.val = estrndup(yytext, label_len); /* unput destroys yytext */ + zendlval->value.str.val = CG(heredoc); zendlval->value.str.len = label_len; - yyless(yyleng - (yyleng - label_len)); - efree(CG(heredoc)); CG(heredoc)=NULL; CG(heredoc_len)=0; BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } else { - CG(zend_lineno)++; - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_STRING; + yymore(); + BEGIN(ST_HEREDOC); } } YY_BREAK -case 141: -YY_RULE_SETUP -{ - HANDLE_NEWLINES(yytext, yyleng); - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - YY_BREAK -case 142: -YY_RULE_SETUP -{ - HANDLE_NEWLINES(yytext, yyleng); - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - YY_BREAK -case 143: -YY_RULE_SETUP -{ - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - YY_BREAK -case 144: -YY_RULE_SETUP -{ - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - YY_BREAK -case 145: + +/* Match everything up to and including a possible ending label, so if the label + * doesn't match, it's kept with the rest of the string + * + * {HEREDOC_NEWLINE}+ handles the case of more than one newline sequence that + * couldn't be matched with HEREDOC_CHARS, because of the following label + */ +case 147: YY_RULE_SETUP { - zendlval->value.lval = (long) yytext[0]; - if (yyleng == 2) { - yyless(1); + char *end = yytext + yyleng - 1; + + if (end[-1] == ';') { + end--; + yyleng--; + } + + if (yyleng > CG(heredoc_len) && !memcmp(end - CG(heredoc_len), CG(heredoc), CG(heredoc_len))) { + int len = yyleng - CG(heredoc_len) - 2; /* 2 for newline before and after label */ + + if (len > 0 && yytext[len - 1] == '\r' && yytext[len] == '\n') { + len--; + } + + /* Go back before last label char, to match in ST_END_HEREDOC state */ + yyless(yyleng - 2); + + /* Subtract the remaining label length. yyleng must include newline + * before label, for zend_highlight/strip, tokenizer, etc. */ + yyleng -= CG(heredoc_len) - 1; + + CG(increment_lineno) = 1; /* For newline before label */ + BEGIN(ST_END_HEREDOC); + zend_scan_escape_string(zendlval, yytext, len, 0 TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; + } else { + /* Go back to end of label, so the next match works correctly in case of + * a variable or another label at the beginning of the next line */ + yyless(yyleng - 1); + yymore(); } - return T_CHARACTER; -} - YY_BREAK -case 146: -YY_RULE_SETUP -{ - zendlval->value.lval = (long) yytext[0]; - return yytext[0]; } YY_BREAK -case 147: +case 148: YY_RULE_SETUP { - zendlval->value.str.val = estrndup("\\{", sizeof("\\{") - 1); - zendlval->value.str.len = sizeof("\\{") - 1; - zendlval->type = IS_STRING; - return T_STRING; + zendlval->value.str.val = CG(heredoc); + zendlval->value.str.len = CG(heredoc_len); + yytext = zendlval->value.str.val; + yyleng = zendlval->value.str.len; + CG(heredoc) = NULL; + CG(heredoc_len) = 0; + BEGIN(ST_IN_SCRIPTING); + return T_END_HEREDOC; } YY_BREAK -case 148: +case 149: YY_RULE_SETUP { - zendlval->value.lval = (long) yytext[0]; + zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } YY_BREAK -case 149: -YY_RULE_SETUP -{ - zendlval->value.lval = (long) '\''; - return T_CHARACTER; -} - YY_BREAK case 150: YY_RULE_SETUP { - zendlval->value.lval = (long)'\\'; - return T_CHARACTER; + zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK + +/* "{"{2,}|"$"{2,} handles { before "{$" or literal $ before a variable or "${" + * (("{"+|"$"+)["]) handles { or $ at the end of a string + * + * Same for backquotes and heredocs, except the second case doesn't apply to + * heredocs. yyless(yyleng - 1) is used to correct taking one character too many + */ case 151: YY_RULE_SETUP { - zendlval->value.lval = (long) '"'; - return T_CHARACTER; + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK case 152: YY_RULE_SETUP { - zendlval->value.lval = (long) '`'; - return T_CHARACTER; + zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK case 153: YY_RULE_SETUP { - zendlval->value.lval = strtol(yytext+1, NULL, 8); - return T_CHARACTER; + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK + +/* ({HEREDOC_NEWLINE}+({LABEL}";"?)?)? handles the possible case of newline + * sequences, possibly followed by a label, that couldn't be matched with + * HEREDOC_CHARS because of a following variable or "{$" + * + * This doesn't affect real ending labels, as they are followed by a newline, + * which will result in a longer match for the correct rule if present + */ case 154: YY_RULE_SETUP { - zendlval->value.lval = strtol (yytext+2, NULL, 16); - return T_CHARACTER; + zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK case 155: YY_RULE_SETUP { - switch (yytext[1]) { - case 'n': - zendlval->value.lval = (long) '\n'; - break; - case 't': - zendlval->value.lval = (long) '\t'; - break; - case 'r': - zendlval->value.lval = (long) '\r'; - break; - case '\\': - zendlval->value.lval = (long) '\\'; - break; - case '$': - zendlval->value.lval = (long) yytext[1]; - break; - default: - zendlval->value.str.val = estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - return T_BAD_CHARACTER; - break; - } - return T_CHARACTER; -} - YY_BREAK -case 156: -YY_RULE_SETUP -{ - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } YY_BREAK -case 157: +case 156: YY_RULE_SETUP { BEGIN(ST_IN_SCRIPTING); - return '\"'; + return '"'; } YY_BREAK -case 158: +case 157: YY_RULE_SETUP { BEGIN(ST_IN_SCRIPTING); return '`'; } YY_BREAK -case 159: -YY_RULE_SETUP -{ - BEGIN(ST_IN_SCRIPTING); - return '\''; -} - YY_BREAK -case YY_STATE_EOF(ST_DOUBLE_QUOTES): -case YY_STATE_EOF(ST_BACKQUOTE): -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(ST_IN_SCRIPTING): -case YY_STATE_EOF(ST_LOOKING_FOR_PROPERTY): -{ - return 0; -} - YY_BREAK case YY_STATE_EOF(ST_COMMENT): case YY_STATE_EOF(ST_DOC_COMMENT): { @@ -5188,19 +5587,26 @@ case YY_STATE_EOF(ST_DOC_COMMENT): return 0; } YY_BREAK -case 160: +case 158: YY_RULE_SETUP { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); } YY_BREAK -case 161: +case 159: YY_RULE_SETUP ECHO; YY_BREAK -case YY_STATE_EOF(ST_SINGLE_QUOTE): +case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(ST_IN_SCRIPTING): +case YY_STATE_EOF(ST_DOUBLE_QUOTES): +case YY_STATE_EOF(ST_BACKQUOTE): case YY_STATE_EOF(ST_HEREDOC): +case YY_STATE_EOF(ST_START_HEREDOC): +case YY_STATE_EOF(ST_END_HEREDOC): +case YY_STATE_EOF(ST_LOOKING_FOR_PROPERTY): case YY_STATE_EOF(ST_LOOKING_FOR_VARNAME): +case YY_STATE_EOF(ST_VAR_OFFSET): case YY_STATE_EOF(ST_ONE_LINE_COMMENT): yyterminate(); @@ -5479,7 +5885,6 @@ static yy_state_type yy_get_previous_state(TSRMLS_D) register char *yy_cp; yy_current_state = yy_start; - yy_current_state += YY_AT_BOL(); for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { @@ -5492,7 +5897,7 @@ static yy_state_type yy_get_previous_state(TSRMLS_D) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1422 ) + if ( yy_current_state >= 1493 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -5530,11 +5935,11 @@ void ***tsrm_ls; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1422 ) + if ( yy_current_state >= 1493 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1421); + yy_is_jam = (yy_current_state == 1492); return yy_is_jam ? 0 : yy_current_state; } @@ -5659,7 +6064,6 @@ void ***tsrm_ls; *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; - yy_current_buffer->yy_at_bol = (c == '\n'); return c; } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 26a8ebeb3..27920d92a 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.l,v 1.131.2.11.2.10 2007/04/22 21:33:10 tony2001 Exp $ */ +/* $Id: zend_language_scanner.l,v 1.131.2.11.2.12 2007/05/24 08:56:35 dmitry Exp $ */ #define yyleng SCNG(yy_leng) #define yytext SCNG(yy_text) @@ -35,11 +35,13 @@ %x ST_IN_SCRIPTING %x ST_DOUBLE_QUOTES -%x ST_SINGLE_QUOTE %x ST_BACKQUOTE %x ST_HEREDOC +%x ST_START_HEREDOC +%x ST_END_HEREDOC %x ST_LOOKING_FOR_PROPERTY %x ST_LOOKING_FOR_VARNAME +%x ST_VAR_OFFSET %x ST_COMMENT %x ST_DOC_COMMENT %x ST_ONE_LINE_COMMENT @@ -96,9 +98,7 @@ do { \ char *p = (s), *boundary = p+(l); \ \ while (p<boundary) { \ - if (*p == '\n') { \ - CG(zend_lineno)++; \ - } else if ((*p == '\r') && (p+1 < boundary) && (*(p+1) != '\n')) { \ + if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \ CG(zend_lineno)++; \ } \ p++; \ @@ -789,6 +789,109 @@ ZEND_API int zend_multibyte_read_script(TSRMLS_D) zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \ zendlval->value.str.len = yyleng; #endif /* ZEND_MULTIBYTE */ + +static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC) +{ + register char *s, *t; + char *end; + + ZVAL_STRINGL(zendlval, str, len, 1); + + /* convert escape sequences */ + s = t = zendlval->value.str.val; + end = s+zendlval->value.str.len; + while (s<end) { + if (*s=='\\') { + s++; + if (s>=end) { + continue; + } + switch(*s) { + case 'n': + *t++ = '\n'; + zendlval->value.str.len--; + break; + case 'r': + *t++ = '\r'; + zendlval->value.str.len--; + break; + case 't': + *t++ = '\t'; + zendlval->value.str.len--; + break; + case '"': + case '`': + if (*s != quote_type) { + *t++ = '\\'; + *t++ = *s; + break; + } + case '\\': + case '$': + *t++ = *s; + zendlval->value.str.len--; + break; + case 'x': + case 'X': + if (ZEND_IS_HEX(*(s+1))) { + char hex_buf[3] = { 0, 0, 0 }; + + zendlval->value.str.len--; /* for the 'x' */ + + hex_buf[0] = *(++s); + zendlval->value.str.len--; + if (ZEND_IS_HEX(*(s+1))) { + hex_buf[1] = *(++s); + zendlval->value.str.len--; + } + *t++ = (char) strtol(hex_buf, NULL, 16); + } else { + *t++ = '\\'; + *t++ = *s; + } + break; + default: + /* check for an octal */ + if (ZEND_IS_OCT(*s)) { + char octal_buf[4] = { 0, 0, 0, 0 }; + + octal_buf[0] = *s; + zendlval->value.str.len--; + if (ZEND_IS_OCT(*(s+1))) { + octal_buf[1] = *(++s); + zendlval->value.str.len--; + if (ZEND_IS_OCT(*(s+1))) { + octal_buf[2] = *(++s); + zendlval->value.str.len--; + } + } + *t++ = (char) strtol(octal_buf, NULL, 8); + } else { + *t++ = '\\'; + *t++ = *s; + } + break; + } + } else { + *t++ = *s; + } + + if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { + CG(zend_lineno)++; + } + s++; + } + *t = 0; + +#ifdef ZEND_MULTIBYTE + if (SCNG(output_filter)) { + s = zendlval->value.str.val; + SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC); + efree(s); + } +#endif /* ZEND_MULTIBYTE */ +} + %} LNUM [0-9]+ @@ -799,11 +902,61 @@ LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@] -ENCAPSED_TOKENS [\[\]{}$] -ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+ ANY_CHAR (.|[\n]) NEWLINE ("\r"|"\n"|"\r\n") +/* + * LITERAL_DOLLAR matches unescaped $ that aren't followed by a label character + * or a { and therefore will be taken literally. The case of literal $ before + * a variable or "${" is handled in a rule for each string type + */ +DOUBLE_QUOTES_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$"\\{]|("\\"{ANY_CHAR}))) +BACKQUOTE_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$`\\{]|("\\"{ANY_CHAR}))) +HEREDOC_LITERAL_DOLLAR ("$"+([^a-zA-Z_\x7f-\xff$\n\r\\{]|("\\"[^\n\r]))) + +/* + * Usually, HEREDOC_NEWLINE will just function like a simple NEWLINE, but some + * special cases need to be handled. HEREDOC_CHARS doesn't allow a line to + * match when { or $, and/or \ is at the end. (("{"*|"$"*)"\\"?) handles that, + * along with cases where { or $, and/or \ is the ONLY thing on a line + * + * The other case is when a line contains a label, followed by ONLY + * { or $, and/or \ Handled by ({LABEL}";"?((("{"+|"$"+)"\\"?)|"\\")) + */ +HEREDOC_NEWLINE ((({LABEL}";"?((("{"+|"$"+)"\\"?)|"\\"))|(("{"*|"$"*)"\\"?)){NEWLINE}) + +/* + * This pattern is just used in the next 2 for matching { or literal $, and/or + * \ escape sequence immediately at the beginning of a line or after a label + */ +HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR (("{"+[^$\n\r\\{])|("{"*"\\"[^\n\r])|{HEREDOC_LITERAL_DOLLAR}) + +/* + * These 2 label-related patterns allow HEREDOC_CHARS to continue "regular" + * matching after a newline that starts with either a non-label character or a + * label that isn't followed by a newline. Like HEREDOC_CHARS, they won't match + * a variable or "{$" Matching a newline, and possibly label, up TO a variable + * or "{$", is handled in the heredoc rules + * + * The HEREDOC_LABEL_NO_NEWLINE pattern (";"[^$\n\r\\{]) handles cases where ; + * follows a label. [^a-zA-Z0-9_\x7f-\xff;$\n\r\\{] is needed to prevent a label + * character or ; from matching on a possible (real) ending label + */ +HEREDOC_NON_LABEL ([^a-zA-Z_\x7f-\xff$\n\r\\{]|{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR}) +HEREDOC_LABEL_NO_NEWLINE ({LABEL}([^a-zA-Z0-9_\x7f-\xff;$\n\r\\{]|(";"[^$\n\r\\{])|(";"?{HEREDOC_CURLY_OR_ESCAPE_OR_DOLLAR}))) + +/* + * CHARS matches everything up to a variable or "{$" + * {'s are matched as long as they aren't followed by a $ + * The case of { before "{$" is handled in a rule for each string type + * + * For heredocs, matching continues across/after newlines if/when it's known + * that the next line doesn't contain a possible ending label + */ +DOUBLE_QUOTES_CHARS ("{"*([^$"\\{]|("\\"{ANY_CHAR}))|{DOUBLE_QUOTES_LITERAL_DOLLAR}) +BACKQUOTE_CHARS ("{"*([^$`\\{]|("\\"{ANY_CHAR}))|{BACKQUOTE_LITERAL_DOLLAR}) +HEREDOC_CHARS ("{"*([^$\n\r\\{]|("\\"[^\n\r]))|{HEREDOC_LITERAL_DOLLAR}|({HEREDOC_NEWLINE}+({HEREDOC_NON_LABEL}|{HEREDOC_LABEL_NO_NEWLINE}))) + %option noyylineno %option noyywrap %% @@ -948,11 +1101,15 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_IMPLEMENTS; } -<ST_IN_SCRIPTING,ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"->" { +<ST_IN_SCRIPTING>"->" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } +<ST_LOOKING_FOR_PROPERTY>"->" { + return T_OBJECT_OPERATOR; +} + <ST_LOOKING_FOR_PROPERTY>{LABEL} { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); @@ -1282,7 +1439,19 @@ NEWLINE ("\r"|"\n"|"\r\n") } } -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{LNUM}|{HNUM} { /* treat numbers (almost) as strings inside encapsulated strings */ +<ST_VAR_OFFSET>0|([1-9][0-9]*) { /* Offset could be treated as a long */ + if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { + zendlval->value.lval = strtol(yytext, NULL, 10); + zendlval->type = IS_LONG; + } else { + zendlval->value.str.val = (char *)estrndup(yytext, yyleng); + zendlval->value.str.len = yyleng; + zendlval->type = IS_STRING; + } + return T_NUM_STRING; +} + +<ST_VAR_OFFSET>{LNUM}|{HNUM} { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; @@ -1445,19 +1614,54 @@ NEWLINE ("\r"|"\n"|"\r\n") return T_OPEN_TAG; } -<ST_IN_SCRIPTING,ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL} { +<ST_IN_SCRIPTING,ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE,ST_VAR_OFFSET>"$"{LABEL} { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -<ST_IN_SCRIPTING>{LABEL} { - zend_copy_value(zendlval, yytext, yyleng); +%{ +/* Make sure a label character follows "->", otherwise there is no property + * and "->" will be taken literally + */ %} +<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"->"[a-zA-Z_\x7f-\xff] { + yyless(yyleng - 3); + yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); + zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; - return T_STRING; + return T_VARIABLE; } -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{LABEL} { +%{ +/* A [ always designates a variable offset, regardless of what follows + */ %} +<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"[" { + yyless(yyleng - 1); + yy_push_state(ST_VAR_OFFSET TSRMLS_CC); + zend_copy_value(zendlval, (yytext+1), (yyleng-1)); + zendlval->type = IS_STRING; + return T_VARIABLE; +} + +<ST_VAR_OFFSET>"]" { + yy_pop_state(TSRMLS_C); + return ']'; +} + +<ST_VAR_OFFSET>{TOKENS}|[{}"`] { + /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ + return yytext[0]; +} + +<ST_VAR_OFFSET>[ \n\r\t\\'#] { + /* Invalid rule to return a more explicit parse error with proper line number */ + yyless(0); + yy_pop_state(TSRMLS_C); + ZVAL_EMPTY_STRING(zendlval); /* Empty since it won't be used */ + return T_ENCAPSED_AND_WHITESPACE; +} + +<ST_IN_SCRIPTING,ST_VAR_OFFSET>{LABEL} { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; @@ -1581,106 +1785,25 @@ NEWLINE ("\r"|"\n"|"\r\n") } -<ST_IN_SCRIPTING>("b"?["]([^$"\\]|("\\".))*["]) { - register char *s, *t; - char *end; - int bprefix = (*yytext == 'b') ? 1 : 0; - - zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2); - zendlval->value.str.len = yyleng-bprefix-2; - zendlval->type = IS_STRING; - HANDLE_NEWLINES(yytext, yyleng); - - /* convert escape sequences */ - s = t = zendlval->value.str.val; - end = s+zendlval->value.str.len; - while (s<end) { - if (*s=='\\') { - s++; - if (s>=end) { - continue; - } - switch(*s) { - case 'n': - *t++ = '\n'; - zendlval->value.str.len--; - break; - case 'r': - *t++ = '\r'; - zendlval->value.str.len--; - break; - case 't': - *t++ = '\t'; - zendlval->value.str.len--; - break; - case '\\': - case '$': - case '"': - *t++ = *s; - zendlval->value.str.len--; - break; - default: - /* check for an octal */ - if (ZEND_IS_OCT(*s)) { - char octal_buf[4] = { 0, 0, 0, 0 }; - - octal_buf[0] = *s; - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_OCT(*(s+1))) { - octal_buf[1] = *(++s); - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_OCT(*(s+1))) { - octal_buf[2] = *(++s); - zendlval->value.str.len--; - } - } - *t++ = (char) strtol(octal_buf, NULL, 8); - } else if (*s=='x' && (s+1)<end && ZEND_IS_HEX(*(s+1))) { - char hex_buf[3] = { 0, 0, 0}; - - zendlval->value.str.len--; /* for the 'x' */ - - hex_buf[0] = *(++s); - zendlval->value.str.len--; - if ((s+1)<end && ZEND_IS_HEX(*(s+1))) { - hex_buf[1] = *(++s); - zendlval->value.str.len--; - } - *t++ = (char) strtol(hex_buf, NULL, 16); - } else { - *t++ = '\\'; - *t++ = *s; - } - break; - } - s++; - } else { - *t++ = *s++; - } - } - *t = 0; - -#ifdef ZEND_MULTIBYTE - if (SCNG(output_filter)) { - s = zendlval->value.str.val; - SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC); - efree(s); - } -#endif /* ZEND_MULTIBYTE */ +%{ +/* ("{"*|"$"*) handles { or $ at the end of a string (or the entire contents) + */ %} +<ST_IN_SCRIPTING>(b?["]{DOUBLE_QUOTES_CHARS}*("{"*|"$"*)["]) { + int bprefix = (yytext[0] != '"') ? 1 : 0; + zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC); return T_CONSTANT_ENCAPSED_STRING; } -<ST_IN_SCRIPTING>("b"?[']([^'\\]|("\\".))*[']) { +<ST_IN_SCRIPTING>(b?[']([^'\\]|("\\"{ANY_CHAR}))*[']) { register char *s, *t; char *end; - int bprefix = (*yytext == 'b') ? 1 : 0; + int bprefix = (yytext[0] != '\'') ? 1 : 0; zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2); zendlval->value.str.len = yyleng-bprefix-2; zendlval->type = IS_STRING; - HANDLE_NEWLINES(yytext, yyleng); /* convert escape sequences */ s = t = zendlval->value.str.val; @@ -1702,10 +1825,14 @@ NEWLINE ("\r"|"\n"|"\r\n") *t++ = *s; break; } - s++; } else { - *t++ = *s++; + *t++ = *s; + } + + if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { + CG(zend_lineno)++; } + s++; } *t = 0; @@ -1723,13 +1850,13 @@ NEWLINE ("\r"|"\n"|"\r\n") <ST_IN_SCRIPTING>b?["] { BEGIN(ST_DOUBLE_QUOTES); - return '\"'; + return '"'; } -<ST_IN_SCRIPTING>"b"?"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} { +<ST_IN_SCRIPTING>b?"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} { char *s; - int bprefix = (*yytext == 'b') ? 1 : 0; + int bprefix = (yytext[0] != '<') ? 1 : 0; CG(zend_lineno)++; CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); @@ -1739,7 +1866,7 @@ NEWLINE ("\r"|"\n"|"\r\n") CG(heredoc_len)--; } CG(heredoc) = estrndup(s, CG(heredoc_len)); - BEGIN(ST_HEREDOC); + BEGIN(ST_START_HEREDOC); return T_START_HEREDOC; } @@ -1750,171 +1877,148 @@ NEWLINE ("\r"|"\n"|"\r\n") } -<ST_IN_SCRIPTING>b?['] { - BEGIN(ST_SINGLE_QUOTE); - return '\''; +<ST_START_HEREDOC>{ANY_CHAR} { + yyless(0); + BEGIN(ST_HEREDOC); } - -<ST_HEREDOC>^{LABEL}(";")?{NEWLINE} { - int label_len; - - if (yytext[yyleng-2]=='\r') { - label_len = yyleng-2; - } else { - label_len = yyleng-1; - } +<ST_START_HEREDOC>{LABEL}";"?[\n\r] { + int label_len = yyleng - 1; if (yytext[label_len-1]==';') { label_len--; } + yyless(label_len); + if (label_len==CG(heredoc_len) && !memcmp(yytext, CG(heredoc), label_len)) { - zendlval->value.str.val = estrndup(yytext, label_len); /* unput destroys yytext */ + zendlval->value.str.val = CG(heredoc); zendlval->value.str.len = label_len; - yyless(yyleng - (yyleng - label_len)); - efree(CG(heredoc)); CG(heredoc)=NULL; CG(heredoc_len)=0; BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } else { - CG(zend_lineno)++; - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_STRING; + yymore(); + BEGIN(ST_HEREDOC); } } +%{ +/* Match everything up to and including a possible ending label, so if the label + * doesn't match, it's kept with the rest of the string + * + * {HEREDOC_NEWLINE}+ handles the case of more than one newline sequence that + * couldn't be matched with HEREDOC_CHARS, because of the following label + */ %} +<ST_HEREDOC>{HEREDOC_CHARS}*{HEREDOC_NEWLINE}+{LABEL}";"?[\n\r] { + char *end = yytext + yyleng - 1; -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{ESCAPED_AND_WHITESPACE} { - HANDLE_NEWLINES(yytext, yyleng); - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - -<ST_SINGLE_QUOTE>([^'\\]|\\[^'\\])+ { - HANDLE_NEWLINES(yytext, yyleng); - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} - + if (end[-1] == ';') { + end--; + yyleng--; + } -<ST_DOUBLE_QUOTES>[`]+ { - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} + if (yyleng > CG(heredoc_len) && !memcmp(end - CG(heredoc_len), CG(heredoc), CG(heredoc_len))) { + int len = yyleng - CG(heredoc_len) - 2; /* 2 for newline before and after label */ + if (len > 0 && yytext[len - 1] == '\r' && yytext[len] == '\n') { + len--; + } -<ST_BACKQUOTE>["]+ { - zend_copy_value(zendlval, yytext, yyleng); - zendlval->type = IS_STRING; - return T_ENCAPSED_AND_WHITESPACE; -} + /* Go back before last label char, to match in ST_END_HEREDOC state */ + yyless(yyleng - 2); + /* Subtract the remaining label length. yyleng must include newline + * before label, for zend_highlight/strip, tokenizer, etc. */ + yyleng -= CG(heredoc_len) - 1; -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"$"[^a-zA-Z_\x7f-\xff{] { - zendlval->value.lval = (long) yytext[0]; - if (yyleng == 2) { - yyless(1); + CG(increment_lineno) = 1; /* For newline before label */ + BEGIN(ST_END_HEREDOC); + zend_scan_escape_string(zendlval, yytext, len, 0 TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; + } else { + /* Go back to end of label, so the next match works correctly in case of + * a variable or another label at the beginning of the next line */ + yyless(yyleng - 1); + yymore(); } - return T_CHARACTER; } - -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{ENCAPSED_TOKENS} { - zendlval->value.lval = (long) yytext[0]; - return yytext[0]; +<ST_END_HEREDOC>{ANY_CHAR} { + zendlval->value.str.val = CG(heredoc); + zendlval->value.str.len = CG(heredoc_len); + yytext = zendlval->value.str.val; + yyleng = zendlval->value.str.len; + CG(heredoc) = NULL; + CG(heredoc_len) = 0; + BEGIN(ST_IN_SCRIPTING); + return T_END_HEREDOC; } -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\{" { - zendlval->value.str.val = estrndup("\\{", sizeof("\\{") - 1); - zendlval->value.str.len = sizeof("\\{") - 1; - zendlval->type = IS_STRING; - return T_STRING; -} <ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"{$" { - zendlval->value.lval = (long) yytext[0]; + zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -<ST_SINGLE_QUOTE>"\\'" { - zendlval->value.lval = (long) '\''; - return T_CHARACTER; +<ST_DOUBLE_QUOTES>{DOUBLE_QUOTES_CHARS}+ { + zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } -<ST_SINGLE_QUOTE>"\\\\" { - zendlval->value.lval = (long)'\\'; - return T_CHARACTER; +%{ +/* "{"{2,}|"$"{2,} handles { before "{$" or literal $ before a variable or "${" + * (("{"+|"$"+)["]) handles { or $ at the end of a string + * + * Same for backquotes and heredocs, except the second case doesn't apply to + * heredocs. yyless(yyleng - 1) is used to correct taking one character too many + */ %} +<ST_DOUBLE_QUOTES>{DOUBLE_QUOTES_CHARS}*("{"{2,}|"$"{2,}|(("{"+|"$"+)["])) { + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } -<ST_DOUBLE_QUOTES>"\\\"" { - zendlval->value.lval = (long) '"'; - return T_CHARACTER; -} -<ST_BACKQUOTE>"\\`" { - zendlval->value.lval = (long) '`'; - return T_CHARACTER; +<ST_BACKQUOTE>{BACKQUOTE_CHARS}+ { + zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\"[0-7]{1,3} { - zendlval->value.lval = strtol(yytext+1, NULL, 8); - return T_CHARACTER; +<ST_BACKQUOTE>{BACKQUOTE_CHARS}*("{"{2,}|"$"{2,}|(("{"+|"$"+)[`])) { + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\x"[0-9A-Fa-f]{1,2} { - zendlval->value.lval = strtol (yytext+2, NULL, 16); - return T_CHARACTER; -} -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\"{ANY_CHAR} { - switch (yytext[1]) { - case 'n': - zendlval->value.lval = (long) '\n'; - break; - case 't': - zendlval->value.lval = (long) '\t'; - break; - case 'r': - zendlval->value.lval = (long) '\r'; - break; - case '\\': - zendlval->value.lval = (long) '\\'; - break; - case '$': - zendlval->value.lval = (long) yytext[1]; - break; - default: - zendlval->value.str.val = estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - return T_BAD_CHARACTER; - break; - } - return T_CHARACTER; +%{ +/* ({HEREDOC_NEWLINE}+({LABEL}";"?)?)? handles the possible case of newline + * sequences, possibly followed by a label, that couldn't be matched with + * HEREDOC_CHARS because of a following variable or "{$" + * + * This doesn't affect real ending labels, as they are followed by a newline, + * which will result in a longer match for the correct rule if present + */ %} +<ST_HEREDOC>{HEREDOC_CHARS}*({HEREDOC_NEWLINE}+({LABEL}";"?)?)? { + zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); + return T_ENCAPSED_AND_WHITESPACE; } - -<ST_HEREDOC>["'`]+ { - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; +<ST_HEREDOC>{HEREDOC_CHARS}*({HEREDOC_NEWLINE}+({LABEL}";"?)?)?("{"{2,}|"$"{2,}) { + yyless(yyleng - 1); + zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } <ST_DOUBLE_QUOTES>["] { BEGIN(ST_IN_SCRIPTING); - return '\"'; + return '"'; } @@ -1924,16 +2028,6 @@ NEWLINE ("\r"|"\n"|"\r\n") } -<ST_SINGLE_QUOTE>['] { - BEGIN(ST_IN_SCRIPTING); - return '\''; -} - - -<ST_DOUBLE_QUOTES,ST_BACKQUOTE,INITIAL,ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY><<EOF>> { - return 0; -} - <ST_COMMENT,ST_DOC_COMMENT><<EOF>> { zend_error(E_COMPILE_WARNING,"Unterminated comment starting line %d", CG(comment_start_line)); return 0; @@ -1941,6 +2035,6 @@ NEWLINE ("\r"|"\n"|"\r\n") -<ST_IN_SCRIPTING,INITIAL,ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_SINGLE_QUOTE,ST_HEREDOC>{ANY_CHAR} { +<ST_IN_SCRIPTING,ST_VAR_OFFSET>{ANY_CHAR} { zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); } diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c index 2c133bb0e..0be3ffc5d 100644 --- a/Zend/zend_strtod.c +++ b/Zend/zend_strtod.c @@ -89,7 +89,7 @@ * directly -- and assumed always to succeed. */ -/* $Id: zend_strtod.c,v 1.17.2.2.2.10 2007/04/26 23:13:25 tony2001 Exp $ */ +/* $Id: zend_strtod.c,v 1.17.2.2.2.11 2007/05/04 16:19:57 tony2001 Exp $ */ #include <zend_strtod.h> @@ -273,9 +273,9 @@ BEGIN_EXTERN_C() #endif /* The following definition of Storeinc is appropriate for MIPS processors. - * * An alternative that might be better on some machines is - * * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) - * */ + * An alternative that might be better on some machines is + * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) + */ #if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm__) #define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \ ((unsigned short *)a)[0] = (unsigned short)c, a++) diff --git a/Zend/zend_ts_hash.c b/Zend/zend_ts_hash.c index f1680adf7..3f54629ef 100644 --- a/Zend/zend_ts_hash.c +++ b/Zend/zend_ts_hash.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_ts_hash.c,v 1.14.2.1.2.1 2007/01/01 09:35:47 sebastian Exp $ */ +/* $Id: zend_ts_hash.c,v 1.14.2.1.2.2 2007/05/11 12:21:26 tony2001 Exp $ */ #include "zend.h" #include "zend_ts_hash.h" @@ -81,17 +81,22 @@ ZEND_API int _zend_ts_hash_init_ex(TsHashTable *ht, uint nSize, hash_func_t pHas ZEND_API void zend_ts_hash_destroy(TsHashTable *ht) { + begin_write(ht); + zend_hash_destroy(TS_HASH(ht)); + end_write(ht); + #ifdef ZTS tsrm_mutex_free(ht->mx_reader); tsrm_mutex_free(ht->mx_writer); #endif - zend_hash_destroy(TS_HASH(ht)); } ZEND_API void zend_ts_hash_clean(TsHashTable *ht) { ht->reader = 0; + begin_write(ht); zend_hash_clean(TS_HASH(ht)); + end_write(ht); } ZEND_API int _zend_ts_hash_add_or_update(TsHashTable *ht, char *arKey, uint nKeyLength, void *pData, uint nDataSize, void **pDest, int flag ZEND_FILE_LINE_DC) @@ -140,11 +145,14 @@ ZEND_API int zend_ts_hash_add_empty_element(TsHashTable *ht, char *arKey, uint n ZEND_API void zend_ts_hash_graceful_destroy(TsHashTable *ht) { + begin_write(ht); + zend_hash_graceful_destroy(TS_HASH(ht)); + end_write(ht); + #ifdef ZTS tsrm_mutex_free(ht->mx_reader); tsrm_mutex_free(ht->mx_reader); #endif - zend_hash_graceful_destroy(TS_HASH(ht)); } ZEND_API void zend_ts_hash_apply(TsHashTable *ht, apply_func_t apply_func TSRMLS_DC) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 72967a230..419d2e19c 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_vm_def.h,v 1.59.2.29.2.43 2007/04/16 08:09:55 dmitry Exp $ */ +/* $Id: zend_vm_def.h,v 1.59.2.29.2.45 2007/05/18 13:12:04 dmitry Exp $ */ /* If you change this file, please regenerate the zend_vm_execute.h and * zend_vm_opcodes.h files by running: @@ -1619,11 +1619,14 @@ ZEND_VM_HANDLER(56, ZEND_ADD_VAR, TMP, TMP|VAR|CV) zend_free_op free_op1, free_op2; zval *var = GET_OP2_ZVAL_PTR(BP_VAR_R); zval var_copy; - int use_copy; + int use_copy = 0; - zend_make_printable_zval(var, &var_copy, &use_copy); - if (use_copy) { - var = &var_copy; + if (Z_TYPE_P(var) != IS_STRING) { + zend_make_printable_zval(var, &var_copy, &use_copy); + + if (use_copy) { + var = &var_copy; + } } add_string_to_string( &EX_T(opline->result.u.var).tmp_var, GET_OP1_ZVAL_PTR(BP_VAR_NA), @@ -2783,22 +2786,19 @@ ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMP|VAR|CV, ANY) case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { zend_file_handle file_handle; - char cwd[MAXPATHLEN]; - cwd_state state; if (IS_ABSOLUTE_PATH(Z_STRVAL_P(inc_filename), Z_STRLEN_P(inc_filename))) { - cwd[0] = '\0'; - } else if (!VCWD_GETCWD(cwd, MAXPATHLEN)) { - cwd[0] = '\0'; - } - - state.cwd_length = strlen(cwd); - state.cwd = zend_strndup(cwd, state.cwd_length); + cwd_state state; + + state.cwd_length = 0; + state.cwd = malloc(1); + state.cwd[0] = 0; - failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && - zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); + failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && + zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); - free(state.cwd); + free(state.cwd); + } if (failure_retval) { /* do nothing */ diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index dc1758b17..0307dae99 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1958,22 +1958,19 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { zend_file_handle file_handle; - char cwd[MAXPATHLEN]; - cwd_state state; if (IS_ABSOLUTE_PATH(Z_STRVAL_P(inc_filename), Z_STRLEN_P(inc_filename))) { - cwd[0] = '\0'; - } else if (!VCWD_GETCWD(cwd, MAXPATHLEN)) { - cwd[0] = '\0'; - } + cwd_state state; - state.cwd_length = strlen(cwd); - state.cwd = zend_strndup(cwd, state.cwd_length); + state.cwd_length = 0; + state.cwd = malloc(1); + state.cwd[0] = 0; - failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && - zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); + failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && + zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); - free(state.cwd); + free(state.cwd); + } if (failure_retval) { /* do nothing */ @@ -4525,22 +4522,19 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { zend_file_handle file_handle; - char cwd[MAXPATHLEN]; - cwd_state state; if (IS_ABSOLUTE_PATH(Z_STRVAL_P(inc_filename), Z_STRLEN_P(inc_filename))) { - cwd[0] = '\0'; - } else if (!VCWD_GETCWD(cwd, MAXPATHLEN)) { - cwd[0] = '\0'; - } + cwd_state state; - state.cwd_length = strlen(cwd); - state.cwd = zend_strndup(cwd, state.cwd_length); + state.cwd_length = 0; + state.cwd = malloc(1); + state.cwd[0] = 0; - failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && - zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); + failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && + zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); - free(state.cwd); + free(state.cwd); + } if (failure_retval) { /* do nothing */ @@ -5666,11 +5660,14 @@ static int ZEND_ADD_VAR_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) zend_free_op free_op1, free_op2; zval *var = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); zval var_copy; - int use_copy; + int use_copy = 0; - zend_make_printable_zval(var, &var_copy, &use_copy); - if (use_copy) { - var = &var_copy; + if (Z_TYPE_P(var) != IS_STRING) { + zend_make_printable_zval(var, &var_copy, &use_copy); + + if (use_copy) { + var = &var_copy; + } } add_string_to_string( &EX_T(opline->result.u.var).tmp_var, _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), @@ -6108,11 +6105,14 @@ static int ZEND_ADD_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) zend_free_op free_op1, free_op2; zval *var = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC); zval var_copy; - int use_copy; + int use_copy = 0; - zend_make_printable_zval(var, &var_copy, &use_copy); - if (use_copy) { - var = &var_copy; + if (Z_TYPE_P(var) != IS_STRING) { + zend_make_printable_zval(var, &var_copy, &use_copy); + + if (use_copy) { + var = &var_copy; + } } add_string_to_string( &EX_T(opline->result.u.var).tmp_var, _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), @@ -6643,11 +6643,14 @@ static int ZEND_ADD_VAR_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) zend_free_op free_op1; zval *var = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC); zval var_copy; - int use_copy; + int use_copy = 0; - zend_make_printable_zval(var, &var_copy, &use_copy); - if (use_copy) { - var = &var_copy; + if (Z_TYPE_P(var) != IS_STRING) { + zend_make_printable_zval(var, &var_copy, &use_copy); + + if (use_copy) { + var = &var_copy; + } } add_string_to_string( &EX_T(opline->result.u.var).tmp_var, _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC), @@ -7659,22 +7662,19 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { zend_file_handle file_handle; - char cwd[MAXPATHLEN]; - cwd_state state; if (IS_ABSOLUTE_PATH(Z_STRVAL_P(inc_filename), Z_STRLEN_P(inc_filename))) { - cwd[0] = '\0'; - } else if (!VCWD_GETCWD(cwd, MAXPATHLEN)) { - cwd[0] = '\0'; - } + cwd_state state; - state.cwd_length = strlen(cwd); - state.cwd = zend_strndup(cwd, state.cwd_length); + state.cwd_length = 0; + state.cwd = malloc(1); + state.cwd[0] = 0; - failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && - zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); + failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && + zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); - free(state.cwd); + free(state.cwd); + } if (failure_retval) { /* do nothing */ @@ -19723,22 +19723,19 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { zend_file_handle file_handle; - char cwd[MAXPATHLEN]; - cwd_state state; if (IS_ABSOLUTE_PATH(Z_STRVAL_P(inc_filename), Z_STRLEN_P(inc_filename))) { - cwd[0] = '\0'; - } else if (!VCWD_GETCWD(cwd, MAXPATHLEN)) { - cwd[0] = '\0'; - } + cwd_state state; - state.cwd_length = strlen(cwd); - state.cwd = zend_strndup(cwd, state.cwd_length); + state.cwd_length = 0; + state.cwd = malloc(1); + state.cwd[0] = 0; - failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && - zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); + failure_retval = (!virtual_file_ex(&state, Z_STRVAL_P(inc_filename), NULL, 1) && + zend_hash_exists(&EG(included_files), state.cwd, state.cwd_length+1)); - free(state.cwd); + free(state.cwd); + } if (failure_retval) { /* do nothing */ |