summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.SH1
-rw-r--r--dump.c1
-rw-r--r--embed.h16
-rwxr-xr-xembed.pl2
-rw-r--r--ext/B/B.pm21
-rw-r--r--ext/B/B.xs10
-rw-r--r--ext/B/B/Bblock.pm10
-rw-r--r--ext/B/B/Bytecode.pm10
-rw-r--r--ext/B/B/C.pm6
-rw-r--r--ext/B/B/CC.pm8
-rw-r--r--ext/B/B/Deparse.pm271
-rw-r--r--ext/B/B/Lint.pm47
-rw-r--r--ext/B/B/Xref.pm13
-rw-r--r--ext/Opcode/Opcode.pm2
-rw-r--r--global.sym1
-rw-r--r--lib/Pod/Html.pm5
-rw-r--r--objXSUB.h12
-rw-r--r--op.c57
-rw-r--r--opcode.h12
-rwxr-xr-xopcode.pl5
-rwxr-xr-xperlapi.c21
-rw-r--r--perly.c2587
-rw-r--r--perly.h37
-rw-r--r--perly.y108
-rw-r--r--perly_c.diff420
-rw-r--r--pod/perldiag.pod25
-rw-r--r--pod/perlfunc.pod29
-rw-r--r--pp.c27
-rw-r--r--pp.sym2
-rw-r--r--pp_hot.c69
-rw-r--r--pp_proto.h2
-rw-r--r--proto.h2
-rwxr-xr-xt/op/pack.t18
-rw-r--r--vms/perly_c.vms2644
-rw-r--r--vms/perly_h.vms3
35 files changed, 3394 insertions, 3110 deletions
diff --git a/Makefile.SH b/Makefile.SH
index fb250f3467..48b5cba172 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -527,7 +527,6 @@ install.html: all installhtml
# normally shouldn't remake perly.[ch].
run_byacc: FORCE
- @ echo 'Expect' 113 shift/reduce and 1 reduce/reduce conflict
$(BYACC) -d perly.y
chmod 664 perly.c
sh $(shellflags) ./perly.fixer y.tab.c perly.c
diff --git a/dump.c b/dump.c
index 28233e9822..dced2463bc 100644
--- a/dump.c
+++ b/dump.c
@@ -522,6 +522,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
Perl_dump_indent(aTHX_ level, file, "GV = NULL\n");
break;
case OP_CONST:
+ case OP_METHOD_NAMED:
Perl_dump_indent(aTHX_ level, file, "SV = %s\n", SvPEEK(cSVOPo->op_sv));
break;
case OP_SETSTATE:
diff --git a/embed.h b/embed.h
index 1c49a767e5..5cddd1b3b7 100644
--- a/embed.h
+++ b/embed.h
@@ -19,7 +19,6 @@
#define append_elem Perl_append_elem
#define append_list Perl_append_list
#define apply Perl_apply
-#define assertref Perl_assertref
#define avhv_exists_ent Perl_avhv_exists_ent
#define avhv_fetch_ent Perl_avhv_fetch_ent
#define avhv_iternext Perl_avhv_iternext
@@ -832,6 +831,7 @@
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define get_db_sub S_get_db_sub
+#define method_common S_method_common
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform S_doform
@@ -987,6 +987,7 @@
#define ck_lfun Perl_ck_lfun
#define ck_listiob Perl_ck_listiob
#define ck_match Perl_ck_match
+#define ck_method Perl_ck_method
#define ck_null Perl_ck_null
#define ck_repeat Perl_ck_repeat
#define ck_require Perl_ck_require
@@ -1189,6 +1190,7 @@
#define pp_mapwhile Perl_pp_mapwhile
#define pp_match Perl_pp_match
#define pp_method Perl_pp_method
+#define pp_method_named Perl_pp_method_named
#define pp_mkdir Perl_pp_mkdir
#define pp_modulo Perl_pp_modulo
#define pp_msgctl Perl_pp_msgctl
@@ -1357,7 +1359,6 @@
#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
#define append_list(a,b,c) Perl_append_list(aTHX_ a,b,c)
#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
-#define assertref(a) Perl_assertref(aTHX_ a)
#define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c)
#define avhv_fetch_ent(a,b,c,d) Perl_avhv_fetch_ent(aTHX_ a,b,c,d)
#define avhv_iternext(a) Perl_avhv_iternext(aTHX_ a)
@@ -2145,6 +2146,7 @@
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define get_db_sub(a,b) S_get_db_sub(aTHX_ a,b)
+#define method_common(a,b) S_method_common(aTHX_ a,b)
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define doform(a,b,c) S_doform(aTHX_ a,b,c)
@@ -2299,6 +2301,7 @@
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define ck_match(a) Perl_ck_match(aTHX_ a)
+#define ck_method(a) Perl_ck_method(aTHX_ a)
#define ck_null(a) Perl_ck_null(aTHX_ a)
#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
#define ck_require(a) Perl_ck_require(aTHX_ a)
@@ -2501,6 +2504,7 @@
#define pp_mapwhile() Perl_pp_mapwhile(aTHX)
#define pp_match() Perl_pp_match(aTHX)
#define pp_method() Perl_pp_method(aTHX)
+#define pp_method_named() Perl_pp_method_named(aTHX)
#define pp_mkdir() Perl_pp_mkdir(aTHX)
#define pp_modulo() Perl_pp_modulo(aTHX)
#define pp_msgctl() Perl_pp_msgctl(aTHX)
@@ -2675,8 +2679,6 @@
#define append_list Perl_append_list
#define Perl_apply CPerlObj::Perl_apply
#define apply Perl_apply
-#define Perl_assertref CPerlObj::Perl_assertref
-#define assertref Perl_assertref
#define Perl_avhv_exists_ent CPerlObj::Perl_avhv_exists_ent
#define avhv_exists_ent Perl_avhv_exists_ent
#define Perl_avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent
@@ -4233,6 +4235,8 @@
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
#define S_get_db_sub CPerlObj::S_get_db_sub
#define get_db_sub S_get_db_sub
+#define S_method_common CPerlObj::S_method_common
+#define method_common S_method_common
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
#define S_doform CPerlObj::S_doform
@@ -4511,6 +4515,8 @@
#define ck_listiob Perl_ck_listiob
#define Perl_ck_match CPerlObj::Perl_ck_match
#define ck_match Perl_ck_match
+#define Perl_ck_method CPerlObj::Perl_ck_method
+#define ck_method Perl_ck_method
#define Perl_ck_null CPerlObj::Perl_ck_null
#define ck_null Perl_ck_null
#define Perl_ck_repeat CPerlObj::Perl_ck_repeat
@@ -4915,6 +4921,8 @@
#define pp_match Perl_pp_match
#define Perl_pp_method CPerlObj::Perl_pp_method
#define pp_method Perl_pp_method
+#define Perl_pp_method_named CPerlObj::Perl_pp_method_named
+#define pp_method_named Perl_pp_method_named
#define Perl_pp_mkdir CPerlObj::Perl_pp_mkdir
#define pp_mkdir Perl_pp_mkdir
#define Perl_pp_modulo CPerlObj::Perl_pp_modulo
diff --git a/embed.pl b/embed.pl
index c311f9aa35..726554e4af 100755
--- a/embed.pl
+++ b/embed.pl
@@ -997,7 +997,6 @@ p |bool |Gv_AMupdate |HV* stash
p |OP* |append_elem |I32 optype|OP* head|OP* tail
p |OP* |append_list |I32 optype|LISTOP* first|LISTOP* last
p |I32 |apply |I32 type|SV** mark|SV** sp
-p |void |assertref |OP* o
p |bool |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
p |SV** |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
p |HE* |avhv_iternext |AV *ar
@@ -1873,6 +1872,7 @@ s |void |qsortsv |SV ** array|size_t num_elts|SVCOMPARE_t f
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
s |CV* |get_db_sub |SV **svp|CV *cv
+s |SV* |method_common |SV* meth|U32* hashp
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
diff --git a/ext/B/B.pm b/ext/B/B.pm
index b39659d1c9..e4730cd9c9 100644
--- a/ext/B/B.pm
+++ b/ext/B/B.pm
@@ -76,7 +76,7 @@ sub parents { \@parents }
# For debugging
sub peekop {
my $op = shift;
- return sprintf("%s (0x%x) %s", class($op), $$op, $op->ppaddr);
+ return sprintf("%s (0x%x) %s", class($op), $$op, $op->name);
}
sub walkoptree_slow {
@@ -130,26 +130,26 @@ sub walkoptree_exec {
}
savesym($op, sprintf("%s (0x%lx)", class($op), $$op));
$op->$method($level);
- $ppname = $op->ppaddr;
+ $ppname = $op->name;
if ($ppname =~
- /^pp_(or|and|mapwhile|grepwhile|entertry|range|cond_expr)$/)
+ /^(or|and|mapwhile|grepwhile|entertry|range|cond_expr)$/)
{
print $prefix, uc($1), " => {\n";
walkoptree_exec($op->other, $method, $level + 1);
print $prefix, "}\n";
- } elsif ($ppname eq "pp_match" || $ppname eq "pp_subst") {
+ } elsif ($ppname eq "match" || $ppname eq "subst") {
my $pmreplstart = $op->pmreplstart;
if ($$pmreplstart) {
print $prefix, "PMREPLSTART => {\n";
walkoptree_exec($pmreplstart, $method, $level + 1);
print $prefix, "}\n";
}
- } elsif ($ppname eq "pp_substcont") {
+ } elsif ($ppname eq "substcont") {
print $prefix, "SUBSTCONT => {\n";
walkoptree_exec($op->other->pmreplstart, $method, $level + 1);
print $prefix, "}\n";
$op = $op->other;
- } elsif ($ppname eq "pp_enterloop") {
+ } elsif ($ppname eq "enterloop") {
print $prefix, "REDO => {\n";
walkoptree_exec($op->redoop, $method, $level + 1);
print $prefix, "}\n", $prefix, "NEXT => {\n";
@@ -157,7 +157,7 @@ sub walkoptree_exec {
print $prefix, "}\n", $prefix, "LAST => {\n";
walkoptree_exec($op->lastop, $method, $level + 1);
print $prefix, "}\n";
- } elsif ($ppname eq "pp_subst") {
+ } elsif ($ppname eq "subst") {
my $replstart = $op->pmreplstart;
if ($$replstart) {
print $prefix, "SUBST => {\n";
@@ -559,9 +559,14 @@ leading "class indication" prefix removed (op_).
=item sibling
+=item name
+
+This returns the op name as a string (e.g. "add", "rv2av").
+
=item ppaddr
-This returns the function name as a string (e.g. pp_add, pp_rv2av).
+This returns the function name as a string (e.g. Perl_pp_add,
+Perl_pp_rv2av).
=item desc
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 2c9a888662..570b001853 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -556,11 +556,19 @@ OP_sibling(o)
B::OP o
char *
+OP_name(o)
+ B::OP o
+ CODE:
+ ST(0) = sv_newmortal();
+ sv_setpv(ST(0), PL_op_name[o->op_type]);
+
+
+char *
OP_ppaddr(o)
B::OP o
CODE:
ST(0) = sv_newmortal();
- sv_setpvn(ST(0), "pp_", 3);
+ sv_setpvn(ST(0), "Perl_pp_", 8);
sv_catpv(ST(0), PL_op_name[o->op_type]);
char *
diff --git a/ext/B/B/Bblock.pm b/ext/B/B/Bblock.pm
index ae47cf9e04..d2ef78f616 100644
--- a/ext/B/B/Bblock.pm
+++ b/ext/B/B/Bblock.pm
@@ -90,9 +90,9 @@ sub B::LOOP::mark_if_leader {
sub B::LOGOP::mark_if_leader {
my $op = shift;
- my $ppaddr = $op->ppaddr;
+ my $opname = $op->name;
mark_leader($op->next);
- if ($ppaddr eq "pp_entertry") {
+ if ($opname eq "entertry") {
mark_leader($op->other->next);
} else {
mark_leader($op->other);
@@ -102,10 +102,10 @@ sub B::LOGOP::mark_if_leader {
sub B::LISTOP::mark_if_leader {
my $op = shift;
my $first=$op->first;
- $first=$first->next while ($first->ppaddr eq "pp_null");
+ $first=$first->next while ($first->name eq "null");
mark_leader($op->first) unless (exists( $bblock->{$$first}));
mark_leader($op->next);
- if ($op->ppaddr eq "pp_sort" and $op->flags & OPf_SPECIAL
+ if ($op->name eq "sort" and $op->flags & OPf_SPECIAL
and $op->flags & OPf_STACKED){
my $root=$op->first->sibling->first;
my $leader=$root->first;
@@ -115,7 +115,7 @@ sub B::LISTOP::mark_if_leader {
sub B::PMOP::mark_if_leader {
my $op = shift;
- if ($op->ppaddr ne "pp_pushre") {
+ if ($op->name ne "pushre") {
my $replroot = $op->pmreplroot;
if ($$replroot) {
mark_leader($replroot);
diff --git a/ext/B/B/Bytecode.pm b/ext/B/B/Bytecode.pm
index 1bf436871b..a9e5d55573 100644
--- a/ext/B/B/Bytecode.pm
+++ b/ext/B/B/Bytecode.pm
@@ -193,7 +193,7 @@ sub B::OP::bytecode {
ldop($ix);
print "op_next $nextix\n";
print "op_sibling $sibix\n" unless $strip_syntree;
- printf "op_type %s\t# %d\n", $op->ppaddr, $type;
+ printf "op_type %s\t# %d\n", "pp_" . $op->name, $type;
printf("op_seq %d\n", $op->seq) unless $omit_seq;
if ($type || !$compress_nullops) {
printf "op_targ %d\nop_flags 0x%x\nop_private 0x%x\n",
@@ -243,7 +243,7 @@ sub B::PVOP::bytecode {
# This would be easy except that OP_TRANS uses a PVOP to store an
# endian-dependent array of 256 shorts instead of a plain string.
#
- if ($op->ppaddr eq "pp_trans") {
+ if ($op->name eq "trans") {
my @shorts = unpack("s256", $pv); # assembler handles endianness
print "op_pv_tr ", join(",", @shorts), "\n";
} else {
@@ -310,7 +310,7 @@ sub B::PMOP::bytecode {
my $replroot = $op->pmreplroot;
my $replrootix = $replroot->objix;
my $replstartix = $op->pmreplstart->objix;
- my $ppaddr = $op->ppaddr;
+ my $opname = $op->name;
# pmnext is corrupt in some PMOPs (see misc.t for example)
#my $pmnextix = $op->pmnext->objix;
@@ -318,14 +318,14 @@ sub B::PMOP::bytecode {
# OP_PUSHRE (a mutated version of OP_MATCH for the regexp
# argument to a split) stores a GV in op_pmreplroot instead
# of a substitution syntax tree. We don't want to walk that...
- if ($ppaddr eq "pp_pushre") {
+ if ($opname eq "pushre") {
$replroot->bytecode;
} else {
walkoptree($replroot, "bytecode");
}
}
$op->B::LISTOP::bytecode;
- if ($ppaddr eq "pp_pushre") {
+ if ($opname eq "pushre") {
printf "op_pmreplrootgv $replrootix\n";
} else {
print "op_pmreplroot $replrootix\nop_pmreplstart $replstartix\n";
diff --git a/ext/B/B/C.pm b/ext/B/B/C.pm
index c7b9d2a67f..dd4db037a7 100644
--- a/ext/B/B/C.pm
+++ b/ext/B/B/C.pm
@@ -319,7 +319,7 @@ sub B::PMOP::save {
# OP_PUSHRE (a mutated version of OP_MATCH for the regexp
# argument to a split) stores a GV in op_pmreplroot instead
# of a substitution syntax tree. We don't want to walk that...
- if ($ppaddr eq "pp_pushre") {
+ if ($op->name eq "pushre") {
$gvsym = $replroot->save;
# warn "PMOP::save saving a pp_pushre with GV $gvsym\n"; # debug
$replrootfield = 0;
@@ -1031,8 +1031,8 @@ sub output_boilerplate {
#include "perl.h"
/* Workaround for mapstart: the only op which needs a different ppaddr */
-#undef pp_mapstart
-#define pp_mapstart pp_grepstart
+#undef Perl_pp_mapstart
+#define Perl_pp_mapstart Perl_pp_grepstart
#define XS_DynaLoader_boot_DynaLoader boot_DynaLoader
EXTERN_C void boot_DynaLoader (CV* cv);
diff --git a/ext/B/B/CC.pm b/ext/B/B/CC.pm
index f912c413f2..30882dd48f 100644
--- a/ext/B/B/CC.pm
+++ b/ext/B/B/CC.pm
@@ -54,7 +54,7 @@ my %ignore_op; # Hash of ops which do nothing except returning op_next
my %need_curcop; # Hash of ops which need PL_curcop
BEGIN {
- foreach (qw(pp_scalar pp_regcmaybe pp_lineseq pp_scope pp_null)) {
+ foreach (qw(pp_setstate pp_scalar pp_regcmaybe pp_lineseq pp_scope pp_null)) {
$ignore_op{$_} = 1;
}
}
@@ -95,7 +95,7 @@ sub init_hash { map { $_ => 1 } @_ }
%need_curcop = init_hash qw(pp_rv2gv pp_bless pp_repeat pp_sort pp_caller
pp_reset pp_rv2cv pp_entereval pp_require pp_dofile
pp_entertry pp_enterloop pp_enteriter pp_entersub
- pp_enter);
+ pp_enter pp_method);
sub debug {
if ($debug_runtime) {
@@ -1428,7 +1428,7 @@ sub pp_substcont {
sub default_pp {
my $op = shift;
- my $ppname = $op->ppaddr;
+ my $ppname = "pp_" . $op->name;
if ($curcop and $need_curcop{$ppname}){
$curcop->write_back;
}
@@ -1445,7 +1445,7 @@ sub default_pp {
sub compile_op {
my $op = shift;
- my $ppname = $op->ppaddr;
+ my $ppname = "pp_" . $op->name;
if (exists $ignore_op{$ppname}) {
return $op->next;
}
diff --git a/ext/B/B/Deparse.pm b/ext/B/B/Deparse.pm
index 0eb319ecd0..b983d12b99 100644
--- a/ext/B/B/Deparse.pm
+++ b/ext/B/B/Deparse.pm
@@ -243,15 +243,15 @@ sub walk_sub {
return if !$op or null $op;
walk_tree($op, sub {
my $op = shift;
- if ($op->ppaddr eq "pp_gv") {
- if ($op->next->ppaddr eq "pp_entersub") {
+ if ($op->name eq "gv") {
+ if ($op->next->name eq "entersub") {
next if $self->{'subs_done'}{$ {$op->gv}}++;
next if class($op->gv->CV) eq "SPECIAL";
$self->todo($op->gv, $op->gv->CV, 0);
$self->walk_sub($op->gv->CV);
- } elsif ($op->next->ppaddr eq "pp_enterwrite"
- or ($op->next->ppaddr eq "pp_rv2gv"
- and $op->next->next->ppaddr eq "pp_enterwrite")) {
+ } elsif ($op->next->name eq "enterwrite"
+ or ($op->next->name eq "rv2gv"
+ and $op->next->next->name eq "enterwrite")) {
next if $self->{'forms_done'}{$ {$op->gv}}++;
next if class($op->gv->FORM) eq "SPECIAL";
$self->todo($op->gv, $op->gv->FORM, 1);
@@ -384,8 +384,8 @@ sub deparse {
my $self = shift;
my($op, $cx) = @_;
# cluck if class($op) eq "NULL";
-# return $self->$ {\$op->ppaddr}($op, $cx);
- my $meth = $op->ppaddr;
+# return $self->$ {\("pp_" . $op->name)}($op, $cx);
+ my $meth = "pp_" . $op->name;
return $self->$meth($op, $cx);
}
@@ -461,36 +461,36 @@ sub deparse_format {
sub is_scope {
my $op = shift;
- return $op->ppaddr eq "pp_leave" || $op->ppaddr eq "pp_scope"
- || $op->ppaddr eq "pp_lineseq"
- || ($op->ppaddr eq "pp_null" && class($op) eq "UNOP"
- && (is_scope($op->first) || $op->first->ppaddr eq "pp_enter"));
+ return $op->name eq "leave" || $op->name eq "scope"
+ || $op->name eq "lineseq"
+ || ($op->name eq "null" && class($op) eq "UNOP"
+ && (is_scope($op->first) || $op->first->name eq "enter"));
}
sub is_state {
- my $name = $_[0]->ppaddr;
- return $name eq "pp_nextstate" || $name eq "pp_dbstate";
+ my $name = $_[0]->name;
+ return $name eq "nextstate" || $name eq "dbstate" || $name eq "setstate";
}
sub is_miniwhile { # check for one-line loop (`foo() while $y--')
my $op = shift;
return (!null($op) and null($op->sibling)
- and $op->ppaddr eq "pp_null" and class($op) eq "UNOP"
- and (($op->first->ppaddr =~ /^pp_(and|or)$/
- and $op->first->first->sibling->ppaddr eq "pp_lineseq")
- or ($op->first->ppaddr eq "pp_lineseq"
+ and $op->name eq "null" and class($op) eq "UNOP"
+ and (($op->first->name =~ /^(and|or)$/
+ and $op->first->first->sibling->name eq "lineseq")
+ or ($op->first->name eq "lineseq"
and not null $op->first->first->sibling
- and $op->first->first->sibling->ppaddr eq "pp_unstack")
+ and $op->first->first->sibling->name eq "unstack")
));
}
sub is_scalar {
my $op = shift;
- return ($op->ppaddr eq "pp_rv2sv" or
- $op->ppaddr eq "pp_padsv" or
- $op->ppaddr eq "pp_gv" or # only in array/hash constructs
+ return ($op->name eq "rv2sv" or
+ $op->name eq "padsv" or
+ $op->name eq "gv" or # only in array/hash constructs
$op->flags & OPf_KIDS && !null($op->first)
- && $op->first->ppaddr eq "pp_gvsv");
+ && $op->first->name eq "gvsv");
}
sub maybe_parens {
@@ -661,10 +661,10 @@ sub pp_leave {
$kid = $op->first->sibling; # skip enter
if (is_miniwhile($kid)) {
my $top = $kid->first;
- my $name = $top->ppaddr;
- if ($name eq "pp_and") {
+ my $name = $top->name;
+ if ($name eq "and") {
$name = "while";
- } elsif ($name eq "pp_or") {
+ } elsif ($name eq "or") {
$name = "until";
} else { # no conditional -> while 1 or until 0
return $self->deparse($top->first, 1) . " while 1";
@@ -764,6 +764,7 @@ sub pp_nextstate {
}
sub pp_dbstate { pp_nextstate(@_) }
+sub pp_setstate { pp_nextstate(@_) }
sub pp_unstack { return "" } # see also leaveloop
@@ -823,7 +824,7 @@ sub pp_complement { pfixop(@_, "~", 21) }
sub pp_negate {
my $self = shift;
my($op, $cx) = @_;
- if ($op->first->ppaddr =~ /^pp_(i_)?negate$/) {
+ if ($op->first->name =~ /^(i_)?negate$/) {
# avoid --$x
$self->pfixop($op, $cx, "-", 21.5);
} else {
@@ -960,7 +961,7 @@ sub pp_delete {
sub pp_require {
my $self = shift;
my($op, $cx) = @_;
- if (class($op) eq "UNOP" and $op->first->ppaddr eq "pp_const"
+ if (class($op) eq "UNOP" and $op->first->name eq "const"
and $op->first->private & OPpCONST_BARE)
{
my $name = $op->first->sv->PV;
@@ -994,11 +995,11 @@ sub pp_refgen {
my $self = shift;
my($op, $cx) = @_;
my $kid = $op->first;
- if ($kid->ppaddr eq "pp_null") {
+ if ($kid->name eq "null") {
$kid = $kid->first;
- if ($kid->ppaddr eq "pp_anonlist" || $kid->ppaddr eq "pp_anonhash") {
- my($pre, $post) = @{{"pp_anonlist" => ["[","]"],
- "pp_anonhash" => ["{","}"]}->{$kid->ppaddr}};
+ if ($kid->name eq "anonlist" || $kid->name eq "anonhash") {
+ my($pre, $post) = @{{"anonlist" => ["[","]"],
+ "anonhash" => ["{","}"]}->{$kid->name}};
my($expr, @exprs);
$kid = $kid->first->sibling; # skip pushmark
for (; !null($kid); $kid = $kid->sibling) {
@@ -1007,18 +1008,18 @@ sub pp_refgen {
}
return $pre . join(", ", @exprs) . $post;
} elsif (!null($kid->sibling) and
- $kid->sibling->ppaddr eq "pp_anoncode") {
+ $kid->sibling->name eq "anoncode") {
return "sub " .
$self->deparse_sub($self->padval($kid->sibling->targ));
- } elsif ($kid->ppaddr eq "pp_pushmark") {
- my $sib_ppaddr = $kid->sibling->ppaddr;
- if ($sib_ppaddr =~ /^pp_(pad|rv2)[ah]v$/
+ } elsif ($kid->name eq "pushmark") {
+ my $sib_name = $kid->sibling->name;
+ if ($sib_name =~ /^(pad|rv2)[ah]v$/
and not $kid->sibling->flags & OPf_REF)
{
# The @a in \(@a) isn't in ref context, but only when the
# parens are there.
return "\\(" . $self->deparse($kid->sibling, 1) . ")";
- } elsif ($sib_ppaddr eq 'pp_entersub') {
+ } elsif ($sib_name eq 'entersub') {
my $text = $self->deparse($kid->sibling, 1);
# Always show parens for \(&func()), but only with -p otherwise
$text = "($text)" if $self->{'parens'}
@@ -1036,7 +1037,7 @@ sub pp_readline {
my $self = shift;
my($op, $cx) = @_;
my $kid = $op->first;
- $kid = $kid->first if $kid->ppaddr eq "pp_rv2gv"; # <$fh>
+ $kid = $kid->first if $kid->name eq "rv2gv"; # <$fh>
return "<" . $self->deparse($kid, 1) . ">";
}
@@ -1132,13 +1133,13 @@ my(%left, %right);
sub assoc_class {
my $op = shift;
- my $name = $op->ppaddr;
- if ($name eq "pp_concat" and $op->first->ppaddr eq "pp_concat") {
+ my $name = $op->name;
+ if ($name eq "concat" and $op->first->name eq "concat") {
# avoid spurious `=' -- see comment in pp_concat
- return "pp_concat";
+ return "concat";
}
- if ($name eq "pp_null" and class($op) eq "UNOP"
- and $op->first->ppaddr =~ /^pp_(and|x?or)$/
+ if ($name eq "null" and class($op) eq "UNOP"
+ and $op->first->name =~ /^(and|x?or)$/
and null $op->first->sibling)
{
# Like all conditional constructs, OP_ANDs and OP_ORs are topped
@@ -1155,18 +1156,18 @@ sub assoc_class {
# $a + $b + $c is equivalent to ($a + $b) + $c
BEGIN {
- %left = ('pp_multiply' => 19, 'pp_i_multiply' => 19,
- 'pp_divide' => 19, 'pp_i_divide' => 19,
- 'pp_modulo' => 19, 'pp_i_modulo' => 19,
- 'pp_repeat' => 19,
- 'pp_add' => 18, 'pp_i_add' => 18,
- 'pp_subtract' => 18, 'pp_i_subtract' => 18,
- 'pp_concat' => 18,
- 'pp_left_shift' => 17, 'pp_right_shift' => 17,
- 'pp_bit_and' => 13,
- 'pp_bit_or' => 12, 'pp_bit_xor' => 12,
- 'pp_and' => 3,
- 'pp_or' => 2, 'pp_xor' => 2,
+ %left = ('multiply' => 19, 'i_multiply' => 19,
+ 'divide' => 19, 'i_divide' => 19,
+ 'modulo' => 19, 'i_modulo' => 19,
+ 'repeat' => 19,
+ 'add' => 18, 'i_add' => 18,
+ 'subtract' => 18, 'i_subtract' => 18,
+ 'concat' => 18,
+ 'left_shift' => 17, 'right_shift' => 17,
+ 'bit_and' => 13,
+ 'bit_or' => 12, 'bit_xor' => 12,
+ 'and' => 3,
+ 'or' => 2, 'xor' => 2,
);
}
@@ -1186,20 +1187,20 @@ sub deparse_binop_left {
# $a = $b = $c is equivalent to $a = ($b = $c)
BEGIN {
- %right = ('pp_pow' => 22,
- 'pp_sassign=' => 7, 'pp_aassign=' => 7,
- 'pp_multiply=' => 7, 'pp_i_multiply=' => 7,
- 'pp_divide=' => 7, 'pp_i_divide=' => 7,
- 'pp_modulo=' => 7, 'pp_i_modulo=' => 7,
- 'pp_repeat=' => 7,
- 'pp_add=' => 7, 'pp_i_add=' => 7,
- 'pp_subtract=' => 7, 'pp_i_subtract=' => 7,
- 'pp_concat=' => 7,
- 'pp_left_shift=' => 7, 'pp_right_shift=' => 7,
- 'pp_bit_and=' => 7,
- 'pp_bit_or=' => 7, 'pp_bit_xor=' => 7,
- 'pp_andassign' => 7,
- 'pp_orassign' => 7,
+ %right = ('pow' => 22,
+ 'sassign=' => 7, 'aassign=' => 7,
+ 'multiply=' => 7, 'i_multiply=' => 7,
+ 'divide=' => 7, 'i_divide=' => 7,
+ 'modulo=' => 7, 'i_modulo=' => 7,
+ 'repeat=' => 7,
+ 'add=' => 7, 'i_add=' => 7,
+ 'subtract=' => 7, 'i_subtract=' => 7,
+ 'concat=' => 7,
+ 'left_shift=' => 7, 'right_shift=' => 7,
+ 'bit_and=' => 7,
+ 'bit_or=' => 7, 'bit_xor=' => 7,
+ 'andassign' => 7,
+ 'orassign' => 7,
);
}
@@ -1287,7 +1288,7 @@ sub pp_concat {
my $right = $op->last;
my $eq = "";
my $prec = 18;
- if ($op->flags & OPf_STACKED and $op->first->ppaddr ne "pp_concat") {
+ if ($op->flags & OPf_STACKED and $op->first->name ne "concat") {
$eq = "=";
$prec = 7;
}
@@ -1589,15 +1590,15 @@ sub pp_list {
# This assumes that no other private flags equal 128, and that
# OPs that store things other than flags in their op_private,
# like OP_AELEMFAST, won't be immediate children of a list.
- unless ($lop->private & OPpLVAL_INTRO or $lop->ppaddr eq "pp_undef")
+ unless ($lop->private & OPpLVAL_INTRO or $lop->name eq "undef")
{
$local = ""; # or not
last;
}
- if ($lop->ppaddr =~ /^pp_pad[ash]v$/) { # my()
+ if ($lop->name =~ /^pad[ash]v$/) { # my()
($local = "", last) if $local eq "local";
$local = "my";
- } elsif ($lop->ppaddr ne "pp_undef") { # local()
+ } elsif ($lop->name ne "undef") { # local()
($local = "", last) if $local eq "my";
$local = "local";
}
@@ -1606,7 +1607,7 @@ sub pp_list {
return $self->deparse($kid, $cx) if null $kid->sibling and not $local;
for (; !null($kid); $kid = $kid->sibling) {
if ($local) {
- if (class($kid) eq "UNOP" and $kid->first->ppaddr eq "pp_gvsv") {
+ if (class($kid) eq "UNOP" and $kid->first->name eq "gvsv") {
$lop = $kid->first;
} else {
$lop = $kid;
@@ -1641,10 +1642,10 @@ sub pp_cond_expr {
}
$cond = $self->deparse($cond, 1);
$true = $self->deparse($true, 0);
- if ($false->ppaddr eq "pp_lineseq") { # braces w/o scope => elsif
+ if ($false->name eq "lineseq") { # braces w/o scope => elsif
my $head = "if ($cond) {\n\t$true\n\b}";
my @elsifs;
- while (!null($false) and $false->ppaddr eq "pp_lineseq") {
+ while (!null($false) and $false->name eq "lineseq") {
my $newop = $false->first->sibling->first;
my $newcond = $newop->first;
my $newtrue = $newcond->sibling;
@@ -1673,13 +1674,13 @@ sub pp_leaveloop {
local($self->{'curstash'}) = $self->{'curstash'};
my $head = "";
my $bare = 0;
- if ($kid->ppaddr eq "pp_lineseq") { # bare or infinite loop
+ if ($kid->name eq "lineseq") { # bare or infinite loop
if (is_state $kid->last) { # infinite
$head = "for (;;) "; # shorter than while (1)
} else {
$bare = 1;
}
- } elsif ($enter->ppaddr eq "pp_enteriter") { # foreach
+ } elsif ($enter->name eq "enteriter") { # foreach
my $ary = $enter->first->sibling; # first was pushmark
my $var = $ary->sibling;
if ($enter->flags & OPf_STACKED
@@ -1704,20 +1705,20 @@ sub pp_leaveloop {
$var = "my " . $var;
}
}
- } elsif ($var->ppaddr eq "pp_rv2gv") {
+ } elsif ($var->name eq "rv2gv") {
$var = $self->pp_rv2sv($var, 1);
- } elsif ($var->ppaddr eq "pp_gv") {
+ } elsif ($var->name eq "gv") {
$var = "\$" . $self->deparse($var, 1);
}
$head = "foreach $var ($ary) ";
$kid = $kid->first->first->sibling; # skip OP_AND and OP_ITER
- } elsif ($kid->ppaddr eq "pp_null") { # while/until
+ } elsif ($kid->name eq "null") { # while/until
$kid = $kid->first;
- my $name = {"pp_and" => "while", "pp_or" => "until"}
- ->{$kid->ppaddr};
+ my $name = {"and" => "while", "or" => "until"}
+ ->{$kid->name};
$head = "$name (" . $self->deparse($kid->first, 1) . ") ";
$kid = $kid->first->sibling;
- } elsif ($kid->ppaddr eq "pp_stub") { # bare and empty
+ } elsif ($kid->name eq "stub") { # bare and empty
return "{;}"; # {} could be a hashref
}
# The third-to-last kid is the continue block if the pointer used
@@ -1782,20 +1783,20 @@ sub pp_null {
if (class($op) eq "OP") {
# old value is lost
return $self->{'ex_const'} if $op->targ == OP_CONST;
- } elsif ($op->first->ppaddr eq "pp_pushmark") {
+ } elsif ($op->first->name eq "pushmark") {
return $self->pp_list($op, $cx);
- } elsif ($op->first->ppaddr eq "pp_enter") {
+ } elsif ($op->first->name eq "enter") {
return $self->pp_leave($op, $cx);
} elsif ($op->targ == OP_STRINGIFY) {
return $self->dquote($op);
} elsif (!null($op->first->sibling) and
- $op->first->sibling->ppaddr eq "pp_readline" and
+ $op->first->sibling->name eq "readline" and
$op->first->sibling->flags & OPf_STACKED) {
return $self->maybe_parens($self->deparse($op->first, 7) . " = "
. $self->deparse($op->first->sibling, 7),
$cx, 7);
} elsif (!null($op->first->sibling) and
- $op->first->sibling->ppaddr eq "pp_trans" and
+ $op->first->sibling->name eq "trans" and
$op->first->sibling->flags & OPf_STACKED) {
return $self->maybe_parens($self->deparse($op->first, 20) . " =~ "
. $self->deparse($op->first->sibling, 20),
@@ -1887,7 +1888,7 @@ sub pp_rv2gv { maybe_local(@_, rv2x(@_, "*")) }
sub pp_av2arylen {
my $self = shift;
my($op, $cx) = @_;
- if ($op->first->ppaddr eq "pp_padav") {
+ if ($op->first->name eq "padav") {
return $self->maybe_local($op, $cx, '$#' . $self->padany($op->first));
} else {
return $self->maybe_local($op, $cx,
@@ -1902,7 +1903,7 @@ sub pp_rv2av {
my $self = shift;
my($op, $cx) = @_;
my $kid = $op->first;
- if ($kid->ppaddr eq "pp_const") { # constant list
+ if ($kid->name eq "const") { # constant list
my $av = $kid->sv;
return "(" . join(", ", map(const($_), $av->ARRAY)) . ")";
} else {
@@ -1915,10 +1916,10 @@ sub elem {
my $self = shift;
my ($op, $cx, $left, $right, $padname) = @_;
my($array, $idx) = ($op->first, $op->first->sibling);
- unless ($array->ppaddr eq $padname) { # Maybe this has been fixed
+ unless ($array->name eq $padname) { # Maybe this has been fixed
$array = $array->first; # skip rv2av (or ex-rv2av in _53+)
}
- if ($array->ppaddr eq $padname) {
+ if ($array->name eq $padname) {
$array = $self->padany($array);
} elsif (is_scope($array)) { # ${expr}[0]
$array = "{" . $self->deparse($array, 0) . "}";
@@ -1927,7 +1928,7 @@ sub elem {
} else {
# $x[20][3]{hi} or expr->[20]
my $arrow;
- $arrow = "->" if $array->ppaddr !~ /^pp_[ah]elem$/;
+ $arrow = "->" if $array->name !~ /^[ah]elem$/;
return $self->deparse($array, 24) . $arrow .
$left . $self->deparse($idx, 1) . $right;
}
@@ -1935,15 +1936,15 @@ sub elem {
return "\$" . $array . $left . $idx . $right;
}
-sub pp_aelem { maybe_local(@_, elem(@_, "[", "]", "pp_padav")) }
-sub pp_helem { maybe_local(@_, elem(@_, "{", "}", "pp_padhv")) }
+sub pp_aelem { maybe_local(@_, elem(@_, "[", "]", "padav")) }
+sub pp_helem { maybe_local(@_, elem(@_, "{", "}", "padhv")) }
sub pp_gelem {
my $self = shift;
my($op, $cx) = @_;
my($glob, $part) = ($op->first, $op->last);
$glob = $glob->first; # skip rv2gv
- $glob = $glob->first if $glob->ppaddr eq "pp_rv2gv"; # this one's a bug
+ $glob = $glob->first if $glob->name eq "rv2gv"; # this one's a bug
my $scope = is_scope($glob);
$glob = $self->deparse($glob, 0);
$part = $self->deparse($part, 1);
@@ -1963,16 +1964,16 @@ sub slice {
}
$array = $last;
$array = $array->first
- if $array->ppaddr eq $regname or $array->ppaddr eq "pp_null";
+ if $array->name eq $regname or $array->name eq "null";
if (is_scope($array)) {
$array = "{" . $self->deparse($array, 0) . "}";
- } elsif ($array->ppaddr eq $padname) {
+ } elsif ($array->name eq $padname) {
$array = $self->padany($array);
} else {
$array = $self->deparse($array, 24);
}
$kid = $op->first->sibling; # skip pushmark
- if ($kid->ppaddr eq "pp_list") {
+ if ($kid->name eq "list") {
$kid = $kid->first->sibling; # skip list, pushmark
for (; !null $kid; $kid = $kid->sibling) {
push @elems, $self->deparse($kid, 6);
@@ -1985,9 +1986,9 @@ sub slice {
}
sub pp_aslice { maybe_local(@_, slice(@_, "[", "]",
- "pp_rv2av", "pp_padav")) }
+ "rv2av", "padav")) }
sub pp_hslice { maybe_local(@_, slice(@_, "{", "}",
- "pp_rv2hv", "pp_padhv")) }
+ "rv2hv", "padhv")) }
sub pp_lslice {
my $self = shift;
@@ -2015,7 +2016,7 @@ sub method {
my($op, $cx) = @_;
my $kid = $op->first->sibling; # skip pushmark
my($meth, $obj, @exprs);
- if ($kid->ppaddr eq "pp_list" and want_list $kid) {
+ if ($kid->name eq "list" and want_list $kid) {
# When an indirect object isn't a bareword but the args are in
# parens, the parens aren't part of the method syntax (the LLAFR
# doesn't apply), but they make a list with OPf_PARENS set that
@@ -2043,7 +2044,7 @@ sub method {
$meth = $kid->first;
}
$obj = $self->deparse($obj, 24);
- if ($meth->ppaddr eq "pp_const") {
+ if ($meth->name eq "const") {
$meth = $meth->sv->PV; # needs to be bare
} else {
$meth = $self->deparse($meth, 1);
@@ -2087,17 +2088,17 @@ sub check_proto {
return "&";
}
} elsif ($chr eq "&") {
- if ($arg->ppaddr =~ /pp_(s?refgen|undef)/) {
+ if ($arg->name =~ /^(s?refgen|undef)$/) {
push @reals, $self->deparse($arg, 6);
} else {
return "&";
}
} elsif ($chr eq "*") {
- if ($arg->ppaddr =~ /^pp_s?refgen$/
- and $arg->first->first->ppaddr eq "pp_rv2gv")
+ if ($arg->name =~ /^s?refgen$/
+ and $arg->first->first->name eq "rv2gv")
{
$real = $arg->first->first; # skip refgen, null
- if ($real->first->ppaddr eq "pp_gv") {
+ if ($real->first->name eq "gv") {
push @reals, $self->deparse($real, 6);
} else {
push @reals, $self->deparse($real->first, 6);
@@ -2107,19 +2108,19 @@ sub check_proto {
}
} elsif (substr($chr, 0, 1) eq "\\") {
$chr = substr($chr, 1);
- if ($arg->ppaddr =~ /^pp_s?refgen$/ and
+ if ($arg->name =~ /^s?refgen$/ and
!null($real = $arg->first) and
($chr eq "\$" && is_scalar($real->first)
or ($chr eq "\@"
- && $real->first->sibling->ppaddr
- =~ /^pp_(rv2|pad)av$/)
+ && $real->first->sibling->name
+ =~ /^(rv2|pad)av$/)
or ($chr eq "%"
- && $real->first->sibling->ppaddr
- =~ /^pp_(rv2|pad)hv$/)
+ && $real->first->sibling->name
+ =~ /^(rv2|pad)hv$/)
#or ($chr eq "&" # This doesn't work
- # && $real->first->ppaddr eq "pp_rv2cv")
+ # && $real->first->name eq "rv2cv")
or ($chr eq "*"
- && $real->first->ppaddr eq "pp_rv2gv")))
+ && $real->first->name eq "rv2gv")))
{
push @reals, $self->deparse($real, 6);
} else {
@@ -2155,7 +2156,7 @@ sub pp_entersub {
if (is_scope($kid)) {
$amper = "&";
$kid = "{" . $self->deparse($kid, 0) . "}";
- } elsif ($kid->first->ppaddr eq "pp_gv") {
+ } elsif ($kid->first->name eq "gv") {
my $gv = $kid->first->gv;
if (class($gv->CV) ne "SPECIAL") {
$proto = $gv->CV->PV if $gv->CV->FLAGS & SVf_POK;
@@ -2312,22 +2313,22 @@ sub pp_const {
sub dq {
my $self = shift;
my $op = shift;
- my $type = $op->ppaddr;
- if ($type eq "pp_const") {
+ my $type = $op->name;
+ if ($type eq "const") {
return uninterp(escape_str(unback($op->sv->PV)));
- } elsif ($type eq "pp_concat") {
+ } elsif ($type eq "concat") {
return $self->dq($op->first) . $self->dq($op->last);
- } elsif ($type eq "pp_uc") {
+ } elsif ($type eq "uc") {
return '\U' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_lc") {
+ } elsif ($type eq "lc") {
return '\L' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_ucfirst") {
+ } elsif ($type eq "ucfirst") {
return '\u' . $self->dq($op->first->sibling);
- } elsif ($type eq "pp_lcfirst") {
+ } elsif ($type eq "lcfirst") {
return '\l' . $self->dq($op->first->sibling);
- } elsif ($type eq "pp_quotemeta") {
+ } elsif ($type eq "quotemeta") {
return '\Q' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_join") {
+ } elsif ($type eq "join") {
return $self->deparse($op->last, 26); # was join($", @ary)
} else {
return $self->deparse($op, 26);
@@ -2600,22 +2601,22 @@ sub pp_trans {
sub re_dq {
my $self = shift;
my $op = shift;
- my $type = $op->ppaddr;
- if ($type eq "pp_const") {
+ my $type = $op->name;
+ if ($type eq "const") {
return uninterp($op->sv->PV);
- } elsif ($type eq "pp_concat") {
+ } elsif ($type eq "concat") {
return $self->re_dq($op->first) . $self->re_dq($op->last);
- } elsif ($type eq "pp_uc") {
+ } elsif ($type eq "uc") {
return '\U' . $self->re_dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_lc") {
+ } elsif ($type eq "lc") {
return '\L' . $self->re_dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_ucfirst") {
+ } elsif ($type eq "ucfirst") {
return '\u' . $self->re_dq($op->first->sibling);
- } elsif ($type eq "pp_lcfirst") {
+ } elsif ($type eq "lcfirst") {
return '\l' . $self->re_dq($op->first->sibling);
- } elsif ($type eq "pp_quotemeta") {
+ } elsif ($type eq "quotemeta") {
return '\Q' . $self->re_dq($op->first->sibling) . '\E';
- } elsif ($type eq "pp_join") {
+ } elsif ($type eq "join") {
return $self->deparse($op->last, 26); # was join($", @ary)
} else {
return $self->deparse($op, 26);
@@ -2626,8 +2627,8 @@ sub pp_regcomp {
my $self = shift;
my($op, $cx) = @_;
my $kid = $op->first;
- $kid = $kid->first if $kid->ppaddr eq "pp_regcmaybe";
- $kid = $kid->first if $kid->ppaddr eq "pp_regcreset";
+ $kid = $kid->first if $kid->name eq "regcmaybe";
+ $kid = $kid->first if $kid->name eq "regcreset";
return $self->re_dq($kid);
}
@@ -2725,7 +2726,7 @@ sub pp_subst {
$kid = $kid->sibling;
} else {
$repl = $op->pmreplroot->first; # skip substcont
- while ($repl->ppaddr eq "pp_entereval") {
+ while ($repl->name eq "entereval") {
$repl = $repl->first;
$flags .= "e";
}
diff --git a/ext/B/B/Lint.pm b/ext/B/B/Lint.pm
index 9d3b80a596..67abe3d145 100644
--- a/ext/B/B/Lint.pm
+++ b/ext/B/B/Lint.pm
@@ -129,8 +129,8 @@ my %check;
my %implies_ok_context;
BEGIN {
map($implies_ok_context{$_}++,
- qw(pp_scalar pp_av2arylen pp_aelem pp_aslice pp_helem pp_hslice
- pp_keys pp_values pp_hslice pp_defined pp_undef pp_delete));
+ qw(scalar av2arylen aelem aslice helem hslice
+ keys values hslice defined undef delete));
}
# Lint checks turned on by default
@@ -171,7 +171,7 @@ sub B::OP::lint {}
sub B::COP::lint {
my $op = shift;
- if ($op->ppaddr eq "pp_nextstate") {
+ if ($op->name eq "nextstate") {
$file = $op->filegv->SV->PV;
$line = $op->line;
$curstash = $op->stash->NAME;
@@ -180,24 +180,24 @@ sub B::COP::lint {
sub B::UNOP::lint {
my $op = shift;
- my $ppaddr = $op->ppaddr;
- if ($check{context} && ($ppaddr eq "pp_rv2av" || $ppaddr eq "pp_rv2hv")) {
+ my $opname = $op->name;
+ if ($check{context} && ($opname eq "rv2av" || $opname eq "rv2hv")) {
my $parent = parents->[0];
- my $pname = $parent->ppaddr;
+ my $pname = $parent->name;
return if gimme($op) || $implies_ok_context{$pname};
# Two special cases to deal with: "foreach (@foo)" and "delete $a{$b}"
# null out the parent so we have to check for a parent of pp_null and
# a grandparent of pp_enteriter or pp_delete
- if ($pname eq "pp_null") {
- my $gpname = parents->[1]->ppaddr;
- return if $gpname eq "pp_enteriter" || $gpname eq "pp_delete";
+ if ($pname eq "null") {
+ my $gpname = parents->[1]->name;
+ return if $gpname eq "enteriter" || $gpname eq "delete";
}
warning("Implicit scalar context for %s in %s",
- $ppaddr eq "pp_rv2av" ? "array" : "hash", $parent->desc);
+ $opname eq "rv2av" ? "array" : "hash", $parent->desc);
}
- if ($check{private_names} && $ppaddr eq "pp_method") {
+ if ($check{private_names} && $opname eq "method") {
my $methop = $op->first;
- if ($methop->ppaddr eq "pp_const") {
+ if ($methop->name eq "const") {
my $method = $methop->sv->PV;
if ($method =~ /^_/ && !defined(&{"$curstash\::$method"})) {
warning("Illegal reference to private method name $method");
@@ -209,14 +209,12 @@ sub B::UNOP::lint {
sub B::PMOP::lint {
my $op = shift;
if ($check{implicit_read}) {
- my $ppaddr = $op->ppaddr;
- if ($ppaddr eq "pp_match" && !($op->flags & OPf_STACKED)) {
+ if ($op->name eq "match" && !($op->flags & OPf_STACKED)) {
warning('Implicit match on $_');
}
}
if ($check{implicit_write}) {
- my $ppaddr = $op->ppaddr;
- if ($ppaddr eq "pp_subst" && !($op->flags & OPf_STACKED)) {
+ if ($op->name eq "subst" && !($op->flags & OPf_STACKED)) {
warning('Implicit substitution on $_');
}
}
@@ -225,10 +223,9 @@ sub B::PMOP::lint {
sub B::LOOP::lint {
my $op = shift;
if ($check{implicit_read} || $check{implicit_write}) {
- my $ppaddr = $op->ppaddr;
- if ($ppaddr eq "pp_enteriter") {
+ if ($op->name eq "enteriter") {
my $last = $op->last;
- if ($last->ppaddr eq "pp_gv" && $last->gv->NAME eq "_") {
+ if ($last->name eq "gv" && $last->gv->NAME eq "_") {
warning('Implicit use of $_ in foreach');
}
}
@@ -237,22 +234,24 @@ sub B::LOOP::lint {
sub B::GVOP::lint {
my $op = shift;
- if ($check{dollar_underscore} && $op->ppaddr eq "pp_gvsv"
+ if ($check{dollar_underscore} && $op->name eq "gvsv"
&& $op->gv->NAME eq "_")
{
warning('Use of $_');
}
if ($check{private_names}) {
- my $ppaddr = $op->ppaddr;
+ my $opname = $op->name;
my $gv = $op->gv;
- if (($ppaddr eq "pp_gv" || $ppaddr eq "pp_gvsv")
+ if (($opname eq "gv" || $opname eq "gvsv")
&& $gv->NAME =~ /^_./ && $gv->STASH->NAME ne $curstash)
{
warning('Illegal reference to private name %s', $gv->NAME);
}
}
if ($check{undefined_subs}) {
- if ($op->ppaddr eq "pp_gv" && $op->next->ppaddr eq "pp_entersub") {
+ if ($op->name eq "gv"
+ && $op->next->name eq "entersub")
+ {
my $gv = $op->gv;
my $subname = $gv->STASH->NAME . "::" . $gv->NAME;
no strict 'refs';
@@ -262,7 +261,7 @@ sub B::GVOP::lint {
}
}
}
- if ($check{regexp_variables} && $op->ppaddr eq "pp_gvsv") {
+ if ($check{regexp_variables} && $op->name eq "gvsv") {
my $name = $op->gv->NAME;
if ($name =~ /^[&'`]$/) {
warning('Use of regexp variable $%s', $name);
diff --git a/ext/B/B/Xref.pm b/ext/B/B/Xref.pm
index 16f25ff032..06159a43c3 100644
--- a/ext/B/B/Xref.pm
+++ b/ext/B/B/Xref.pm
@@ -153,23 +153,24 @@ sub xref {
last if $done{$$op}++;
warn sprintf("top = [%s, %s, %s]\n", @$top) if $debug_top;
warn peekop($op), "\n" if $debug_op;
- my $ppname = $op->ppaddr;
- if ($ppname =~ /^pp_(or|and|mapwhile|grepwhile|range|cond_expr)$/) {
+ my $opname = $op->name;
+ if ($opname =~ /^(or|and|mapwhile|grepwhile|range|cond_expr)$/) {
xref($op->other);
- } elsif ($ppname eq "pp_match" || $ppname eq "pp_subst") {
+ } elsif ($opname eq "match" || $opname eq "subst") {
xref($op->pmreplstart);
- } elsif ($ppname eq "pp_substcont") {
+ } elsif ($opname eq "substcont") {
xref($op->other->pmreplstart);
$op = $op->other;
redo;
- } elsif ($ppname eq "pp_enterloop") {
+ } elsif ($opname eq "enterloop") {
xref($op->redoop);
xref($op->nextop);
xref($op->lastop);
- } elsif ($ppname eq "pp_subst") {
+ } elsif ($opname eq "subst") {
xref($op->pmreplstart);
} else {
no strict 'refs';
+ my $ppname = "pp_$opname";
&$ppname($op) if defined(&$ppname);
}
}
diff --git a/ext/Opcode/Opcode.pm b/ext/Opcode/Opcode.pm
index ac6abc7e54..38c8e6559b 100644
--- a/ext/Opcode/Opcode.pm
+++ b/ext/Opcode/Opcode.pm
@@ -336,7 +336,7 @@ invert_opset function.
rv2cv anoncode prototype
- entersub leavesub return method -- XXX loops via recursion?
+ entersub leavesub return method method_named -- XXX loops via recursion?
leaveeval -- needed for Safe to operate, is safe without entereval
diff --git a/global.sym b/global.sym
index fba03069d8..fa2885409e 100644
--- a/global.sym
+++ b/global.sym
@@ -9,7 +9,6 @@ Perl_Gv_AMupdate
Perl_append_elem
Perl_append_list
Perl_apply
-Perl_assertref
Perl_avhv_exists_ent
Perl_avhv_fetch_ent
Perl_avhv_iternext
diff --git a/lib/Pod/Html.pm b/lib/Pod/Html.pm
index 6077291225..6fb8dcab28 100644
--- a/lib/Pod/Html.pm
+++ b/lib/Pod/Html.pm
@@ -190,8 +190,9 @@ This program is distributed under the Artistic License.
=cut
-my $dircache = "pod2html.d~~";
-my $itemcache = "pod2html.i~~";
+my $cache_ext = $^O eq 'VMS' ? ".tmp" : ".x~~";
+my $dircache = "pod2htmd$cache_ext";
+my $itemcache = "pod2htmi$cache_ext";
my @begin_stack = (); # begin/end stack
diff --git a/objXSUB.h b/objXSUB.h
index abd3b0c9fd..7246cb6eae 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -833,10 +833,6 @@
#define Perl_apply pPerl->Perl_apply
#undef apply
#define apply Perl_apply
-#undef Perl_assertref
-#define Perl_assertref pPerl->Perl_assertref
-#undef assertref
-#define assertref Perl_assertref
#undef Perl_avhv_exists_ent
#define Perl_avhv_exists_ent pPerl->Perl_avhv_exists_ent
#undef avhv_exists_ent
@@ -3630,6 +3626,10 @@
#define Perl_ck_match pPerl->Perl_ck_match
#undef ck_match
#define ck_match Perl_ck_match
+#undef Perl_ck_method
+#define Perl_ck_method pPerl->Perl_ck_method
+#undef ck_method
+#define ck_method Perl_ck_method
#undef Perl_ck_null
#define Perl_ck_null pPerl->Perl_ck_null
#undef ck_null
@@ -4438,6 +4438,10 @@
#define Perl_pp_method pPerl->Perl_pp_method
#undef pp_method
#define pp_method Perl_pp_method
+#undef Perl_pp_method_named
+#define Perl_pp_method_named pPerl->Perl_pp_method_named
+#undef pp_method_named
+#define pp_method_named Perl_pp_method_named
#undef Perl_pp_mkdir
#define Perl_pp_mkdir pPerl->Perl_pp_mkdir
#undef pp_mkdir
diff --git a/op.c b/op.c
index 755c34e77e..8b47448715 100644
--- a/op.c
+++ b/op.c
@@ -107,27 +107,6 @@ S_no_bareword_allowed(pTHX_ OP *o)
++PL_error_count;
}
-void
-Perl_assertref(pTHX_ OP *o)
-{
- int type = o->op_type;
- if (type != OP_AELEM && type != OP_HELEM && type != OP_GELEM) {
- yyerror(Perl_form(aTHX_ "Can't use subscript on %s", PL_op_desc[type]));
- if (type == OP_ENTERSUB || type == OP_RV2HV || type == OP_PADHV) {
- dTHR;
- SV *msg = sv_2mortal(
- Perl_newSVpvf(aTHX_ "(Did you mean $ or @ instead of %c?)\n",
- type == OP_ENTERSUB ? '&' : '%'));
- if (PL_in_eval & EVAL_WARNONLY)
- Perl_warn(aTHX_ "%_", msg);
- else if (PL_in_eval)
- sv_catsv(GvSV(PL_errgv), msg);
- else
- PerlIO_write(PerlIO_stderr(), SvPVX(msg), SvCUR(msg));
- }
- }
-}
-
/* "register" allocation */
PADOFFSET
@@ -2783,7 +2762,6 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *id, OP *arg)
}
else {
OP *pack;
- OP *meth;
if (version->op_type != OP_CONST || !SvNIOK(vesv))
Perl_croak(aTHX_ "Version number must be constant number");
@@ -2792,11 +2770,11 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *id, OP *arg)
pack = newSVOP(OP_CONST, 0, newSVsv(((SVOP*)id)->op_sv));
/* Fake up a method call to VERSION */
- meth = newSVOP(OP_CONST, 0, newSVpvn("VERSION", 7));
veop = convert(OP_ENTERSUB, OPf_STACKED|OPf_SPECIAL,
append_elem(OP_LIST,
prepend_elem(OP_LIST, pack, list(version)),
- newUNOP(OP_METHOD, 0, meth)));
+ newSVOP(OP_METHOD_NAMED, 0,
+ newSVpvn("VERSION", 7))));
}
}
@@ -2809,15 +2787,12 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *id, OP *arg)
else {
/* Make copy of id so we don't free it twice */
pack = newSVOP(OP_CONST, 0, newSVsv(((SVOP*)id)->op_sv));
- meth = newSVOP(OP_CONST, 0,
- aver
- ? newSVpvn("import", 6)
- : newSVpvn("unimport", 8)
- );
imop = convert(OP_ENTERSUB, OPf_STACKED|OPf_SPECIAL,
append_elem(OP_LIST,
prepend_elem(OP_LIST, pack, list(arg)),
- newUNOP(OP_METHOD, 0, meth)));
+ newSVOP(OP_METHOD_NAMED, 0,
+ aver ? newSVpvn("import", 6)
+ : newSVpvn("unimport", 8))));
}
/* Fake up a require, handle override, if any */
@@ -5189,6 +5164,26 @@ Perl_ck_match(pTHX_ OP *o)
}
OP *
+Perl_ck_method(pTHX_ OP *o)
+{
+ OP *kid = cUNOPo->op_first;
+ if (kid->op_type == OP_CONST) {
+ SV* sv = kSVOP->op_sv;
+ if (!(strchr(SvPVX(sv), ':') || strchr(SvPVX(sv), '\''))) {
+ OP *cmop;
+ sv_upgrade(sv, SVt_PVIV);
+ SvIOK_on(sv);
+ PERL_HASH(SvUVX(sv), SvPVX(sv), SvCUR(sv));
+ cmop = newSVOP(OP_METHOD_NAMED, 0, sv);
+ kSVOP->op_sv = Nullsv;
+ op_free(o);
+ return cmop;
+ }
+ }
+ return o;
+}
+
+OP *
Perl_ck_null(pTHX_ OP *o)
{
return o;
@@ -5482,7 +5477,7 @@ Perl_ck_subr(pTHX_ OP *o)
}
}
}
- else if (cvop->op_type == OP_METHOD) {
+ else if (cvop->op_type == OP_METHOD || cvop->op_type == OP_METHOD_NAMED) {
if (o2->op_type == OP_CONST)
o2->op_private &= ~OPpCONST_STRICT;
else if (o2->op_type == OP_LIST) {
diff --git a/opcode.h b/opcode.h
index da4a8fe39e..58d86ea766 100644
--- a/opcode.h
+++ b/opcode.h
@@ -358,10 +358,11 @@ typedef enum {
OP_LOCK, /* 346 */
OP_THREADSV, /* 347 */
OP_SETSTATE, /* 348 */
+ OP_METHOD_NAMED,/* 349 */
OP_max
} opcode;
-#define MAXO 349
+#define MAXO 350
START_EXTERN_C
@@ -719,6 +720,7 @@ EXT char *PL_op_name[] = {
"lock",
"threadsv",
"setstate",
+ "method_named",
};
#endif
@@ -1075,6 +1077,7 @@ EXT char *PL_op_desc[] = {
"lock",
"per-thread variable",
"set statement info",
+ "method with known name",
};
#endif
@@ -1436,6 +1439,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
Perl_pp_lock,
Perl_pp_threadsv,
Perl_pp_setstate,
+ Perl_pp_method_named,
};
#endif
@@ -1608,7 +1612,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
Perl_ck_null, /* cond_expr */
Perl_ck_null, /* andassign */
Perl_ck_null, /* orassign */
- Perl_ck_null, /* method */
+ Perl_ck_method, /* method */
Perl_ck_subr, /* entersub */
Perl_ck_null, /* leavesub */
Perl_ck_fun, /* caller */
@@ -1792,6 +1796,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
Perl_ck_rfun, /* lock */
Perl_ck_null, /* threadsv */
Perl_ck_null, /* setstate */
+ Perl_ck_null, /* method_named */
};
#endif
@@ -2147,7 +2152,8 @@ EXT U32 PL_opargs[] = {
0x0004281d, /* syscall */
0x00003604, /* lock */
0x00000044, /* threadsv */
- 0x00000000, /* setstate */
+ 0x00001404, /* setstate */
+ 0x00000c40, /* method_named */
};
#endif
diff --git a/opcode.pl b/opcode.pl
index 4804554c7e..c26dab825c 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -535,7 +535,7 @@ cond_expr conditional expression ck_null d|
andassign logical and assignment ck_null s|
orassign logical or assignment ck_null s|
-method method lookup ck_null d1
+method method lookup ck_method d1
entersub subroutine entry ck_subr dmt1 L
leavesub subroutine exit ck_null 1
caller caller ck_fun t% S?
@@ -780,4 +780,5 @@ lock lock ck_rfun s% S
threadsv per-thread variable ck_null ds0
# Control (contd.)
-setstate set statement info ck_null 0
+setstate set statement info ck_null s;
+method_named method with known name ck_null d$
diff --git a/perlapi.c b/perlapi.c
index 78d1bce4e1..ff5c8593da 100755
--- a/perlapi.c
+++ b/perlapi.c
@@ -77,13 +77,6 @@ Perl_apply(pTHXo_ I32 type, SV** mark, SV** sp)
return ((CPerlObj*)pPerl)->Perl_apply(type, mark, sp);
}
-#undef Perl_assertref
-void
-Perl_assertref(pTHXo_ OP* o)
-{
- ((CPerlObj*)pPerl)->Perl_assertref(o);
-}
-
#undef Perl_avhv_exists_ent
bool
Perl_avhv_exists_ent(pTHXo_ AV *ar, SV* keysv, U32 hash)
@@ -4965,6 +4958,13 @@ Perl_ck_match(pTHXo_ OP *o)
return ((CPerlObj*)pPerl)->Perl_ck_match(o);
}
+#undef Perl_ck_method
+OP *
+Perl_ck_method(pTHXo_ OP *o)
+{
+ return ((CPerlObj*)pPerl)->Perl_ck_method(o);
+}
+
#undef Perl_ck_null
OP *
Perl_ck_null(pTHXo_ OP *o)
@@ -6379,6 +6379,13 @@ Perl_pp_method(pTHXo)
return ((CPerlObj*)pPerl)->Perl_pp_method();
}
+#undef Perl_pp_method_named
+OP *
+Perl_pp_method_named(pTHXo)
+{
+ return ((CPerlObj*)pPerl)->Perl_pp_method_named();
+}
+
#undef Perl_pp_mkdir
OP *
Perl_pp_mkdir(pTHXo)
diff --git a/perly.c b/perly.c
index 0feca48bed..37af6dafa8 100644
--- a/perly.c
+++ b/perly.c
@@ -18,27 +18,27 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
static void yydestruct(pTHXo_ void *ptr);
-#line 30 "perly.y"
+#line 27 "perly.y"
#define YYERRCODE 256
static short yylhs[] = { -1,
- 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
- 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
- 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
- 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
- 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
- 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
- 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
- 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
- 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
+ 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
+ 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
+ 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
+ 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
+ 31, 32, 33, 45, 45, 1, 1, 1, 1, 3,
+ 39, 39, 47, 4, 5, 6, 40, 41, 41, 42,
+ 42, 48, 48, 50, 49, 16, 16, 16, 26, 26,
+ 26, 37, 37, 37, 37, 37, 37, 37, 37, 51,
+ 37, 38, 38, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 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, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 33,
- 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
- 20, 21, 22, 35, 35, 35, 35,
+ 17, 17, 34, 34, 35, 35, 35, 2, 2, 44,
+ 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
};
static short yylen[] = { 2,
0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
@@ -49,1044 +49,1082 @@ static short yylen[] = { 2,
1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
- 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
- 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
- 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
- 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
- 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
- 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
- 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
- 2, 2, 2, 1, 1, 1, 1,
+ 5, 1, 1, 5, 4, 5, 4, 5, 6, 5,
+ 4, 5, 4, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 5, 3, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
+ 3, 2, 4, 3, 4, 1, 1, 1, 1, 1,
+ 1, 6, 5, 4, 5, 1, 1, 3, 4, 3,
+ 2, 2, 4, 5, 4, 5, 1, 2, 2, 1,
+ 2, 2, 2, 1, 3, 1, 3, 4, 4, 6,
+ 1, 1, 0, 1, 0, 1, 2, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
};
static short yydefred[] = { 1,
0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
- 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
+ 64, 14, 4, 161, 0, 0, 136, 0, 156, 0,
55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 168, 169, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
- 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
- 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
- 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
- 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
- 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
- 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
- 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 128, 130, 0, 0, 0, 0, 162,
+ 51, 0, 57, 0, 62, 0, 7, 177, 180, 179,
+ 178, 0, 0, 0, 0, 0, 0, 4, 4, 4,
+ 4, 4, 4, 0, 0, 0, 0, 0, 151, 0,
+ 0, 0, 0, 78, 0, 175, 0, 142, 0, 0,
+ 0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
+ 0, 0, 122, 0, 0, 0, 172, 173, 174, 176,
+ 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
- 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
- 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
- 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
- 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 114, 115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 13, 0, 50, 59,
+ 0, 0, 0, 76, 0, 0, 80, 0, 0, 0,
+ 0, 0, 0, 0, 4, 155, 157, 0, 0, 0,
+ 0, 0, 0, 0, 124, 0, 140, 0, 0, 121,
+ 27, 0, 0, 19, 0, 0, 0, 0, 66, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
- 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
- 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
- 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
- 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
- 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
- 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
- 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
- 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
- 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
- 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
- 33, 0, 23,
+ 0, 0, 0, 0, 82, 0, 0, 83, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 138, 0,
+ 0, 61, 60, 53, 0, 3, 0, 0, 159, 0,
+ 125, 0, 42, 0, 43, 0, 0, 0, 0, 170,
+ 0, 0, 36, 41, 0, 0, 0, 158, 167, 79,
+ 0, 143, 0, 145, 0, 123, 0, 0, 0, 0,
+ 91, 0, 0, 0, 0, 93, 87, 0, 85, 0,
+ 134, 0, 139, 0, 77, 0, 81, 0, 0, 0,
+ 0, 0, 0, 0, 0, 73, 144, 146, 133, 0,
+ 0, 0, 92, 86, 0, 90, 88, 135, 84, 65,
+ 160, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 132, 89, 74, 7, 28, 29, 0, 0, 24, 25,
+ 0, 32, 0, 0, 0, 22, 0, 0, 0, 31,
+ 5, 0, 30, 0, 0, 33, 0, 23,
};
static short yydgoto[] = { 1,
- 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
- 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
- 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
- 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
- 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
+ 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
+ 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
+ 74, 75, 76, 77, 273, 79, 274, 263, 265, 268,
+ 276, 264, 266, 114, 200, 92, 80, 239, 82, 84,
+ 181, 254, 143, 271, 13, 2, 14, 15, 16, 86,
+ 260,
};
static short yysindex[] = { 0,
- 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
- 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
- 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
- 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
- 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
- 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
- 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
- -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
- -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
- 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
- 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
- -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
- -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
- -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
- -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
- 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
- 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
- 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
- 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
- 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
- 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
- -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
- 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
- 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
- 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
- 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
- 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
- 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
- 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
- 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
- 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
- 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
- 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
- -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
- 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
- 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
- 0, -238, 0,
+ 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
+ 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
+ 0, 0, 0, 0, -24, -24, 0, -5, 0, 2126,
+ 0, 0, 6, 28, 44, 57, -32, 2126, 68, 69,
+ 72, 999, 943, -24, 1062, 1327, -198, 0, 0, -24,
+ 2126, 2126, 2126, 2126, 2126, 2126, 1233, 1383, 0, 2126,
+ 2126, -24, -24, -24, -24, 2126, -217, 0, 342, 827,
+ -20, -80, -70, 0, 0, -60, 73, 61, 75, 0,
+ 0, -1, 0, -137, 0, -130, 0, 0, 0, 0,
+ 0, 2126, 88, 2126, -189, -1, -137, 0, 0, 0,
+ 0, 0, 0, 89, 827, 99, 1444, 943, 0, -189,
+ 0, -80, 75, 0, 2126, 0, 90, 0, -189, -16,
+ 27, -58, 2126, 0, 75, 218, 218, 218, -169, -169,
+ 63, -22, 0, -63, 218, 218, 0, 0, 0, 0,
+ -189, -1, 0, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
+ 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
+ 2126, 2126, 2126, 2126, 0, 0, 74, 2126, 1535, 2126,
+ 2126, 2126, 2126, 2126, 2126, 1725, 0, 2126, 0, 0,
+ -44, -91, 256, 0, 2126, 428, 0, -1, 2126, 2126,
+ 2126, 2126, 131, 1800, 0, 0, 0, -12, 36, 130,
+ 2126, 75, 1861, 1936, 0, 48, 0, 2126, 87, 0,
+ 0, -272, -272, 0, -272, -272, -272, -119, 0, 1565,
+ -189, 1088, 375, 160, 827, 715, 389, 771, 684, 1026,
+ 1242, 218, 218, 2126, 0, 2006, 2126, 0, 143, -56,
+ 0, 1, 51, -49, 56, 43, 58, 45, 0, 7,
+ 827, 0, 0, 0, 2126, 0, 141, 2126, 0, 2126,
+ 0, -272, 0, 144, 0, 145, -272, 151, 158, 0,
+ 162, 342, 0, 0, 166, 150, 2126, 0, 0, 0,
+ 9, 0, 16, 0, 19, 0, 60, 2126, 2126, 47,
+ 0, 21, 94, 2126, 78, 0, 0, 91, 0, 95,
+ 0, 101, 0, 153, 0, 268, 0, 92, 92, 92,
+ 92, 2126, 92, 2126, 188, 0, 0, 0, 0, 96,
+ 1152, 109, 0, 0, 196, 0, 0, 0, 0, 0,
+ 0, 0, -217, -217, -204, -204, 198, -217, 185, 92,
+ 0, 0, 0, 0, 0, 0, 92, 211, 0, 0,
+ 92, 0, 1800, -217, 319, 0, 2126, -217, 216, 0,
+ 0, 228, 0, 92, 92, 0, -204, 0,
};
static short yyrindex[] = { 0,
- 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
- 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 23, 2214, 0,
+ 0, 2264, 2308, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
- 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
- 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
- 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
- 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
- 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
- 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
- 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
+ 0, 0, 0, 0, 0, 0, 105, 0, -18, 1030,
+ 2383, 2433, 2561, 0, 0, 2636, 2686, 0, 918, 0,
+ 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
+ 0, 2308, 0, 0, 3879, 0, 165, 0, 0, 0,
+ 0, 0, 0, 0, 1356, 0, 0, 232, 0, 3936,
+ 502, 561, 3047, 0, 0, 0, 2730, 0, 3987, 2433,
+ 0, 0, 2308, 0, 3096, 3236, 3300, 3436, 1656, 3186,
+ 2780, 0, 0, 0, 3487, 3550, 0, 0, 0, 0,
+ 4025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2828, 0, 0,
+ 0, 0, 887, 0, 232, 0, 0, 0, 242, 0,
+ 0, 0, 0, 226, 0, 0, 0, 0, 249, 0,
+ 0, 3142, 0, 0, 0, 0, 0, 0, 2889, 0,
+ 0, -4, 10, 0, 11, 17, 24, 363, 0, -27,
+ 664, 3890, 3686, 3737, 1507, 0, 4291, 4188, 4155, 4035,
+ 3842, 3586, 3623, 0, 0, 0, 0, 0, 2983, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
- 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
- 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
- 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
- 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
- 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
- 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
- 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
- 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
- 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
+ 1640, 0, 0, 0, 233, 0, 0, 0, 0, 2308,
+ 0, 37, 0, 0, 0, 0, 262, 0, 0, 0,
+ 0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 232, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
- 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
- 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
- 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 154, 0,
+ 0, 0, 0, 264, 0, 0, 0, 0, 0, 0,
+ -19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 105, 105, 168, 168, 0, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 298, 105, 887, 0, 0, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 168, 0,
};
static short yygindex[] = { 0,
- 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
- -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
- 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
- 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
- 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
+ -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
+ 0, 0, 0, 0, 340, -38, 0, 0, 215, -138,
+ 14, 97, 190, -85, -179, 583, 0, 0, 0, 0,
+ 286, 0, -140, 0, 0, 0, 0, 0, 0, 0,
+ 0,
};
-#define YYTABLESIZE 4425
+#define YYTABLESIZE 4610
static short yytable[] = { 69,
- 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
- 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
- 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
- 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
- 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
- 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
- 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
- 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
- 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
- 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
- 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
- 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
- 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
- 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
- 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
- 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
- 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
- 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
- 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
- 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
- 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
- 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
- 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
- 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
- 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
- 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
- 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
- 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
- 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
- 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
- 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
- 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
- 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
- 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
- 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
- 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
- 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
- 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
- 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
- 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
- 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
- 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
- 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
- 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
- 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
- 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
- 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
- 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
- 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
- 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
- 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
- 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
- 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
- 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
+ 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
+ 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
+ 174, 107, 15, 204, 107, 149, 150, 83, 278, 210,
+ 104, 104, 122, 58, 94, 104, 18, 207, 107, 107,
+ 15, 296, 171, 132, 134, 98, 368, 303, 85, 316,
+ 39, 16, 173, 113, 18, 275, 317, 17, 123, 318,
+ 142, 323, 175, 147, 20, 104, 147, 99, 39, 16,
+ 170, 347, 348, 107, 172, 17, 202, 38, 23, 279,
+ 147, 147, 20, 100, 113, 147, 189, 190, 191, 192,
+ 193, 194, 40, 198, 199, 38, 101, 58, 23, 154,
+ 155, 300, 168, 302, 26, 322, 171, 106, 107, 62,
+ 15, 108, 176, 236, 325, 147, 162, 163, 178, 177,
+ 164, 23, 180, 165, 166, 167, 182, 185, 195, 203,
+ 212, 213, 215, 216, 217, 218, 219, 26, 315, 196,
+ 26, 26, 26, 297, 26, 167, 26, 26, 299, 26,
+ 301, 205, 319, 208, 240, 242, 243, 244, 245, 246,
+ 247, 248, 250, 26, 237, 255, 62, 21, 26, 304,
+ 280, 199, 286, 337, 307, 262, 213, 288, 213, 150,
+ 272, 305, 294, 277, 308, 309, 324, 281, 341, 283,
+ 285, 310, 345, 346, 287, 26, 234, 352, 311, 19,
+ 21, 312, 326, 21, 21, 21, 313, 21, 314, 21,
+ 21, 330, 21, 360, 332, 327, 113, 363, 362, 328,
+ 290, 113, 292, 293, 2, 329, 21, 26, 340, 26,
+ 26, 21, 88, 342, 149, 150, 343, 89, 351, 149,
+ 150, 149, 150, 353, 104, 104, 104, 104, 149, 150,
+ 357, 104, 107, 107, 107, 107, 364, 44, 21, 107,
+ 44, 44, 44, 102, 44, 355, 44, 44, 365, 44,
+ 104, 104, 165, 104, 320, 149, 150, 52, 107, 107,
+ 199, 107, 37, 44, 35, 149, 150, 58, 44, 166,
+ 21, 163, 21, 21, 147, 147, 147, 147, 149, 150,
+ 262, 147, 40, 147, 149, 150, 149, 150, 331, 147,
+ 147, 147, 147, 149, 150, 44, 149, 150, 149, 150,
+ 147, 147, 37, 147, 147, 147, 147, 147, 147, 147,
+ 157, 235, 147, 149, 150, 147, 147, 147, 35, 69,
+ 149, 150, 149, 150, 149, 150, 21, 44, 149, 150,
+ 44, 97, 78, 149, 150, 149, 150, 149, 150, 214,
+ 26, 26, 26, 26, 26, 26, 359, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 256, 269, 188, 26, 26, 0, 26, 26, 26, 26,
+ 26, 149, 150, 149, 150, 26, 26, 26, 26, 26,
+ 26, 0, 0, 67, 26, 0, 67, 4, 5, 6,
+ 339, 7, 8, 26, 0, 26, 26, 0, 0, 0,
+ 0, 67, 0, 21, 21, 21, 21, 21, 21, 0,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 361, 0, 0, 21, 21, 154, 21,
+ 21, 21, 21, 21, 0, 67, 0, 0, 21, 21,
+ 21, 21, 21, 21, 0, 0, 163, 21, 259, 164,
+ 0, 258, 165, 166, 167, 0, 21, 0, 21, 21,
+ 44, 44, 44, 44, 44, 44, 0, 44, 44, 44,
+ 157, 0, 0, 44, 0, 0, 44, 44, 44, 44,
+ 0, 0, 0, 44, 44, 0, 44, 44, 44, 44,
+ 44, 0, 0, 0, 0, 44, 44, 44, 44, 44,
+ 44, 4, 5, 6, 44, 7, 8, 164, 0, 0,
+ 165, 166, 167, 44, 177, 44, 44, 177, 177, 177,
+ 0, 177, 161, 177, 177, 161, 177, 0, 151, 0,
+ 0, 0, 0, 0, 152, 153, 154, 155, 0, 161,
+ 161, 0, 0, 0, 161, 177, 0, 0, 156, 158,
+ 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
+ 165, 166, 167, 0, 4, 5, 6, 0, 7, 8,
+ 0, 0, 177, 178, 161, 0, 178, 178, 178, 0,
+ 178, 126, 178, 178, 126, 178, 0, 0, 93, 0,
+ 0, 0, 0, 144, 145, 146, 147, 0, 126, 126,
+ 148, 0, 0, 126, 178, 115, 116, 177, 0, 0,
+ 0, 0, 124, 0, 67, 67, 67, 67, 0, 149,
+ 150, 67, 0, 0, 137, 138, 139, 140, 0, 0,
+ 0, 0, 0, 126, 52, 0, 0, 62, 64, 50,
+ 67, 57, 0, 65, 61, 0, 60, 0, 334, 335,
+ 336, 0, 338, 0, 0, 152, 153, 154, 155, 0,
+ 59, 163, 0, 0, 164, 63, 178, 165, 166, 167,
+ 201, 159, 160, 161, 162, 163, 0, 0, 164, 354,
+ 0, 165, 166, 167, 100, 0, 356, 100, 151, 0,
+ 358, 0, 58, 0, 152, 153, 154, 155, 0, 0,
+ 0, 100, 100, 366, 367, 0, 100, 0, 156, 158,
+ 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
+ 165, 166, 167, 0, 23, 0, 0, 53, 0, 0,
+ 0, 0, 0, 0, 0, 0, 100, 0, 177, 177,
+ 177, 177, 177, 0, 177, 177, 177, 0, 0, 0,
+ 177, 0, 289, 161, 161, 161, 161, 157, 0, 0,
+ 161, 177, 161, 177, 177, 177, 177, 177, 161, 161,
+ 161, 161, 177, 177, 177, 177, 177, 177, 0, 161,
+ 161, 177, 161, 161, 161, 161, 161, 161, 161, 0,
+ 177, 161, 177, 177, 161, 161, 161, 178, 178, 178,
+ 178, 178, 0, 178, 178, 178, 0, 0, 0, 178,
+ 0, 0, 126, 126, 126, 126, 0, 0, 0, 126,
+ 178, 126, 178, 178, 178, 178, 178, 126, 126, 126,
+ 126, 178, 178, 178, 178, 178, 178, 0, 126, 126,
+ 178, 126, 126, 126, 126, 126, 126, 126, 0, 178,
+ 126, 178, 178, 126, 126, 126, 0, 22, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 0, 0, 157,
+ 32, 0, 0, 33, 34, 35, 36, 0, 0, 0,
+ 37, 38, 0, 39, 40, 41, 42, 43, 0, 0,
+ 0, 0, 44, 45, 46, 47, 48, 49, 0, 44,
+ 0, 51, 44, 44, 44, 67, 44, 0, 44, 44,
+ 54, 44, 55, 56, 0, 100, 100, 100, 100, 0,
+ 0, 0, 100, 0, 100, 44, 0, 0, 0, 0,
+ 44, 100, 0, 0, 109, 0, 0, 118, 68, 0,
+ 0, 100, 100, 0, 100, 100, 100, 100, 100, 0,
+ 152, 153, 154, 155, 0, 52, 68, 44, 62, 64,
+ 50, 0, 57, 0, 65, 61, 0, 60, 161, 162,
+ 163, 0, 0, 164, 179, 151, 165, 166, 167, 0,
+ 0, 152, 153, 154, 155, 0, 63, 0, 187, 44,
+ 68, 0, 44, 0, 0, 156, 158, 159, 160, 161,
162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
- 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
- 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
- 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
- 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
- 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
- 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
- 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
- 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
- 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
- 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
- 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
- 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
- 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
- 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
- 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
- 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
- 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
- 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
- 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
- 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
- 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
- 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
- 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
- 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
- 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
- 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
- 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
- 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
- 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
- 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
- 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
+ 0, 52, 0, 58, 62, 64, 50, 0, 57, 0,
+ 65, 61, 0, 60, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 0, 0, 152, 153, 154,
+ 155, 0, 63, 0, 0, 23, 0, 0, 53, 0,
+ 71, 0, 0, 71, 160, 161, 162, 163, 0, 0,
+ 164, 0, 0, 165, 166, 167, 0, 71, 71, 58,
+ 0, 0, 0, 253, 52, 0, 0, 62, 64, 50,
+ 261, 57, 0, 65, 61, 0, 60, 151, 0, 0,
+ 0, 0, 0, 152, 153, 154, 155, 0, 0, 0,
+ 0, 23, 71, 0, 53, 63, 0, 156, 158, 159,
+ 160, 161, 162, 163, 0, 0, 164, 0, 0, 165,
+ 166, 167, 44, 44, 44, 44, 44, 44, 0, 44,
+ 44, 44, 58, 0, 0, 44, 0, 0, 44, 44,
+ 44, 44, 0, 0, 0, 44, 44, 0, 44, 44,
+ 44, 44, 44, 0, 0, 0, 0, 44, 44, 44,
+ 44, 44, 44, 0, 23, 0, 44, 53, 0, 68,
+ 68, 68, 68, 0, 0, 44, 68, 44, 44, 111,
+ 25, 26, 27, 28, 89, 29, 30, 31, 0, 0,
+ 0, 32, 0, 0, 157, 68, 68, 0, 0, 0,
+ 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 0, 52, 0, 32, 62, 64,
+ 50, 0, 57, 131, 65, 61, 0, 60, 38, 0,
+ 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
+ 45, 46, 47, 48, 49, 0, 63, 0, 51, 0,
+ 0, 71, 71, 71, 71, 0, 0, 54, 71, 55,
+ 56, 0, 152, 153, 154, 155, 0, 0, 117, 25,
+ 26, 27, 28, 58, 29, 30, 31, 71, 71, 0,
+ 32, 162, 163, 0, 0, 164, 0, 0, 165, 166,
+ 167, 38, 0, 39, 40, 41, 42, 43, 0, 0,
+ 0, 0, 44, 45, 46, 47, 48, 49, 53, 52,
+ 0, 51, 62, 64, 50, 0, 57, 0, 65, 61,
+ 54, 60, 55, 56, 152, 0, 154, 155, 0, 0,
+ 0, 0, 0, 0, 0, 121, 0, 0, 0, 0,
+ 63, 91, 91, 162, 163, 0, 148, 164, 0, 148,
+ 165, 166, 167, 104, 0, 0, 0, 0, 0, 112,
+ 91, 120, 0, 148, 148, 52, 91, 58, 62, 64,
+ 50, 0, 57, 0, 65, 61, 0, 60, 91, 91,
+ 91, 91, 151, 0, 0, 0, 0, 0, 152, 153,
+ 154, 155, 0, 0, 0, 0, 63, 0, 148, 0,
+ 0, 0, 53, 158, 159, 160, 161, 162, 163, 0,
+ 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
+ 0, 0, 0, 58, 112, 133, 52, 0, 0, 62,
+ 64, 50, 0, 57, 197, 65, 61, 0, 60, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
+ 0, 32, 0, 0, 0, 0, 0, 63, 53, 0,
+ 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 154, 155, 51, 238, 58, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 0, 0, 95, 163, 0,
+ 95, 164, 0, 0, 165, 166, 167, 0, 0, 270,
+ 0, 0, 0, 0, 95, 95, 0, 52, 0, 53,
+ 62, 64, 50, 0, 57, 241, 65, 61, 0, 60,
+ 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 0, 0, 0, 32, 0, 0, 63, 95,
+ 0, 0, 0, 0, 0, 0, 38, 0, 39, 40,
+ 41, 42, 43, 0, 0, 0, 0, 44, 45, 46,
+ 47, 48, 49, 0, 0, 58, 51, 148, 148, 148,
+ 148, 0, 0, 0, 148, 54, 0, 55, 56, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
+ 0, 32, 0, 148, 148, 0, 0, 0, 0, 0,
+ 53, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 70, 0, 51, 70, 0, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 0, 116, 70, 70, 116,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
+ 0, 0, 32, 116, 116, 0, 0, 0, 116, 0,
+ 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
+ 0, 0, 70, 0, 44, 45, 46, 47, 48, 49,
+ 0, 0, 0, 51, 0, 0, 0, 0, 116, 0,
+ 0, 0, 54, 0, 55, 56, 0, 52, 0, 0,
+ 62, 64, 50, 0, 57, 249, 65, 61, 0, 60,
+ 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
+ 95, 95, 0, 0, 0, 95, 0, 0, 63, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 0, 0, 0, 32, 95, 95, 0, 0, 0, 0,
+ 0, 0, 0, 0, 38, 58, 39, 40, 41, 42,
43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
- 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
- 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
- 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
- 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
- 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
- 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
- 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
- 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
- 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
- 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
- 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
- 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
- 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
- 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
- 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
+ 49, 0, 52, 0, 51, 62, 64, 50, 0, 57,
+ 0, 65, 61, 54, 60, 55, 56, 0, 0, 0,
+ 53, 152, 153, 154, 155, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 158, 159, 160, 161,
+ 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
- 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
- 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
- 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
- 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
- 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
- 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
- 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
+ 58, 0, 0, 52, 0, 0, 62, 64, 50, 0,
+ 57, 282, 65, 61, 0, 60, 0, 0, 0, 0,
+ 0, 70, 70, 70, 70, 0, 0, 0, 70, 0,
+ 0, 0, 0, 0, 63, 53, 0, 116, 116, 116,
+ 116, 0, 0, 0, 116, 0, 116, 70, 70, 0,
+ 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
+ 0, 58, 0, 116, 116, 0, 116, 116, 116, 116,
+ 116, 116, 116, 0, 0, 116, 0, 0, 52, 0,
+ 0, 62, 64, 50, 0, 57, 284, 65, 61, 0,
+ 60, 24, 25, 26, 27, 28, 53, 29, 30, 31,
+ 0, 0, 0, 32, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 38, 0, 39, 40, 41, 42,
43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
- 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
+ 49, 0, 0, 0, 51, 0, 58, 0, 0, 0,
+ 0, 0, 0, 54, 0, 55, 56, 0, 52, 0,
+ 0, 62, 64, 50, 0, 57, 291, 65, 61, 0,
+ 60, 0, 0, 0, 0, 22, 24, 25, 26, 27,
+ 28, 53, 29, 30, 31, 0, 0, 0, 32, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+ 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
+ 44, 45, 46, 47, 48, 49, 58, 0, 0, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
+ 55, 56, 0, 0, 0, 0, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
- 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
+ 0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
- 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
- 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
- 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
- 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
- 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
- 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
- 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
- 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
- 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
- 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
- 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
- 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
- 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
- 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
- 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
- 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
- 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
- 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
- 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
- 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
- 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
- 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
- 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
- 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
- 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
- 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
- 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
- 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
- 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
- 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
- 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
- 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
- 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
- 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
- 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
- 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
- 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
- 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
- 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
- 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
- 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
- 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
- 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
- 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
- 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
+ 0, 44, 45, 46, 47, 48, 49, 0, 52, 0,
+ 51, 62, 64, 50, 0, 57, 0, 65, 61, 54,
+ 60, 55, 56, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 38, 58, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 0, 0, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 0, 53, 0, 0, 154, 0, 0, 154, 0, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 154, 154, 0, 32, 0, 154, 0, 0, 0,
+ 0, 0, 0, 0, 0, 38, 0, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 0, 150, 51, 154, 150, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 0, 150, 150, 0, 0, 0, 150, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
- 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
- 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
- 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
- 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
- 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
- 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
- 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
- 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
- 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
- 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
- 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
- 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
- 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
- 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
- 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
- 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
- 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
- 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
- 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
- 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
- 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 163, 0,
+ 0, 163, 0, 0, 0, 0, 150, 0, 0, 0,
+ 0, 0, 0, 0, 0, 163, 163, 0, 0, 0,
+ 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 163, 0, 0, 0, 0, 38, 0, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 131, 0, 51, 131, 0, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 131, 131, 0, 0, 0, 131, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
- 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
- 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
- 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
- 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
- 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
- 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
- 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
- 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
- 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
- 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
- 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
- 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
- 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
- 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
- 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
- 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
- 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
- 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
- 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
- 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
- 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
- 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
- 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
- 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
- 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
- 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
- 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
- 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
- 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
- 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
- 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 126, 0, 131, 126, 0, 0, 0,
+ 0, 0, 0, 0, 0, 154, 154, 154, 154, 0,
+ 126, 126, 154, 0, 154, 126, 0, 0, 0, 0,
+ 154, 154, 154, 154, 0, 0, 0, 0, 0, 0,
+ 0, 154, 154, 0, 154, 154, 154, 154, 154, 154,
+ 154, 0, 0, 154, 0, 126, 154, 154, 154, 0,
+ 0, 0, 0, 0, 0, 150, 150, 150, 150, 0,
+ 0, 0, 150, 0, 150, 0, 0, 0, 0, 0,
+ 150, 150, 150, 150, 0, 0, 0, 0, 0, 0,
+ 0, 150, 150, 0, 150, 150, 150, 150, 150, 150,
+ 150, 0, 0, 150, 0, 0, 150, 150, 150, 163,
+ 163, 163, 163, 0, 0, 0, 163, 0, 163, 0,
+ 0, 0, 0, 0, 163, 163, 163, 163, 0, 0,
+ 0, 129, 0, 0, 129, 163, 163, 0, 163, 163,
+ 163, 163, 163, 163, 163, 0, 0, 163, 129, 129,
+ 163, 163, 163, 129, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 129, 131, 131, 131, 131, 0, 0,
+ 0, 131, 0, 131, 0, 0, 0, 0, 0, 131,
+ 131, 131, 131, 0, 0, 0, 127, 0, 0, 127,
+ 131, 131, 0, 131, 131, 131, 131, 131, 131, 131,
+ 0, 0, 131, 127, 127, 131, 131, 131, 127, 0,
+ 0, 0, 0, 0, 126, 126, 126, 126, 0, 0,
+ 0, 126, 0, 126, 0, 0, 0, 0, 0, 126,
+ 126, 126, 126, 0, 0, 0, 137, 0, 127, 137,
+ 126, 126, 0, 126, 126, 126, 126, 126, 126, 126,
+ 0, 0, 126, 137, 137, 126, 126, 126, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 161, 0, 0, 161, 0, 0, 0, 0, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 161, 161, 0,
+ 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 120, 0, 161, 120, 0, 0, 0, 0, 0, 0,
+ 0, 0, 129, 129, 129, 129, 0, 120, 120, 129,
+ 0, 129, 120, 0, 0, 0, 0, 129, 129, 129,
+ 129, 0, 0, 0, 0, 0, 0, 0, 129, 129,
+ 0, 129, 129, 129, 129, 129, 129, 129, 69, 0,
+ 129, 69, 120, 129, 129, 129, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 69, 69, 0, 0, 0,
69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
- 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
- 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
- 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
- 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
- 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
- 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
- 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
- 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
- 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
- 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
- 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 127, 127, 127,
+ 127, 0, 0, 0, 127, 0, 127, 0, 0, 0,
+ 69, 0, 127, 127, 127, 127, 0, 0, 0, 119,
+ 0, 0, 119, 127, 127, 0, 127, 127, 127, 127,
+ 127, 127, 127, 0, 0, 127, 119, 119, 127, 127,
+ 127, 119, 0, 0, 0, 0, 0, 137, 137, 137,
+ 137, 0, 0, 0, 137, 0, 137, 0, 0, 0,
+ 0, 0, 137, 137, 137, 137, 0, 0, 0, 0,
+ 0, 119, 0, 137, 137, 0, 137, 137, 137, 137,
+ 137, 137, 137, 0, 0, 137, 0, 0, 137, 137,
+ 137, 161, 161, 161, 161, 0, 0, 0, 161, 0,
+ 161, 0, 0, 0, 0, 0, 161, 161, 161, 161,
+ 0, 0, 0, 75, 0, 0, 75, 161, 161, 0,
+ 161, 161, 161, 161, 161, 161, 161, 0, 0, 161,
+ 75, 75, 161, 161, 161, 75, 0, 0, 0, 0,
+ 0, 120, 120, 120, 120, 0, 0, 0, 120, 0,
+ 120, 0, 0, 0, 0, 0, 120, 120, 120, 120,
+ 0, 0, 0, 0, 0, 75, 0, 120, 120, 0,
+ 120, 120, 120, 120, 120, 120, 120, 164, 0, 120,
+ 0, 0, 120, 120, 120, 0, 0, 0, 0, 69,
+ 69, 69, 69, 0, 164, 164, 69, 0, 69, 164,
+ 0, 0, 0, 0, 69, 69, 69, 69, 0, 0,
+ 0, 0, 0, 0, 0, 69, 69, 0, 69, 69,
+ 69, 69, 69, 69, 69, 0, 149, 69, 0, 164,
+ 69, 69, 69, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 149, 149, 0, 0, 0, 149, 0,
+ 119, 119, 119, 119, 0, 0, 0, 119, 0, 119,
+ 0, 0, 0, 0, 0, 119, 119, 119, 119, 0,
+ 0, 0, 72, 0, 0, 0, 119, 119, 149, 119,
+ 119, 119, 119, 119, 119, 119, 0, 0, 119, 72,
+ 72, 119, 119, 119, 72, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
+ 0, 0, 0, 0, 0, 0, 117, 0, 0, 117,
+ 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 117, 117, 0, 0, 0, 117, 0,
+ 0, 0, 0, 0, 75, 75, 75, 75, 0, 0,
+ 0, 75, 0, 75, 0, 0, 0, 0, 0, 75,
+ 75, 75, 75, 0, 0, 0, 111, 0, 117, 111,
+ 75, 75, 0, 75, 75, 75, 75, 75, 75, 75,
+ 0, 0, 75, 111, 111, 75, 75, 75, 111, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 164, 164,
+ 164, 164, 0, 0, 0, 164, 0, 164, 111, 0,
+ 0, 0, 0, 164, 164, 164, 164, 0, 0, 0,
+ 112, 0, 0, 112, 164, 164, 0, 164, 164, 164,
+ 164, 164, 164, 164, 0, 0, 164, 112, 112, 164,
+ 164, 164, 112, 0, 0, 0, 0, 149, 149, 149,
+ 149, 0, 0, 0, 149, 0, 149, 0, 0, 0,
+ 0, 0, 149, 149, 149, 149, 0, 0, 0, 0,
+ 0, 0, 112, 149, 149, 0, 149, 149, 149, 149,
+ 149, 149, 149, 0, 0, 149, 0, 0, 149, 149,
+ 149, 0, 0, 72, 72, 72, 72, 0, 0, 0,
+ 72, 0, 72, 0, 0, 0, 0, 0, 72, 72,
+ 72, 72, 0, 0, 0, 0, 0, 0, 0, 72,
+ 72, 0, 72, 72, 72, 72, 72, 72, 72, 0,
+ 0, 72, 0, 0, 72, 72, 72, 117, 117, 117,
+ 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
+ 0, 0, 117, 117, 117, 117, 113, 0, 0, 113,
+ 0, 0, 0, 117, 117, 0, 117, 117, 117, 117,
+ 117, 117, 117, 113, 113, 117, 0, 0, 113, 0,
+ 0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
+ 111, 0, 0, 0, 111, 0, 111, 0, 0, 0,
+ 0, 0, 111, 111, 111, 111, 0, 109, 113, 0,
+ 109, 0, 0, 111, 111, 0, 111, 111, 111, 111,
+ 111, 111, 111, 0, 109, 109, 0, 0, 0, 109,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 112, 112, 112, 112, 0, 0, 0, 112, 109,
+ 112, 0, 0, 0, 0, 0, 112, 112, 112, 112,
+ 110, 0, 0, 110, 0, 0, 0, 112, 112, 0,
+ 112, 112, 112, 112, 112, 112, 112, 110, 110, 0,
+ 0, 0, 110, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 108, 0, 0, 108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 110, 108, 108, 0, 0, 0, 108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 96, 0, 0, 96, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
+ 96, 96, 0, 0, 0, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 113, 113, 113,
+ 113, 0, 0, 0, 113, 96, 113, 0, 0, 0,
+ 0, 0, 113, 113, 113, 113, 97, 0, 0, 97,
+ 0, 0, 0, 113, 113, 0, 113, 113, 113, 113,
+ 113, 113, 113, 97, 97, 0, 0, 0, 97, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 109, 109,
109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
- 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
- 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
- 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
- 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
- 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
- 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
- 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
- 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
- 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 109, 109, 109, 109, 98, 97, 0,
+ 98, 0, 0, 0, 109, 109, 0, 109, 109, 109,
+ 109, 109, 109, 109, 98, 98, 0, 0, 0, 98,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
- 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
- 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
- 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
- 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
- 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
- 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
- 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
- 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
- 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
- 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
- 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
- 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
- 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
- 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
- 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
- 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
- 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
- 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
- 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
- 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
- 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
- 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
- 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
- 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
- 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
- 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
- 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
- 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
- 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
- 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
- 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
- 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
- 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
- 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
- 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
- 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
- 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
- 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
- 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
- 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
- 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
- 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
- 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
- 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
- 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
- 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
- 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
- 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
- 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
- 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
- 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
- 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
- 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
- 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
- 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
- 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
- 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
- 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
+ 0, 110, 110, 110, 110, 0, 0, 0, 110, 98,
+ 110, 0, 0, 0, 0, 0, 110, 110, 110, 110,
+ 0, 0, 0, 0, 0, 0, 0, 110, 110, 0,
+ 110, 110, 110, 110, 110, 110, 110, 108, 108, 108,
+ 108, 0, 0, 0, 108, 0, 108, 0, 0, 0,
+ 0, 0, 108, 108, 108, 108, 0, 0, 0, 0,
+ 0, 0, 99, 108, 108, 99, 108, 108, 108, 108,
+ 108, 108, 108, 0, 96, 96, 96, 96, 0, 99,
+ 99, 96, 0, 96, 99, 0, 0, 0, 0, 96,
+ 96, 96, 96, 0, 0, 0, 0, 0, 0, 153,
+ 96, 96, 153, 96, 96, 96, 96, 96, 96, 96,
+ 101, 0, 0, 101, 99, 0, 153, 153, 0, 0,
+ 0, 153, 0, 0, 0, 0, 0, 101, 101, 0,
+ 0, 0, 101, 0, 0, 0, 0, 97, 97, 97,
+ 97, 0, 0, 0, 97, 0, 97, 0, 0, 0,
+ 0, 153, 97, 97, 97, 97, 152, 0, 0, 152,
+ 0, 0, 101, 97, 97, 0, 97, 97, 97, 97,
+ 97, 97, 0, 152, 152, 0, 0, 0, 152, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98,
+ 98, 98, 0, 0, 0, 98, 0, 98, 0, 0,
+ 0, 0, 0, 98, 98, 0, 98, 141, 152, 0,
+ 141, 0, 0, 0, 98, 98, 0, 98, 98, 98,
+ 98, 98, 98, 0, 141, 141, 0, 0, 0, 141,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
- 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
- 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
- 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
- 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
- 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
- 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
- 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
- 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
- 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 118, 0, 0, 118, 0,
+ 0, 0, 0, 0, 0, 102, 0, 0, 102, 141,
+ 0, 0, 118, 118, 0, 0, 0, 118, 0, 0,
+ 0, 0, 102, 102, 0, 0, 0, 102, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
- 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
- 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
- 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
- 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
- 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
- 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
- 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
- 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
- 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
- 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
- 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
- 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
- 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
- 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
- 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
- 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
- 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
- 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
- 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
- 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
- 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
- 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
- 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
- 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
- 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
- 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
- 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
- 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
- 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
- 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
- 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
- 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
- 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
- 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
- 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
- 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
- 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
- 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
- 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
- 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
- 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
- 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
- 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
+ 0, 0, 0, 99, 99, 99, 99, 118, 0, 0,
+ 99, 0, 99, 0, 0, 0, 0, 102, 99, 99,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,
+ 99, 0, 99, 99, 99, 99, 99, 99, 0, 0,
+ 153, 153, 153, 153, 0, 0, 0, 153, 0, 153,
+ 0, 101, 101, 101, 101, 153, 153, 0, 101, 0,
+ 101, 0, 0, 0, 0, 0, 153, 153, 0, 153,
+ 153, 153, 153, 153, 0, 0, 0, 101, 101, 0,
+ 101, 101, 101, 101, 101, 103, 0, 0, 103, 0,
+ 0, 0, 0, 0, 0, 0, 0, 152, 152, 152,
+ 152, 0, 103, 103, 152, 0, 152, 103, 0, 0,
+ 0, 0, 152, 152, 0, 0, 0, 0, 105, 0,
+ 0, 105, 0, 152, 152, 0, 152, 152, 152, 152,
+ 152, 0, 0, 0, 0, 105, 105, 103, 0, 0,
+ 105, 0, 0, 0, 0, 0, 0, 0, 141, 141,
+ 141, 141, 0, 0, 0, 141, 0, 141, 0, 0,
+ 0, 0, 0, 141, 141, 0, 0, 0, 0, 0,
+ 105, 0, 0, 0, 141, 141, 0, 141, 141, 141,
+ 141, 141, 0, 0, 0, 0, 118, 118, 118, 118,
+ 0, 0, 0, 118, 0, 118, 102, 102, 102, 102,
+ 0, 118, 118, 102, 0, 102, 0, 0, 0, 0,
+ 0, 0, 118, 118, 0, 118, 118, 118, 118, 118,
+ 0, 106, 102, 102, 106, 102, 102, 102, 102, 102,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
+ 95, 0, 0, 106, 0, 0, 0, 0, 105, 0,
+ 0, 0, 110, 0, 0, 119, 0, 0, 0, 0,
+ 0, 0, 126, 127, 128, 129, 130, 0, 0, 0,
+ 135, 136, 0, 106, 0, 0, 141, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 186, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
+ 0, 0, 0, 103, 0, 103, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 103, 103, 0, 103, 103, 103, 103, 105,
+ 105, 105, 105, 0, 0, 0, 105, 0, 105, 0,
+ 0, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 105, 105, 0, 105, 105,
+ 105, 0, 0, 0, 0, 0, 0, 0, 251, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
- 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 317,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 106, 106, 106, 106, 0, 0, 0, 106,
+ 0, 106, 0, 0, 0, 0, 0, 0, 306, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
+ 0, 106, 106, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
};
static short yycheck[] = { 13,
- 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
- 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
- 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
- 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
- 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
- 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
- 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
- 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
- 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
- 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
- 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
- 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
- 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
- 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
- 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
- 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
- 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
- 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
- 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
- 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
- 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
- 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
- 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
- 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
- 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
- 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
- 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
- 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
- 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
- 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
- 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
- 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
- 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
- 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
- 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
- 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
- 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
- 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
- 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
- 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
- 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
- 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
- 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
- -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
- -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
- -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
- -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
- -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
- -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
- 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
- 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
- -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
- -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
- -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
- 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
- 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
- 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
- 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
- -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
- 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
- -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
- -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
- 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
- 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
- -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
- -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
- 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
+ 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
+ 91, 41, 41, 40, 44, 298, 299, 257, 41, 93,
+ 58, 59, 46, 59, 40, 63, 41, 123, 58, 59,
+ 59, 41, 123, 57, 58, 40, 367, 41, 59, 41,
+ 41, 41, 123, 92, 59, 194, 41, 41, 257, 41,
+ 278, 41, 123, 41, 41, 93, 44, 40, 59, 59,
+ 91, 276, 277, 93, 91, 59, 115, 41, 123, 44,
+ 58, 59, 59, 40, 123, 63, 98, 99, 100, 101,
+ 102, 103, 41, 107, 108, 59, 40, 123, 123, 289,
+ 290, 59, 123, 59, 0, 59, 123, 40, 40, 36,
+ 59, 40, 40, 40, 294, 93, 306, 307, 44, 59,
+ 310, 123, 260, 313, 314, 315, 257, 40, 40, 40,
+ 144, 145, 146, 147, 148, 149, 150, 33, 277, 41,
+ 36, 37, 38, 93, 40, 315, 42, 43, 93, 45,
+ 93, 125, 93, 91, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 59, 91, 257, 36, 0, 64, 255,
+ 41, 185, 125, 312, 260, 189, 190, 91, 192, 299,
+ 194, 41, 40, 195, 41, 41, 93, 201, 93, 203,
+ 204, 41, 333, 334, 208, 91, 123, 338, 41, 257,
+ 33, 40, 125, 36, 37, 38, 41, 40, 59, 42,
+ 43, 59, 45, 354, 123, 125, 255, 358, 357, 125,
+ 234, 260, 236, 237, 0, 125, 59, 123, 41, 125,
+ 126, 64, 257, 125, 298, 299, 41, 262, 41, 298,
+ 299, 298, 299, 59, 272, 273, 274, 275, 298, 299,
+ 40, 279, 272, 273, 274, 275, 41, 33, 91, 279,
+ 36, 37, 38, 296, 40, 344, 42, 43, 41, 45,
+ 298, 299, 41, 301, 288, 298, 299, 123, 298, 299,
+ 294, 301, 41, 59, 59, 298, 299, 123, 64, 41,
+ 123, 59, 125, 126, 272, 273, 274, 275, 298, 299,
+ 314, 279, 41, 281, 298, 299, 298, 299, 41, 287,
+ 288, 289, 290, 298, 299, 91, 298, 299, 298, 299,
+ 298, 299, 59, 301, 302, 303, 304, 305, 306, 307,
+ 63, 258, 310, 298, 299, 313, 314, 315, 41, 353,
+ 298, 299, 298, 299, 298, 299, 8, 123, 298, 299,
+ 126, 32, 13, 298, 299, 298, 299, 298, 299, 145,
+ 256, 257, 258, 259, 260, 261, 353, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 125, 192, 97, 279, 280, -1, 282, 283, 284, 285,
+ 286, 298, 299, 298, 299, 291, 292, 293, 294, 295,
+ 296, -1, -1, 41, 300, -1, 44, 266, 267, 268,
+ 314, 270, 271, 309, -1, 311, 312, -1, -1, -1,
+ -1, 59, -1, 256, 257, 258, 259, 260, 261, -1,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 125, -1, -1, 279, 280, 289, 282,
+ 283, 284, 285, 286, -1, 93, -1, -1, 291, 292,
+ 293, 294, 295, 296, -1, -1, 307, 300, 41, 310,
+ -1, 44, 313, 314, 315, -1, 309, -1, 311, 312,
256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
+ 63, -1, -1, 269, -1, -1, 272, 273, 274, 275,
-1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
- 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
- -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
- -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
- 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
- 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
- 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
- -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
- 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
- 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
- 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
- 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
- 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
- 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
- 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
- -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
- -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
- -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
+ 296, 266, 267, 268, 300, 270, 271, 310, -1, -1,
+ 313, 314, 315, 309, 33, 311, 312, 36, 37, 38,
+ -1, 40, 41, 42, 43, 44, 45, -1, 281, -1,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, 58,
+ 59, -1, -1, -1, 63, 64, -1, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
+ 313, 314, 315, -1, 266, 267, 268, -1, 270, 271,
+ -1, -1, 91, 33, 93, -1, 36, 37, 38, -1,
+ 40, 41, 42, 43, 44, 45, -1, -1, 26, -1,
+ -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
+ 279, -1, -1, 63, 64, 43, 44, 126, -1, -1,
+ -1, -1, 50, -1, 272, 273, 274, 275, -1, 298,
+ 299, 279, -1, -1, 62, 63, 64, 65, -1, -1,
+ -1, -1, -1, 93, 33, -1, -1, 36, 37, 38,
+ 298, 40, -1, 42, 43, -1, 45, -1, 309, 310,
+ 311, -1, 313, -1, -1, 287, 288, 289, 290, -1,
+ 59, 307, -1, -1, 310, 64, 126, 313, 314, 315,
+ 108, 303, 304, 305, 306, 307, -1, -1, 310, 340,
+ -1, 313, 314, 315, 41, -1, 347, 44, 281, -1,
+ 351, -1, 91, -1, 287, 288, 289, 290, -1, -1,
+ -1, 58, 59, 364, 365, -1, 63, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
+ 313, 314, 315, -1, 123, -1, -1, 126, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, 257, 258,
+ 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
+ 269, -1, 58, 272, 273, 274, 275, 63, -1, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
+ 309, 310, 311, 312, 313, 314, 315, 257, 258, 259,
260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
- 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
- -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
- 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
- -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
- 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
- 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
- -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
- -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
- -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
- -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
- 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
- -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
- 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
- -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
- -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
- 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
- -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
- -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
+ -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, 313, 314, 315, -1, 256, 257, 258,
+ 259, 260, 261, -1, 263, 264, 265, -1, -1, 63,
+ 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
+ 279, 280, -1, 282, 283, 284, 285, 286, -1, -1,
+ -1, -1, 291, 292, 293, 294, 295, 296, -1, 33,
+ -1, 300, 36, 37, 38, 13, 40, -1, 42, 43,
+ 309, 45, 311, 312, -1, 272, 273, 274, 275, -1,
+ -1, -1, 279, -1, 281, 59, -1, -1, -1, -1,
+ 64, 288, -1, -1, 42, -1, -1, 45, 41, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, -1,
+ 287, 288, 289, 290, -1, 33, 59, 91, 36, 37,
+ 38, -1, 40, -1, 42, 43, -1, 45, 305, 306,
+ 307, -1, -1, 310, 82, 281, 313, 314, 315, -1,
+ -1, 287, 288, 289, 290, -1, 64, -1, 96, 123,
+ 93, -1, 126, -1, -1, 301, 302, 303, 304, 305,
+ 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
+ -1, 33, -1, 91, 36, 37, 38, -1, 40, -1,
+ 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 142, -1, -1, 287, 288, 289,
+ 290, -1, 64, -1, -1, 123, -1, -1, 126, -1,
+ 41, -1, -1, 44, 304, 305, 306, 307, -1, -1,
+ 310, -1, -1, 313, 314, 315, -1, 58, 59, 91,
+ -1, -1, -1, 181, 33, -1, -1, 36, 37, 38,
+ 188, 40, -1, 42, 43, -1, 45, 281, -1, -1,
+ -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
+ -1, 123, 93, -1, 126, 64, -1, 301, 302, 303,
+ 304, 305, 306, 307, -1, -1, 310, -1, -1, 313,
+ 314, 315, 256, 257, 258, 259, 260, 261, -1, 263,
+ 264, 265, 91, -1, -1, 269, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, 280, -1, 282, 283,
+ 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
+ 294, 295, 296, -1, 123, -1, 300, 126, -1, 272,
+ 273, 274, 275, -1, -1, 309, 279, 311, 312, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
+ -1, 269, -1, -1, 63, 298, 299, -1, -1, -1,
+ -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ -1, -1, 300, -1, -1, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, 257, 258, 259, 260, 261,
+ -1, 263, 264, 265, -1, 33, -1, 269, 36, 37,
+ 38, -1, 40, 41, 42, 43, -1, 45, 280, -1,
+ 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
+ 292, 293, 294, 295, 296, -1, 64, -1, 300, -1,
+ -1, 272, 273, 274, 275, -1, -1, 309, 279, 311,
+ 312, -1, 287, 288, 289, 290, -1, -1, 257, 258,
+ 259, 260, 261, 91, 263, 264, 265, 298, 299, -1,
+ 269, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, 280, -1, 282, 283, 284, 285, 286, -1, -1,
+ -1, -1, 291, 292, 293, 294, 295, 296, 126, 33,
+ -1, 300, 36, 37, 38, -1, 40, -1, 42, 43,
+ 309, 45, 311, 312, 287, -1, 289, 290, -1, -1,
+ -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
+ 64, 25, 26, 306, 307, -1, 41, 310, -1, 44,
+ 313, 314, 315, 37, -1, -1, -1, -1, -1, 43,
+ 44, 45, -1, 58, 59, 33, 50, 91, 36, 37,
+ 38, -1, 40, -1, 42, 43, -1, 45, 62, 63,
+ 64, 65, 281, -1, -1, -1, -1, -1, 287, 288,
+ 289, 290, -1, -1, -1, -1, 64, -1, 93, -1,
+ -1, -1, 126, 302, 303, 304, 305, 306, 307, -1,
+ -1, 310, -1, -1, 313, 314, 315, -1, -1, -1,
+ -1, -1, -1, 91, 108, 93, 33, -1, -1, 36,
+ 37, 38, -1, 40, 41, 42, 43, -1, 45, 257,
+ 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
+ -1, 269, -1, -1, -1, -1, -1, 64, 126, -1,
+ -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ 289, 290, 300, 167, 91, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, -1, -1, 41, 307, -1,
+ 44, 310, -1, -1, 313, 314, 315, -1, -1, 193,
+ -1, -1, -1, -1, 58, 59, -1, 33, -1, 126,
+ 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
+ 264, 265, -1, -1, -1, 269, -1, -1, 64, 93,
+ -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
+ 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
+ 294, 295, 296, -1, -1, 91, 300, 272, 273, 274,
+ 275, -1, -1, -1, 279, 309, -1, 311, 312, 257,
+ 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
+ -1, 269, -1, 298, 299, -1, -1, -1, -1, -1,
+ 126, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ 41, -1, 300, 44, -1, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, -1, 41, 58, 59, 44,
257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
-1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
-1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
- -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
- -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
- 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
- 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
- -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
- 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
- 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
+ -1, -1, 93, -1, 291, 292, 293, 294, 295, 296,
+ -1, -1, -1, 300, -1, -1, -1, -1, 93, -1,
+ -1, -1, 309, -1, 311, 312, -1, 33, -1, -1,
36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
- -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
- -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
- 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
- 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
- -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
- -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
- 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
- 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, -1, 64, -1,
-1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
- 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
+ -1, -1, -1, 269, 298, 299, -1, -1, -1, -1,
+ -1, -1, -1, -1, 280, 91, 282, 283, 284, 285,
286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
- -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
- 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
- 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
- -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
- 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
- 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
- -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
- -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
+ 296, -1, 33, -1, 300, 36, 37, 38, -1, 40,
+ -1, 42, 43, 309, 45, 311, 312, -1, -1, -1,
+ 126, 287, 288, 289, 290, -1, -1, -1, -1, -1,
+ -1, -1, -1, 64, -1, -1, 302, 303, 304, 305,
+ 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ -1, -1, -1, -1, 64, 126, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, 298, 299, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, 91, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 33, -1,
+ -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
+ 45, 257, 258, 259, 260, 261, 126, 263, 264, 265,
+ -1, -1, -1, 269, -1, -1, -1, -1, -1, 64,
+ -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
+ 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
+ 296, -1, -1, -1, 300, -1, 91, -1, -1, -1,
+ -1, -1, -1, 309, -1, 311, 312, -1, 33, -1,
+ -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, -1, 256, 257, 258, 259, 260,
+ 261, 126, 263, 264, 265, -1, -1, -1, 269, 64,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
+ -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
+ 291, 292, 293, 294, 295, 296, 91, -1, -1, 300,
+ -1, -1, -1, -1, -1, -1, -1, -1, 309, -1,
+ 311, 312, -1, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
+ -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
+ 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
+ -1, 291, 292, 293, 294, 295, 296, -1, 33, -1,
+ 300, 36, 37, 38, -1, 40, -1, 42, 43, 309,
+ 45, 311, 312, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 280, 91, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, -1, -1, 300, -1, -1, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
+ -1, 126, -1, -1, 41, -1, -1, 44, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, 58, 59, -1, 269, -1, 63, -1, -1, -1,
+ -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, -1, 41, 300, 93, 44, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
+ -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
+ -1, 44, -1, -1, -1, -1, 93, -1, -1, -1,
+ -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
- -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
+ 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, 41, -1, 300, 44, -1, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
- 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
- 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
- -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
- 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
- -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
- 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
- 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, 93, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
+ 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
+ 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
+ 307, -1, -1, 310, -1, 93, 313, 314, 315, -1,
+ -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
+ -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
+ 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
+ 307, -1, -1, 310, -1, -1, 313, 314, 315, 272,
+ 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
+ -1, 41, -1, -1, 44, 298, 299, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, 58, 59,
+ 313, 314, 315, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, -1, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, -1, 44, -1, -1, -1, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, 93, 44, -1, -1, -1, -1, -1, -1,
+ -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
+ -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
+ 290, -1, -1, -1, -1, -1, -1, -1, 298, 299,
+ -1, 301, 302, 303, 304, 305, 306, 307, 41, -1,
+ 310, 44, 93, 313, 314, 315, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ 93, -1, 287, 288, 289, 290, -1, -1, -1, 41,
+ -1, -1, 44, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, 58, 59, 313, 314,
+ 315, 63, -1, -1, -1, -1, -1, 272, 273, 274,
275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
-1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
- -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
- 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
- -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
- 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
- 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
- -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
- -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
- 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ -1, 93, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, 41, -1, -1, 44, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, -1, -1, 310,
+ 58, 59, 313, 314, 315, 63, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, -1, -1, 93, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 41, -1, 310,
+ -1, -1, 313, 314, 315, -1, -1, -1, -1, 272,
+ 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
+ -1, -1, -1, -1, -1, 298, 299, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, 41, 310, -1, 93,
+ 313, 314, 315, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
- -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
- 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
- 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
- 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
- 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
- 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
- -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
+ -1, -1, 41, -1, -1, -1, 298, 299, 93, 301,
+ 302, 303, 304, 305, 306, 307, -1, -1, 310, 58,
+ 59, 313, 314, 315, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
+ -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, 281, 93, -1,
+ -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
+ 41, -1, -1, 44, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, 307, -1, -1, 310, 58, 59, 313,
+ 314, 315, 63, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, -1, -1, 272, 273, 274, 275, -1, -1, -1,
+ 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
+ 289, 290, -1, -1, -1, -1, -1, -1, -1, 298,
+ 299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
+ -1, 310, -1, -1, 313, 314, 315, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, 58, 59, 310, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, 41, 93, -1,
+ 44, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, 58, 59, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ 41, -1, -1, 44, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 93, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, 93, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
- -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
- 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
- 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
+ -1, -1, -1, 287, 288, 289, 290, 41, 93, -1,
+ 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, 307, 58, 59, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, -1, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, -1, 41, 298, 299, 44, 301, 302, 303, 304,
+ 305, 306, 307, -1, 272, 273, 274, 275, -1, 58,
+ 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, -1, -1, -1, 41,
+ 298, 299, 44, 301, 302, 303, 304, 305, 306, 307,
+ 41, -1, -1, 44, 93, -1, 58, 59, -1, -1,
+ -1, 63, -1, -1, -1, -1, -1, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, 93, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, -1, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
- -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
- 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
- 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 287, 288, -1, 290, 41, 93, -1,
+ 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, -1, 58, 59, -1, -1, -1, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
- 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
- -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
- 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
+ -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
+ -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 272, 273, 274, 275, 93, -1, -1,
+ 279, -1, 281, -1, -1, -1, -1, 93, 287, 288,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
- -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
- 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
- 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
- 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
- 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
+ -1, 272, 273, 274, 275, 287, 288, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 298, 299, -1, 301,
+ 302, 303, 304, 305, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
+ -1, -1, 287, 288, -1, -1, -1, -1, 41, -1,
+ -1, 44, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, -1, -1, -1, -1, 58, 59, 93, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
+ -1, -1, -1, 287, 288, -1, -1, -1, -1, -1,
+ 93, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
+ -1, -1, -1, 279, -1, 281, 272, 273, 274, 275,
+ -1, 287, 288, 279, -1, 281, -1, -1, -1, -1,
+ -1, -1, 298, 299, -1, 301, 302, 303, 304, 305,
+ -1, 41, 298, 299, 44, 301, 302, 303, 304, 305,
+ -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
+ 30, -1, -1, 63, -1, -1, -1, -1, 38, -1,
+ -1, -1, 42, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, 52, 53, 54, 55, 56, -1, -1, -1,
+ 60, 61, -1, 93, -1, -1, 66, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
- -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
- -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
- 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
- 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
- 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
+ -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 298, 299, -1, 301, 302, 303, 304, 272,
+ 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
+ -1, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 298, 299, -1, 301, 302,
+ 303, -1, -1, -1, -1, -1, -1, -1, 178, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
- 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
- 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
- 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
- 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
- -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
- 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
- -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
- 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
- -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
- -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
- 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
- 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
- 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
- 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
- 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
- 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
- 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
- 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
- -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
- -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
- 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
- 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
- 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
- -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
- 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
- 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
- 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
- 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
- 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
- -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 286,
+ -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
+ -1, 281, -1, -1, -1, -1, -1, -1, 258, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 298, 299,
+ -1, 301, 302, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 289,
};
#define YYFINAL 1
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
-#define YYMAXTOKEN 314
+#define YYMAXTOKEN 315
#if YYDEBUG
static char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -1101,9 +1139,9 @@ static char *yyname[] = {
"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
-"OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
-"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
-"POSTDEC","ARROW",
+"PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP",
+"BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
+"POSTINC","POSTDEC","ARROW",
};
static char *yyrule[] = {
"$accept : prog",
@@ -1190,6 +1228,17 @@ static char *yyrule[] = {
"listop : LSTOPSUB startanonsub block $$3 listexpr",
"method : METHOD",
"method : scalar",
+"subscripted : star '{' expr ';' '}'",
+"subscripted : scalar '[' expr ']'",
+"subscripted : term ARROW '[' expr ']'",
+"subscripted : subscripted '[' expr ']'",
+"subscripted : scalar '{' expr ';' '}'",
+"subscripted : term ARROW '{' expr ';' '}'",
+"subscripted : subscripted '{' expr ';' '}'",
+"subscripted : term ARROW '(' ')'",
+"subscripted : term ARROW '(' expr ')'",
+"subscripted : subscripted '(' expr ')'",
+"subscripted : subscripted '(' ')'",
"term : term ASSIGNOP term",
"term : term POWOP term",
"term : term MULOP term",
@@ -1222,17 +1271,11 @@ static char *yyrule[] = {
"term : HASHBRACK ';' '}'",
"term : ANONSUB startanonsub proto block",
"term : scalar",
-"term : star '{' expr ';' '}'",
"term : star",
-"term : scalar '[' expr ']'",
-"term : term ARROW '[' expr ']'",
-"term : term '[' expr ']'",
"term : hsh",
"term : ary",
"term : arylen",
-"term : scalar '{' expr ';' '}'",
-"term : term ARROW '{' expr ';' '}'",
-"term : term '{' expr ';' '}'",
+"term : subscripted",
"term : '(' expr ')' '[' expr ']'",
"term : '(' ')' '[' expr ']'",
"term : ary '[' expr ']'",
@@ -1248,8 +1291,6 @@ static char *yyrule[] = {
"term : DO WORD '(' expr ')'",
"term : DO scalar '(' ')'",
"term : DO scalar '(' expr ')'",
-"term : term ARROW '(' ')'",
-"term : term ARROW '(' expr ')'",
"term : LOOPEX",
"term : LOOPEX term",
"term : NOTOP argexpr",
@@ -1300,9 +1341,9 @@ static char *yyrule[] = {
#define YYMAXDEPTH 500
#endif
#endif
-#line 652 "perly.y"
+#line 666 "perly.y"
/* PROGRAM */
-#line 1318 "perly.c"
+#line 1427 "perly.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -1516,7 +1557,7 @@ yyreduce:
switch (yyn)
{
case 1:
-#line 99 "perly.y"
+#line 101 "perly.y"
{
#if defined(YYDEBUG) && defined(DEBUGGING)
yydebug = (PL_debug & 1);
@@ -1525,50 +1566,50 @@ case 1:
}
break;
case 2:
-#line 106 "perly.y"
+#line 108 "perly.y"
{ newPROG(yyvsp[0].opval); }
break;
case 3:
-#line 110 "perly.y"
+#line 112 "perly.y"
{ if (PL_copline > (line_t)yyvsp[-3].ival)
PL_copline = yyvsp[-3].ival;
yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
break;
case 4:
-#line 116 "perly.y"
+#line 118 "perly.y"
{ yyval.ival = block_start(TRUE); }
break;
case 5:
-#line 120 "perly.y"
+#line 122 "perly.y"
{ if (PL_copline > (line_t)yyvsp[-3].ival)
PL_copline = yyvsp[-3].ival;
yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
break;
case 6:
-#line 126 "perly.y"
+#line 128 "perly.y"
{ yyval.ival = block_start(FALSE); }
break;
case 7:
-#line 130 "perly.y"
+#line 132 "perly.y"
{ yyval.opval = Nullop; }
break;
case 8:
-#line 132 "perly.y"
+#line 134 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 9:
-#line 134 "perly.y"
+#line 136 "perly.y"
{ yyval.opval = append_list(OP_LINESEQ,
(LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
PL_pad_reset_pending = TRUE;
if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 10:
-#line 141 "perly.y"
+#line 143 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
break;
case 12:
-#line 144 "perly.y"
+#line 146 "perly.y"
{ if (yyvsp[-1].pval != Nullch) {
yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
}
@@ -1579,75 +1620,75 @@ case 12:
PL_expect = XSTATE; }
break;
case 13:
-#line 153 "perly.y"
+#line 155 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
PL_expect = XSTATE; }
break;
case 14:
-#line 158 "perly.y"
+#line 160 "perly.y"
{ yyval.opval = Nullop; }
break;
case 15:
-#line 160 "perly.y"
+#line 162 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 16:
-#line 162 "perly.y"
+#line 164 "perly.y"
{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
break;
case 17:
-#line 164 "perly.y"
+#line 166 "perly.y"
{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
break;
case 18:
-#line 166 "perly.y"
+#line 168 "perly.y"
{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
break;
case 19:
-#line 168 "perly.y"
+#line 170 "perly.y"
{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
break;
case 20:
-#line 170 "perly.y"
+#line 172 "perly.y"
{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
break;
case 21:
-#line 175 "perly.y"
+#line 177 "perly.y"
{ yyval.opval = Nullop; }
break;
case 22:
-#line 177 "perly.y"
+#line 179 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 23:
-#line 179 "perly.y"
+#line 181 "perly.y"
{ PL_copline = yyvsp[-5].ival;
yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 24:
-#line 186 "perly.y"
+#line 187 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
break;
case 25:
-#line 190 "perly.y"
+#line 191 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
break;
case 26:
-#line 196 "perly.y"
+#line 197 "perly.y"
{ yyval.opval = Nullop; }
break;
case 27:
-#line 198 "perly.y"
+#line 199 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 28:
-#line 202 "perly.y"
+#line 203 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newSTATEOP(0, yyvsp[-7].pval,
@@ -1655,7 +1696,7 @@ case 28:
yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
break;
case 29:
-#line 208 "perly.y"
+#line 209 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newSTATEOP(0, yyvsp[-7].pval,
@@ -1663,23 +1704,23 @@ case 29:
yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
break;
case 30:
-#line 214 "perly.y"
+#line 215 "perly.y"
{ yyval.opval = block_end(yyvsp[-6].ival,
newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 31:
-#line 217 "perly.y"
+#line 218 "perly.y"
{ yyval.opval = block_end(yyvsp[-4].ival,
newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 32:
-#line 221 "perly.y"
+#line 222 "perly.y"
{ yyval.opval = block_end(yyvsp[-4].ival,
newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 33:
-#line 225 "perly.y"
+#line 226 "perly.y"
{ OP *forop = append_elem(OP_LINESEQ,
scalar(yyvsp[-6].opval),
newWHILEOP(0, 1, (LOOP*)Nullop,
@@ -1689,89 +1730,89 @@ case 33:
yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
break;
case 34:
-#line 233 "perly.y"
+#line 234 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
newWHILEOP(0, 1, (LOOP*)Nullop,
NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 35:
-#line 239 "perly.y"
+#line 240 "perly.y"
{ yyval.opval = Nullop; }
break;
case 37:
-#line 244 "perly.y"
+#line 245 "perly.y"
{ (void)scan_num("1"); yyval.opval = yylval.opval; }
break;
case 39:
-#line 249 "perly.y"
+#line 250 "perly.y"
{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
break;
case 40:
-#line 253 "perly.y"
+#line 254 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 41:
-#line 257 "perly.y"
+#line 258 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 42:
-#line 261 "perly.y"
+#line 262 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 43:
-#line 265 "perly.y"
+#line 266 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 44:
-#line 269 "perly.y"
+#line 270 "perly.y"
{ yyval.pval = Nullch; }
break;
case 46:
-#line 274 "perly.y"
+#line 275 "perly.y"
{ yyval.ival = 0; }
break;
case 47:
-#line 276 "perly.y"
+#line 277 "perly.y"
{ yyval.ival = 0; }
break;
case 48:
-#line 278 "perly.y"
+#line 279 "perly.y"
{ yyval.ival = 0; }
break;
case 49:
-#line 280 "perly.y"
+#line 281 "perly.y"
{ yyval.ival = 0; }
break;
case 50:
-#line 284 "perly.y"
+#line 285 "perly.y"
{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 51:
-#line 287 "perly.y"
+#line 288 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 52:
-#line 288 "perly.y"
+#line 289 "perly.y"
{ yyval.opval = Nullop; }
break;
case 53:
-#line 292 "perly.y"
+#line 293 "perly.y"
{ newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 54:
-#line 296 "perly.y"
+#line 297 "perly.y"
{ yyval.ival = start_subparse(FALSE, 0); }
break;
case 55:
-#line 300 "perly.y"
+#line 301 "perly.y"
{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
break;
case 56:
-#line 304 "perly.y"
+#line 305 "perly.y"
{ yyval.ival = start_subparse(TRUE, 0); }
break;
case 57:
-#line 307 "perly.y"
+#line 308 "perly.y"
{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
if (strEQ(name, "BEGIN") || strEQ(name, "END")
|| strEQ(name, "INIT"))
@@ -1779,311 +1820,337 @@ case 57:
yyval.opval = yyvsp[0].opval; }
break;
case 58:
-#line 315 "perly.y"
+#line 316 "perly.y"
{ yyval.opval = Nullop; }
break;
case 60:
-#line 319 "perly.y"
+#line 320 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 61:
-#line 320 "perly.y"
+#line 321 "perly.y"
{ yyval.opval = Nullop; PL_expect = XSTATE; }
break;
case 62:
-#line 324 "perly.y"
+#line 325 "perly.y"
{ package(yyvsp[-1].opval); }
break;
case 63:
-#line 326 "perly.y"
+#line 327 "perly.y"
{ package(Nullop); }
break;
case 64:
-#line 330 "perly.y"
+#line 331 "perly.y"
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
break;
case 65:
-#line 332 "perly.y"
+#line 333 "perly.y"
{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
break;
case 66:
-#line 336 "perly.y"
+#line 337 "perly.y"
{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 67:
-#line 338 "perly.y"
+#line 339 "perly.y"
{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 69:
-#line 343 "perly.y"
+#line 344 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 70:
-#line 345 "perly.y"
+#line 346 "perly.y"
{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 72:
-#line 350 "perly.y"
+#line 351 "perly.y"
{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
break;
case 73:
-#line 353 "perly.y"
+#line 354 "perly.y"
{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
break;
case 74:
-#line 356 "perly.y"
+#line 357 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
break;
case 75:
-#line 361 "perly.y"
+#line 362 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, scalar(yyvsp[-2].opval),
newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
break;
case 76:
-#line 365 "perly.y"
+#line 366 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
break;
case 77:
-#line 370 "perly.y"
+#line 371 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
break;
case 78:
-#line 375 "perly.y"
+#line 376 "perly.y"
{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 79:
-#line 377 "perly.y"
+#line 378 "perly.y"
{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
case 80:
-#line 379 "perly.y"
+#line 380 "perly.y"
{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 81:
-#line 381 "perly.y"
+#line 382 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
break;
case 84:
-#line 391 "perly.y"
-{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
+#line 392 "perly.y"
+{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
break;
case 85:
-#line 393 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 394 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
break;
case 86:
-#line 395 "perly.y"
-{ if (yyvsp[-1].ival != OP_REPEAT)
- scalar(yyvsp[-2].opval);
- yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
+#line 396 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0,
+ ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
+ scalar(yyvsp[-1].opval));}
break;
case 87:
-#line 399 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 400 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0,
+ ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
+ scalar(yyvsp[-1].opval));}
break;
case 88:
-#line 401 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 404 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 89:
-#line 403 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 407 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0,
+ ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
+ jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 90:
-#line 405 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 412 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0,
+ ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
+ jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 91:
-#line 407 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 417 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar(yyvsp[-3].opval))); }
break;
case 92:
-#line 409 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 420 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, yyvsp[-1].opval,
+ newCVREF(0, scalar(yyvsp[-4].opval)))); }
break;
case 93:
-#line 411 "perly.y"
-{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
+#line 425 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, yyvsp[-1].opval,
+ newCVREF(0, scalar(yyvsp[-3].opval)))); }
break;
case 94:
-#line 413 "perly.y"
-{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 429 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar(yyvsp[-2].opval))); }
break;
case 95:
-#line 415 "perly.y"
-{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 435 "perly.y"
+{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
break;
case 96:
-#line 417 "perly.y"
-{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 437 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 97:
-#line 419 "perly.y"
-{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 439 "perly.y"
+{ if (yyvsp[-1].ival != OP_REPEAT)
+ scalar(yyvsp[-2].opval);
+ yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
break;
case 98:
-#line 422 "perly.y"
-{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
+#line 443 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 99:
-#line 424 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 445 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 100:
-#line 426 "perly.y"
-{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
+#line 447 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 101:
-#line 428 "perly.y"
-{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
+#line 449 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 102:
-#line 430 "perly.y"
-{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
+#line 451 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 103:
-#line 432 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTINC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
+#line 453 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 104:
-#line 435 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTDEC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
+#line 455 "perly.y"
+{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
break;
case 105:
-#line 438 "perly.y"
-{ yyval.opval = newUNOP(OP_PREINC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREINC)); }
+#line 457 "perly.y"
+{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 106:
-#line 441 "perly.y"
-{ yyval.opval = newUNOP(OP_PREDEC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
+#line 459 "perly.y"
+{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 107:
-#line 444 "perly.y"
-{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
+#line 461 "perly.y"
+{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 108:
-#line 446 "perly.y"
-{ yyval.opval = sawparens(yyvsp[-1].opval); }
+#line 463 "perly.y"
+{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 109:
-#line 448 "perly.y"
-{ yyval.opval = sawparens(newNULLLIST()); }
+#line 466 "perly.y"
+{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
break;
case 110:
-#line 450 "perly.y"
-{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
+#line 468 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 111:
-#line 452 "perly.y"
-{ yyval.opval = newANONLIST(Nullop); }
+#line 470 "perly.y"
+{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
case 112:
-#line 454 "perly.y"
-{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
+#line 472 "perly.y"
+{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
break;
case 113:
-#line 456 "perly.y"
-{ yyval.opval = newANONHASH(Nullop); }
+#line 474 "perly.y"
+{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
break;
case 114:
-#line 458 "perly.y"
-{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
+#line 476 "perly.y"
+{ yyval.opval = newUNOP(OP_POSTINC, 0,
+ mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
break;
case 115:
-#line 460 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 479 "perly.y"
+{ yyval.opval = newUNOP(OP_POSTDEC, 0,
+ mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
break;
case 116:
-#line 462 "perly.y"
-{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
+#line 482 "perly.y"
+{ yyval.opval = newUNOP(OP_PREINC, 0,
+ mod(scalar(yyvsp[0].opval), OP_PREINC)); }
break;
case 117:
-#line 464 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 485 "perly.y"
+{ yyval.opval = newUNOP(OP_PREDEC, 0,
+ mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
break;
case 118:
-#line 466 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
+#line 488 "perly.y"
+{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
break;
case 119:
-#line 468 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
+#line 490 "perly.y"
+{ yyval.opval = sawparens(yyvsp[-1].opval); }
break;
case 120:
-#line 472 "perly.y"
-{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
+#line 492 "perly.y"
+{ yyval.opval = sawparens(newNULLLIST()); }
break;
case 121:
-#line 476 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 494 "perly.y"
+{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
break;
case 122:
-#line 478 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 496 "perly.y"
+{ yyval.opval = newANONLIST(Nullop); }
break;
case 123:
-#line 480 "perly.y"
-{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
+#line 498 "perly.y"
+{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
break;
case 124:
-#line 482 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 500 "perly.y"
+{ yyval.opval = newANONHASH(Nullop); }
break;
case 125:
-#line 485 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 502 "perly.y"
+{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 126:
-#line 490 "perly.y"
-{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 504 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 127:
-#line 495 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
+#line 506 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 128:
-#line 497 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
+#line 508 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 129:
-#line 499 "perly.y"
+#line 510 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
+break;
+case 130:
+#line 512 "perly.y"
+{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
+break;
+case 131:
+#line 514 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
+break;
+case 132:
+#line 516 "perly.y"
+{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
+break;
+case 133:
+#line 518 "perly.y"
+{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
+break;
+case 134:
+#line 520 "perly.y"
{ yyval.opval = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
list(yyvsp[-1].opval),
ref(yyvsp[-3].opval, OP_ASLICE))); }
break;
-case 130:
-#line 505 "perly.y"
+case 135:
+#line 526 "perly.y"
{ yyval.opval = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -2091,38 +2158,38 @@ case 130:
ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
PL_expect = XOPERATOR; }
break;
-case 131:
-#line 512 "perly.y"
+case 136:
+#line 533 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 132:
-#line 514 "perly.y"
+case 137:
+#line 535 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
break;
-case 133:
-#line 516 "perly.y"
+case 138:
+#line 537 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
break;
-case 134:
-#line 518 "perly.y"
+case 139:
+#line 539 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
break;
-case 135:
-#line 521 "perly.y"
+case 140:
+#line 542 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
-case 136:
-#line 524 "perly.y"
+case 141:
+#line 545 "perly.y"
{ yyval.opval = dofile(yyvsp[0].opval); }
break;
-case 137:
-#line 526 "perly.y"
+case 142:
+#line 547 "perly.y"
{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
break;
-case 138:
-#line 528 "perly.y"
+case 143:
+#line 549 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
@@ -2131,8 +2198,8 @@ case 138:
scalar(yyvsp[-2].opval)
)),Nullop)); dep();}
break;
-case 139:
-#line 536 "perly.y"
+case 144:
+#line 557 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
append_elem(OP_LIST,
@@ -2142,162 +2209,151 @@ case 139:
scalar(yyvsp[-3].opval)
)))); dep();}
break;
-case 140:
-#line 545 "perly.y"
+case 145:
+#line 566 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
break;
-case 141:
-#line 549 "perly.y"
+case 146:
+#line 570 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
yyvsp[-1].opval,
scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
break;
-case 142:
-#line 554 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar(yyvsp[-3].opval))); }
-break;
-case 143:
-#line 557 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[-1].opval,
- newCVREF(0, scalar(yyvsp[-4].opval)))); }
-break;
-case 144:
-#line 561 "perly.y"
+case 147:
+#line 575 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE; }
break;
-case 145:
-#line 564 "perly.y"
+case 148:
+#line 578 "perly.y"
{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
break;
-case 146:
-#line 566 "perly.y"
+case 149:
+#line 580 "perly.y"
{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
-case 147:
-#line 568 "perly.y"
+case 150:
+#line 582 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
-case 148:
-#line 570 "perly.y"
+case 151:
+#line 584 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
-case 149:
-#line 572 "perly.y"
+case 152:
+#line 586 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
-case 150:
-#line 574 "perly.y"
+case 153:
+#line 588 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
-case 151:
-#line 577 "perly.y"
+case 154:
+#line 591 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
-case 152:
-#line 579 "perly.y"
+case 155:
+#line 593 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
break;
-case 153:
-#line 581 "perly.y"
+case 156:
+#line 595 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar(yyvsp[0].opval)); }
break;
-case 154:
-#line 584 "perly.y"
+case 157:
+#line 598 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
break;
-case 155:
-#line 586 "perly.y"
+case 158:
+#line 600 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
-case 156:
-#line 588 "perly.y"
+case 159:
+#line 602 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
break;
-case 157:
-#line 590 "perly.y"
+case 160:
+#line 604 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
break;
-case 160:
-#line 596 "perly.y"
+case 163:
+#line 610 "perly.y"
{ yyval.opval = Nullop; }
break;
-case 161:
-#line 598 "perly.y"
+case 164:
+#line 612 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 162:
-#line 602 "perly.y"
+case 165:
+#line 616 "perly.y"
{ yyval.opval = Nullop; }
break;
-case 163:
-#line 604 "perly.y"
+case 166:
+#line 618 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 164:
-#line 606 "perly.y"
+case 167:
+#line 620 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
-case 165:
-#line 609 "perly.y"
+case 168:
+#line 623 "perly.y"
{ yyval.ival = 0; }
break;
-case 166:
-#line 610 "perly.y"
+case 169:
+#line 624 "perly.y"
{ yyval.ival = 1; }
break;
-case 167:
-#line 614 "perly.y"
+case 170:
+#line 628 "perly.y"
{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
break;
-case 168:
-#line 618 "perly.y"
+case 171:
+#line 632 "perly.y"
{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
break;
-case 169:
-#line 622 "perly.y"
+case 172:
+#line 636 "perly.y"
{ yyval.opval = newSVREF(yyvsp[0].opval); }
break;
-case 170:
-#line 626 "perly.y"
+case 173:
+#line 640 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
-case 171:
-#line 630 "perly.y"
+case 174:
+#line 644 "perly.y"
{ yyval.opval = newHVREF(yyvsp[0].opval); }
break;
-case 172:
-#line 634 "perly.y"
+case 175:
+#line 648 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
-case 173:
-#line 638 "perly.y"
+case 176:
+#line 652 "perly.y"
{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
break;
-case 174:
-#line 642 "perly.y"
+case 177:
+#line 656 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
-case 175:
-#line 644 "perly.y"
+case 178:
+#line 658 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
-case 176:
-#line 646 "perly.y"
+case 179:
+#line 660 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
-case 177:
-#line 649 "perly.y"
+case 180:
+#line 663 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-#line 2329 "perly.c"
+#line 2365 "perly.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -2371,7 +2427,6 @@ yyaccept:
return retval;
}
-
#ifdef PERL_OBJECT
#define NO_XSLOCKS
#include "XSUB.h"
diff --git a/perly.h b/perly.h
index 926efd4dfd..14f5e924fe 100644
--- a/perly.h
+++ b/perly.h
@@ -39,24 +39,25 @@
#define NOAMP 294
#define LOCAL 295
#define MY 296
-#define OROP 297
-#define ANDOP 298
-#define NOTOP 299
-#define ASSIGNOP 300
-#define OROR 301
-#define ANDAND 302
-#define BITOROP 303
-#define BITANDOP 304
-#define SHIFTOP 305
-#define MATCHOP 306
-#define UMINUS 307
-#define REFGEN 308
-#define POWOP 309
-#define PREINC 310
-#define PREDEC 311
-#define POSTINC 312
-#define POSTDEC 313
-#define ARROW 314
+#define PREC_LOW 297
+#define OROP 298
+#define ANDOP 299
+#define NOTOP 300
+#define ASSIGNOP 301
+#define OROR 302
+#define ANDAND 303
+#define BITOROP 304
+#define BITANDOP 305
+#define SHIFTOP 306
+#define MATCHOP 307
+#define UMINUS 308
+#define REFGEN 309
+#define POWOP 310
+#define PREINC 311
+#define PREDEC 312
+#define POSTINC 313
+#define POSTDEC 314
+#define ARROW 315
#endif /* PERL_CORE */
typedef union {
diff --git a/perly.y b/perly.y
index 2594c087f7..9df012c3aa 100644
--- a/perly.y
+++ b/perly.y
@@ -43,7 +43,7 @@
#endif
%}
-%token <ival> '{' ')'
+%token <ival> '{'
%token <opval> WORD METHOD FUNCMETH THING PMFUNC PRIVATEREF
%token <opval> FUNC0SUB UNIOPSUB LSTOPSUB
@@ -59,12 +59,15 @@
%type <ival> prog decl local format startsub startanonsub startformsub
%type <ival> remember mremember '&'
%type <opval> block mblock lineseq line loop cond else
-%type <opval> expr term scalar ary hsh arylen star amper sideff
+%type <opval> expr term subscripted scalar ary hsh arylen star amper sideff
%type <opval> argexpr nexpr texpr iexpr mexpr mnexpr mtexpr miexpr
%type <opval> listexpr listexprcom indirob listop method
%type <opval> formname subname proto subbody cont my_scalar
%type <pval> label
+%nonassoc PREC_LOW
+%nonassoc LOOPEX
+
%left <ival> OROP
%left ANDOP
%right NOTOP
@@ -88,7 +91,9 @@
%right <ival> POWOP
%nonassoc PREINC PREDEC POSTINC POSTDEC
%left ARROW
+%nonassoc <ival> ')'
%left '('
+%left '[' '{'
%% /* RULES */
@@ -332,14 +337,14 @@ expr : expr ANDOP expr
{ $$ = newLOGOP(OP_AND, 0, $1, $3); }
| expr OROP expr
{ $$ = newLOGOP($2, 0, $1, $3); }
- | argexpr
+ | argexpr %prec PREC_LOW
;
argexpr : argexpr ','
{ $$ = $1; }
| argexpr ',' term
{ $$ = append_elem(OP_LIST, $1, $3); }
- | term
+ | term %prec PREC_LOW
;
listop : LSTOP indirob argexpr
@@ -383,6 +388,49 @@ method : METHOD
| scalar
;
+subscripted: star '{' expr ';' '}'
+ { $$ = newBINOP(OP_GELEM, 0, $1, scalar($3)); }
+ | scalar '[' expr ']'
+ { $$ = newBINOP(OP_AELEM, 0, oopsAV($1), scalar($3)); }
+ | term ARROW '[' expr ']'
+ { $$ = newBINOP(OP_AELEM, 0,
+ ref(newAVREF($1),OP_RV2AV),
+ scalar($4));}
+ | subscripted '[' expr ']'
+ { $$ = newBINOP(OP_AELEM, 0,
+ ref(newAVREF($1),OP_RV2AV),
+ scalar($3));}
+ | scalar '{' expr ';' '}'
+ { $$ = newBINOP(OP_HELEM, 0, oopsHV($1), jmaybe($3));
+ PL_expect = XOPERATOR; }
+ | term ARROW '{' expr ';' '}'
+ { $$ = newBINOP(OP_HELEM, 0,
+ ref(newHVREF($1),OP_RV2HV),
+ jmaybe($4));
+ PL_expect = XOPERATOR; }
+ | subscripted '{' expr ';' '}'
+ { $$ = newBINOP(OP_HELEM, 0,
+ ref(newHVREF($1),OP_RV2HV),
+ jmaybe($3));
+ PL_expect = XOPERATOR; }
+ | term ARROW '(' ')'
+ { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar($1))); }
+ | term ARROW '(' expr ')'
+ { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, $4,
+ newCVREF(0, scalar($1)))); }
+
+ | subscripted '(' expr ')'
+ { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, $3,
+ newCVREF(0, scalar($1)))); }
+ | subscripted '(' ')'
+ { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar($1))); }
+
+
+
term : term ASSIGNOP term
{ $$ = newASSIGNOP(OPf_STACKED, $1, $2, $3); }
| term POWOP term
@@ -442,9 +490,9 @@ term : term ASSIGNOP term
{ $$ = sawparens($2); }
| '(' ')'
{ $$ = sawparens(newNULLLIST()); }
- | '[' expr ']' %prec '('
+ | '[' expr ']'
{ $$ = newANONLIST($2); }
- | '[' ']' %prec '('
+ | '[' ']'
{ $$ = newANONLIST(Nullop); }
| HASHBRACK expr ';' '}' %prec '('
{ $$ = newANONHASH($2); }
@@ -454,50 +502,27 @@ term : term ASSIGNOP term
{ $$ = newANONSUB($2, $3, $4); }
| scalar %prec '('
{ $$ = $1; }
- | star '{' expr ';' '}'
- { $$ = newBINOP(OP_GELEM, 0, $1, scalar($3)); }
| star %prec '('
{ $$ = $1; }
- | scalar '[' expr ']' %prec '('
- { $$ = newBINOP(OP_AELEM, 0, oopsAV($1), scalar($3)); }
- | term ARROW '[' expr ']' %prec '('
- { $$ = newBINOP(OP_AELEM, 0,
- ref(newAVREF($1),OP_RV2AV),
- scalar($4));}
- | term '[' expr ']' %prec '('
- { assertref($1); $$ = newBINOP(OP_AELEM, 0,
- ref(newAVREF($1),OP_RV2AV),
- scalar($3));}
| hsh %prec '('
{ $$ = $1; }
| ary %prec '('
{ $$ = $1; }
| arylen %prec '('
{ $$ = newUNOP(OP_AV2ARYLEN, 0, ref($1, OP_AV2ARYLEN));}
- | scalar '{' expr ';' '}' %prec '('
- { $$ = newBINOP(OP_HELEM, 0, oopsHV($1), jmaybe($3));
- PL_expect = XOPERATOR; }
- | term ARROW '{' expr ';' '}' %prec '('
- { $$ = newBINOP(OP_HELEM, 0,
- ref(newHVREF($1),OP_RV2HV),
- jmaybe($4));
- PL_expect = XOPERATOR; }
- | term '{' expr ';' '}' %prec '('
- { assertref($1); $$ = newBINOP(OP_HELEM, 0,
- ref(newHVREF($1),OP_RV2HV),
- jmaybe($3));
- PL_expect = XOPERATOR; }
- | '(' expr ')' '[' expr ']' %prec '('
+ | subscripted
+ { $$ = $1; }
+ | '(' expr ')' '[' expr ']'
{ $$ = newSLICEOP(0, $5, $2); }
- | '(' ')' '[' expr ']' %prec '('
+ | '(' ')' '[' expr ']'
{ $$ = newSLICEOP(0, $4, Nullop); }
- | ary '[' expr ']' %prec '('
+ | ary '[' expr ']'
{ $$ = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
list($3),
ref($1, OP_ASLICE))); }
- | ary '{' expr ';' '}' %prec '('
+ | ary '{' expr ';' '}'
{ $$ = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -546,13 +571,6 @@ term : term ASSIGNOP term
prepend_elem(OP_LIST,
$4,
scalar(newCVREF(0,scalar($2))))); dep();}
- | term ARROW '(' ')' %prec '('
- { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar($1))); }
- | term ARROW '(' expr ')' %prec '('
- { $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, $4,
- newCVREF(0, scalar($1)))); }
| LOOPEX
{ $$ = newOP($1, OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE; }
@@ -588,9 +606,9 @@ term : term ASSIGNOP term
| listop
;
-listexpr: /* NULL */
+listexpr: /* NULL */ %prec PREC_LOW
{ $$ = Nullop; }
- | argexpr
+ | argexpr %prec PREC_LOW
{ $$ = $1; }
;
@@ -636,7 +654,7 @@ star : '*' indirob
indirob : WORD
{ $$ = scalar($1); }
- | scalar
+ | scalar %prec PREC_LOW
{ $$ = scalar($1); }
| block
{ $$ = scope($1); }
diff --git a/perly_c.diff b/perly_c.diff
index cfd369b53f..463df80076 100644
--- a/perly_c.diff
+++ b/perly_c.diff
@@ -1,8 +1,92 @@
-*** perly.c.orig Sun Feb 7 04:48:56 1999
---- perly.c Sun Feb 7 05:30:49 1999
+*** perly.c.orig Mon Jul 26 03:27:57 1999
+--- perly.c Mon Jul 26 02:47:03 1999
***************
-*** 7,10 ****
---- 7,25 ----
+*** 8,91 ****
+ #include "perl.h"
+
+ #define dep() deprecate("\"do\" to call subroutines")
+
+! #line 27 "perly.y"
+! /* I sense a Big Blue pattern here... */
+! #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
+! #line 31 "perly.y"
+! typedef union {
+! I32 ival;
+! char *pval;
+! OP *opval;
+! GV *gvval;
+! } YYSTYPE;
+! #line 39 "perly.y"
+! #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
+
+! #ifdef USE_PURE_BISON
+! #define YYLEX_PARAM (&yychar)
+! #endif
+! #line 29 "y.tab.c"
+! #define WORD 257
+! #define METHOD 258
+! #define FUNCMETH 259
+! #define THING 260
+! #define PMFUNC 261
+! #define PRIVATEREF 262
+! #define FUNC0SUB 263
+! #define UNIOPSUB 264
+! #define LSTOPSUB 265
+! #define LABEL 266
+! #define FORMAT 267
+! #define SUB 268
+! #define ANONSUB 269
+! #define PACKAGE 270
+! #define USE 271
+! #define WHILE 272
+! #define UNTIL 273
+! #define IF 274
+! #define UNLESS 275
+! #define ELSE 276
+! #define ELSIF 277
+! #define CONTINUE 278
+! #define FOR 279
+! #define LOOPEX 280
+! #define DOTDOT 281
+! #define FUNC0 282
+! #define FUNC1 283
+! #define FUNC 284
+! #define UNIOP 285
+! #define LSTOP 286
+! #define RELOP 287
+! #define EQOP 288
+! #define MULOP 289
+! #define ADDOP 290
+! #define DOLSHARP 291
+! #define DO 292
+! #define HASHBRACK 293
+! #define NOAMP 294
+! #define LOCAL 295
+! #define MY 296
+! #define PREC_LOW 297
+! #define OROP 298
+! #define ANDOP 299
+! #define NOTOP 300
+! #define ASSIGNOP 301
+! #define OROR 302
+! #define ANDAND 303
+! #define BITOROP 304
+! #define BITANDOP 305
+! #define SHIFTOP 306
+! #define MATCHOP 307
+! #define UMINUS 308
+! #define REFGEN 309
+! #define POWOP 310
+! #define PREINC 311
+! #define PREDEC 312
+! #define POSTINC 313
+! #define POSTDEC 314
+! #define ARROW 315
+ #define YYERRCODE 256
+! short yylhs[] = { -1,
+ 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
+ 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
+--- 8,25 ----
#include "perl.h"
+ #define yydebug PL_yydebug
@@ -12,242 +96,147 @@
+ #define yyval PL_yyval
+ #define yylval PL_yylval
+
-+ #ifdef PERL_OBJECT
-+ static void
-+ Dep(CPerlObj *pPerl)
-+ {
-+ pPerl->deprecate("\"do\" to call subroutines");
-+ }
-+ #define dep() Dep(this)
-+ #else
- static void
- dep(void)
-***************
-*** 12,93 ****
- deprecate("\"do\" to call subroutines");
- }
+ #define dep() deprecate("\"do\" to call subroutines")
- #line 30 "perly.y"
-- /* I sense a Big Blue pattern here... */
-- #if !defined(OEMVS) && !defined(__OPEN_VM) && !defined(POSIX_BC)
-- #line 34 "perly.y"
-- typedef union {
-- I32 ival;
-- char *pval;
-- OP *opval;
-- GV *gvval;
-- } YYSTYPE;
-- #line 42 "perly.y"
-- #endif /* !OEMVS && !__OPEN_VM && !POSIX_BC */
--
-- #ifdef USE_PURE_BISON
-- #define YYLEX_PARAM (&yychar)
-- #endif
-- #line 32 "y.tab.c"
-- #define WORD 257
-- #define METHOD 258
-- #define FUNCMETH 259
-- #define THING 260
-- #define PMFUNC 261
-- #define PRIVATEREF 262
-- #define FUNC0SUB 263
-- #define UNIOPSUB 264
-- #define LSTOPSUB 265
-- #define LABEL 266
-- #define FORMAT 267
-- #define SUB 268
-- #define ANONSUB 269
-- #define PACKAGE 270
-- #define USE 271
-- #define WHILE 272
-- #define UNTIL 273
-- #define IF 274
-- #define UNLESS 275
-- #define ELSE 276
-- #define ELSIF 277
-- #define CONTINUE 278
-- #define FOR 279
-- #define LOOPEX 280
-- #define DOTDOT 281
-- #define FUNC0 282
-- #define FUNC1 283
-- #define FUNC 284
-- #define UNIOP 285
-- #define LSTOP 286
-- #define RELOP 287
-- #define EQOP 288
-- #define MULOP 289
-- #define ADDOP 290
-- #define DOLSHARP 291
-- #define DO 292
-- #define HASHBRACK 293
-- #define NOAMP 294
-- #define LOCAL 295
-- #define MY 296
-- #define OROP 297
-- #define ANDOP 298
-- #define NOTOP 299
-- #define ASSIGNOP 300
-- #define OROR 301
-- #define ANDAND 302
-- #define BITOROP 303
-- #define BITANDOP 304
-- #define SHIFTOP 305
-- #define MATCHOP 306
-- #define UMINUS 307
-- #define REFGEN 308
-- #define POWOP 309
-- #define PREINC 310
-- #define PREDEC 311
-- #define POSTINC 312
-- #define POSTDEC 313
-- #define ARROW 314
- #define YYERRCODE 256
-! short yylhs[] = { -1,
- 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
- 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
---- 27,35 ----
- deprecate("\"do\" to call subroutines");
- }
-+ #endif
+! static void yydestruct(pTHXo_ void *ptr);
- #line 30 "perly.y"
+! #line 27 "perly.y"
#define YYERRCODE 256
! static short yylhs[] = { -1,
- 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
- 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
+ 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
+ 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
***************
-*** 109,113 ****
- 20, 21, 22, 35, 35, 35, 35,
+*** 107,111 ****
+ 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
};
! short yylen[] = { 2,
0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
---- 51,55 ----
- 20, 21, 22, 35, 35, 35, 35,
+--- 41,45 ----
+ 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
};
! static short yylen[] = { 2,
0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
***************
-*** 129,133 ****
- 2, 2, 2, 1, 1, 1, 1,
+*** 127,131 ****
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
};
! short yydefred[] = { 1,
0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
---- 71,75 ----
- 2, 2, 2, 1, 1, 1, 1,
+--- 61,65 ----
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
};
! static short yydefred[] = { 1,
0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
***************
-*** 168,172 ****
- 33, 0, 23,
+*** 166,170 ****
+ 5, 0, 30, 0, 0, 33, 0, 23,
};
! short yydgoto[] = { 1,
- 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
- 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
---- 110,114 ----
- 33, 0, 23,
+ 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
+ 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
+--- 100,104 ----
+ 5, 0, 30, 0, 0, 33, 0, 23,
};
! static short yydgoto[] = { 1,
- 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
- 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
+ 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
+ 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
***************
-*** 175,179 ****
- 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
+*** 174,178 ****
+ 260,
};
! short yysindex[] = { 0,
- 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
- 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
---- 117,121 ----
- 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
+ 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
+ 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
+--- 108,112 ----
+ 260,
};
! static short yysindex[] = { 0,
- 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
- 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
+ 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
+ 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
***************
-*** 214,218 ****
- 0, -238, 0,
+*** 213,217 ****
+ 0, 228, 0, 92, 92, 0, -204, 0,
};
! short yyrindex[] = { 0,
- 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
---- 156,160 ----
- 0, -238, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
+--- 147,151 ----
+ 0, 228, 0, 92, 92, 0, -204, 0,
};
! static short yyrindex[] = { 0,
- 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
***************
-*** 253,257 ****
- 0, 154, 0,
+*** 252,256 ****
+ 0, 0, 0, 0, 0, 0, 168, 0,
};
! short yygindex[] = { 0,
- 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
- -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
---- 195,199 ----
- 0, 154, 0,
+ 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
+ -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
+--- 186,190 ----
+ 0, 0, 0, 0, 0, 0, 168, 0,
};
! static short yygindex[] = { 0,
- 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
- -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
+ 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
+ -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
***************
*** 261,265 ****
};
- #define YYTABLESIZE 4425
+ #define YYTABLESIZE 4610
! short yytable[] = { 69,
- 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
- 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
---- 203,207 ----
+ 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
+ 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
+--- 195,199 ----
};
- #define YYTABLESIZE 4425
+ #define YYTABLESIZE 4610
! static short yytable[] = { 69,
- 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
- 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
+ 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
+ 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
***************
-*** 706,710 ****
- 0, 0, 0, 0, 317,
+*** 724,728 ****
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
};
! short yycheck[] = { 13,
- 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
- 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
---- 648,652 ----
- 0, 0, 0, 0, 317,
+ 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
+ 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
+--- 658,662 ----
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
};
! static short yycheck[] = { 13,
- 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
- 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
+ 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
+ 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
***************
-*** 1157,1161 ****
- #define YYMAXTOKEN 314
+*** 1193,1197 ****
+ #define YYMAXTOKEN 315
#if YYDEBUG
! char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
---- 1099,1103 ----
- #define YYMAXTOKEN 314
+--- 1127,1131 ----
+ #define YYMAXTOKEN 315
#if YYDEBUG
! static char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
***************
-*** 1174,1178 ****
- "POSTDEC","ARROW",
+*** 1210,1214 ****
+ "POSTINC","POSTDEC","ARROW",
};
! char *yyrule[] = {
"$accept : prog",
"$$1 :",
---- 1116,1120 ----
- "POSTDEC","ARROW",
+--- 1144,1148 ----
+ "POSTINC","POSTDEC","ARROW",
};
! static char *yyrule[] = {
"$accept : prog",
"$$1 :",
***************
-*** 1369,1397 ****
+*** 1408,1436 ****
#endif
#endif
- int yydebug;
@@ -261,9 +250,9 @@
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 652 "perly.y"
+ #line 666 "perly.y"
/* PROGRAM */
-! #line 1385 "y.tab.c"
+! #line 1424 "y.tab.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -277,12 +266,12 @@
if (yys = getenv("YYDEBUG"))
{
---- 1311,1375 ----
+--- 1342,1391 ----
#endif
#endif
- #line 652 "perly.y"
+ #line 666 "perly.y"
/* PROGRAM */
-! #line 1318 "perly.c"
+! #line 1427 "perly.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -298,23 +287,8 @@
+ YYSTYPE oldyylval;
+ };
+
-+ void
-+ yydestruct(void *ptr)
-+ {
-+ struct ysv* ysave = (struct ysv*)ptr;
-+ if (ysave->yyss) Safefree(ysave->yyss);
-+ if (ysave->yyvs) Safefree(ysave->yyvs);
-+ yydebug = ysave->oldyydebug;
-+ yynerrs = ysave->oldyynerrs;
-+ yyerrflag = ysave->oldyyerrflag;
-+ yychar = ysave->oldyychar;
-+ yyval = ysave->oldyyval;
-+ yylval = ysave->oldyylval;
-+ Safefree(ysave);
-+ }
-+
int
-! yyparse(void)
+! Perl_yyparse(pTHX)
{
register int yym, yyn, yystate;
+ register short *yyssp;
@@ -344,8 +318,8 @@
if (yys = getenv("YYDEBUG"))
{
***************
-*** 1406,1409 ****
---- 1384,1397 ----
+*** 1445,1448 ****
+--- 1400,1413 ----
yychar = (-1);
+ /*
@@ -361,7 +335,7 @@
yyssp = yyss;
yyvsp = yyvs;
***************
-*** 1431,1440 ****
+*** 1470,1479 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, shifting to state %d\n",
@@ -372,7 +346,7 @@
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
---- 1419,1442 ----
+--- 1435,1458 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
@@ -398,7 +372,7 @@
}
*++yyssp = yystate = yytable[yyn];
***************
-*** 1472,1481 ****
+*** 1511,1520 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, error recovery shifting\
@@ -409,7 +383,7 @@
! goto yyoverflow;
}
*++yyssp = yystate = yytable[yyn];
---- 1474,1498 ----
+--- 1490,1514 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log,
@@ -436,14 +410,14 @@
}
*++yyssp = yystate = yytable[yyn];
***************
-*** 1487,1492 ****
+*** 1526,1531 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: error recovery discarding state %d\n",
! *yyssp);
#endif
if (yyssp <= yyss) goto yyabort;
---- 1504,1510 ----
+--- 1520,1526 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log,
@@ -452,14 +426,14 @@
#endif
if (yyssp <= yyss) goto yyabort;
***************
-*** 1505,1510 ****
+*** 1544,1549 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, error recovery discards token %d (%s)\n",
! yystate, yychar, yys);
}
#endif
---- 1523,1529 ----
+--- 1539,1545 ----
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! PerlIO_printf(Perl_debug_log,
@@ -468,40 +442,40 @@
}
#endif
***************
-*** 1515,1519 ****
+*** 1554,1558 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: state %d, reducing by rule %d (%s)\n",
yystate, yyn, yyrule[yyn]);
#endif
---- 1534,1538 ----
+--- 1550,1554 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
yystate, yyn, yyrule[yyn]);
#endif
***************
-*** 2305,2309 ****
+*** 2358,2362 ****
{ yyval.opval = yyvsp[0].opval; }
break;
-! #line 2308 "y.tab.c"
+! #line 2361 "y.tab.c"
}
yyssp -= yym;
---- 2324,2328 ----
+--- 2354,2358 ----
{ yyval.opval = yyvsp[0].opval; }
break;
-! #line 2329 "perly.c"
+! #line 2365 "perly.c"
}
yyssp -= yym;
***************
-*** 2315,2320 ****
+*** 2368,2373 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: after reduction, shifting from state 0 to\
! state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
---- 2334,2340 ----
+--- 2364,2370 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log,
@@ -510,20 +484,20 @@
#endif
yystate = YYFINAL;
***************
-*** 2330,2334 ****
+*** 2383,2387 ****
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! printf("yydebug: state %d, reading %d (%s)\n",
YYFINAL, yychar, yys);
}
---- 2350,2354 ----
+--- 2380,2384 ----
if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
if (!yys) yys = "illegal-symbol";
! PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
YYFINAL, yychar, yys);
}
***************
-*** 2345,2354 ****
+*** 2398,2407 ****
#if YYDEBUG
if (yydebug)
! printf("yydebug: after reduction, shifting from state %d \
@@ -534,7 +508,7 @@
! goto yyoverflow;
}
*++yyssp = yystate;
---- 2365,2389 ----
+--- 2395,2419 ----
#if YYDEBUG
if (yydebug)
! PerlIO_printf(Perl_debug_log,
@@ -561,7 +535,7 @@
}
*++yyssp = yystate;
***************
-*** 2356,2363 ****
+*** 2409,2416 ****
goto yyloop;
yyoverflow:
! yyerror("yacc stack overflow");
@@ -570,7 +544,7 @@
yyaccept:
! return (0);
}
---- 2391,2398 ----
+--- 2421,2448 ----
goto yyloop;
yyoverflow:
! yyerror("Out of memory for yacc stack");
@@ -578,4 +552,24 @@
! retval = 1;
yyaccept:
! return retval;
+! }
+!
+! #ifdef PERL_OBJECT
+! #define NO_XSLOCKS
+! #include "XSUB.h"
+! #endif
+!
+! static void
+! yydestruct(pTHXo_ void *ptr)
+! {
+! struct ysv* ysave = (struct ysv*)ptr;
+! if (ysave->yyss) Safefree(ysave->yyss);
+! if (ysave->yyvs) Safefree(ysave->yyvs);
+! yydebug = ysave->oldyydebug;
+! yynerrs = ysave->oldyynerrs;
+! yyerrflag = ysave->oldyyerrflag;
+! yychar = ysave->oldyychar;
+! yyval = ysave->oldyyval;
+! yylval = ysave->oldyylval;
+! Safefree(ysave);
}
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index b3265ffb74..e86bfbffbb 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -56,6 +56,31 @@ no useful value. See L<perlmod>.
(F) The '!' is allowed in pack() and unpack() only after certain types.
See L<perlfunc/pack>.
+=item # cannot take a count
+
+(F) You had an unpack template indicating a counted-length string,
+but you have also specified an explicit size for the string.
+See L<perlfunc/pack>.
+
+=item # must be followed by a, A or Z
+
+(F) You had an unpack template indicating a counted-length string,
+which must be followed by one of the letters a, A or Z
+to indicate what sort of string is to be unpacked.
+See L<perlfunc/pack>.
+
+=item # must be followed by a*, A* or Z*
+
+(F) You had an pack template indicating a counted-length string,
+Currently the only things that can have their length counted are a*, A* or Z*.
+See L<perlfunc/pack>.
+
+=item # must follow a numeric type
+
+(F) You had an unpack template that contained a '#',
+but this did not follow some numeric unpack specification.
+See L<perlfunc/pack>.
+
=item % may only be used in unpack
(F) You can't pack a string by supplying a checksum, because the
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 3e791810db..efa7b58c12 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -2754,6 +2754,35 @@ C<"P"> is C<undef>.
=item *
+The C<"#"> character allows packing and unpacking of strings where the
+packed structure contains a byte count followed by the string itself.
+You write I<length-item>C<#>I<string-item>.
+
+The I<length-item> can be any C<pack> template letter,
+and describes how the length value is packed.
+The ones likely to be of most use are integer-packing ones like
+C<"n"> (for Java strings), C<"w"> (for ASN.1 or SNMP)
+and C<"N"> (for Sun XDR).
+
+The I<string-item> must, at present, be C<"A*">, C<"a*"> or C<"Z*">.
+For C<unpack> the length of the string is obtained from the I<length-item>,
+but if you put in the '*' it will be ignored.
+
+ unpack 'C#a', "\04Gurusamy"; gives 'Guru'
+ unpack 'a3#A* A*', '007 Bond J '; gives (' Bond','J')
+ pack 'n#a* w#a*','hello,','world'; gives "\000\006hello,\005world"
+
+The I<length-item> is not returned explicitly from C<unpack>.
+
+Adding a count to the I<length-item> letter
+is unlikely to do anything useful,
+unless that letter is C<"A">, C<"a"> or C<"Z">.
+Packing with a I<length-item> of C<"a"> or C<"Z">
+may introduce C<"\000"> characters,
+which Perl does not regard as legal in numeric strings.
+
+=item *
+
The integer types C<"s">, C<"S">, C<"l">, and C<"L"> may be
immediately followed by a C<"!"> to signify native shorts or longs--as
you can see from above for example a bare C<"l"> does mean exactly 32
diff --git a/pp.c b/pp.c
index c7fd585d54..69d3795ee4 100644
--- a/pp.c
+++ b/pp.c
@@ -900,7 +900,7 @@ PP(pp_postinc)
PP(pp_postdec)
{
djSP; dTARGET;
- if(SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
+ if (SvREADONLY(TOPs) || SvTYPE(TOPs) > SVt_PVLV)
Perl_croak(aTHX_ PL_no_modify);
sv_setsv(TARG, TOPs);
if (SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs) &&
@@ -3386,6 +3386,18 @@ PP(pp_unpack)
DIE(aTHX_ "x outside of string");
s += len;
break;
+ case '#':
+ if (oldsp >= SP)
+ DIE(aTHX_ "# must follow a numeric type");
+ if (*pat != 'a' && *pat != 'A' && *pat != 'Z')
+ DIE(aTHX_ "# must be followed by a, A or Z");
+ datumtype = *pat++;
+ if (*pat == '*')
+ pat++; /* ignore '*' for compatibility with pack */
+ if (isDIGIT(*pat))
+ DIE(aTHX_ "# cannot take a count" );
+ len = POPi;
+ /* drop through */
case 'A':
case 'Z':
case 'a':
@@ -4356,7 +4368,8 @@ PP(pp_pack)
MARK++;
sv_setpvn(cat, "", 0);
while (pat < patend) {
-#define NEXTFROM (items-- > 0 ? *MARK++ : &PL_sv_no)
+ SV *lengthcode = Nullsv;
+#define NEXTFROM ( lengthcode ? lengthcode : items-- > 0 ? *MARK++ : &PL_sv_no)
datumtype = *pat++ & 0xFF;
#ifdef PERL_NATINT_PACK
natint = 0;
@@ -4386,12 +4399,20 @@ PP(pp_pack)
}
else
len = 1;
+ if (*pat == '#') {
+ ++pat;
+ if (*pat != 'a' && *pat != 'A' && *pat != 'Z' || pat[1] != '*')
+ DIE(aTHX_ "# must be followed by a*, A* or Z*");
+ lengthcode = sv_2mortal(newSViv(sv_len(items > 0
+ ? *MARK : &PL_sv_no)));
+ }
switch(datumtype) {
default:
Perl_croak(aTHX_ "Invalid type in pack: '%c'", (int)datumtype);
case ',': /* grandfather in commas but with a warning */
if (commas++ == 0 && ckWARN(WARN_UNSAFE))
- Perl_warner(aTHX_ WARN_UNSAFE, "Invalid type in pack: '%c'", (int)datumtype);
+ Perl_warner(aTHX_ WARN_UNSAFE,
+ "Invalid type in pack: '%c'", (int)datumtype);
break;
case '%':
DIE(aTHX_ "%% may only be used in unpack");
diff --git a/pp.sym b/pp.sym
index 00e4b4e6d2..cbbbaae42f 100644
--- a/pp.sym
+++ b/pp.sym
@@ -23,6 +23,7 @@ Perl_ck_lengthconst
Perl_ck_lfun
Perl_ck_listiob
Perl_ck_match
+Perl_ck_method
Perl_ck_null
Perl_ck_repeat
Perl_ck_require
@@ -383,3 +384,4 @@ Perl_pp_syscall
Perl_pp_lock
Perl_pp_threadsv
Perl_pp_setstate
+Perl_pp_method_named
diff --git a/pp_hot.c b/pp_hot.c
index 30b44064ef..fd2d79af1d 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2504,25 +2504,46 @@ Perl_vivify_ref(pTHX_ SV *sv, U32 to_what)
PP(pp_method)
{
djSP;
+ SV* sv = TOPs;
+
+ if (SvROK(sv)) {
+ SV* rsv = SvRV(rsv);
+ if (SvTYPE(rsv) == SVt_PVCV) {
+ SETs(rsv);
+ RETURN;
+ }
+ }
+
+ SETs(method_common(sv, Null(U32*)));
+ RETURN;
+}
+
+PP(pp_method_named)
+{
+ djSP;
+ SV* sv = cSVOP->op_sv;
+ U32 hash = SvUVX(sv);
+
+ XPUSHs(method_common(sv, &hash));
+ RETURN;
+}
+
+STATIC SV *
+S_method_common(pTHX_ SV* meth, U32* hashp)
+{
+ djSP;
SV* sv;
SV* ob;
GV* gv;
HV* stash;
char* name;
+ STRLEN namelen;
char* packname;
STRLEN packlen;
- if (SvROK(TOPs)) {
- sv = SvRV(TOPs);
- if (SvTYPE(sv) == SVt_PVCV) {
- SETs(sv);
- RETURN;
- }
- }
-
- name = SvPV(TOPs, packlen);
+ name = SvPV(meth, namelen);
sv = *(PL_stack_base + TOPMARK + 1);
-
+
if (SvGMAGICAL(sv))
mg_get(sv);
if (SvROK(sv))
@@ -2542,9 +2563,9 @@ PP(pp_method)
: !isIDFIRST(*packname)
))
{
- DIE(aTHX_ "Can't call method \"%s\" %s", name,
- SvOK(sv)? "without a package or object reference"
- : "on an undefined value");
+ Perl_croak(aTHX_ "Can't call method \"%s\" %s", name,
+ SvOK(sv) ? "without a package or object reference"
+ : "on an undefined value");
}
stash = gv_stashpvn(packname, packlen, TRUE);
goto fetch;
@@ -2553,11 +2574,23 @@ PP(pp_method)
}
if (!ob || !SvOBJECT(ob))
- DIE(aTHX_ "Can't call method \"%s\" on unblessed reference", name);
+ Perl_croak(aTHX_ "Can't call method \"%s\" on unblessed reference",
+ name);
stash = SvSTASH(ob);
fetch:
+ /* shortcut for simple names */
+ if (hashp) {
+ HE* he = hv_fetch_ent(stash, meth, 0, *hashp);
+ if (he) {
+ gv = (GV*)HeVAL(he);
+ if (isGV(gv) && GvCV(gv) &&
+ (!GvCVGEN(gv) || GvCVGEN(gv) == PL_sub_generation))
+ return (SV*)GvCV(gv);
+ }
+ }
+
gv = gv_fetchmethod(stash, name);
if (!gv) {
char* leaf = name;
@@ -2578,11 +2611,11 @@ PP(pp_method)
packname = name;
packlen = sep - name;
}
- DIE(aTHX_ "Can't locate object method \"%s\" via package \"%.*s\"",
- leaf, (int)packlen, packname);
+ Perl_croak(aTHX_
+ "Can't locate object method \"%s\" via package \"%s\"",
+ leaf, packname);
}
- SETs(isGV(gv) ? (SV*)GvCV(gv) : (SV*)gv);
- RETURN;
+ return isGV(gv) ? (SV*)GvCV(gv) : (SV*)gv;
}
#ifdef USE_THREADS
diff --git a/pp_proto.h b/pp_proto.h
index 300637c129..5c3d301ed4 100644
--- a/pp_proto.h
+++ b/pp_proto.h
@@ -22,6 +22,7 @@ PERL_CKDEF(Perl_ck_lengthconst)
PERL_CKDEF(Perl_ck_lfun)
PERL_CKDEF(Perl_ck_listiob)
PERL_CKDEF(Perl_ck_match)
+PERL_CKDEF(Perl_ck_method)
PERL_CKDEF(Perl_ck_null)
PERL_CKDEF(Perl_ck_repeat)
PERL_CKDEF(Perl_ck_require)
@@ -384,3 +385,4 @@ PERL_PPDEF(Perl_pp_syscall)
PERL_PPDEF(Perl_pp_lock)
PERL_PPDEF(Perl_pp_threadsv)
PERL_PPDEF(Perl_pp_setstate)
+PERL_PPDEF(Perl_pp_method_named)
diff --git a/proto.h b/proto.h
index 6464f5f235..b41868e597 100644
--- a/proto.h
+++ b/proto.h
@@ -12,7 +12,6 @@ VIRTUAL bool Perl_Gv_AMupdate(pTHX_ HV* stash);
VIRTUAL OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
VIRTUAL OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
VIRTUAL I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
-VIRTUAL void Perl_assertref(pTHX_ OP* o);
VIRTUAL bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
VIRTUAL SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
VIRTUAL HE* Perl_avhv_iternext(pTHX_ AV *ar);
@@ -841,6 +840,7 @@ STATIC void S_qsortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t f);
#endif
#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
STATIC CV* S_get_db_sub(pTHX_ SV **svp, CV *cv);
+STATIC SV* S_method_common(pTHX_ SV* meth, U32* hashp);
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
diff --git a/t/op/pack.t b/t/op/pack.t
index 5b727974a6..082b954756 100755
--- a/t/op/pack.t
+++ b/t/op/pack.t
@@ -6,7 +6,7 @@ BEGIN {
require Config; import Config;
}
-print "1..142\n";
+print "1..148\n";
$format = "c2 x5 C C x s d i l a6";
# Need the expression in here to force ary[5] to be numeric. This avoids
@@ -353,3 +353,19 @@ print "ok ", $test++, "\n";
print "not " unless pack("V", 0xdeadbeef) eq "\xef\xbe\xad\xde";
print "ok ", $test++, "\n";
+
+# 143..148: #
+
+my $z;
+eval { ($x) = unpack '#a*','hello' };
+print 'not ' unless $@; print "ok $test\n"; $test++;
+eval { ($z,$x,$y) = unpack 'a3#A C#a* C#Z', "003ok \003yes\004z\000abc" };
+print $@ eq '' && $z eq 'ok' ? "ok $test\n" : "not ok $test\n"; $test++;
+print $@ eq '' && $x eq 'yes' ? "ok $test\n" : "not ok $test\n"; $test++;
+print $@ eq '' && $y eq 'z' ? "ok $test\n" : "not ok $test\n"; $test++;
+
+eval { ($x) = pack '#a*','hello' };
+print 'not ' unless $@; print "ok $test\n"; $test++;
+$z = pack 'n#a* w#A*','string','etc';
+print 'not ' unless $z eq "\000\006string\003etc"; print "ok $test\n"; $test++;
+
diff --git a/vms/perly_c.vms b/vms/perly_c.vms
index 17023a0140..fc79a269b0 100644
--- a/vms/perly_c.vms
+++ b/vms/perly_c.vms
@@ -5,6 +5,7 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
#define YYBYACC 1
#line 16 "perly.y"
#include "EXTERN.h"
+#define PERL_IN_PERLY_C
#include "perl.h"
#define yydebug PL_yydebug
@@ -14,42 +15,31 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
#define yyval PL_yyval
#define yylval PL_yylval
-#ifdef PERL_OBJECT
-static void
-Dep(CPerlObj *pPerl)
-{
- pPerl->deprecate("\"do\" to call subroutines");
-}
-#define dep() Dep(this)
-#else
-static void
-dep(void)
-{
- deprecate("\"do\" to call subroutines");
-}
-#endif
+#define dep() deprecate("\"do\" to call subroutines")
+
+static void yydestruct(pTHXo_ void *ptr);
-#line 30 "perly.y"
+#line 27 "perly.y"
#define YYERRCODE 256
static short yylhs[] = { -1,
- 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
- 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
- 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
- 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
- 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
- 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
- 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
- 25, 36, 36, 36, 36, 36, 36, 36, 36, 50,
- 36, 37, 37, 17, 17, 17, 17, 17, 17, 17,
+ 46, 0, 9, 7, 10, 8, 11, 11, 11, 12,
+ 12, 12, 12, 25, 25, 25, 25, 25, 25, 25,
+ 15, 15, 15, 14, 14, 43, 43, 13, 13, 13,
+ 13, 13, 13, 13, 27, 27, 28, 28, 29, 30,
+ 31, 32, 33, 45, 45, 1, 1, 1, 1, 3,
+ 39, 39, 47, 4, 5, 6, 40, 41, 41, 42,
+ 42, 48, 48, 50, 49, 16, 16, 16, 26, 26,
+ 26, 37, 37, 37, 37, 37, 37, 37, 37, 51,
+ 37, 38, 38, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 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, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 33,
- 33, 34, 34, 34, 2, 2, 43, 23, 18, 19,
- 20, 21, 22, 35, 35, 35, 35,
+ 17, 17, 34, 34, 35, 35, 35, 2, 2, 44,
+ 24, 19, 20, 21, 22, 23, 36, 36, 36, 36,
};
static short yylen[] = { 2,
0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
@@ -60,1044 +50,1082 @@ static short yylen[] = { 2,
1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
1, 3, 5, 6, 3, 3, 5, 2, 4, 0,
- 5, 1, 1, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 5, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
- 2, 4, 3, 4, 1, 5, 1, 4, 5, 4,
- 1, 1, 1, 5, 6, 5, 6, 5, 4, 5,
- 1, 1, 3, 4, 3, 2, 2, 4, 5, 4,
- 5, 4, 5, 1, 2, 2, 1, 2, 2, 2,
- 1, 3, 1, 3, 4, 4, 6, 1, 1, 0,
- 1, 0, 1, 2, 1, 1, 1, 2, 2, 2,
- 2, 2, 2, 1, 1, 1, 1,
+ 5, 1, 1, 5, 4, 5, 4, 5, 6, 5,
+ 4, 5, 4, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 5, 3, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
+ 3, 2, 4, 3, 4, 1, 1, 1, 1, 1,
+ 1, 6, 5, 4, 5, 1, 1, 3, 4, 3,
+ 2, 2, 4, 5, 4, 5, 1, 2, 2, 1,
+ 2, 2, 2, 1, 3, 1, 3, 4, 4, 6,
+ 1, 1, 0, 1, 0, 1, 2, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
};
static short yydefred[] = { 1,
0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
- 64, 14, 4, 158, 0, 0, 131, 0, 153, 0,
+ 64, 14, 4, 161, 0, 0, 136, 0, 156, 0,
55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 165, 166, 0,
- 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 168, 169, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
- 0, 0, 121, 123, 0, 0, 0, 0, 159, 51,
- 0, 57, 0, 62, 0, 7, 174, 177, 176, 175,
- 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
- 4, 4, 0, 0, 0, 0, 0, 148, 0, 0,
- 0, 0, 78, 0, 172, 0, 137, 0, 0, 0,
- 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 111, 0, 169, 170, 171, 173, 0,
- 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 128, 130, 0, 0, 0, 0, 162,
+ 51, 0, 57, 0, 62, 0, 7, 177, 180, 179,
+ 178, 0, 0, 0, 0, 0, 0, 4, 4, 4,
+ 4, 4, 4, 0, 0, 0, 0, 0, 151, 0,
+ 0, 0, 0, 78, 0, 175, 0, 142, 0, 0,
+ 0, 0, 0, 171, 0, 0, 0, 0, 0, 0,
+ 0, 0, 122, 0, 0, 0, 172, 173, 174, 176,
+ 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 103, 104, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
- 0, 76, 0, 0, 80, 0, 0, 0, 0, 0,
- 0, 0, 4, 152, 154, 0, 0, 0, 0, 0,
- 0, 0, 113, 0, 135, 0, 0, 110, 27, 0,
- 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 114, 115, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 13, 0, 50, 59,
+ 0, 0, 0, 76, 0, 0, 80, 0, 0, 0,
+ 0, 0, 0, 0, 4, 155, 157, 0, 0, 0,
+ 0, 0, 0, 0, 124, 0, 140, 0, 0, 121,
+ 27, 0, 0, 19, 0, 0, 0, 0, 66, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 82, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0, 133, 0, 0, 61, 60, 53,
- 0, 3, 0, 156, 0, 0, 114, 0, 42, 0,
- 43, 0, 0, 0, 0, 167, 0, 0, 36, 41,
- 0, 0, 0, 155, 164, 79, 0, 138, 0, 140,
- 0, 112, 0, 0, 0, 0, 0, 142, 0, 0,
- 0, 120, 0, 118, 0, 129, 0, 134, 0, 77,
- 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
- 73, 139, 141, 128, 0, 126, 0, 0, 143, 119,
- 0, 124, 130, 116, 65, 157, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 127, 125, 74, 7, 28,
- 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
- 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
- 33, 0, 23,
+ 0, 0, 0, 0, 82, 0, 0, 83, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 138, 0,
+ 0, 61, 60, 53, 0, 3, 0, 0, 159, 0,
+ 125, 0, 42, 0, 43, 0, 0, 0, 0, 170,
+ 0, 0, 36, 41, 0, 0, 0, 158, 167, 79,
+ 0, 143, 0, 145, 0, 123, 0, 0, 0, 0,
+ 91, 0, 0, 0, 0, 93, 87, 0, 85, 0,
+ 134, 0, 139, 0, 77, 0, 81, 0, 0, 0,
+ 0, 0, 0, 0, 0, 73, 144, 146, 133, 0,
+ 0, 0, 92, 86, 0, 90, 88, 135, 84, 65,
+ 160, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 132, 89, 74, 7, 28, 29, 0, 0, 24, 25,
+ 0, 32, 0, 0, 0, 22, 0, 0, 0, 31,
+ 5, 0, 30, 0, 0, 33, 0, 23,
};
static short yydgoto[] = { 1,
- 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
- 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
- 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
- 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
- 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
+ 9, 66, 10, 18, 96, 17, 87, 344, 90, 333,
+ 3, 11, 12, 68, 349, 267, 70, 71, 72, 73,
+ 74, 75, 76, 77, 273, 79, 274, 263, 265, 268,
+ 276, 264, 266, 114, 200, 92, 80, 239, 82, 84,
+ 181, 254, 143, 271, 13, 2, 14, 15, 16, 86,
+ 260,
};
static short yysindex[] = { 0,
- 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
- 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
- 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
- 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
- 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
- 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
- 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3925,
- -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
- -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
- 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
- 0, 0, 75, 3925, 78, 1519, 965, 0, 825, 0,
- -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
- -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
- -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
- -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
- 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
- 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
- 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
- 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
- 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
- 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
- -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
- 673, 50, 363, 3925, 1233, 3757, 4023, 2308, 266, -82,
- 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
- 76, 14, 90, 39, 0, -22, 3925, 0, 0, 0,
- 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
- 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
- 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
- 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
- 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
- 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
- 0, 0, 0, 0, 202, 0, 3963, 108, 0, 0,
- 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
- -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
- 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
- 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
- 0, -238, 0,
+ 0, 0, 142, 0, 0, 0, -57, 0, 0, 0,
+ 0, 0, 622, 0, 0, 0, -239, -229, -10, 0,
+ 0, 0, 0, 0, -24, -24, 0, -5, 0, 2126,
+ 0, 0, 6, 28, 44, 57, -32, 2126, 68, 69,
+ 72, 999, 943, -24, 1062, 1327, -198, 0, 0, -24,
+ 2126, 2126, 2126, 2126, 2126, 2126, 1233, 1383, 0, 2126,
+ 2126, -24, -24, -24, -24, 2126, -217, 0, 342, 827,
+ -20, -80, -70, 0, 0, -60, 73, 61, 75, 0,
+ 0, -1, 0, -137, 0, -130, 0, 0, 0, 0,
+ 0, 2126, 88, 2126, -189, -1, -137, 0, 0, 0,
+ 0, 0, 0, 89, 827, 99, 1444, 943, 0, -189,
+ 0, -80, 75, 0, 2126, 0, 90, 0, -189, -16,
+ 27, -58, 2126, 0, 75, 218, 218, 218, -169, -169,
+ 63, -22, 0, -63, 218, 218, 0, 0, 0, 0,
+ -189, -1, 0, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
+ 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126, 2126,
+ 2126, 2126, 2126, 2126, 0, 0, 74, 2126, 1535, 2126,
+ 2126, 2126, 2126, 2126, 2126, 1725, 0, 2126, 0, 0,
+ -44, -91, 256, 0, 2126, 428, 0, -1, 2126, 2126,
+ 2126, 2126, 131, 1800, 0, 0, 0, -12, 36, 130,
+ 2126, 75, 1861, 1936, 0, 48, 0, 2126, 87, 0,
+ 0, -272, -272, 0, -272, -272, -272, -119, 0, 1565,
+ -189, 1088, 375, 160, 827, 715, 389, 771, 684, 1026,
+ 1242, 218, 218, 2126, 0, 2006, 2126, 0, 143, -56,
+ 0, 1, 51, -49, 56, 43, 58, 45, 0, 7,
+ 827, 0, 0, 0, 2126, 0, 141, 2126, 0, 2126,
+ 0, -272, 0, 144, 0, 145, -272, 151, 158, 0,
+ 162, 342, 0, 0, 166, 150, 2126, 0, 0, 0,
+ 9, 0, 16, 0, 19, 0, 60, 2126, 2126, 47,
+ 0, 21, 94, 2126, 78, 0, 0, 91, 0, 95,
+ 0, 101, 0, 153, 0, 268, 0, 92, 92, 92,
+ 92, 2126, 92, 2126, 188, 0, 0, 0, 0, 96,
+ 1152, 109, 0, 0, 196, 0, 0, 0, 0, 0,
+ 0, 0, -217, -217, -204, -204, 198, -217, 185, 92,
+ 0, 0, 0, 0, 0, 0, 92, 211, 0, 0,
+ 92, 0, 1800, -217, 319, 0, 2126, -217, 216, 0,
+ 0, 228, 0, 92, 92, 0, -204, 0,
};
static short yyrindex[] = { 0,
- 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2273, 426, 0,
- 0, 2909, 2959, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 23, 2214, 0,
+ 0, 2264, 2308, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 59, 0, -10, 2776,
- 3024, 3069, 0, 0, 2376, 2140, 0, 200, 0, 0,
- 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
- 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
- 0, 0, 0, 3183, 0, 0, 319, 0, 3681, 525,
- 586, 2509, 0, 0, 0, 2185, 0, 3731, 3024, 0,
- 0, 2421, 0, 2552, 3195, 3260, 3305, -37, 3112, 2657,
- 0, 3348, 3384, 0, 0, 0, 0, 0, 0, 3777,
+ 0, 0, 0, 0, 0, 0, 105, 0, -18, 1030,
+ 2383, 2433, 2561, 0, 0, 2636, 2686, 0, 918, 0,
+ 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
+ 0, 2308, 0, 0, 3879, 0, 165, 0, 0, 0,
+ 0, 0, 0, 0, 1356, 0, 0, 232, 0, 3936,
+ 502, 561, 3047, 0, 0, 0, 2730, 0, 3987, 2433,
+ 0, 0, 2308, 0, 3096, 3236, 3300, 3436, 1656, 3186,
+ 2780, 0, 0, 0, 3487, 3550, 0, 0, 0, 0,
+ 4025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2828, 0, 0,
+ 0, 0, 887, 0, 232, 0, 0, 0, 242, 0,
+ 0, 0, 0, 226, 0, 0, 0, 0, 249, 0,
+ 0, 3142, 0, 0, 0, 0, 0, 0, 2889, 0,
+ 0, -4, 10, 0, 11, 17, 24, 363, 0, -27,
+ 664, 3890, 3686, 3737, 1507, 0, 4291, 4188, 4155, 4035,
+ 3842, 3586, 3623, 0, 0, 0, 0, 0, 2983, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0,
- 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
- 0, 306, 0, 0, 0, 0, 325, 0, 0, 2788,
- 0, 0, 0, 0, 0, 0, 2833, 0, 0, -5,
- 22, 0, 68, 69, 70, 702, 0, 0, 2464, 1296,
- 1560, 3541, 3584, 3868, 0, 3856, 3820, 3810, 1616, 3620,
- 3431, 3479, 0, 0, 0, 0, 0, 2228, 0, 0,
- 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0,
- 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
- 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
+ 1640, 0, 0, 0, 233, 0, 0, 0, 0, 2308,
+ 0, 37, 0, 0, 0, 0, 262, 0, 0, 0,
+ 0, 52, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 232, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
- 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
- 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
- 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 154, 0,
+ 0, 0, 0, 264, 0, 0, 0, 0, 0, 0,
+ -19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 105, 105, 168, 168, 0, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 298, 105, 887, 0, 0, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 168, 0,
};
static short yygindex[] = { 0,
- 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
- -83, 0, 0, 0, -311, -13, 4139, 4198, 0, 0,
- 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
- 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
- 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 339, 320, 0, -11, 0, 913, 360,
+ -78, 0, 0, 0, -320, -13, 4321, 0, 1367, 0,
+ 0, 0, 0, 0, 340, -38, 0, 0, 215, -138,
+ 14, 97, 190, -85, -179, 583, 0, 0, 0, 0,
+ 286, 0, -140, 0, 0, 0, 0, 0, 0, 0,
+ 0,
};
-#define YYTABLESIZE 4425
+#define YYTABLESIZE 4610
static short yytable[] = { 69,
- 207, 62, 181, 105, 168, 102, 105, 204, 168, 248,
- 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
- 105, 105, 172, 202, 80, 105, 311, 148, 149, 82,
- 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
- 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
- 363, 275, 97, 18, 171, 105, 340, 341, 26, 98,
- 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
- 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
- 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
- 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
- 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
- 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
- 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
- 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
- 168, 310, 15, 292, 284, 150, 149, 282, 150, 26,
- 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
- 246, 300, 150, 150, 303, 304, 305, 150, 294, 197,
- 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
- 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
- 21, 21, 283, 21, 309, 21, 21, 150, 21, 4,
- 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
- 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
- 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
- 166, 167, 337, 87, 105, 105, 105, 105, 88, 346,
- 68, 105, 112, 105, 21, 148, 149, 112, 2, 105,
- 105, 105, 105, 148, 149, 350, 148, 149, 68, 105,
- 105, 101, 105, 105, 105, 105, 105, 105, 105, 348,
- 315, 105, 148, 149, 148, 149, 21, 197, 21, 21,
- 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
- 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
- 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
- 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
- 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
- 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
- 26, 26, 26, 26, 26, 163, 168, 26, 164, 162,
- 37, 165, 166, 167, 35, 163, 26, 160, 26, 26,
- 40, 44, 148, 149, 44, 37, 150, 150, 150, 150,
- 35, 21, 96, 150, 77, 150, 148, 149, 150, 212,
- 354, 150, 150, 254, 334, 164, 255, 265, 165, 166,
- 167, 150, 150, 186, 150, 150, 150, 150, 150, 21,
- 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
- 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
- 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
- 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
- 0, 21, 0, 21, 21, 0, 151, 0, 0, 151,
- 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
- 0, 0, 0, 151, 151, 150, 0, 0, 151, 0,
- 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
- 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
- 0, 44, 44, 44, 0, 0, 151, 44, 151, 0,
- 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
- 44, 44, 44, 44, 44, 0, 0, 44, 151, 0,
- 0, 0, 152, 153, 154, 155, 44, 174, 44, 44,
- 174, 174, 174, 0, 174, 158, 174, 174, 158, 174,
+ 206, 20, 295, 62, 113, 257, 184, 103, 183, 298,
+ 172, 62, 125, 104, 252, 350, 104, 81, 209, 169,
+ 174, 107, 15, 204, 107, 149, 150, 83, 278, 210,
+ 104, 104, 122, 58, 94, 104, 18, 207, 107, 107,
+ 15, 296, 171, 132, 134, 98, 368, 303, 85, 316,
+ 39, 16, 173, 113, 18, 275, 317, 17, 123, 318,
+ 142, 323, 175, 147, 20, 104, 147, 99, 39, 16,
+ 170, 347, 348, 107, 172, 17, 202, 38, 23, 279,
+ 147, 147, 20, 100, 113, 147, 189, 190, 191, 192,
+ 193, 194, 40, 198, 199, 38, 101, 58, 23, 154,
+ 155, 300, 168, 302, 26, 322, 171, 106, 107, 62,
+ 15, 108, 176, 236, 325, 147, 162, 163, 178, 177,
+ 164, 23, 180, 165, 166, 167, 182, 185, 195, 203,
+ 212, 213, 215, 216, 217, 218, 219, 26, 315, 196,
+ 26, 26, 26, 297, 26, 167, 26, 26, 299, 26,
+ 301, 205, 319, 208, 240, 242, 243, 244, 245, 246,
+ 247, 248, 250, 26, 237, 255, 62, 21, 26, 304,
+ 280, 199, 286, 337, 307, 262, 213, 288, 213, 150,
+ 272, 305, 294, 277, 308, 309, 324, 281, 341, 283,
+ 285, 310, 345, 346, 287, 26, 234, 352, 311, 19,
+ 21, 312, 326, 21, 21, 21, 313, 21, 314, 21,
+ 21, 330, 21, 360, 332, 327, 113, 363, 362, 328,
+ 290, 113, 292, 293, 2, 329, 21, 26, 340, 26,
+ 26, 21, 88, 342, 149, 150, 343, 89, 351, 149,
+ 150, 149, 150, 353, 104, 104, 104, 104, 149, 150,
+ 357, 104, 107, 107, 107, 107, 364, 44, 21, 107,
+ 44, 44, 44, 102, 44, 355, 44, 44, 365, 44,
+ 104, 104, 165, 104, 320, 149, 150, 52, 107, 107,
+ 199, 107, 37, 44, 35, 149, 150, 58, 44, 166,
+ 21, 163, 21, 21, 147, 147, 147, 147, 149, 150,
+ 262, 147, 40, 147, 149, 150, 149, 150, 331, 147,
+ 147, 147, 147, 149, 150, 44, 149, 150, 149, 150,
+ 147, 147, 37, 147, 147, 147, 147, 147, 147, 147,
+ 157, 235, 147, 149, 150, 147, 147, 147, 35, 69,
+ 149, 150, 149, 150, 149, 150, 21, 44, 149, 150,
+ 44, 97, 78, 149, 150, 149, 150, 149, 150, 214,
+ 26, 26, 26, 26, 26, 26, 359, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 256, 269, 188, 26, 26, 0, 26, 26, 26, 26,
+ 26, 149, 150, 149, 150, 26, 26, 26, 26, 26,
+ 26, 0, 0, 67, 26, 0, 67, 4, 5, 6,
+ 339, 7, 8, 26, 0, 26, 26, 0, 0, 0,
+ 0, 67, 0, 21, 21, 21, 21, 21, 21, 0,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 361, 0, 0, 21, 21, 154, 21,
+ 21, 21, 21, 21, 0, 67, 0, 0, 21, 21,
+ 21, 21, 21, 21, 0, 0, 163, 21, 259, 164,
+ 0, 258, 165, 166, 167, 0, 21, 0, 21, 21,
+ 44, 44, 44, 44, 44, 44, 0, 44, 44, 44,
+ 157, 0, 0, 44, 0, 0, 44, 44, 44, 44,
+ 0, 0, 0, 44, 44, 0, 44, 44, 44, 44,
+ 44, 0, 0, 0, 0, 44, 44, 44, 44, 44,
+ 44, 4, 5, 6, 44, 7, 8, 164, 0, 0,
+ 165, 166, 167, 44, 177, 44, 44, 177, 177, 177,
+ 0, 177, 161, 177, 177, 161, 177, 0, 151, 0,
+ 0, 0, 0, 0, 152, 153, 154, 155, 0, 161,
+ 161, 0, 0, 0, 161, 177, 0, 0, 156, 158,
+ 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
+ 165, 166, 167, 0, 4, 5, 6, 0, 7, 8,
+ 0, 0, 177, 178, 161, 0, 178, 178, 178, 0,
+ 178, 126, 178, 178, 126, 178, 0, 0, 93, 0,
+ 0, 0, 0, 144, 145, 146, 147, 0, 126, 126,
+ 148, 0, 0, 126, 178, 115, 116, 177, 0, 0,
+ 0, 0, 124, 0, 67, 67, 67, 67, 0, 149,
+ 150, 67, 0, 0, 137, 138, 139, 140, 0, 0,
+ 0, 0, 0, 126, 52, 0, 0, 62, 64, 50,
+ 67, 57, 0, 65, 61, 0, 60, 0, 334, 335,
+ 336, 0, 338, 0, 0, 152, 153, 154, 155, 0,
+ 59, 163, 0, 0, 164, 63, 178, 165, 166, 167,
+ 201, 159, 160, 161, 162, 163, 0, 0, 164, 354,
+ 0, 165, 166, 167, 100, 0, 356, 100, 151, 0,
+ 358, 0, 58, 0, 152, 153, 154, 155, 0, 0,
+ 0, 100, 100, 366, 367, 0, 100, 0, 156, 158,
+ 159, 160, 161, 162, 163, 0, 0, 164, 0, 0,
+ 165, 166, 167, 0, 23, 0, 0, 53, 0, 0,
+ 0, 0, 0, 0, 0, 0, 100, 0, 177, 177,
+ 177, 177, 177, 0, 177, 177, 177, 0, 0, 0,
+ 177, 0, 289, 161, 161, 161, 161, 157, 0, 0,
+ 161, 177, 161, 177, 177, 177, 177, 177, 161, 161,
+ 161, 161, 177, 177, 177, 177, 177, 177, 0, 161,
+ 161, 177, 161, 161, 161, 161, 161, 161, 161, 0,
+ 177, 161, 177, 177, 161, 161, 161, 178, 178, 178,
+ 178, 178, 0, 178, 178, 178, 0, 0, 0, 178,
+ 0, 0, 126, 126, 126, 126, 0, 0, 0, 126,
+ 178, 126, 178, 178, 178, 178, 178, 126, 126, 126,
+ 126, 178, 178, 178, 178, 178, 178, 0, 126, 126,
+ 178, 126, 126, 126, 126, 126, 126, 126, 0, 178,
+ 126, 178, 178, 126, 126, 126, 0, 22, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 0, 0, 157,
+ 32, 0, 0, 33, 34, 35, 36, 0, 0, 0,
+ 37, 38, 0, 39, 40, 41, 42, 43, 0, 0,
+ 0, 0, 44, 45, 46, 47, 48, 49, 0, 44,
+ 0, 51, 44, 44, 44, 67, 44, 0, 44, 44,
+ 54, 44, 55, 56, 0, 100, 100, 100, 100, 0,
+ 0, 0, 100, 0, 100, 44, 0, 0, 0, 0,
+ 44, 100, 0, 0, 109, 0, 0, 118, 68, 0,
+ 0, 100, 100, 0, 100, 100, 100, 100, 100, 0,
+ 152, 153, 154, 155, 0, 52, 68, 44, 62, 64,
+ 50, 0, 57, 0, 65, 61, 0, 60, 161, 162,
+ 163, 0, 0, 164, 179, 151, 165, 166, 167, 0,
+ 0, 152, 153, 154, 155, 0, 63, 0, 187, 44,
+ 68, 0, 44, 0, 0, 156, 158, 159, 160, 161,
162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
- 0, 0, 158, 158, 0, 0, 0, 158, 174, 0,
- 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
- 0, 0, 0, 147, 0, 158, 0, 158, 175, 0,
- 0, 175, 175, 175, 0, 175, 115, 175, 175, 115,
- 175, 148, 149, 151, 0, 0, 0, 0, 0, 152,
- 153, 154, 155, 115, 115, 0, 0, 158, 115, 175,
- 174, 154, 156, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 52, 115, 0,
- 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
- 0, 0, 0, 0, 0, 0, 0, 151, 151, 151,
- 151, 0, 0, 58, 151, 0, 151, 0, 63, 0,
- 0, 175, 151, 151, 151, 151, 329, 330, 331, 0,
- 333, 0, 151, 151, 0, 151, 151, 151, 151, 151,
- 151, 151, 0, 0, 151, 61, 0, 151, 151, 151,
- 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
- 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
- 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
- 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
- 0, 174, 174, 174, 174, 174, 0, 174, 174, 174,
- 0, 0, 0, 174, 67, 150, 158, 158, 158, 158,
- 0, 0, 0, 158, 174, 158, 174, 174, 174, 174,
- 174, 158, 158, 158, 158, 174, 174, 174, 174, 174,
- 174, 158, 158, 174, 158, 158, 158, 158, 158, 158,
- 158, 0, 174, 158, 174, 174, 158, 158, 158, 0,
- 0, 0, 175, 175, 175, 175, 175, 0, 175, 175,
- 175, 0, 0, 0, 175, 0, 0, 115, 115, 115,
- 115, 0, 0, 0, 115, 175, 115, 175, 175, 175,
- 175, 175, 115, 115, 115, 115, 175, 175, 175, 175,
- 175, 175, 115, 115, 175, 115, 115, 115, 115, 115,
- 115, 115, 0, 175, 115, 175, 175, 115, 115, 115,
- 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
- 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
+ 0, 52, 0, 58, 62, 64, 50, 0, 57, 0,
+ 65, 61, 0, 60, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 211, 0, 0, 152, 153, 154,
+ 155, 0, 63, 0, 0, 23, 0, 0, 53, 0,
+ 71, 0, 0, 71, 160, 161, 162, 163, 0, 0,
+ 164, 0, 0, 165, 166, 167, 0, 71, 71, 58,
+ 0, 0, 0, 253, 52, 0, 0, 62, 64, 50,
+ 261, 57, 0, 65, 61, 0, 60, 151, 0, 0,
+ 0, 0, 0, 152, 153, 154, 155, 0, 0, 0,
+ 0, 23, 71, 0, 53, 63, 0, 156, 158, 159,
+ 160, 161, 162, 163, 0, 0, 164, 0, 0, 165,
+ 166, 167, 44, 44, 44, 44, 44, 44, 0, 44,
+ 44, 44, 58, 0, 0, 44, 0, 0, 44, 44,
+ 44, 44, 0, 0, 0, 44, 44, 0, 44, 44,
+ 44, 44, 44, 0, 0, 0, 0, 44, 44, 44,
+ 44, 44, 44, 0, 23, 0, 44, 53, 0, 68,
+ 68, 68, 68, 0, 0, 44, 68, 44, 44, 111,
+ 25, 26, 27, 28, 89, 29, 30, 31, 0, 0,
+ 0, 32, 0, 0, 157, 68, 68, 0, 0, 0,
+ 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 24, 25, 26, 27, 28,
+ 0, 29, 30, 31, 0, 52, 0, 32, 62, 64,
+ 50, 0, 57, 131, 65, 61, 0, 60, 38, 0,
+ 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
+ 45, 46, 47, 48, 49, 0, 63, 0, 51, 0,
+ 0, 71, 71, 71, 71, 0, 0, 54, 71, 55,
+ 56, 0, 152, 153, 154, 155, 0, 0, 117, 25,
+ 26, 27, 28, 58, 29, 30, 31, 71, 71, 0,
+ 32, 162, 163, 0, 0, 164, 0, 0, 165, 166,
+ 167, 38, 0, 39, 40, 41, 42, 43, 0, 0,
+ 0, 0, 44, 45, 46, 47, 48, 49, 53, 52,
+ 0, 51, 62, 64, 50, 0, 57, 0, 65, 61,
+ 54, 60, 55, 56, 152, 0, 154, 155, 0, 0,
+ 0, 0, 0, 0, 0, 121, 0, 0, 0, 0,
+ 63, 91, 91, 162, 163, 0, 148, 164, 0, 148,
+ 165, 166, 167, 104, 0, 0, 0, 0, 0, 112,
+ 91, 120, 0, 148, 148, 52, 91, 58, 62, 64,
+ 50, 0, 57, 0, 65, 61, 0, 60, 91, 91,
+ 91, 91, 151, 0, 0, 0, 0, 0, 152, 153,
+ 154, 155, 0, 0, 0, 0, 63, 0, 148, 0,
+ 0, 0, 53, 158, 159, 160, 161, 162, 163, 0,
+ 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
+ 0, 0, 0, 58, 112, 133, 52, 0, 0, 62,
+ 64, 50, 0, 57, 197, 65, 61, 0, 60, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
+ 0, 32, 0, 0, 0, 0, 0, 63, 53, 0,
+ 0, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 154, 155, 51, 238, 58, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 0, 0, 95, 163, 0,
+ 95, 164, 0, 0, 165, 166, 167, 0, 0, 270,
+ 0, 0, 0, 0, 95, 95, 0, 52, 0, 53,
+ 62, 64, 50, 0, 57, 241, 65, 61, 0, 60,
+ 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 0, 0, 0, 32, 0, 0, 63, 95,
+ 0, 0, 0, 0, 0, 0, 38, 0, 39, 40,
+ 41, 42, 43, 0, 0, 0, 0, 44, 45, 46,
+ 47, 48, 49, 0, 0, 58, 51, 148, 148, 148,
+ 148, 0, 0, 0, 148, 54, 0, 55, 56, 24,
+ 25, 26, 27, 28, 0, 29, 30, 31, 0, 0,
+ 0, 32, 0, 148, 148, 0, 0, 0, 0, 0,
+ 53, 0, 38, 0, 39, 40, 41, 42, 43, 0,
+ 0, 0, 0, 44, 45, 46, 47, 48, 49, 0,
+ 70, 0, 51, 70, 0, 0, 0, 0, 0, 0,
+ 0, 54, 0, 55, 56, 0, 116, 70, 70, 116,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
+ 0, 0, 32, 116, 116, 0, 0, 0, 116, 0,
+ 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
+ 0, 0, 70, 0, 44, 45, 46, 47, 48, 49,
+ 0, 0, 0, 51, 0, 0, 0, 0, 116, 0,
+ 0, 0, 54, 0, 55, 56, 0, 52, 0, 0,
+ 62, 64, 50, 0, 57, 249, 65, 61, 0, 60,
+ 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
+ 95, 95, 0, 0, 0, 95, 0, 0, 63, 0,
+ 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
+ 0, 0, 0, 32, 95, 95, 0, 0, 0, 0,
+ 0, 0, 0, 0, 38, 58, 39, 40, 41, 42,
43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
- 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
- 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
- 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
- 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
- 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
- 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
- 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
- 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
- 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
- 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
- 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
- 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
- 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
- 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
- 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
+ 49, 0, 52, 0, 51, 62, 64, 50, 0, 57,
+ 0, 65, 61, 54, 60, 55, 56, 0, 0, 0,
+ 53, 152, 153, 154, 155, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 158, 159, 160, 161,
+ 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
- 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
- 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
- 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
- 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
- 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
- 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
- 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
+ 58, 0, 0, 52, 0, 0, 62, 64, 50, 0,
+ 57, 282, 65, 61, 0, 60, 0, 0, 0, 0,
+ 0, 70, 70, 70, 70, 0, 0, 0, 70, 0,
+ 0, 0, 0, 0, 63, 53, 0, 116, 116, 116,
+ 116, 0, 0, 0, 116, 0, 116, 70, 70, 0,
+ 0, 0, 116, 116, 116, 116, 0, 0, 0, 0,
+ 0, 58, 0, 116, 116, 0, 116, 116, 116, 116,
+ 116, 116, 116, 0, 0, 116, 0, 0, 52, 0,
+ 0, 62, 64, 50, 0, 57, 284, 65, 61, 0,
+ 60, 24, 25, 26, 27, 28, 53, 29, 30, 31,
+ 0, 0, 0, 32, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 38, 0, 39, 40, 41, 42,
43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
- 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
+ 49, 0, 0, 0, 51, 0, 58, 0, 0, 0,
+ 0, 0, 0, 54, 0, 55, 56, 0, 52, 0,
+ 0, 62, 64, 50, 0, 57, 291, 65, 61, 0,
+ 60, 0, 0, 0, 0, 22, 24, 25, 26, 27,
+ 28, 53, 29, 30, 31, 0, 0, 0, 32, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+ 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
+ 44, 45, 46, 47, 48, 49, 58, 0, 0, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
+ 55, 56, 0, 0, 0, 0, 0, 24, 25, 26,
27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
- 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
+ 0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
- 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
- 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
- 55, 56, 0, 0, 0, 0, 89, 0, 0, 89,
- 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 0, 32, 89, 89, 150, 0, 0, 89, 0,
- 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 52, 0, 51, 62, 64, 50, 0, 57, 89, 65,
- 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
- 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
- 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
- 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
- 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
- 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
- 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
- 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
- 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
- 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
- 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
- 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
- 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
- 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
- 65, 60, 0, 59, 0, 0, 0, 89, 89, 89,
- 89, 0, 0, 0, 89, 0, 89, 0, 0, 0,
- 0, 0, 63, 89, 0, 53, 0, 0, 0, 0,
- 0, 0, 89, 89, 0, 89, 89, 89, 89, 89,
- 90, 0, 0, 90, 24, 25, 26, 27, 28, 61,
- 29, 30, 31, 0, 0, 0, 32, 90, 90, 0,
- 0, 0, 90, 0, 0, 0, 0, 38, 0, 39,
- 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
- 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
- 0, 0, 90, 0, 0, 54, 91, 55, 56, 91,
- 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
- 0, 0, 32, 91, 91, 0, 0, 0, 91, 0,
- 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 0, 0, 51, 0, 0, 0, 0, 0, 91, 0,
- 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
- 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
- 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
- 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
- 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
- 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
- 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
- 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 90, 90, 90, 90, 0, 0, 0, 90, 0,
- 90, 52, 0, 61, 62, 64, 50, 0, 57, 278,
- 65, 60, 0, 59, 0, 0, 90, 90, 0, 90,
- 90, 90, 90, 90, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
- 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
- 91, 0, 0, 0, 91, 0, 91, 52, 0, 61,
- 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
- 0, 0, 91, 91, 0, 91, 91, 91, 91, 91,
- 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
- 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
+ 0, 44, 45, 46, 47, 48, 49, 0, 52, 0,
+ 51, 62, 64, 50, 0, 57, 0, 65, 61, 54,
+ 60, 55, 56, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 38, 58, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 0, 0, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 0, 53, 0, 0, 154, 0, 0, 154, 0, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 154, 154, 0, 32, 0, 154, 0, 0, 0,
+ 0, 0, 0, 0, 0, 38, 0, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 0, 150, 51, 154, 150, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 0, 150, 150, 0, 0, 0, 150, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
- 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
- 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
- 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
- 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
- 0, 32, 96, 0, 0, 96, 0, 0, 0, 0,
- 0, 0, 38, 0, 39, 40, 41, 42, 43, 96,
- 96, 0, 0, 44, 45, 46, 47, 48, 49, 0,
- 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
- 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 96, 0, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 0, 52, 0, 32, 62, 64, 50, 0, 57, 0,
- 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
- 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
- 132, 0, 0, 132, 24, 25, 26, 27, 28, 61,
- 29, 30, 31, 0, 0, 0, 32, 132, 132, 0,
- 0, 0, 132, 0, 0, 0, 0, 38, 0, 39,
- 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
- 46, 47, 48, 49, 53, 158, 51, 0, 158, 0,
- 132, 0, 132, 0, 0, 54, 0, 55, 56, 0,
- 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
- 0, 0, 0, 96, 96, 96, 96, 0, 0, 0,
- 96, 0, 132, 0, 0, 0, 0, 0, 75, 0,
- 0, 75, 0, 0, 0, 158, 0, 158, 96, 96,
- 0, 96, 0, 0, 0, 75, 75, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
- 0, 0, 0, 144, 0, 0, 144, 0, 75, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 144, 144, 0, 0, 0, 144, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 163, 0,
+ 0, 163, 0, 0, 0, 0, 150, 0, 0, 0,
+ 0, 0, 0, 0, 0, 163, 163, 0, 0, 0,
+ 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 163, 0, 0, 0, 0, 38, 0, 39, 40, 41,
+ 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 49, 0, 131, 0, 51, 131, 0, 0, 0,
+ 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
+ 131, 131, 0, 0, 0, 131, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 0, 144, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
- 45, 46, 47, 48, 49, 144, 0, 51, 168, 0,
- 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
- 0, 132, 132, 132, 132, 0, 117, 0, 132, 117,
- 132, 0, 0, 0, 0, 0, 132, 132, 132, 132,
- 150, 0, 0, 117, 117, 0, 132, 132, 117, 132,
- 132, 132, 132, 132, 132, 132, 0, 0, 132, 0,
- 0, 132, 132, 132, 0, 0, 158, 158, 158, 158,
- 0, 160, 0, 158, 160, 158, 117, 0, 117, 0,
- 0, 158, 158, 158, 158, 0, 0, 0, 160, 160,
- 0, 158, 158, 160, 158, 158, 158, 158, 158, 158,
- 158, 0, 0, 158, 0, 0, 158, 158, 158, 75,
- 75, 75, 75, 0, 93, 0, 75, 93, 75, 0,
- 0, 0, 0, 160, 75, 75, 75, 75, 0, 0,
- 0, 93, 93, 0, 75, 75, 93, 75, 75, 75,
- 75, 75, 75, 75, 0, 0, 75, 0, 0, 75,
- 75, 75, 0, 160, 144, 144, 144, 144, 0, 161,
- 0, 144, 0, 144, 0, 0, 93, 0, 0, 144,
- 144, 144, 144, 0, 0, 0, 161, 161, 0, 144,
- 144, 161, 144, 144, 144, 144, 144, 144, 144, 0,
- 0, 144, 0, 0, 144, 144, 144, 0, 0, 0,
- 0, 0, 146, 0, 152, 153, 154, 155, 0, 161,
- 0, 161, 0, 0, 0, 0, 0, 0, 0, 146,
- 146, 161, 162, 163, 146, 0, 164, 0, 0, 165,
- 166, 167, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 146, 0, 146, 0, 0, 117, 117, 117,
- 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
- 0, 0, 117, 117, 117, 117, 0, 0, 0, 0,
- 0, 0, 117, 117, 146, 117, 117, 117, 117, 117,
- 117, 117, 0, 0, 117, 0, 0, 117, 117, 117,
- 0, 0, 160, 160, 160, 160, 0, 109, 0, 160,
- 109, 160, 0, 0, 0, 0, 0, 160, 160, 160,
- 160, 0, 0, 0, 109, 109, 0, 160, 160, 109,
- 160, 160, 160, 160, 160, 160, 160, 0, 0, 160,
- 0, 0, 160, 160, 160, 93, 93, 93, 93, 0,
- 0, 0, 93, 0, 0, 0, 0, 69, 0, 109,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 126, 0, 131, 126, 0, 0, 0,
+ 0, 0, 0, 0, 0, 154, 154, 154, 154, 0,
+ 126, 126, 154, 0, 154, 126, 0, 0, 0, 0,
+ 154, 154, 154, 154, 0, 0, 0, 0, 0, 0,
+ 0, 154, 154, 0, 154, 154, 154, 154, 154, 154,
+ 154, 0, 0, 154, 0, 126, 154, 154, 154, 0,
+ 0, 0, 0, 0, 0, 150, 150, 150, 150, 0,
+ 0, 0, 150, 0, 150, 0, 0, 0, 0, 0,
+ 150, 150, 150, 150, 0, 0, 0, 0, 0, 0,
+ 0, 150, 150, 0, 150, 150, 150, 150, 150, 150,
+ 150, 0, 0, 150, 0, 0, 150, 150, 150, 163,
+ 163, 163, 163, 0, 0, 0, 163, 0, 163, 0,
+ 0, 0, 0, 0, 163, 163, 163, 163, 0, 0,
+ 0, 129, 0, 0, 129, 163, 163, 0, 163, 163,
+ 163, 163, 163, 163, 163, 0, 0, 163, 129, 129,
+ 163, 163, 163, 129, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 129, 131, 131, 131, 131, 0, 0,
+ 0, 131, 0, 131, 0, 0, 0, 0, 0, 131,
+ 131, 131, 131, 0, 0, 0, 127, 0, 0, 127,
+ 131, 131, 0, 131, 131, 131, 131, 131, 131, 131,
+ 0, 0, 131, 127, 127, 131, 131, 131, 127, 0,
+ 0, 0, 0, 0, 126, 126, 126, 126, 0, 0,
+ 0, 126, 0, 126, 0, 0, 0, 0, 0, 126,
+ 126, 126, 126, 0, 0, 0, 137, 0, 127, 137,
+ 126, 126, 0, 126, 126, 126, 126, 126, 126, 126,
+ 0, 0, 126, 137, 137, 126, 126, 126, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 161, 0, 0, 161, 0, 0, 0, 0, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 161, 161, 0,
+ 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 120, 0, 161, 120, 0, 0, 0, 0, 0, 0,
+ 0, 0, 129, 129, 129, 129, 0, 120, 120, 129,
+ 0, 129, 120, 0, 0, 0, 0, 129, 129, 129,
+ 129, 0, 0, 0, 0, 0, 0, 0, 129, 129,
+ 0, 129, 129, 129, 129, 129, 129, 129, 69, 0,
+ 129, 69, 120, 129, 129, 129, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 69, 69, 0, 0, 0,
69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 93, 93, 0, 93, 69, 69, 0, 0, 0, 69,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
- 161, 161, 161, 161, 0, 0, 0, 161, 0, 161,
- 0, 0, 0, 0, 0, 161, 161, 161, 161, 69,
- 0, 0, 0, 0, 0, 161, 161, 0, 161, 161,
- 161, 161, 161, 161, 161, 0, 71, 161, 0, 71,
- 161, 161, 161, 146, 146, 146, 146, 0, 72, 69,
- 146, 0, 146, 71, 71, 0, 0, 0, 146, 146,
- 146, 146, 0, 0, 0, 72, 72, 0, 146, 146,
- 72, 146, 146, 146, 146, 146, 146, 146, 0, 0,
- 146, 0, 0, 146, 146, 146, 0, 0, 71, 0,
- 0, 0, 0, 108, 0, 0, 108, 0, 72, 0,
- 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 108, 0, 0, 0, 108, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 127, 127, 127,
+ 127, 0, 0, 0, 127, 0, 127, 0, 0, 0,
+ 69, 0, 127, 127, 127, 127, 0, 0, 0, 119,
+ 0, 0, 119, 127, 127, 0, 127, 127, 127, 127,
+ 127, 127, 127, 0, 0, 127, 119, 119, 127, 127,
+ 127, 119, 0, 0, 0, 0, 0, 137, 137, 137,
+ 137, 0, 0, 0, 137, 0, 137, 0, 0, 0,
+ 0, 0, 137, 137, 137, 137, 0, 0, 0, 0,
+ 0, 119, 0, 137, 137, 0, 137, 137, 137, 137,
+ 137, 137, 137, 0, 0, 137, 0, 0, 137, 137,
+ 137, 161, 161, 161, 161, 0, 0, 0, 161, 0,
+ 161, 0, 0, 0, 0, 0, 161, 161, 161, 161,
+ 0, 0, 0, 75, 0, 0, 75, 161, 161, 0,
+ 161, 161, 161, 161, 161, 161, 161, 0, 0, 161,
+ 75, 75, 161, 161, 161, 75, 0, 0, 0, 0,
+ 0, 120, 120, 120, 120, 0, 0, 0, 120, 0,
+ 120, 0, 0, 0, 0, 0, 120, 120, 120, 120,
+ 0, 0, 0, 0, 0, 75, 0, 120, 120, 0,
+ 120, 120, 120, 120, 120, 120, 120, 164, 0, 120,
+ 0, 0, 120, 120, 120, 0, 0, 0, 0, 69,
+ 69, 69, 69, 0, 164, 164, 69, 0, 69, 164,
+ 0, 0, 0, 0, 69, 69, 69, 69, 0, 0,
+ 0, 0, 0, 0, 0, 69, 69, 0, 69, 69,
+ 69, 69, 69, 69, 69, 0, 149, 69, 0, 164,
+ 69, 69, 69, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 149, 149, 0, 0, 0, 149, 0,
+ 119, 119, 119, 119, 0, 0, 0, 119, 0, 119,
+ 0, 0, 0, 0, 0, 119, 119, 119, 119, 0,
+ 0, 0, 72, 0, 0, 0, 119, 119, 149, 119,
+ 119, 119, 119, 119, 119, 119, 0, 0, 119, 72,
+ 72, 119, 119, 119, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 117, 0, 0, 117,
+ 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
+ 0, 0, 0, 117, 117, 0, 0, 0, 117, 0,
+ 0, 0, 0, 0, 75, 75, 75, 75, 0, 0,
+ 0, 75, 0, 75, 0, 0, 0, 0, 0, 75,
+ 75, 75, 75, 0, 0, 0, 111, 0, 117, 111,
+ 75, 75, 0, 75, 75, 75, 75, 75, 75, 75,
+ 0, 0, 75, 111, 111, 75, 75, 75, 111, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 0, 0, 109, 109,
+ 0, 0, 0, 0, 0, 0, 0, 0, 164, 164,
+ 164, 164, 0, 0, 0, 164, 0, 164, 111, 0,
+ 0, 0, 0, 164, 164, 164, 164, 0, 0, 0,
+ 112, 0, 0, 112, 164, 164, 0, 164, 164, 164,
+ 164, 164, 164, 164, 0, 0, 164, 112, 112, 164,
+ 164, 164, 112, 0, 0, 0, 0, 149, 149, 149,
+ 149, 0, 0, 0, 149, 0, 149, 0, 0, 0,
+ 0, 0, 149, 149, 149, 149, 0, 0, 0, 0,
+ 0, 0, 112, 149, 149, 0, 149, 149, 149, 149,
+ 149, 149, 149, 0, 0, 149, 0, 0, 149, 149,
+ 149, 0, 0, 72, 72, 72, 72, 0, 0, 0,
+ 72, 0, 72, 0, 0, 0, 0, 0, 72, 72,
+ 72, 72, 0, 0, 0, 0, 0, 0, 0, 72,
+ 72, 0, 72, 72, 72, 72, 72, 72, 72, 0,
+ 0, 72, 0, 0, 72, 72, 72, 117, 117, 117,
+ 117, 0, 0, 0, 117, 0, 117, 0, 0, 0,
+ 0, 0, 117, 117, 117, 117, 113, 0, 0, 113,
+ 0, 0, 0, 117, 117, 0, 117, 117, 117, 117,
+ 117, 117, 117, 113, 113, 117, 0, 0, 113, 0,
+ 0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
+ 111, 0, 0, 0, 111, 0, 111, 0, 0, 0,
+ 0, 0, 111, 111, 111, 111, 0, 109, 113, 0,
+ 109, 0, 0, 111, 111, 0, 111, 111, 111, 111,
+ 111, 111, 111, 0, 109, 109, 0, 0, 0, 109,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 112, 112, 112, 112, 0, 0, 0, 112, 109,
+ 112, 0, 0, 0, 0, 0, 112, 112, 112, 112,
+ 110, 0, 0, 110, 0, 0, 0, 112, 112, 0,
+ 112, 112, 112, 112, 112, 112, 112, 110, 110, 0,
+ 0, 0, 110, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 108, 0, 0, 108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 110, 108, 108, 0, 0, 0, 108, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 96, 0, 0, 96, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
+ 96, 96, 0, 0, 0, 96, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 113, 113, 113,
+ 113, 0, 0, 0, 113, 96, 113, 0, 0, 0,
+ 0, 0, 113, 113, 113, 113, 97, 0, 0, 97,
+ 0, 0, 0, 113, 113, 0, 113, 113, 113, 113,
+ 113, 113, 113, 97, 97, 0, 0, 0, 97, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 109, 109,
109, 109, 0, 0, 0, 109, 0, 109, 0, 0,
- 0, 0, 0, 109, 109, 109, 109, 0, 0, 147,
- 0, 0, 147, 109, 109, 108, 109, 109, 109, 109,
- 109, 109, 109, 0, 0, 109, 147, 147, 109, 109,
- 109, 147, 0, 0, 0, 0, 0, 0, 69, 69,
- 69, 69, 0, 0, 0, 69, 0, 69, 0, 0,
- 0, 0, 0, 69, 69, 69, 69, 0, 0, 160,
- 0, 147, 160, 69, 69, 0, 69, 69, 69, 69,
- 69, 69, 69, 0, 0, 69, 160, 160, 69, 69,
- 69, 160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 109, 109, 109, 109, 98, 97, 0,
+ 98, 0, 0, 0, 109, 109, 0, 109, 109, 109,
+ 109, 109, 109, 109, 98, 98, 0, 0, 0, 98,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
- 71, 160, 0, 0, 71, 0, 0, 0, 0, 72,
- 72, 72, 72, 0, 115, 0, 72, 115, 72, 0,
- 0, 0, 71, 71, 72, 72, 72, 72, 0, 0,
- 0, 115, 115, 0, 72, 72, 115, 72, 72, 72,
- 72, 72, 72, 72, 0, 0, 72, 0, 0, 72,
- 72, 72, 0, 0, 108, 108, 108, 108, 0, 122,
- 0, 108, 122, 108, 0, 0, 115, 0, 0, 108,
- 108, 108, 108, 0, 0, 0, 122, 122, 0, 108,
- 108, 122, 108, 108, 108, 108, 108, 108, 108, 0,
- 0, 108, 0, 0, 108, 108, 108, 0, 0, 0,
- 0, 0, 106, 0, 0, 106, 0, 0, 0, 0,
- 0, 122, 0, 0, 0, 0, 0, 0, 0, 106,
- 106, 0, 0, 0, 106, 0, 0, 0, 0, 0,
- 147, 147, 147, 147, 0, 0, 0, 147, 0, 147,
- 0, 0, 0, 0, 0, 147, 147, 147, 147, 0,
- 0, 0, 0, 0, 106, 147, 147, 0, 147, 147,
- 147, 147, 147, 147, 147, 0, 0, 147, 0, 0,
- 147, 147, 147, 145, 0, 0, 145, 0, 0, 0,
- 160, 160, 160, 160, 0, 100, 0, 160, 100, 160,
- 145, 145, 0, 0, 0, 160, 160, 160, 160, 0,
- 0, 0, 100, 100, 0, 160, 160, 100, 160, 160,
- 160, 160, 160, 160, 160, 0, 0, 160, 0, 0,
- 160, 160, 160, 0, 0, 145, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
- 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
- 101, 0, 115, 101, 115, 0, 0, 0, 0, 0,
- 115, 115, 115, 115, 0, 0, 0, 101, 101, 0,
- 115, 115, 101, 115, 115, 115, 115, 115, 115, 115,
- 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
- 122, 122, 122, 122, 0, 102, 0, 122, 102, 122,
- 0, 0, 101, 0, 0, 122, 122, 122, 122, 0,
- 0, 0, 102, 102, 0, 122, 122, 102, 122, 122,
- 122, 122, 122, 122, 122, 0, 0, 122, 0, 0,
- 122, 122, 122, 106, 106, 106, 106, 0, 98, 0,
- 106, 98, 106, 0, 0, 0, 0, 102, 106, 106,
- 106, 106, 0, 0, 0, 98, 98, 0, 106, 106,
- 98, 106, 106, 106, 106, 106, 106, 106, 0, 0,
- 106, 0, 0, 0, 99, 0, 0, 99, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 98, 99, 99, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
- 0, 145, 0, 0, 0, 0, 100, 100, 100, 100,
- 0, 97, 0, 100, 97, 100, 99, 0, 0, 145,
- 145, 100, 100, 100, 100, 0, 0, 0, 97, 97,
- 0, 100, 100, 97, 100, 100, 100, 100, 100, 100,
- 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
- 0, 0, 85, 97, 0, 0, 0, 0, 0, 0,
- 0, 101, 101, 101, 101, 0, 85, 85, 101, 0,
- 101, 85, 0, 0, 0, 0, 101, 101, 101, 101,
- 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
- 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
- 0, 85, 0, 0, 0, 0, 102, 102, 102, 102,
- 0, 86, 0, 102, 86, 102, 0, 0, 0, 0,
- 0, 102, 102, 102, 102, 0, 0, 0, 86, 86,
- 0, 102, 102, 86, 102, 102, 102, 102, 102, 102,
- 102, 0, 0, 0, 0, 0, 0, 0, 0, 98,
- 98, 98, 98, 0, 87, 0, 98, 87, 98, 0,
- 0, 0, 0, 86, 98, 98, 98, 98, 0, 0,
- 0, 87, 87, 0, 98, 98, 87, 98, 98, 98,
- 98, 98, 98, 98, 0, 99, 99, 99, 99, 0,
- 88, 0, 99, 88, 99, 0, 0, 0, 0, 0,
- 99, 99, 99, 99, 0, 0, 87, 88, 88, 0,
- 99, 99, 88, 99, 99, 99, 99, 99, 99, 99,
+ 0, 110, 110, 110, 110, 0, 0, 0, 110, 98,
+ 110, 0, 0, 0, 0, 0, 110, 110, 110, 110,
+ 0, 0, 0, 0, 0, 0, 0, 110, 110, 0,
+ 110, 110, 110, 110, 110, 110, 110, 108, 108, 108,
+ 108, 0, 0, 0, 108, 0, 108, 0, 0, 0,
+ 0, 0, 108, 108, 108, 108, 0, 0, 0, 0,
+ 0, 0, 99, 108, 108, 99, 108, 108, 108, 108,
+ 108, 108, 108, 0, 96, 96, 96, 96, 0, 99,
+ 99, 96, 0, 96, 99, 0, 0, 0, 0, 96,
+ 96, 96, 96, 0, 0, 0, 0, 0, 0, 153,
+ 96, 96, 153, 96, 96, 96, 96, 96, 96, 96,
+ 101, 0, 0, 101, 99, 0, 153, 153, 0, 0,
+ 0, 153, 0, 0, 0, 0, 0, 101, 101, 0,
+ 0, 0, 101, 0, 0, 0, 0, 97, 97, 97,
+ 97, 0, 0, 0, 97, 0, 97, 0, 0, 0,
+ 0, 153, 97, 97, 97, 97, 152, 0, 0, 152,
+ 0, 0, 101, 97, 97, 0, 97, 97, 97, 97,
+ 97, 97, 0, 152, 152, 0, 0, 0, 152, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98, 98,
+ 98, 98, 0, 0, 0, 98, 0, 98, 0, 0,
+ 0, 0, 0, 98, 98, 0, 98, 141, 152, 0,
+ 141, 0, 0, 0, 98, 98, 0, 98, 98, 98,
+ 98, 98, 98, 0, 141, 141, 0, 0, 0, 141,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 97, 97, 97, 97, 0, 0, 0, 97,
- 0, 97, 88, 0, 0, 0, 0, 97, 97, 97,
- 97, 149, 0, 0, 149, 0, 0, 97, 97, 0,
- 97, 97, 97, 97, 97, 97, 97, 0, 149, 149,
- 0, 0, 0, 149, 0, 0, 0, 0, 0, 0,
- 85, 85, 85, 85, 0, 0, 0, 85, 0, 85,
- 0, 0, 0, 0, 0, 85, 85, 85, 85, 0,
- 0, 136, 0, 149, 136, 85, 85, 0, 85, 85,
- 85, 85, 85, 85, 85, 0, 0, 0, 136, 136,
- 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 118, 0, 0, 118, 0,
+ 0, 0, 0, 0, 0, 102, 0, 0, 102, 141,
+ 0, 0, 118, 118, 0, 0, 0, 118, 0, 0,
+ 0, 0, 102, 102, 0, 0, 0, 102, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86, 86, 86, 86, 0, 107, 0, 86,
- 107, 86, 0, 136, 0, 0, 0, 86, 86, 86,
- 86, 0, 0, 0, 107, 107, 0, 86, 86, 107,
- 86, 86, 86, 86, 86, 86, 0, 168, 0, 0,
- 92, 0, 0, 92, 0, 87, 87, 87, 87, 0,
- 94, 0, 87, 94, 87, 0, 0, 92, 92, 107,
- 87, 87, 92, 87, 0, 0, 0, 94, 94, 150,
- 87, 87, 94, 87, 87, 87, 87, 87, 87, 0,
- 0, 88, 88, 88, 88, 0, 95, 0, 88, 95,
- 88, 0, 92, 0, 0, 0, 88, 88, 84, 0,
- 0, 84, 94, 95, 95, 0, 88, 88, 95, 88,
- 88, 88, 88, 88, 88, 84, 84, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
- 0, 0, 70, 0, 0, 0, 0, 0, 95, 0,
- 0, 0, 149, 149, 149, 149, 70, 70, 0, 149,
- 84, 149, 0, 0, 0, 0, 0, 149, 149, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
- 149, 149, 149, 149, 149, 0, 0, 157, 0, 0,
- 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 136, 136, 136, 136, 0, 0, 0, 136,
- 0, 136, 0, 0, 0, 168, 0, 136, 136, 0,
- 0, 0, 0, 0, 0, 157, 0, 136, 136, 0,
- 136, 136, 136, 136, 136, 0, 0, 0, 0, 0,
- 0, 0, 0, 152, 153, 154, 155, 150, 107, 107,
- 107, 107, 0, 168, 0, 107, 0, 107, 159, 160,
- 161, 162, 163, 107, 107, 164, 0, 0, 165, 166,
- 167, 0, 0, 107, 107, 0, 107, 107, 107, 107,
- 107, 92, 92, 92, 92, 150, 0, 0, 92, 0,
- 92, 94, 94, 94, 94, 0, 0, 0, 94, 0,
- 94, 0, 0, 0, 0, 0, 92, 92, 0, 92,
- 92, 92, 92, 168, 0, 0, 94, 94, 0, 94,
- 94, 94, 0, 0, 0, 0, 0, 95, 95, 95,
- 95, 0, 0, 0, 95, 0, 95, 0, 0, 84,
- 84, 84, 84, 0, 0, 150, 84, 0, 0, 0,
- 0, 0, 95, 95, 0, 95, 95, 0, 0, 0,
- 0, 0, 0, 0, 84, 84, 0, 0, 94, 0,
- 70, 70, 70, 70, 0, 0, 104, 70, 0, 0,
- 109, 0, 0, 118, 0, 0, 0, 0, 0, 0,
- 125, 126, 127, 128, 129, 70, 70, 132, 133, 0,
- 0, 0, 0, 0, 140, 151, 0, 0, 0, 0,
- 0, 152, 153, 154, 155, 0, 0, 0, 0, 0,
- 0, 0, 90, 90, 156, 158, 159, 160, 161, 162,
- 163, 184, 0, 164, 103, 0, 165, 166, 167, 0,
- 111, 90, 119, 151, 0, 0, 0, 90, 0, 152,
- 153, 154, 155, 0, 0, 0, 0, 0, 0, 90,
- 90, 90, 90, 158, 159, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 0, 111, 0, 0, 0, 0, 152,
- 153, 154, 155, 0, 247, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
- 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
+ 0, 0, 0, 99, 99, 99, 99, 118, 0, 0,
+ 99, 0, 99, 0, 0, 0, 0, 102, 99, 99,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,
+ 99, 0, 99, 99, 99, 99, 99, 99, 0, 0,
+ 153, 153, 153, 153, 0, 0, 0, 153, 0, 153,
+ 0, 101, 101, 101, 101, 153, 153, 0, 101, 0,
+ 101, 0, 0, 0, 0, 0, 153, 153, 0, 153,
+ 153, 153, 153, 153, 0, 0, 0, 101, 101, 0,
+ 101, 101, 101, 101, 101, 103, 0, 0, 103, 0,
+ 0, 0, 0, 0, 0, 0, 0, 152, 152, 152,
+ 152, 0, 103, 103, 152, 0, 152, 103, 0, 0,
+ 0, 0, 152, 152, 0, 0, 0, 0, 105, 0,
+ 0, 105, 0, 152, 152, 0, 152, 152, 152, 152,
+ 152, 0, 0, 0, 0, 105, 105, 103, 0, 0,
+ 105, 0, 0, 0, 0, 0, 0, 0, 141, 141,
+ 141, 141, 0, 0, 0, 141, 0, 141, 0, 0,
+ 0, 0, 0, 141, 141, 0, 0, 0, 0, 0,
+ 105, 0, 0, 0, 141, 141, 0, 141, 141, 141,
+ 141, 141, 0, 0, 0, 0, 118, 118, 118, 118,
+ 0, 0, 0, 118, 0, 118, 102, 102, 102, 102,
+ 0, 118, 118, 102, 0, 102, 0, 0, 0, 0,
+ 0, 0, 118, 118, 0, 118, 118, 118, 118, 118,
+ 0, 106, 102, 102, 106, 102, 102, 102, 102, 102,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
+ 95, 0, 0, 106, 0, 0, 0, 0, 105, 0,
+ 0, 0, 110, 0, 0, 119, 0, 0, 0, 0,
+ 0, 0, 126, 127, 128, 129, 130, 0, 0, 0,
+ 135, 136, 0, 106, 0, 0, 141, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 186, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
+ 0, 0, 0, 103, 0, 103, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 103, 103, 0, 103, 103, 103, 103, 105,
+ 105, 105, 105, 0, 0, 0, 105, 0, 105, 0,
+ 0, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 105, 105, 0, 105, 105,
+ 105, 0, 0, 0, 0, 0, 0, 0, 251, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 237, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
- 0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 317,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 106, 106, 106, 106, 0, 0, 0, 106,
+ 0, 106, 0, 0, 0, 0, 0, 0, 306, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 106,
+ 0, 106, 106, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
};
static short yycheck[] = { 13,
- 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
- 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
- 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
- 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
- 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
- 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
- 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
- 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
- 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
- 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
- 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
- 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
- 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
- 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
- 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
- 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
- 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
- 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
- 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
- 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
- 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
- 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
- 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
- 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
- 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
- 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
- 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
- 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
- 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
- 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
- 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
- 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
- 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
- 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
- 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
- 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
- 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
- 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
- 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
- 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
- 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
- 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
- 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
- -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
- -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
- -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
- -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
- -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
- -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
- 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
- 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
- -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
- -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
- -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
- 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
- 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
- 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
- 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
- -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
- 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
- -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
- -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
- 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
- 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
- -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
- 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
- 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
- -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
- 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 59, 59, 59, 36, 43, 185, 92, 40, 87, 59,
+ 91, 36, 51, 41, 59, 336, 44, 257, 41, 40,
+ 91, 41, 41, 40, 44, 298, 299, 257, 41, 93,
+ 58, 59, 46, 59, 40, 63, 41, 123, 58, 59,
+ 59, 41, 123, 57, 58, 40, 367, 41, 59, 41,
+ 41, 41, 123, 92, 59, 194, 41, 41, 257, 41,
+ 278, 41, 123, 41, 41, 93, 44, 40, 59, 59,
+ 91, 276, 277, 93, 91, 59, 115, 41, 123, 44,
+ 58, 59, 59, 40, 123, 63, 98, 99, 100, 101,
+ 102, 103, 41, 107, 108, 59, 40, 123, 123, 289,
+ 290, 59, 123, 59, 0, 59, 123, 40, 40, 36,
+ 59, 40, 40, 40, 294, 93, 306, 307, 44, 59,
+ 310, 123, 260, 313, 314, 315, 257, 40, 40, 40,
+ 144, 145, 146, 147, 148, 149, 150, 33, 277, 41,
+ 36, 37, 38, 93, 40, 315, 42, 43, 93, 45,
+ 93, 125, 93, 91, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 59, 91, 257, 36, 0, 64, 255,
+ 41, 185, 125, 312, 260, 189, 190, 91, 192, 299,
+ 194, 41, 40, 195, 41, 41, 93, 201, 93, 203,
+ 204, 41, 333, 334, 208, 91, 123, 338, 41, 257,
+ 33, 40, 125, 36, 37, 38, 41, 40, 59, 42,
+ 43, 59, 45, 354, 123, 125, 255, 358, 357, 125,
+ 234, 260, 236, 237, 0, 125, 59, 123, 41, 125,
+ 126, 64, 257, 125, 298, 299, 41, 262, 41, 298,
+ 299, 298, 299, 59, 272, 273, 274, 275, 298, 299,
+ 40, 279, 272, 273, 274, 275, 41, 33, 91, 279,
+ 36, 37, 38, 296, 40, 344, 42, 43, 41, 45,
+ 298, 299, 41, 301, 288, 298, 299, 123, 298, 299,
+ 294, 301, 41, 59, 59, 298, 299, 123, 64, 41,
+ 123, 59, 125, 126, 272, 273, 274, 275, 298, 299,
+ 314, 279, 41, 281, 298, 299, 298, 299, 41, 287,
+ 288, 289, 290, 298, 299, 91, 298, 299, 298, 299,
+ 298, 299, 59, 301, 302, 303, 304, 305, 306, 307,
+ 63, 258, 310, 298, 299, 313, 314, 315, 41, 353,
+ 298, 299, 298, 299, 298, 299, 8, 123, 298, 299,
+ 126, 32, 13, 298, 299, 298, 299, 298, 299, 145,
+ 256, 257, 258, 259, 260, 261, 353, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 125, 192, 97, 279, 280, -1, 282, 283, 284, 285,
+ 286, 298, 299, 298, 299, 291, 292, 293, 294, 295,
+ 296, -1, -1, 41, 300, -1, 44, 266, 267, 268,
+ 314, 270, 271, 309, -1, 311, 312, -1, -1, -1,
+ -1, 59, -1, 256, 257, 258, 259, 260, 261, -1,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 125, -1, -1, 279, 280, 289, 282,
+ 283, 284, 285, 286, -1, 93, -1, -1, 291, 292,
+ 293, 294, 295, 296, -1, -1, 307, 300, 41, 310,
+ -1, 44, 313, 314, 315, -1, 309, -1, 311, 312,
256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
+ 63, -1, -1, 269, -1, -1, 272, 273, 274, 275,
-1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
- 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
- -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
- -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
- 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
- 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
- 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
- -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
- 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
- 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
- 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
- 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
- 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
- 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
- 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
- -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
- -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
- -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
+ 296, 266, 267, 268, 300, 270, 271, 310, -1, -1,
+ 313, 314, 315, 309, 33, 311, 312, 36, 37, 38,
+ -1, 40, 41, 42, 43, 44, 45, -1, 281, -1,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, 58,
+ 59, -1, -1, -1, 63, 64, -1, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
+ 313, 314, 315, -1, 266, 267, 268, -1, 270, 271,
+ -1, -1, 91, 33, 93, -1, 36, 37, 38, -1,
+ 40, 41, 42, 43, 44, 45, -1, -1, 26, -1,
+ -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
+ 279, -1, -1, 63, 64, 43, 44, 126, -1, -1,
+ -1, -1, 50, -1, 272, 273, 274, 275, -1, 298,
+ 299, 279, -1, -1, 62, 63, 64, 65, -1, -1,
+ -1, -1, -1, 93, 33, -1, -1, 36, 37, 38,
+ 298, 40, -1, 42, 43, -1, 45, -1, 309, 310,
+ 311, -1, 313, -1, -1, 287, 288, 289, 290, -1,
+ 59, 307, -1, -1, 310, 64, 126, 313, 314, 315,
+ 108, 303, 304, 305, 306, 307, -1, -1, 310, 340,
+ -1, 313, 314, 315, 41, -1, 347, 44, 281, -1,
+ 351, -1, 91, -1, 287, 288, 289, 290, -1, -1,
+ -1, 58, 59, 364, 365, -1, 63, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, -1, -1,
+ 313, 314, 315, -1, 123, -1, -1, 126, -1, -1,
+ -1, -1, -1, -1, -1, -1, 93, -1, 257, 258,
+ 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
+ 269, -1, 58, 272, 273, 274, 275, 63, -1, -1,
+ 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
+ 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
+ 309, 310, 311, 312, 313, 314, 315, 257, 258, 259,
260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
- 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
- -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
- 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
- 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
- -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
- 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
- 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
- -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
- -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
- -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
- -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
- 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
- -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
- 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
- -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
- -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
- 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
- -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
- -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
+ -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, -1, 309,
+ 310, 311, 312, 313, 314, 315, -1, 256, 257, 258,
+ 259, 260, 261, -1, 263, 264, 265, -1, -1, 63,
+ 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
+ 279, 280, -1, 282, 283, 284, 285, 286, -1, -1,
+ -1, -1, 291, 292, 293, 294, 295, 296, -1, 33,
+ -1, 300, 36, 37, 38, 13, 40, -1, 42, 43,
+ 309, 45, 311, 312, -1, 272, 273, 274, 275, -1,
+ -1, -1, 279, -1, 281, 59, -1, -1, -1, -1,
+ 64, 288, -1, -1, 42, -1, -1, 45, 41, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, -1,
+ 287, 288, 289, 290, -1, 33, 59, 91, 36, 37,
+ 38, -1, 40, -1, 42, 43, -1, 45, 305, 306,
+ 307, -1, -1, 310, 82, 281, 313, 314, 315, -1,
+ -1, 287, 288, 289, 290, -1, 64, -1, 96, 123,
+ 93, -1, 126, -1, -1, 301, 302, 303, 304, 305,
+ 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
+ -1, 33, -1, 91, 36, 37, 38, -1, 40, -1,
+ 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 142, -1, -1, 287, 288, 289,
+ 290, -1, 64, -1, -1, 123, -1, -1, 126, -1,
+ 41, -1, -1, 44, 304, 305, 306, 307, -1, -1,
+ 310, -1, -1, 313, 314, 315, -1, 58, 59, 91,
+ -1, -1, -1, 181, 33, -1, -1, 36, 37, 38,
+ 188, 40, -1, 42, 43, -1, 45, 281, -1, -1,
+ -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
+ -1, 123, 93, -1, 126, 64, -1, 301, 302, 303,
+ 304, 305, 306, 307, -1, -1, 310, -1, -1, 313,
+ 314, 315, 256, 257, 258, 259, 260, 261, -1, 263,
+ 264, 265, 91, -1, -1, 269, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, 280, -1, 282, 283,
+ 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
+ 294, 295, 296, -1, 123, -1, 300, 126, -1, 272,
+ 273, 274, 275, -1, -1, 309, 279, 311, 312, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
+ -1, 269, -1, -1, 63, 298, 299, -1, -1, -1,
+ -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ -1, -1, 300, -1, -1, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, 257, 258, 259, 260, 261,
+ -1, 263, 264, 265, -1, 33, -1, 269, 36, 37,
+ 38, -1, 40, 41, 42, 43, -1, 45, 280, -1,
+ 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
+ 292, 293, 294, 295, 296, -1, 64, -1, 300, -1,
+ -1, 272, 273, 274, 275, -1, -1, 309, 279, 311,
+ 312, -1, 287, 288, 289, 290, -1, -1, 257, 258,
+ 259, 260, 261, 91, 263, 264, 265, 298, 299, -1,
+ 269, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, 280, -1, 282, 283, 284, 285, 286, -1, -1,
+ -1, -1, 291, 292, 293, 294, 295, 296, 126, 33,
+ -1, 300, 36, 37, 38, -1, 40, -1, 42, 43,
+ 309, 45, 311, 312, 287, -1, 289, 290, -1, -1,
+ -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
+ 64, 25, 26, 306, 307, -1, 41, 310, -1, 44,
+ 313, 314, 315, 37, -1, -1, -1, -1, -1, 43,
+ 44, 45, -1, 58, 59, 33, 50, 91, 36, 37,
+ 38, -1, 40, -1, 42, 43, -1, 45, 62, 63,
+ 64, 65, 281, -1, -1, -1, -1, -1, 287, 288,
+ 289, 290, -1, -1, -1, -1, 64, -1, 93, -1,
+ -1, -1, 126, 302, 303, 304, 305, 306, 307, -1,
+ -1, 310, -1, -1, 313, 314, 315, -1, -1, -1,
+ -1, -1, -1, 91, 108, 93, 33, -1, -1, 36,
+ 37, 38, -1, 40, 41, 42, 43, -1, 45, 257,
+ 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
+ -1, 269, -1, -1, -1, -1, -1, 64, 126, -1,
+ -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ 289, 290, 300, 167, 91, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, -1, -1, 41, 307, -1,
+ 44, 310, -1, -1, 313, 314, 315, -1, -1, 193,
+ -1, -1, -1, -1, 58, 59, -1, 33, -1, 126,
+ 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
+ -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
+ 264, 265, -1, -1, -1, 269, -1, -1, 64, 93,
+ -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
+ 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
+ 294, 295, 296, -1, -1, 91, 300, 272, 273, 274,
+ 275, -1, -1, -1, 279, 309, -1, 311, 312, 257,
+ 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
+ -1, 269, -1, 298, 299, -1, -1, -1, -1, -1,
+ 126, -1, 280, -1, 282, 283, 284, 285, 286, -1,
+ -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
+ 41, -1, 300, 44, -1, -1, -1, -1, -1, -1,
+ -1, 309, -1, 311, 312, -1, 41, 58, 59, 44,
257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
-1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
-1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
- -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
- 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
- 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
- -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
- 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
- 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
- -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
- 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
- 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
+ -1, -1, 93, -1, 291, 292, 293, 294, 295, 296,
+ -1, -1, -1, 300, -1, -1, -1, -1, 93, -1,
+ -1, -1, 309, -1, 311, 312, -1, 33, -1, -1,
36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
- -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
- -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
- 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
- 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
- -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
- 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
- -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
- 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
- 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, 93, -1, -1, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, -1, 64, -1,
-1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
- -1, 33, -1, 269, 36, 37, 38, -1, 40, -1,
- 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
+ -1, -1, -1, 269, 298, 299, -1, -1, -1, -1,
+ -1, -1, -1, -1, 280, 91, 282, 283, 284, 285,
286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
- -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
- 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
- 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
- -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
- 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
- -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
- -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
- 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
- -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
- -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
+ 296, -1, 33, -1, 300, 36, 37, 38, -1, 40,
+ -1, 42, 43, 309, 45, 311, 312, -1, -1, -1,
+ 126, 287, 288, 289, 290, -1, -1, -1, -1, -1,
+ -1, -1, -1, 64, -1, -1, 302, 303, 304, 305,
+ 306, 307, -1, -1, 310, -1, -1, 313, 314, 315,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 91, -1, -1, 33, -1, -1, 36, 37, 38, -1,
+ 40, 41, 42, 43, -1, 45, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ -1, -1, -1, -1, 64, 126, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, 298, 299, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, 91, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 33, -1,
+ -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
+ 45, 257, 258, 259, 260, 261, 126, 263, 264, 265,
+ -1, -1, -1, 269, -1, -1, -1, -1, -1, 64,
+ -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
+ 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
+ 296, -1, -1, -1, 300, -1, 91, -1, -1, -1,
+ -1, -1, -1, 309, -1, 311, 312, -1, 33, -1,
+ -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
+ 45, -1, -1, -1, -1, 256, 257, 258, 259, 260,
+ 261, 126, 263, 264, 265, -1, -1, -1, 269, 64,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
+ -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
+ 291, 292, 293, 294, 295, 296, 91, -1, -1, 300,
+ -1, -1, -1, -1, -1, -1, -1, -1, 309, -1,
+ 311, 312, -1, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
+ -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
+ 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
+ -1, 291, 292, 293, 294, 295, 296, -1, 33, -1,
+ 300, 36, 37, 38, -1, 40, -1, 42, 43, 309,
+ 45, 311, 312, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 280, 91, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, -1, -1, 300, -1, -1, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
+ -1, 126, -1, -1, 41, -1, -1, 44, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, 58, 59, -1, 269, -1, 63, -1, -1, -1,
+ -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, -1, 41, 300, 93, 44, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
+ -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
+ -1, 44, -1, -1, -1, -1, 93, -1, -1, -1,
+ -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
- -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
+ 265, -1, -1, -1, 269, -1, -1, -1, -1, -1,
+ 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
+ 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
+ 295, 296, -1, 41, -1, 300, 44, -1, -1, -1,
+ -1, -1, -1, -1, 309, -1, 311, 312, -1, -1,
58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- -1, 263, 264, 265, -1, 93, -1, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, 123, -1, 299, 91, -1,
- -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
- 123, -1, -1, 58, 59, -1, 297, 298, 63, 300,
- 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
- -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, 91, -1, 93, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
- 313, 314, -1, 123, 272, 273, 274, 275, -1, 41,
- -1, 279, -1, 281, -1, -1, 93, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
- 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, 41, -1, 287, 288, 289, 290, -1, 91,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 304, 305, 306, 63, -1, 309, -1, -1, 312,
- 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, -1, 93, -1, -1, 272, 273, 274,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, 93, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
+ 58, 59, 279, -1, 281, 63, -1, -1, -1, -1,
+ 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
+ 307, -1, -1, 310, -1, 93, 313, 314, 315, -1,
+ -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
+ -1, -1, 279, -1, 281, -1, -1, -1, -1, -1,
+ 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
+ -1, 298, 299, -1, 301, 302, 303, 304, 305, 306,
+ 307, -1, -1, 310, -1, -1, 313, 314, 315, 272,
+ 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
+ -1, 41, -1, -1, 44, 298, 299, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, -1, 310, 58, 59,
+ 313, 314, 315, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, -1, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, -1, 44, -1, -1, -1, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 41, -1, 93, 44, -1, -1, -1, -1, -1, -1,
+ -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
+ -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
+ 290, -1, -1, -1, -1, -1, -1, -1, 298, 299,
+ -1, 301, 302, 303, 304, 305, 306, 307, 41, -1,
+ 310, 44, 93, 313, 314, 315, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ 93, -1, 287, 288, 289, 290, -1, -1, -1, 41,
+ -1, -1, 44, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, 58, 59, 313, 314,
+ 315, 63, -1, -1, -1, -1, -1, 272, 273, 274,
275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
-1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
- -1, -1, 297, 298, 123, 300, 301, 302, 303, 304,
- 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
- -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
- 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
- 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
- -1, -1, 312, 313, 314, 272, 273, 274, 275, -1,
- -1, -1, 279, -1, -1, -1, -1, 41, -1, 93,
- 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 297, 298, -1, 300, 58, 59, -1, -1, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ -1, 93, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, 41, -1, -1, 44, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, -1, -1, 310,
+ 58, 59, 313, 314, 315, 63, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, -1, -1, 93, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 41, -1, 310,
+ -1, -1, 313, 314, 315, -1, -1, -1, -1, 272,
+ 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
+ -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
+ -1, -1, -1, -1, -1, 298, 299, -1, 301, 302,
+ 303, 304, 305, 306, 307, -1, 41, 310, -1, 93,
+ 313, 314, 315, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
- -1, -1, -1, -1, -1, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, 41, 309, -1, 44,
- 312, 313, 314, 272, 273, 274, 275, -1, 41, 123,
- 279, -1, 281, 58, 59, -1, -1, -1, 287, 288,
- 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
- 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
- 309, -1, -1, 312, 313, 314, -1, -1, 93, -1,
- -1, -1, -1, 41, -1, -1, 44, -1, 91, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
+ -1, -1, 41, -1, -1, -1, 298, 299, 93, 301,
+ 302, 303, 304, 305, 306, 307, -1, -1, 310, 58,
+ 59, 313, 314, 315, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
+ -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
+ -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, 41, -1, 93, 44,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, -1, 310, 58, 59, 313, 314, 315, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, 281, 93, -1,
+ -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
+ 41, -1, -1, 44, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, 307, -1, -1, 310, 58, 59, 313,
+ 314, 315, 63, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, -1, 310, -1, -1, 313, 314,
+ 315, -1, -1, 272, 273, 274, 275, -1, -1, -1,
+ 279, -1, 281, -1, -1, -1, -1, -1, 287, 288,
+ 289, 290, -1, -1, -1, -1, -1, -1, -1, 298,
+ 299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
+ -1, 310, -1, -1, 313, 314, 315, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, 58, 59, 310, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, 41, 93, -1,
+ 44, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, 58, 59, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ 41, -1, -1, 44, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 93, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, 272, 273,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, 93, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
- -1, -1, 44, 297, 298, 123, 300, 301, 302, 303,
- 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
- 314, 63, -1, -1, -1, -1, -1, -1, 272, 273,
+ -1, -1, -1, 287, 288, 289, 290, 41, 93, -1,
+ 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, 307, 58, 59, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
+ 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
+ -1, -1, -1, -1, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 306, 307, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, -1, 287, 288, 289, 290, -1, -1, -1, -1,
+ -1, -1, 41, 298, 299, 44, 301, 302, 303, 304,
+ 305, 306, 307, -1, 272, 273, 274, 275, -1, 58,
+ 59, 279, -1, 281, 63, -1, -1, -1, -1, 287,
+ 288, 289, 290, -1, -1, -1, -1, -1, -1, 41,
+ 298, 299, 44, 301, 302, 303, 304, 305, 306, 307,
+ 41, -1, -1, 44, 93, -1, 58, 59, -1, -1,
+ -1, 63, -1, -1, -1, -1, -1, 58, 59, -1,
+ -1, -1, 63, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
+ -1, 93, 287, 288, 289, 290, 41, -1, -1, 44,
+ -1, -1, 93, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, -1, 58, 59, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, -1, -1, 41,
- -1, 93, 44, 297, 298, -1, 300, 301, 302, 303,
- 304, 305, 306, -1, -1, 309, 58, 59, 312, 313,
- 314, 63, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 287, 288, -1, 290, 41, 93, -1,
+ 44, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, 306, -1, 58, 59, -1, -1, -1, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, 93, -1, -1, 279, -1, -1, -1, -1, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, 297, 298, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
- 313, 314, -1, -1, 272, 273, 274, 275, -1, 41,
- -1, 279, 44, 281, -1, -1, 93, -1, -1, 287,
- 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
- 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, 44, 93,
+ -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
+ -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 272, 273, 274, 275, 93, -1, -1,
+ 279, -1, 281, -1, -1, -1, -1, 93, 287, 288,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, -1, -1, 93, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, 41, -1, -1, 44, -1, -1, -1,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- 58, 59, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, -1, -1, 93, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
- -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
- 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
- -1, -1, 93, -1, -1, 287, 288, 289, 290, -1,
- -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
- 312, 313, 314, 272, 273, 274, 275, -1, 41, -1,
- 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
- 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
- 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
- 309, -1, -1, -1, 41, -1, -1, 44, -1, -1,
+ -1, 272, 273, 274, 275, 287, 288, -1, 279, -1,
+ 281, -1, -1, -1, -1, -1, 298, 299, -1, 301,
+ 302, 303, 304, 305, -1, -1, -1, 298, 299, -1,
+ 301, 302, 303, 304, 305, 41, -1, -1, 44, -1,
+ -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
+ 275, -1, 58, 59, 279, -1, 281, 63, -1, -1,
+ -1, -1, 287, 288, -1, -1, -1, -1, 41, -1,
+ -1, 44, -1, 298, 299, -1, 301, 302, 303, 304,
+ 305, -1, -1, -1, -1, 58, 59, 93, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, -1, 272, 273,
+ 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
+ -1, -1, -1, 287, 288, -1, -1, -1, -1, -1,
+ 93, -1, -1, -1, 298, 299, -1, 301, 302, 303,
+ 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
+ -1, -1, -1, 279, -1, 281, 272, 273, 274, 275,
+ -1, 287, 288, 279, -1, 281, -1, -1, -1, -1,
+ -1, -1, 298, 299, -1, 301, 302, 303, 304, 305,
+ -1, 41, 298, 299, 44, 301, 302, 303, 304, 305,
+ -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
+ 30, -1, -1, 63, -1, -1, -1, -1, 38, -1,
+ -1, -1, 42, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, 52, 53, 54, 55, 56, -1, -1, -1,
+ 60, 61, -1, 93, -1, -1, 66, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, 58, 59, -1, -1, -1, 63, -1, -1, -1,
- -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
- -1, 279, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, 93, -1, -1, 297,
- 298, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, 93, -1, -1, -1, -1, -1, -1,
- -1, 272, 273, 274, 275, -1, 58, 59, 279, -1,
- 281, 63, -1, -1, -1, -1, 287, 288, 289, 290,
- -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
- -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
- -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
- 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
- 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
- -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
- -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
- 303, 304, 305, 306, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
- 287, 288, 289, 290, -1, -1, 93, 58, 59, -1,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
- 290, 41, -1, -1, 44, -1, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, 305, 306, -1, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
- 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
- -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
- -1, 41, -1, 93, 44, 297, 298, -1, 300, 301,
- 302, 303, 304, 305, 306, -1, -1, -1, 58, 59,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
+ -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 298, 299, -1, 301, 302, 303, 304, 272,
+ 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
+ -1, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 298, 299, -1, 301, 302,
+ 303, -1, -1, -1, -1, -1, -1, -1, 178, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
- 44, 281, -1, 93, -1, -1, -1, 287, 288, 289,
- 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
- 300, 301, 302, 303, 304, 305, -1, 91, -1, -1,
- 41, -1, -1, 44, -1, 272, 273, 274, 275, -1,
- 41, -1, 279, 44, 281, -1, -1, 58, 59, 93,
- 287, 288, 63, 290, -1, -1, -1, 58, 59, 123,
- 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
- -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
- 281, -1, 93, -1, -1, -1, 287, 288, 41, -1,
- -1, 44, 93, 58, 59, -1, 297, 298, 63, 300,
- 301, 302, 303, 304, 305, 58, 59, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 44, -1, -1, -1, -1, -1, 93, -1,
- -1, -1, 272, 273, 274, 275, 58, 59, -1, 279,
- 93, 281, -1, -1, -1, -1, -1, 287, 288, -1,
- -1, -1, -1, -1, -1, -1, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, 63, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
- -1, 281, -1, -1, -1, 91, -1, 287, 288, -1,
- -1, -1, -1, -1, -1, 63, -1, 297, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, 287, 288, 289, 290, 123, 272, 273,
- 274, 275, -1, 91, -1, 279, -1, 281, 302, 303,
- 304, 305, 306, 287, 288, 309, -1, -1, 312, 313,
- 314, -1, -1, 297, 298, -1, 300, 301, 302, 303,
- 304, 272, 273, 274, 275, 123, -1, -1, 279, -1,
- 281, 272, 273, 274, 275, -1, -1, -1, 279, -1,
- 281, -1, -1, -1, -1, -1, 297, 298, -1, 300,
- 301, 302, 303, 91, -1, -1, 297, 298, -1, 300,
- 301, 302, -1, -1, -1, -1, -1, 272, 273, 274,
- 275, -1, -1, -1, 279, -1, 281, -1, -1, 272,
- 273, 274, 275, -1, -1, 123, 279, -1, -1, -1,
- -1, -1, 297, 298, -1, 300, 301, -1, -1, -1,
- -1, -1, -1, -1, 297, 298, -1, -1, 30, -1,
- 272, 273, 274, 275, -1, -1, 38, 279, -1, -1,
- 42, -1, -1, 45, -1, -1, -1, -1, -1, -1,
- 52, 53, 54, 55, 56, 297, 298, 59, 60, -1,
- -1, -1, -1, -1, 66, 281, -1, -1, -1, -1,
- -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
- -1, -1, 25, 26, 300, 301, 302, 303, 304, 305,
- 306, 93, -1, 309, 37, -1, 312, 313, 314, -1,
- 43, 44, 45, 281, -1, -1, -1, 50, -1, 287,
- 288, 289, 290, -1, -1, -1, -1, -1, -1, 62,
- 63, 64, 65, 301, 302, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, 107, -1, -1, -1, -1, 287,
- 288, 289, 290, -1, 176, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 303, 304, 305, 306, -1,
- -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 167, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
- -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 286,
+ -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
+ -1, 281, -1, -1, -1, -1, -1, -1, 258, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 298, 299,
+ -1, 301, 302, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 289,
};
#define YYFINAL 1
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
-#define YYMAXTOKEN 314
+#define YYMAXTOKEN 315
#if YYDEBUG
static char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -1112,9 +1140,9 @@ static char *yyname[] = {
"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
-"OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
-"SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
-"POSTDEC","ARROW",
+"PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP",
+"BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
+"POSTINC","POSTDEC","ARROW",
};
static char *yyrule[] = {
"$accept : prog",
@@ -1201,6 +1229,17 @@ static char *yyrule[] = {
"listop : LSTOPSUB startanonsub block $$3 listexpr",
"method : METHOD",
"method : scalar",
+"subscripted : star '{' expr ';' '}'",
+"subscripted : scalar '[' expr ']'",
+"subscripted : term ARROW '[' expr ']'",
+"subscripted : subscripted '[' expr ']'",
+"subscripted : scalar '{' expr ';' '}'",
+"subscripted : term ARROW '{' expr ';' '}'",
+"subscripted : subscripted '{' expr ';' '}'",
+"subscripted : term ARROW '(' ')'",
+"subscripted : term ARROW '(' expr ')'",
+"subscripted : subscripted '(' expr ')'",
+"subscripted : subscripted '(' ')'",
"term : term ASSIGNOP term",
"term : term POWOP term",
"term : term MULOP term",
@@ -1233,17 +1272,11 @@ static char *yyrule[] = {
"term : HASHBRACK ';' '}'",
"term : ANONSUB startanonsub proto block",
"term : scalar",
-"term : star '{' expr ';' '}'",
"term : star",
-"term : scalar '[' expr ']'",
-"term : term ARROW '[' expr ']'",
-"term : term '[' expr ']'",
"term : hsh",
"term : ary",
"term : arylen",
-"term : scalar '{' expr ';' '}'",
-"term : term ARROW '{' expr ';' '}'",
-"term : term '{' expr ';' '}'",
+"term : subscripted",
"term : '(' expr ')' '[' expr ']'",
"term : '(' ')' '[' expr ']'",
"term : ary '[' expr ']'",
@@ -1259,8 +1292,6 @@ static char *yyrule[] = {
"term : DO WORD '(' expr ')'",
"term : DO scalar '(' ')'",
"term : DO scalar '(' expr ')'",
-"term : term ARROW '(' ')'",
-"term : term ARROW '(' expr ')'",
"term : LOOPEX",
"term : LOOPEX term",
"term : NOTOP argexpr",
@@ -1311,9 +1342,9 @@ static char *yyrule[] = {
#define YYMAXDEPTH 500
#endif
#endif
-#line 652 "perly.y"
+#line 666 "perly.y"
/* PROGRAM */
-#line 1318 "perly.c"
+#line 1427 "perly.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -1329,23 +1360,8 @@ struct ysv {
YYSTYPE oldyylval;
};
-void
-yydestruct(void *ptr)
-{
- struct ysv* ysave = (struct ysv*)ptr;
- if (ysave->yyss) Safefree(ysave->yyss);
- if (ysave->yyvs) Safefree(ysave->yyvs);
- yydebug = ysave->oldyydebug;
- yynerrs = ysave->oldyynerrs;
- yyerrflag = ysave->oldyyerrflag;
- yychar = ysave->oldyychar;
- yyval = ysave->oldyyval;
- yylval = ysave->oldyylval;
- Safefree(ysave);
-}
-
int
-yyparse(void)
+Perl_yyparse(pTHX)
{
register int yym, yyn, yystate;
register short *yyssp;
@@ -1545,7 +1561,7 @@ yyreduce:
switch (yyn)
{
case 1:
-#line 99 "perly.y"
+#line 101 "perly.y"
{
#if defined(YYDEBUG) && defined(DEBUGGING)
yydebug = (PL_debug & 1);
@@ -1554,50 +1570,50 @@ case 1:
}
break;
case 2:
-#line 106 "perly.y"
+#line 108 "perly.y"
{ newPROG(yyvsp[0].opval); }
break;
case 3:
-#line 110 "perly.y"
+#line 112 "perly.y"
{ if (PL_copline > (line_t)yyvsp[-3].ival)
PL_copline = yyvsp[-3].ival;
yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
break;
case 4:
-#line 116 "perly.y"
+#line 118 "perly.y"
{ yyval.ival = block_start(TRUE); }
break;
case 5:
-#line 120 "perly.y"
+#line 122 "perly.y"
{ if (PL_copline > (line_t)yyvsp[-3].ival)
PL_copline = yyvsp[-3].ival;
yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
break;
case 6:
-#line 126 "perly.y"
+#line 128 "perly.y"
{ yyval.ival = block_start(FALSE); }
break;
case 7:
-#line 130 "perly.y"
+#line 132 "perly.y"
{ yyval.opval = Nullop; }
break;
case 8:
-#line 132 "perly.y"
+#line 134 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 9:
-#line 134 "perly.y"
+#line 136 "perly.y"
{ yyval.opval = append_list(OP_LINESEQ,
(LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
PL_pad_reset_pending = TRUE;
if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 10:
-#line 141 "perly.y"
+#line 143 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
break;
case 12:
-#line 144 "perly.y"
+#line 146 "perly.y"
{ if (yyvsp[-1].pval != Nullch) {
yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
}
@@ -1608,76 +1624,75 @@ case 12:
PL_expect = XSTATE; }
break;
case 13:
-#line 153 "perly.y"
+#line 155 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
PL_expect = XSTATE; }
break;
case 14:
-#line 158 "perly.y"
+#line 160 "perly.y"
{ yyval.opval = Nullop; }
break;
case 15:
-#line 160 "perly.y"
+#line 162 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 16:
-#line 162 "perly.y"
+#line 164 "perly.y"
{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
break;
case 17:
-#line 164 "perly.y"
+#line 166 "perly.y"
{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
break;
case 18:
-#line 166 "perly.y"
+#line 168 "perly.y"
{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
break;
case 19:
-#line 168 "perly.y"
+#line 170 "perly.y"
{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
break;
case 20:
-#line 170 "perly.y"
+#line 172 "perly.y"
{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
break;
case 21:
-#line 175 "perly.y"
+#line 177 "perly.y"
{ yyval.opval = Nullop; }
break;
case 22:
-#line 177 "perly.y"
+#line 179 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 23:
-#line 179 "perly.y"
+#line 181 "perly.y"
{ PL_copline = yyvsp[-5].ival;
- yyval.opval = newSTATEOP(0, Nullch,
- newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
+ yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 24:
-#line 186 "perly.y"
+#line 187 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
break;
case 25:
-#line 190 "perly.y"
+#line 191 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
break;
case 26:
-#line 196 "perly.y"
+#line 197 "perly.y"
{ yyval.opval = Nullop; }
break;
case 27:
-#line 198 "perly.y"
+#line 199 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
case 28:
-#line 202 "perly.y"
+#line 203 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newSTATEOP(0, yyvsp[-7].pval,
@@ -1685,7 +1700,7 @@ case 28:
yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
break;
case 29:
-#line 208 "perly.y"
+#line 209 "perly.y"
{ PL_copline = yyvsp[-6].ival;
yyval.opval = block_end(yyvsp[-4].ival,
newSTATEOP(0, yyvsp[-7].pval,
@@ -1693,23 +1708,23 @@ case 29:
yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
break;
case 30:
-#line 214 "perly.y"
+#line 215 "perly.y"
{ yyval.opval = block_end(yyvsp[-6].ival,
newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 31:
-#line 217 "perly.y"
+#line 218 "perly.y"
{ yyval.opval = block_end(yyvsp[-4].ival,
newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 32:
-#line 221 "perly.y"
+#line 222 "perly.y"
{ yyval.opval = block_end(yyvsp[-4].ival,
newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 33:
-#line 225 "perly.y"
+#line 226 "perly.y"
{ OP *forop = append_elem(OP_LINESEQ,
scalar(yyvsp[-6].opval),
newWHILEOP(0, 1, (LOOP*)Nullop,
@@ -1719,89 +1734,89 @@ case 33:
yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
break;
case 34:
-#line 233 "perly.y"
+#line 234 "perly.y"
{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
newWHILEOP(0, 1, (LOOP*)Nullop,
NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
break;
case 35:
-#line 239 "perly.y"
+#line 240 "perly.y"
{ yyval.opval = Nullop; }
break;
case 37:
-#line 244 "perly.y"
+#line 245 "perly.y"
{ (void)scan_num("1"); yyval.opval = yylval.opval; }
break;
case 39:
-#line 249 "perly.y"
+#line 250 "perly.y"
{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
break;
case 40:
-#line 253 "perly.y"
+#line 254 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 41:
-#line 257 "perly.y"
+#line 258 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 42:
-#line 261 "perly.y"
+#line 262 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 43:
-#line 265 "perly.y"
+#line 266 "perly.y"
{ yyval.opval = yyvsp[0].opval; intro_my(); }
break;
case 44:
-#line 269 "perly.y"
+#line 270 "perly.y"
{ yyval.pval = Nullch; }
break;
case 46:
-#line 274 "perly.y"
+#line 275 "perly.y"
{ yyval.ival = 0; }
break;
case 47:
-#line 276 "perly.y"
+#line 277 "perly.y"
{ yyval.ival = 0; }
break;
case 48:
-#line 278 "perly.y"
+#line 279 "perly.y"
{ yyval.ival = 0; }
break;
case 49:
-#line 280 "perly.y"
+#line 281 "perly.y"
{ yyval.ival = 0; }
break;
case 50:
-#line 284 "perly.y"
+#line 285 "perly.y"
{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 51:
-#line 287 "perly.y"
+#line 288 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 52:
-#line 288 "perly.y"
+#line 289 "perly.y"
{ yyval.opval = Nullop; }
break;
case 53:
-#line 292 "perly.y"
+#line 293 "perly.y"
{ newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 54:
-#line 296 "perly.y"
+#line 297 "perly.y"
{ yyval.ival = start_subparse(FALSE, 0); }
break;
case 55:
-#line 300 "perly.y"
+#line 301 "perly.y"
{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
break;
case 56:
-#line 304 "perly.y"
+#line 305 "perly.y"
{ yyval.ival = start_subparse(TRUE, 0); }
break;
case 57:
-#line 307 "perly.y"
+#line 308 "perly.y"
{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
if (strEQ(name, "BEGIN") || strEQ(name, "END")
|| strEQ(name, "INIT"))
@@ -1809,311 +1824,337 @@ case 57:
yyval.opval = yyvsp[0].opval; }
break;
case 58:
-#line 315 "perly.y"
+#line 316 "perly.y"
{ yyval.opval = Nullop; }
break;
case 60:
-#line 319 "perly.y"
+#line 320 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
case 61:
-#line 320 "perly.y"
+#line 321 "perly.y"
{ yyval.opval = Nullop; PL_expect = XSTATE; }
break;
case 62:
-#line 324 "perly.y"
+#line 325 "perly.y"
{ package(yyvsp[-1].opval); }
break;
case 63:
-#line 326 "perly.y"
+#line 327 "perly.y"
{ package(Nullop); }
break;
case 64:
-#line 330 "perly.y"
+#line 331 "perly.y"
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
break;
case 65:
-#line 332 "perly.y"
+#line 333 "perly.y"
{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
break;
case 66:
-#line 336 "perly.y"
+#line 337 "perly.y"
{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 67:
-#line 338 "perly.y"
+#line 339 "perly.y"
{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 69:
-#line 343 "perly.y"
+#line 344 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
case 70:
-#line 345 "perly.y"
+#line 346 "perly.y"
{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 72:
-#line 350 "perly.y"
+#line 351 "perly.y"
{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
break;
case 73:
-#line 353 "perly.y"
+#line 354 "perly.y"
{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
break;
case 74:
-#line 356 "perly.y"
+#line 357 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
break;
case 75:
-#line 361 "perly.y"
+#line 362 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, scalar(yyvsp[-2].opval),
newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
break;
case 76:
-#line 365 "perly.y"
+#line 366 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
break;
case 77:
-#line 370 "perly.y"
+#line 371 "perly.y"
{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
break;
case 78:
-#line 375 "perly.y"
+#line 376 "perly.y"
{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 79:
-#line 377 "perly.y"
+#line 378 "perly.y"
{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
case 80:
-#line 379 "perly.y"
+#line 380 "perly.y"
{ yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
case 81:
-#line 381 "perly.y"
+#line 382 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST,
prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
break;
case 84:
-#line 391 "perly.y"
-{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
+#line 392 "perly.y"
+{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
break;
case 85:
-#line 393 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 394 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
break;
case 86:
-#line 395 "perly.y"
-{ if (yyvsp[-1].ival != OP_REPEAT)
- scalar(yyvsp[-2].opval);
- yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
+#line 396 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0,
+ ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
+ scalar(yyvsp[-1].opval));}
break;
case 87:
-#line 399 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 400 "perly.y"
+{ yyval.opval = newBINOP(OP_AELEM, 0,
+ ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
+ scalar(yyvsp[-1].opval));}
break;
case 88:
-#line 401 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 404 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 89:
-#line 403 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 407 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0,
+ ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
+ jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 90:
-#line 405 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 412 "perly.y"
+{ yyval.opval = newBINOP(OP_HELEM, 0,
+ ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
+ jmaybe(yyvsp[-2].opval));
+ PL_expect = XOPERATOR; }
break;
case 91:
-#line 407 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 417 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar(yyvsp[-3].opval))); }
break;
case 92:
-#line 409 "perly.y"
-{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
+#line 420 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, yyvsp[-1].opval,
+ newCVREF(0, scalar(yyvsp[-4].opval)))); }
break;
case 93:
-#line 411 "perly.y"
-{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
+#line 425 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ append_elem(OP_LIST, yyvsp[-1].opval,
+ newCVREF(0, scalar(yyvsp[-3].opval)))); }
break;
case 94:
-#line 413 "perly.y"
-{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 429 "perly.y"
+{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
+ newCVREF(0, scalar(yyvsp[-2].opval))); }
break;
case 95:
-#line 415 "perly.y"
-{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 435 "perly.y"
+{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
break;
case 96:
-#line 417 "perly.y"
-{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 437 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 97:
-#line 419 "perly.y"
-{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
+#line 439 "perly.y"
+{ if (yyvsp[-1].ival != OP_REPEAT)
+ scalar(yyvsp[-2].opval);
+ yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
break;
case 98:
-#line 422 "perly.y"
-{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
+#line 443 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 99:
-#line 424 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 445 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 100:
-#line 426 "perly.y"
-{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
+#line 447 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 101:
-#line 428 "perly.y"
-{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
+#line 449 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 102:
-#line 430 "perly.y"
-{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
+#line 451 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 103:
-#line 432 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTINC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
+#line 453 "perly.y"
+{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
break;
case 104:
-#line 435 "perly.y"
-{ yyval.opval = newUNOP(OP_POSTDEC, 0,
- mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
+#line 455 "perly.y"
+{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
break;
case 105:
-#line 438 "perly.y"
-{ yyval.opval = newUNOP(OP_PREINC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREINC)); }
+#line 457 "perly.y"
+{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 106:
-#line 441 "perly.y"
-{ yyval.opval = newUNOP(OP_PREDEC, 0,
- mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
+#line 459 "perly.y"
+{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 107:
-#line 444 "perly.y"
-{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
+#line 461 "perly.y"
+{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 108:
-#line 446 "perly.y"
-{ yyval.opval = sawparens(yyvsp[-1].opval); }
+#line 463 "perly.y"
+{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
break;
case 109:
-#line 448 "perly.y"
-{ yyval.opval = sawparens(newNULLLIST()); }
+#line 466 "perly.y"
+{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
break;
case 110:
-#line 450 "perly.y"
-{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
+#line 468 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 111:
-#line 452 "perly.y"
-{ yyval.opval = newANONLIST(Nullop); }
+#line 470 "perly.y"
+{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
case 112:
-#line 454 "perly.y"
-{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
+#line 472 "perly.y"
+{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
break;
case 113:
-#line 456 "perly.y"
-{ yyval.opval = newANONHASH(Nullop); }
+#line 474 "perly.y"
+{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
break;
case 114:
-#line 458 "perly.y"
-{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
+#line 476 "perly.y"
+{ yyval.opval = newUNOP(OP_POSTINC, 0,
+ mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
break;
case 115:
-#line 460 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 479 "perly.y"
+{ yyval.opval = newUNOP(OP_POSTDEC, 0,
+ mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
break;
case 116:
-#line 462 "perly.y"
-{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
+#line 482 "perly.y"
+{ yyval.opval = newUNOP(OP_PREINC, 0,
+ mod(scalar(yyvsp[0].opval), OP_PREINC)); }
break;
case 117:
-#line 464 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 485 "perly.y"
+{ yyval.opval = newUNOP(OP_PREDEC, 0,
+ mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
break;
case 118:
-#line 466 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
+#line 488 "perly.y"
+{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
break;
case 119:
-#line 468 "perly.y"
-{ yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
+#line 490 "perly.y"
+{ yyval.opval = sawparens(yyvsp[-1].opval); }
break;
case 120:
-#line 472 "perly.y"
-{ assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
- ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
- scalar(yyvsp[-1].opval));}
+#line 492 "perly.y"
+{ yyval.opval = sawparens(newNULLLIST()); }
break;
case 121:
-#line 476 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 494 "perly.y"
+{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
break;
case 122:
-#line 478 "perly.y"
-{ yyval.opval = yyvsp[0].opval; }
+#line 496 "perly.y"
+{ yyval.opval = newANONLIST(Nullop); }
break;
case 123:
-#line 480 "perly.y"
-{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
+#line 498 "perly.y"
+{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
break;
case 124:
-#line 482 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 500 "perly.y"
+{ yyval.opval = newANONHASH(Nullop); }
break;
case 125:
-#line 485 "perly.y"
-{ yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 502 "perly.y"
+{ yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
break;
case 126:
-#line 490 "perly.y"
-{ assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
- ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
- jmaybe(yyvsp[-2].opval));
- PL_expect = XOPERATOR; }
+#line 504 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 127:
-#line 495 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
+#line 506 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 128:
-#line 497 "perly.y"
-{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
+#line 508 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
break;
case 129:
-#line 499 "perly.y"
+#line 510 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
+break;
+case 130:
+#line 512 "perly.y"
+{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
+break;
+case 131:
+#line 514 "perly.y"
+{ yyval.opval = yyvsp[0].opval; }
+break;
+case 132:
+#line 516 "perly.y"
+{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
+break;
+case 133:
+#line 518 "perly.y"
+{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
+break;
+case 134:
+#line 520 "perly.y"
{ yyval.opval = prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
list(yyvsp[-1].opval),
ref(yyvsp[-3].opval, OP_ASLICE))); }
break;
-case 130:
-#line 505 "perly.y"
+case 135:
+#line 526 "perly.y"
{ yyval.opval = prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -2121,38 +2162,38 @@ case 130:
ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
PL_expect = XOPERATOR; }
break;
-case 131:
-#line 512 "perly.y"
+case 136:
+#line 533 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 132:
-#line 514 "perly.y"
+case 137:
+#line 535 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
break;
-case 133:
-#line 516 "perly.y"
+case 138:
+#line 537 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
break;
-case 134:
-#line 518 "perly.y"
+case 139:
+#line 539 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
break;
-case 135:
-#line 521 "perly.y"
+case 140:
+#line 542 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
-case 136:
-#line 524 "perly.y"
+case 141:
+#line 545 "perly.y"
{ yyval.opval = dofile(yyvsp[0].opval); }
break;
-case 137:
-#line 526 "perly.y"
+case 142:
+#line 547 "perly.y"
{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
break;
-case 138:
-#line 528 "perly.y"
+case 143:
+#line 549 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
@@ -2161,8 +2202,8 @@ case 138:
scalar(yyvsp[-2].opval)
)),Nullop)); dep();}
break;
-case 139:
-#line 536 "perly.y"
+case 144:
+#line 557 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB,
OPf_SPECIAL|OPf_STACKED,
append_elem(OP_LIST,
@@ -2172,162 +2213,151 @@ case 139:
scalar(yyvsp[-3].opval)
)))); dep();}
break;
-case 140:
-#line 545 "perly.y"
+case 145:
+#line 566 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
break;
-case 141:
-#line 549 "perly.y"
+case 146:
+#line 570 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
prepend_elem(OP_LIST,
yyvsp[-1].opval,
scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
break;
-case 142:
-#line 554 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- newCVREF(0, scalar(yyvsp[-3].opval))); }
-break;
-case 143:
-#line 557 "perly.y"
-{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
- append_elem(OP_LIST, yyvsp[-1].opval,
- newCVREF(0, scalar(yyvsp[-4].opval)))); }
-break;
-case 144:
-#line 561 "perly.y"
+case 147:
+#line 575 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE; }
break;
-case 145:
-#line 564 "perly.y"
+case 148:
+#line 578 "perly.y"
{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
break;
-case 146:
-#line 566 "perly.y"
+case 149:
+#line 580 "perly.y"
{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
break;
-case 147:
-#line 568 "perly.y"
+case 150:
+#line 582 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
-case 148:
-#line 570 "perly.y"
+case 151:
+#line 584 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
-case 149:
-#line 572 "perly.y"
+case 152:
+#line 586 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
break;
-case 150:
-#line 574 "perly.y"
+case 153:
+#line 588 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
break;
-case 151:
-#line 577 "perly.y"
+case 154:
+#line 591 "perly.y"
{ yyval.opval = newOP(yyvsp[0].ival, 0); }
break;
-case 152:
-#line 579 "perly.y"
+case 155:
+#line 593 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
break;
-case 153:
-#line 581 "perly.y"
+case 156:
+#line 595 "perly.y"
{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar(yyvsp[0].opval)); }
break;
-case 154:
-#line 584 "perly.y"
+case 157:
+#line 598 "perly.y"
{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
break;
-case 155:
-#line 586 "perly.y"
+case 158:
+#line 600 "perly.y"
{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
break;
-case 156:
-#line 588 "perly.y"
+case 159:
+#line 602 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
break;
-case 157:
-#line 590 "perly.y"
+case 160:
+#line 604 "perly.y"
{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
break;
-case 160:
-#line 596 "perly.y"
+case 163:
+#line 610 "perly.y"
{ yyval.opval = Nullop; }
break;
-case 161:
-#line 598 "perly.y"
+case 164:
+#line 612 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 162:
-#line 602 "perly.y"
+case 165:
+#line 616 "perly.y"
{ yyval.opval = Nullop; }
break;
-case 163:
-#line 604 "perly.y"
+case 166:
+#line 618 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-case 164:
-#line 606 "perly.y"
+case 167:
+#line 620 "perly.y"
{ yyval.opval = yyvsp[-1].opval; }
break;
-case 165:
-#line 609 "perly.y"
+case 168:
+#line 623 "perly.y"
{ yyval.ival = 0; }
break;
-case 166:
-#line 610 "perly.y"
+case 169:
+#line 624 "perly.y"
{ yyval.ival = 1; }
break;
-case 167:
-#line 614 "perly.y"
+case 170:
+#line 628 "perly.y"
{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
break;
-case 168:
-#line 618 "perly.y"
+case 171:
+#line 632 "perly.y"
{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
break;
-case 169:
-#line 622 "perly.y"
+case 172:
+#line 636 "perly.y"
{ yyval.opval = newSVREF(yyvsp[0].opval); }
break;
-case 170:
-#line 626 "perly.y"
+case 173:
+#line 640 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
-case 171:
-#line 630 "perly.y"
+case 174:
+#line 644 "perly.y"
{ yyval.opval = newHVREF(yyvsp[0].opval); }
break;
-case 172:
-#line 634 "perly.y"
+case 175:
+#line 648 "perly.y"
{ yyval.opval = newAVREF(yyvsp[0].opval); }
break;
-case 173:
-#line 638 "perly.y"
+case 176:
+#line 652 "perly.y"
{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
break;
-case 174:
-#line 642 "perly.y"
+case 177:
+#line 656 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
-case 175:
-#line 644 "perly.y"
+case 178:
+#line 658 "perly.y"
{ yyval.opval = scalar(yyvsp[0].opval); }
break;
-case 176:
-#line 646 "perly.y"
+case 179:
+#line 660 "perly.y"
{ yyval.opval = scope(yyvsp[0].opval); }
break;
-case 177:
-#line 649 "perly.y"
+case 180:
+#line 663 "perly.y"
{ yyval.opval = yyvsp[0].opval; }
break;
-#line 2329 "perly.c"
+#line 2365 "perly.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -2400,3 +2430,23 @@ yyabort:
yyaccept:
return retval;
}
+
+#ifdef PERL_OBJECT
+#define NO_XSLOCKS
+#include "XSUB.h"
+#endif
+
+static void
+yydestruct(pTHXo_ void *ptr)
+{
+ struct ysv* ysave = (struct ysv*)ptr;
+ if (ysave->yyss) Safefree(ysave->yyss);
+ if (ysave->yyvs) Safefree(ysave->yyvs);
+ yydebug = ysave->oldyydebug;
+ yynerrs = ysave->oldyynerrs;
+ yyerrflag = ysave->oldyyerrflag;
+ yychar = ysave->oldyychar;
+ yyval = ysave->oldyyval;
+ yylval = ysave->oldyylval;
+ Safefree(ysave);
+}
diff --git a/vms/perly_h.vms b/vms/perly_h.vms
index ebeaaf735a..c750217d8f 100644
--- a/vms/perly_h.vms
+++ b/vms/perly_h.vms
@@ -1,4 +1,5 @@
/* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
+#ifdef PERL_CORE
#define WORD 257
#define METHOD 258
#define FUNCMETH 259
@@ -57,6 +58,8 @@
#define POSTINC 312
#define POSTDEC 313
#define ARROW 314
+#endif /* PERL_CORE */
+
typedef union {
I32 ival;
char *pval;