Changes in / [b5b0907:ea9b9d3]
- Location:
- src
- Files:
-
- 5 added
- 50 edited
-
CodeGen/CodeGenerator.cc (modified) (3 diffs)
-
GenPoly/Box.cc (modified) (9 diffs)
-
GenPoly/Specialize.cc (modified) (3 diffs)
-
Makefile.am (modified) (2 diffs)
-
Makefile.in (modified) (1 diff)
-
Parser/DeclarationNode.cc (modified) (41 diffs)
-
Parser/ParseNode.h (modified) (5 diffs)
-
Parser/TypeData.cc (modified) (45 diffs)
-
Parser/TypeData.h (modified) (4 diffs)
-
Parser/lex.cc (modified) (1 diff)
-
Parser/lex.ll (modified) (1 diff)
-
Parser/parser.cc (modified) (125 diffs)
-
Parser/parser.h (modified) (1 diff)
-
Parser/parser.yy (modified) (4 diffs)
-
SymTab/Validate.cc (modified) (7 diffs)
-
SynTree/AggregateDecl.cc (modified) (2 diffs)
-
SynTree/Declaration.cc (modified) (3 diffs)
-
SynTree/Declaration.h (modified) (10 diffs)
-
SynTree/DeclarationWithType.cc (modified) (2 diffs)
-
SynTree/FunctionDecl.cc (modified) (4 diffs)
-
SynTree/NamedTypeDecl.cc (modified) (4 diffs)
-
SynTree/ObjectDecl.cc (modified) (4 diffs)
-
SynTree/TypeDecl.cc (modified) (2 diffs)
-
Tests/Attributes.c (modified) (1 diff)
-
Tests/Expect-a/AsmName.txt (modified) (1 diff)
-
Tests/Expect-a/Attributes.txt (modified) (1 diff)
-
Tests/Expect-a/Context.txt (modified) (1 diff)
-
Tests/Expect-a/Functions.txt (modified) (3 diffs)
-
Tests/Expect-a/TypeGenerator.txt (modified) (2 diffs)
-
Tests/Expect-e/AsmName.txt (modified) (1 diff)
-
Tests/Expect-e/Attributes.txt (modified) (1 diff)
-
Tests/Expect-e/Context.txt (modified) (2 diffs)
-
Tests/Expect-e/Function.txt (modified) (1 diff)
-
Tests/Expect-e/TypeGenerator.txt (modified) (2 diffs)
-
Tests/Expect-e/report (added)
-
Tests/Expect-f/Attributes.txt (modified) (1 diff)
-
Tests/Expect-f/TypeGenerator.txt (modified) (2 diffs)
-
Tests/Expect-f/report (added)
-
Tests/Expect-r/Attributes.txt (modified) (1 diff)
-
Tests/Expect-r/Function.txt (modified) (1 diff)
-
Tests/Expect-r/TypeGenerator.txt (modified) (60 diffs)
-
Tests/Expect-r/report (added)
-
Tests/Expect-s/Attributes.txt (modified) (1 diff)
-
Tests/Expect-s/TypeGenerator.txt (modified) (3 diffs)
-
Tests/Expect-s/report (added)
-
Tests/Expect-v/AsmName.txt (modified) (1 diff)
-
Tests/Expect-v/Attributes.txt (modified) (1 diff)
-
Tests/Expect-v/Context.txt (modified) (2 diffs)
-
Tests/Expect-v/Functions.txt (modified) (3 diffs)
-
Tests/Expect-v/TypeGenerator.txt (modified) (2 diffs)
-
Tests/TypeGenerator.c (modified) (1 diff)
-
Tuples/AssignExpand.cc (modified) (3 diffs)
-
Tuples/FunctionChecker.cc (modified) (2 diffs)
-
attr-ex (added)
-
main.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Mon Jun 15 12:43:21201513 // Update Count : 13 812 // Last Modified On : Thu Jun 11 13:22:39 2015 13 // Update Count : 137 14 14 // 15 15 … … 19 19 #include <list> 20 20 21 #include "Parser/ParseNode.h"22 23 21 #include "SynTree/Type.h" 22 #include "SynTree/Declaration.h" 23 #include "SynTree/Statement.h" 24 24 #include "SynTree/Expression.h" 25 25 #include "SynTree/Initializer.h" 26 #include "SynTree/Statement.h"27 26 28 27 #include "utility.h" … … 629 628 void CodeGenerator::handleStorageClass( Declaration *decl ) { 630 629 switch ( decl->get_storageClass() ) { 631 case DeclarationNode::Extern: 630 case Declaration::NoStorageClass: 631 break; 632 case Declaration::Extern: 632 633 output << "extern "; 633 634 break; 634 case Declaration Node::Static:635 case Declaration::Static: 635 636 output << "static "; 636 637 break; 637 case Declaration Node::Auto:638 case Declaration::Auto: 638 639 // silently drop storage class 639 640 break; 640 case Declaration Node::Register:641 case Declaration::Register: 641 642 output << "register "; 642 643 break; 643 case Declaration Node::Inline:644 case Declaration::Inline: 644 645 // handled as special via isInline flag (FIX) 645 646 break; 646 case Declaration Node::Fortran:647 case Declaration::Fortran: 647 648 // not handled 648 output << "fortran ";649 break;650 case DeclarationNode::Noreturn:651 // not handled652 output << "_Noreturn ";653 break;654 case DeclarationNode::Threadlocal:655 // not handled656 output << "_Thread_local ";657 break;658 case DeclarationNode::NoStorageClass:659 649 break; 660 650 } // switch -
src/GenPoly/Box.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 07:13:46201513 // Update Count : 312 // Last Modified On : Tue May 19 07:31:41 2015 13 // Update Count : 1 14 14 // 15 15 … … 26 26 #include "ScrubTyVars.h" 27 27 28 #include "Parser/ParseNode.h" 29 28 #include "SynTree/Declaration.h" 30 29 #include "SynTree/Type.h" 31 30 #include "SynTree/Expression.h" … … 33 32 #include "SynTree/Statement.h" 34 33 #include "SynTree/Mutator.h" 35 36 34 #include "ResolvExpr/TypeEnvironment.h" 37 38 35 #include "SymTab/Mangler.h" 39 36 … … 285 282 286 283 ObjectDecl *Pass1::makeTemporary( Type *type ) { 287 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration Node::NoStorageClass, LinkageSpec::C, 0, type, 0 );284 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, type, 0 ); 288 285 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 289 286 return newObj; … … 365 362 arg = new AddressExpr( arg ); 366 363 } else { 367 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration Node::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );364 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 ); 368 365 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); 369 366 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); … … 436 433 makeRetParm( adapter ); 437 434 } // if 438 adapter->get_parameters().push_front( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );435 adapter->get_parameters().push_front( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) ); 439 436 return adapter; 440 437 } … … 524 521 adapterBody->get_kids().push_back( bodyStmt ); 525 522 std::string adapterName = makeAdapterName( mangleName ); 526 return new FunctionDecl( adapterName, Declaration Node::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );523 return new FunctionDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false ); 527 524 } 528 525 … … 905 902 if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) { 906 903 std::string adapterName = makeAdapterName( mangleName ); 907 paramList.push_front( new ObjectDecl( adapterName, Declaration Node::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );904 paramList.push_front( new ObjectDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) ); 908 905 adaptersDone.insert( adaptersDone.begin(), mangleName ); 909 906 } … … 964 961 std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin(); 965 962 std::list< DeclarationWithType *> inferredParams; 966 ObjectDecl *newObj = new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );967 /// ObjectDecl *newFunPtr = new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );963 ObjectDecl *newObj = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 ); 964 /// ObjectDecl *newFunPtr = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ); 968 965 for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) { 969 966 ObjectDecl *thisParm; -
src/GenPoly/Specialize.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 07:14:42201513 // Update Count : 512 // Last Modified On : Tue May 19 07:55:09 2015 13 // Update Count : 4 14 14 // 15 15 … … 19 19 #include "PolyMutator.h" 20 20 21 #include " Parser/ParseNode.h"22 21 #include "SynTree/Declaration.h" 22 #include "SynTree/Statement.h" 23 23 #include "SynTree/Expression.h" 24 #include "SynTree/Statement.h"25 24 #include "SynTree/Type.h" 26 25 #include "SynTree/TypeSubstitution.h" … … 97 96 newEnv.applyFree( newType ); 98 97 } // if 99 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration Node::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );98 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false ); 100 99 thunkFunc->fixUniqueId(); 101 100 -
src/Makefile.am
rb5b0907 rea9b9d3 11 11 ## Created On : Sun May 31 08:51:46 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Sat Jun 13 08:22:14201514 ## Update Count : 1 713 ## Last Modified On : Thu Jun 4 21:01:59 2015 14 ## Update Count : 15 15 15 ############################################################################### 16 16 … … 38 38 cfa_cpplib_PROGRAMS = cfa-cpp 39 39 cfa_cpp_SOURCES = ${SRC} 40 # need files Common/utility.h 41 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common 40 # need files Common/utility.h and Parser/lex.h 41 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common -I${srcdir}/Parser 42 42 43 43 CXXFLAGS = -g # remove default -O2 to allow better debugging -
src/Makefile.in
rb5b0907 rea9b9d3 392 392 cfa_cpplibdir = ${libdir} 393 393 cfa_cpp_SOURCES = ${SRC} 394 # need files Common/utility.h 395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common 394 # need files Common/utility.h and Parser/lex.h 395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common -I${srcdir}/Parser 396 396 all: $(BUILT_SOURCES) 397 397 $(MAKE) $(AM_MAKEFLAGS) all-am -
src/Parser/DeclarationNode.cc
rb5b0907 rea9b9d3 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:02:03 201513 // Update Count : 5812 // Last Modified On : Sat Jun 6 23:29:13 2015 13 // Update Count : 23 14 14 // 15 15 … … 21 21 22 22 #include "TypeData.h" 23 24 #include "SynTree/Declaration.h"25 23 #include "SynTree/Expression.h" 26 24 25 27 26 using namespace std; 28 27 29 28 // These must remain in the same order as the corresponding DeclarationNode enumerations. 30 const char *DeclarationNode::storageName[] = { "extern", "static", "auto", "register", "inline", "fortran", "_Noreturn", "_Thread_local", "" };31 29 const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" }; 32 30 const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" }; 33 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };34 const char *DeclarationNode:: aggregateName[] = { "struct", "union", "context" };31 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" }; 32 const char *DeclarationNode::tyConName[] = { "struct", "union", "context" }; 35 33 const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" }; 36 34 … … 65 63 } 66 64 65 const char *storageClassName[] = { 66 // order must correspond with DeclarationNode::StorageClass 67 "extern", 68 "static", 69 "auto", 70 "register", 71 "inline", 72 "fortran", 73 }; 74 67 75 void DeclarationNode::print( std::ostream &os, int indent ) const { 68 76 os << string( indent, ' ' ); … … 71 79 } else { 72 80 os << name << ": "; 73 } // if81 } 74 82 75 83 if ( linkage != LinkageSpec::Cforall ) { 76 84 os << LinkageSpec::toString( linkage ) << " "; 77 } // if78 79 printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os );85 } 86 87 printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os ); 80 88 if ( type ) { 81 89 type->print( os, indent ); 82 90 } else { 83 91 os << "untyped entity "; 84 } // if92 } 85 93 86 94 if ( bitfieldWidth ) { 87 95 os << endl << string( indent + 2, ' ' ) << "with bitfield width "; 88 96 bitfieldWidth->printOneLine( os ); 89 } // if97 } 90 98 91 99 if ( initializer != 0 ) { 92 100 os << endl << string( indent + 2, ' ' ) << "with initializer "; 93 101 initializer->printOneLine( os ); 94 } // if102 } 95 103 96 104 os << endl; … … 101 109 if ( hasEllipsis ) { 102 110 os << string( indent, ' ' ) << "and a variable number of other arguments" << endl; 103 } // if111 } 104 112 } 105 113 … … 115 123 if ( body ) { 116 124 newnode->type->function->hasBody = true; 117 } // if125 } 118 126 119 127 if ( ret ) { … … 121 129 ret->type = 0; 122 130 delete ret; 123 } // if131 } 124 132 125 133 return newnode; … … 133 141 } 134 142 135 DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) {143 DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) { 136 144 DeclarationNode *newnode = new DeclarationNode; 137 145 newnode->storageClasses.push_back( sc ); … … 169 177 } 170 178 171 DeclarationNode *DeclarationNode::newAggregate( Aggregatekind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {179 DeclarationNode *DeclarationNode::newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) { 172 180 DeclarationNode *newnode = new DeclarationNode; 173 181 newnode->type = new TypeData( TypeData::Aggregate ); … … 176 184 if ( newnode->type->aggregate->name == "" ) { 177 185 newnode->type->aggregate->name = DeclarationNode::anonymous.newName(); 178 } // if186 } 179 187 newnode->type->aggregate->params = formals; 180 188 newnode->type->aggregate->actuals = actuals; … … 190 198 if ( newnode->type->enumeration->name == "" ) { 191 199 newnode->type->enumeration->name = DeclarationNode::anonymous.newName(); 192 } // if200 } 193 201 newnode->type->enumeration->constants = constants; 194 202 return newnode; … … 323 331 } else { 324 332 dst->forall = src->forall; 325 } // if333 } 326 334 src->forall = 0; 327 } // if335 } 328 336 if ( dst->base ) { 329 337 addQualifiersToType( src, dst->base ); … … 333 341 } else { 334 342 dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers ); 335 } // if336 } // if343 } 344 } 337 345 } 338 346 … … 343 351 if ( ! type ) { 344 352 type = new TypeData; 345 } // if353 } 346 354 addQualifiersToType( q->type, type ); 347 355 if ( q->type && q->type->forall ) { … … 349 357 type->forall->appendList( q->type->forall ); 350 358 } else { 351 if ( type->kind == TypeData::Aggregate ) { 352 type->aggregate->params = q->type->forall; 353 } else { 354 type->forall = q->type->forall; 355 } // if 356 } // if 359 type->forall = q->type->forall; 360 } 357 361 q->type->forall = 0; 358 } // if359 } // if360 } // if362 } 363 } 364 } 361 365 delete q; 362 366 return this; … … 375 379 } else { 376 380 dst->forall = src->forall; 377 } // if381 } 378 382 src->forall = 0; 379 } // if383 } 380 384 if ( dst->base ) { 381 385 addTypeToType( src, dst->base ); … … 394 398 dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers ); 395 399 dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec ); 396 } // if400 } 397 401 break; 398 402 … … 405 409 if ( src->kind == TypeData::Aggregate ) { 406 410 dst->base->aggInst->params = maybeClone( src->aggregate->actuals ); 407 } // if411 } 408 412 dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers ); 409 413 src = 0; … … 415 419 } else { 416 420 dst->forall = src->forall; 417 } // if421 } 418 422 src->forall = 0; 419 423 dst->base = src; 420 424 src = 0; 421 } // switch422 } // switch423 } // if424 } // if425 } 426 } 427 } 428 } 425 429 } 426 430 … … 435 439 if ( o->type->kind == TypeData::Aggregate ) { 436 440 type->aggInst->params = maybeClone( o->type->aggregate->actuals ); 437 } // if441 } 438 442 type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers ); 439 443 } else { 440 444 type = o->type; 441 } // if445 } 442 446 o->type = 0; 443 447 } else { 444 448 addTypeToType( o->type, type ); 445 } // if446 } // if449 } 450 } 447 451 if ( o->bitfieldWidth ) { 448 452 bitfieldWidth = o->bitfieldWidth; 449 } // if450 } // if453 } 454 } 451 455 delete o; 452 456 return this; … … 471 475 } else { 472 476 type->symbolic->assertions = assertions; 473 } // if477 } 474 478 break; 479 475 480 case TypeData::Variable: 476 481 if ( type->variable->assertions ) { … … 478 483 } else { 479 484 type->variable->assertions = assertions; 480 } // if485 } 481 486 break; 487 482 488 default: 483 489 assert( false ); 484 } // switch490 } 485 491 486 492 return this; … … 520 526 } 521 527 522 static void setBase( TypeData *&type, TypeData *newType ) { 528 static void 529 setBase( TypeData *&type, TypeData *newType ) { 523 530 if ( type ) { 524 531 TypeData *prevBase = type; … … 527 534 prevBase = curBase; 528 535 curBase = curBase->base; 529 } // while536 } 530 537 prevBase->base = newType; 531 538 } else { 532 539 type = newType; 533 } // if540 } 534 541 } 535 542 … … 540 547 p->type = 0; 541 548 delete p; 542 } // if549 } 543 550 return this; 544 551 } … … 550 557 a->type = 0; 551 558 delete a; 552 } // if559 } 553 560 return this; 554 561 } … … 565 572 if ( type->kind == TypeData::Aggregate ) { 566 573 p->type->base->aggInst->params = maybeClone( type->aggregate->actuals ); 567 } // if574 } 568 575 p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers ); 569 576 break; … … 571 578 default: 572 579 p->type->base = type; 573 } // switch580 } 574 581 type = 0; 575 } // if582 } 576 583 delete this; 577 584 return p; 578 585 } else { 579 586 return this; 580 } // if587 } 581 588 } 582 589 … … 586 593 while ( cur->base ) { 587 594 cur = cur->base; 588 } // while595 } 589 596 return cur; 590 597 } … … 602 609 if ( type->kind == TypeData::Aggregate ) { 603 610 lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals ); 604 } // if611 } 605 612 lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers ); 606 613 break; 607 614 default: 608 615 lastArray->base = type; 609 } // switch616 } 610 617 type = 0; 611 } // if618 } 612 619 delete this; 613 620 return a; 614 621 } else { 615 622 return this; 616 } // if623 } 617 624 } 618 625 … … 630 637 } else { 631 638 type->function->idList = ids; 632 } // if639 } 633 640 return type; 634 641 } else { … … 636 643 newtype->function->idList = ids; 637 644 return newtype; 638 } // if645 } 639 646 } 640 647 … … 655 662 while ( srcType->base ) { 656 663 srcType = srcType->base; 657 } // while664 } 658 665 newnode->type = maybeClone( srcType ); 659 666 if ( newnode->type->kind == TypeData::AggregateInst ) { … … 666 673 delete newnode->type->aggInst->aggregate->aggregate->members; 667 674 newnode->type->aggInst->aggregate->aggregate->members = 0; 668 } // if669 } // if675 } 676 } 670 677 newnode->type->forall = maybeClone( type->forall ); 671 678 newnode->storageClasses = storageClasses; … … 681 688 while ( srcType->base ) { 682 689 srcType = srcType->base; 683 } // while690 } 684 691 TypeData *newType = srcType->clone(); 685 692 if ( newType->kind == TypeData::AggregateInst ) { … … 692 699 delete newType->aggInst->aggregate->aggregate->members; 693 700 newType->aggInst->aggregate->aggregate->members = 0; 694 } // if695 } // if701 } 702 } 696 703 newType->forall = maybeClone( type->forall ); 697 704 if ( ! o->type ) { … … 700 707 addTypeToType( newType, o->type ); 701 708 delete newType; 702 } // if703 } // if704 } // if709 } 710 } 711 } 705 712 return o; 706 713 } … … 724 731 addTypeToType( newType, o->type ); 725 732 delete newType; 726 } // if727 } // if728 } // if733 } 734 } 735 } 729 736 return o; 730 737 } … … 733 740 if ( node != 0 ) { 734 741 set_link( node ); 735 } // if742 } 736 743 return this; 737 744 } … … 796 803 } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) { 797 804 StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() ); 798 *out++ = new ObjectDecl( "", Declaration Node::NoStorageClass, linkage, 0, inst, 0 );805 *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 ); 799 806 delete agg; 800 807 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) { 801 808 UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() ); 802 *out++ = new ObjectDecl( "", Declaration Node::NoStorageClass, linkage, 0, inst, 0 );809 *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 ); 803 810 } // if 804 811 } // if … … 875 882 } 876 883 877 DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const { 878 DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass; 879 for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) { 880 if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers 881 882 if ( ret != DeclarationNode::NoStorageClass ) { // already have a valid storage class ? 884 Declaration::StorageClass DeclarationNode::buildStorageClass() const { 885 static const Declaration::StorageClass scMap[] = { 886 Declaration::Extern, 887 Declaration::Static, 888 Declaration::Auto, 889 Declaration::Register, 890 Declaration::Inline, 891 Declaration::Fortran 892 }; 893 894 Declaration::StorageClass ret = Declaration::NoStorageClass; 895 for ( std::list< StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) { 896 assert( unsigned( *i ) < sizeof( scMap ) / sizeof( scMap[0] ) ); 897 if ( *i == Inline ) continue; 898 if ( ret != Declaration::NoStorageClass ) { 883 899 throw SemanticError( "invalid combination of storage classes in declaration of ", this ); 884 } // if885 ret = *i;886 } // for900 } 901 ret = scMap[ *i ]; 902 } 887 903 return ret; 888 904 } 889 905 890 906 bool DeclarationNode::buildInline() const { 891 std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), DeclarationNode::Inline );907 std::list< StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), Inline ); 892 908 if ( first == storageClasses.end() ) return false; 893 std::list< DeclarationNode::StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), DeclarationNode::Inline );909 std::list< StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), Inline ); 894 910 if ( next == storageClasses.end() ) return true; 895 911 throw SemanticError( "duplicate inline specification in declaration of ", this ); -
src/Parser/ParseNode.h
rb5b0907 rea9b9d3 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 13 07:24:22201513 // Update Count : 7912 // Last Modified On : Sun Jun 7 22:02:00 2015 13 // Update Count : 65 14 14 // 15 15 … … 22 22 23 23 #include "utility.h" 24 #include "Parser/LinkageSpec.h"25 24 #include "SynTree/Type.h" 26 //#include "SynTree/Declaration.h"25 #include "SynTree/Declaration.h" 27 26 #include "UniqueName.h" 28 27 … … 266 265 public: 267 266 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute }; 268 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran , Noreturn, Threadlocal, NoStorageClass,};267 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran }; 269 268 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; 270 enum Modifier { Signed, Unsigned, Short, Long };271 enum Aggregate{ Struct, Union, Context };269 enum Modifier { Signed, Unsigned, Short, Long }; 270 enum TyCon { Struct, Union, Context }; 272 271 enum TypeClass { Type, Dtype, Ftype }; 273 272 274 static const char *storageName[];275 273 static const char *qualifierName[]; 276 274 static const char *basicTypeName[]; 277 275 static const char *modifierName[]; 278 static const char * aggregateName[];276 static const char *tyConName[]; 279 277 static const char *typeClassName[]; 280 278 … … 287 285 static DeclarationNode *newForall( DeclarationNode *); 288 286 static DeclarationNode *newFromTypedef( std::string *); 289 static DeclarationNode *newAggregate( Aggregatekind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );287 static DeclarationNode *newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ); 290 288 static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants ); 291 289 static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant ); … … 346 344 ~DeclarationNode(); 347 345 private: 348 StorageClass buildStorageClass() const;346 Declaration::StorageClass buildStorageClass() const; 349 347 bool buildInline() const; 350 348 -
src/Parser/TypeData.cc
rb5b0907 rea9b9d3 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:03:20201513 // Update Count : 1512 // Last Modified On : Sat Jun 6 12:26:02 2015 13 // Update Count : 8 14 14 // 15 15 … … 89 89 attr->type = 0; 90 90 break; 91 } // switch91 } 92 92 } 93 93 … … 155 155 delete attr; 156 156 break; 157 } // switch157 } 158 158 } 159 159 … … 225 225 newtype->attr->type = maybeClone( attr->type ); 226 226 break; 227 } // switch227 } 228 228 return newtype; 229 229 } … … 238 238 os << "forall " << endl; 239 239 forall->printList( os, indent+4 ); 240 } // if240 } 241 241 242 242 switch ( kind ) { … … 249 249 os << "to "; 250 250 base->print( os, indent ); 251 } // if251 } 252 252 break; 253 253 case EnumConstant: … … 261 261 if ( array->isStatic ) { 262 262 os << "static "; 263 } // if263 } 264 264 if ( array->dimension ) { 265 265 os << "array of "; … … 269 269 } else { 270 270 os << "open array of "; 271 } // if271 } 272 272 if ( base ) { 273 273 base->print( os, indent ); 274 } // if274 } 275 275 break; 276 276 case Function: … … 281 281 } else { 282 282 os << string( indent+2, ' ' ) << "with no parameters " << endl; 283 } // if283 } 284 284 if ( function->idList ) { 285 285 os << string( indent+2, ' ' ) << "with old-style identifier list " << endl; 286 286 function->idList->printList( os, indent+4 ); 287 } // if287 } 288 288 if ( function->oldDeclList ) { 289 289 os << string( indent+2, ' ' ) << "with old-style declaration list " << endl; 290 290 function->oldDeclList->printList( os, indent+4 ); 291 } // if291 } 292 292 os << string( indent+2, ' ' ) << "returning "; 293 293 if ( base ) { … … 295 295 } else { 296 296 os << "nothing "; 297 } // if297 } 298 298 os << endl; 299 299 if ( function->hasBody ) { 300 300 os << string( indent+2, ' ' ) << "with body " << endl; 301 } // if301 } 302 302 if ( function->body ) { 303 303 function->body->printList( os, indent+2 ); 304 } // if304 } 305 305 break; 306 306 case Aggregate: 307 os << DeclarationNode:: aggregateName[ aggregate->kind ] << ' ' << aggregate->name << endl;307 os << DeclarationNode::tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl; 308 308 if ( aggregate->params ) { 309 309 os << string( indent+2, ' ' ) << "with type parameters " << endl; 310 310 aggregate->params->printList( os, indent+4 ); 311 } // if311 } 312 312 if ( aggregate->actuals ) { 313 313 os << string( indent+2, ' ' ) << "instantiated with actual parameters " << endl; 314 314 aggregate->actuals->printList( os, indent+4 ); 315 } // if315 } 316 316 if ( aggregate->members ) { 317 317 os << string( indent+2, ' ' ) << "with members " << endl; … … 319 319 /// } else { 320 320 /// os << string( indent+2, ' ' ) << "with no members " << endl; 321 } // if321 } 322 322 break; 323 323 case AggregateInst: … … 327 327 } else { 328 328 os << "instance of an unspecified aggregate "; 329 } // if329 } 330 330 if ( aggInst->params ) { 331 331 os << string( indent+2, ' ' ) << "with parameters " << endl; 332 332 aggInst->params->printList( os, indent+2 ); 333 } // if333 } 334 334 break; 335 335 case Enum: … … 338 338 os << "with constants" << endl; 339 339 enumeration->constants->printList( os, indent+2 ); 340 } // if340 } 341 341 break; 342 342 case SymbolicInst: … … 345 345 os << " with parameters" << endl; 346 346 symbolic->actuals->printList( os, indent + 2 ); 347 } // if347 } 348 348 break; 349 349 case Symbolic: … … 352 352 } else { 353 353 os << "type definition "; 354 } // if354 } 355 355 if ( symbolic->params ) { 356 356 os << endl << string( indent+2, ' ' ) << "with parameters" << endl; 357 357 symbolic->params->printList( os, indent + 2 ); 358 } // if358 } 359 359 if ( symbolic->assertions ) { 360 360 os << endl << string( indent+2, ' ' ) << "with assertions" << endl; 361 361 symbolic->assertions->printList( os, indent + 4 ); 362 362 os << string( indent+2, ' ' ); 363 } // if363 } 364 364 if ( base ) { 365 365 os << "for "; 366 366 base->print( os, indent + 2 ); 367 } // if367 } 368 368 break; 369 369 case Variable: … … 373 373 variable->assertions->printList( os, indent + 4 ); 374 374 os << string( indent+2, ' ' ); 375 } // if375 } 376 376 break; 377 377 case Tuple: … … 380 380 os << "with members " << endl; 381 381 tuple->members->printList( os, indent + 2 ); 382 } // if382 } 383 383 break; 384 384 case Typeof: … … 386 386 if ( typeexpr->expr ) { 387 387 typeexpr->expr->print( os, indent + 2 ); 388 } // if388 } 389 389 break; 390 390 case Attr: … … 392 392 if ( attr->expr ) { 393 393 attr->expr->print( os, indent + 2 ); 394 } // if394 } 395 395 if ( attr->type ) { 396 396 attr->type->print( os, indent + 2 ); 397 } // if398 break; 399 } // switch397 } 398 break; 399 } 400 400 } 401 401 … … 408 408 ret = clone(); 409 409 ret->qualifiers.clear(); 410 } // if410 } 411 411 break; 412 412 case Enum: … … 414 414 ret = clone(); 415 415 ret->qualifiers.clear(); 416 } // if416 } 417 417 break; 418 418 case AggregateInst: 419 419 if ( aggInst->aggregate ) { 420 420 ret = aggInst->aggregate->extractAggregate( false ); 421 } // if421 } 422 422 break; 423 423 default: 424 424 if ( base ) { 425 425 ret = base->extractAggregate( false ); 426 } // if427 } // switch426 } 427 } 428 428 return ret; 429 429 } … … 434 434 if ( (*i)->get_kind() == TypeDecl::Any ) { 435 435 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 436 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );437 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );438 assignType->get_returnVals().push_back( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );439 (*i)->get_assertions().push_front( new FunctionDecl( "?=?", Declaration Node::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) );440 } // if441 } // for442 } 443 444 Declaration *TypeData::buildDecl( std::string name, Declaration Node::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {436 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) ); 437 assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 438 assignType->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 439 (*i)->get_assertions().push_front( new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) ); 440 } 441 } 442 } 443 444 Declaration *TypeData::buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const { 445 445 if ( kind == TypeData::Function ) { 446 446 FunctionDecl *decl; … … 454 454 // std::list<Label> ls; 455 455 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline ); 456 } // if456 } 457 457 } else { 458 458 decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline ); 459 } // if459 } 460 460 for ( DeclarationNode *cur = function->idList; cur != 0; cur = dynamic_cast< DeclarationNode* >( cur->get_link() ) ) { 461 461 if ( cur->get_name() != "" ) { 462 462 decl->get_oldIdents().insert( decl->get_oldIdents().end(), cur->get_name() ); 463 } // if464 } // for463 } 464 } 465 465 buildList( function->oldDeclList, decl->get_oldDecls() ); 466 466 return decl; … … 478 478 } else { 479 479 return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init ); 480 } // if481 } // if480 } 481 } 482 482 return 0; 483 483 } … … 514 514 case Variable: 515 515 assert( false ); 516 } // switch516 } 517 517 518 518 return 0; … … 541 541 q.isAttribute = true; 542 542 break; 543 } // switch544 } // for543 } 544 } 545 545 return q; 546 546 } … … 563 563 } else { 564 564 return new VoidType( buildQualifiers() ); 565 } // if565 } 566 566 } else { 567 567 ret = kindMap[ *i ]; 568 } // if568 } 569 569 } else { 570 570 switch ( *i ) { … … 582 582 default: 583 583 throw SemanticError( "invalid type specifier \"float\" in type: ", this ); 584 } // switch585 } // if584 } 585 } 586 586 break; 587 587 case DeclarationNode::Double: … … 595 595 default: 596 596 throw SemanticError( "invalid type specifier \"double\" in type: ", this ); 597 } // switch598 } // if597 } 598 } 599 599 break; 600 600 … … 609 609 default: 610 610 throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this ); 611 } // switch611 } 612 612 break; 613 613 case DeclarationNode::Imaginary: … … 621 621 default: 622 622 throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this ); 623 } // switch623 } 624 624 break; 625 625 default: 626 626 throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this ); 627 } // switch628 } // if627 } 628 } 629 629 if ( *i == DeclarationNode::Double ) { 630 630 sawDouble = true; 631 } // if632 } // for631 } 632 } 633 633 634 634 for ( std::list< DeclarationNode::Modifier >::const_iterator i = basic->modifiers.begin(); i != basic->modifiers.end(); ++i ) { … … 663 663 default: 664 664 throw SemanticError( "invalid type modifier \"long\" in type: ", this ); 665 } // switch666 } // if665 } 666 } 667 667 break; 668 668 case DeclarationNode::Short: … … 680 680 default: 681 681 throw SemanticError( "invalid type modifier \"short\" in type: ", this ); 682 } // switch683 } // if682 } 683 } 684 684 break; 685 685 case DeclarationNode::Signed: … … 705 705 default: 706 706 throw SemanticError( "invalid type modifer \"signed\" in type: ", this ); 707 } // switch708 } // if707 } 708 } 709 709 break; 710 710 case DeclarationNode::Unsigned: … … 733 733 default: 734 734 throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this ); 735 } // switch736 } // if737 break; 738 } // switch735 } 736 } 737 break; 738 } 739 739 740 740 if ( *i == DeclarationNode::Signed ) { 741 741 sawSigned = true; 742 } // if743 } // for742 } 743 } 744 744 745 745 BasicType *bt; … … 748 748 } else { 749 749 bt = new BasicType( buildQualifiers(), ret ); 750 } // if750 } 751 751 buildForall( forall, bt->get_forall() ); 752 752 return bt; … … 760 760 } else { 761 761 pt = new PointerType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ); 762 } // if762 } 763 763 buildForall( forall, pt->get_forall() ); 764 764 return pt; … … 773 773 at = new ArrayType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 774 774 maybeBuild< Expression >( array->dimension ), array->isVarLen, array->isStatic ); 775 } // if775 } 776 776 buildForall( forall, at->get_forall() ); 777 777 return at; … … 791 791 break; 792 792 default: 793 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration Node::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );794 } // switch793 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) ); 794 } 795 795 } else { 796 ft->get_returnVals().push_back( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );797 } // if796 ft->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) ); 797 } 798 798 return ft; 799 799 } … … 817 817 default: 818 818 assert( false ); 819 } // switch819 } 820 820 buildList( aggregate->params, at->get_parameters() ); 821 821 buildList( aggregate->members, at->get_members() ); … … 857 857 default: 858 858 assert( false ); 859 } // switch860 } // if859 } 860 } 861 861 buildList( aggInst->params, ret->get_parameters() ); 862 862 buildForall( forall, ret->get_forall() ); … … 864 864 } 865 865 866 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration Node::StorageClass sc ) const {866 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const { 867 867 assert( kind == Symbolic ); 868 868 NamedTypeDecl *ret; … … 871 871 } else { 872 872 ret = new TypeDecl( name, sc, maybeBuild< Type >( base ), TypeDecl::Any ); 873 } // if873 } 874 874 buildList( symbolic->params, ret->get_parameters() ); 875 875 buildList( symbolic->assertions, ret->get_assertions() ); … … 881 881 static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype }; 882 882 883 TypeDecl *ret = new TypeDecl( variable->name, Declaration Node::NoStorageClass, 0, kindMap[ variable->tyClass ] );883 TypeDecl *ret = new TypeDecl( variable->name, Declaration::NoStorageClass, 0, kindMap[ variable->tyClass ] ); 884 884 buildList( variable->assertions, ret->get_assertions() ); 885 885 … … 931 931 assert( attr->type ); 932 932 ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() ); 933 } // if933 } 934 934 935 935 return ret; -
src/Parser/TypeData.h
rb5b0907 rea9b9d3 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 07:26:16201513 // Update Count : 512 // Last Modified On : Sat May 16 15:20:00 2015 13 // Update Count : 2 14 14 // 15 15 … … 44 44 45 45 struct Aggregate_t { 46 DeclarationNode:: Aggregatekind;46 DeclarationNode::TyCon kind; 47 47 std::string name; 48 48 DeclarationNode *params; … … 120 120 TypeData *extractAggregate( bool toplevel = true ) const; 121 121 // helper function for DeclNodeImpl::build 122 Declaration * buildDecl( std::string name, Declaration Node::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;122 Declaration * buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const; 123 123 // helper functions for build() 124 124 Type::Qualifiers buildQualifiers() const; … … 128 128 AggregateDecl * buildAggregate() const; 129 129 ReferenceToType * buildAggInst() const; 130 NamedTypeDecl * buildSymbolic( const std::string &name, Declaration Node::StorageClass sc ) const;130 NamedTypeDecl * buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const; 131 131 TypeDecl* buildVariable() const; 132 132 EnumDecl* buildEnum() const; -
src/Parser/lex.cc
rb5b0907 rea9b9d3 1390 1390 * Created On : Sat Sep 22 08:58:10 2001 1391 1391 * Last Modified By : Peter A. Buhr 1392 * Last Modified On : Thu Jun 11 21:52:35 20151393 * Update Count : 38 21392 * Last Modified On : Mon Jun 8 20:24:15 2015 1393 * Update Count : 381 1394 1394 */ 1395 1395 #line 20 "lex.ll" -
src/Parser/lex.ll
rb5b0907 rea9b9d3 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Thu Jun 11 21:52:35 201513 * Update Count : 38 212 * Last Modified On : Mon Jun 8 20:24:15 2015 13 * Update Count : 381 14 14 */ 15 15 -
src/Parser/parser.cc
rb5b0907 rea9b9d3 330 330 ExpressionNode *en; 331 331 DeclarationNode *decl; 332 DeclarationNode:: AggregateaggKey;332 DeclarationNode::TyCon aggKey; 333 333 DeclarationNode::TypeClass tclass; 334 334 StatementNode *sn; … … 568 568 569 569 /* YYFINAL -- State number of the termination state. */ 570 #define YYFINAL 2 40570 #define YYFINAL 238 571 571 /* YYLAST -- Last index in YYTABLE. */ 572 #define YYLAST 12 141572 #define YYLAST 12086 573 573 574 574 /* YYNTOKENS -- Number of terminals. */ … … 577 577 #define YYNNTS 235 578 578 /* YYNRULES -- Number of rules. */ 579 #define YYNRULES 73 5579 #define YYNRULES 733 580 580 /* YYNRULES -- Number of states. */ 581 #define YYNSTATES 155 2581 #define YYNSTATES 1550 582 582 583 583 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ … … 665 665 1060, 1061, 1067, 1069, 1072, 1076, 1078, 1081, 1083, 1085, 666 666 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105, 667 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 112 3, 1125,668 11 28, 1131, 1135, 1139, 1141, 1145, 1147, 1150, 1153, 1156,669 116 1, 1166, 1171, 1176, 1178, 1181, 1184, 1188, 1190, 1193,670 119 6, 1198, 1201, 1204, 1208, 1210, 1213, 1216, 1218, 1220,671 12 25, 1228, 1234, 1244, 1252, 1263, 1276, 1284, 1298, 1301,672 130 4, 1306, 1309, 1312, 1316, 1319, 1323, 1325, 1328, 1332,673 133 5, 1338, 1343, 1344, 1346, 1349, 1352, 1354, 1355, 1357,674 136 0, 1363, 1369, 1376, 1379, 1382, 1387, 1388, 1391, 1392,675 1394, 1 396, 1398, 1404, 1410, 1416, 1418, 1424, 1430, 1440,676 144 2, 1448, 1449, 1451, 1453, 1459, 1461, 1463, 1469, 1475,677 14 77, 1481, 1485, 1490, 1492, 1494, 1496, 1498, 1501, 1503,678 150 7, 1511, 1513, 1516, 1518, 1522, 1524, 1526, 1528, 1530,679 1532, 1534, 1536, 1538, 1540, 154 2, 1544, 1547, 1549, 1551,680 1553, 1556, 155 7, 1560, 1562, 1567, 1569, 1572, 1576, 1581,681 158 4, 1587, 1589, 1592, 1595, 1601, 1607, 1615, 1622, 1624,682 16 27, 1630, 1634, 1639, 1645, 1648, 1651, 1656, 1657, 1662,683 1665, 1667, 166 9, 1671, 1672, 1675, 1681, 1687, 1701, 1703,684 170 5, 1709, 1713, 1716, 1720, 1724, 1727, 1732, 1734, 1741,685 17 51, 1752, 1764, 1766, 1770, 1774, 1778, 1780, 1782, 1788,686 179 1, 1797, 1798, 1800, 1802, 1806, 1807, 1809, 1811, 1813,687 181 5, 1816, 1823, 1826, 1828, 1831, 1836, 1839, 1843, 1847,688 185 1, 1856, 1862, 1868, 1874, 1881, 1883, 1885, 1887, 1891,689 189 2, 1898, 1899, 1901, 1903, 1906, 1913, 1915, 1919, 1920,690 192 2, 1927, 1929, 1931, 1933, 1935, 1938, 1940, 1943, 1946,691 19 48, 1952, 1955, 1959, 1963, 1966, 1971, 1976, 1980, 1989,692 199 3, 1996, 1998, 2001, 2008, 2017, 2021, 2024, 2028, 2032,693 20 37, 2042, 2046, 2048, 2050, 2052, 2057, 2064, 2068, 2071,694 20 75, 2079, 2084, 2089, 2093, 2096, 2098, 2101, 2104, 2106,695 211 0, 2113, 2117, 2121, 2124, 2129, 2134, 2138, 2145, 2154,696 215 8, 2161, 2163, 2166, 2169, 2172, 2176, 2180, 2183, 2188,697 2 193, 2197, 2204, 2213, 2217, 2220, 2222, 2225, 2228, 2230,698 223 3, 2237, 2241, 2244, 2249, 2256, 2265, 2267, 2270, 2273,699 227 5, 2278, 2281, 2285, 2289, 2291, 2296, 2301, 2305, 2311,700 232 0, 2324, 2329, 2335, 2337, 2343, 2349, 2356, 2363, 2365,701 236 8, 2371, 2373, 2376, 2379, 2383, 2387, 2389, 2394, 2399,702 24 03, 2409, 2418, 2422, 2424, 2427, 2429, 2434, 2441, 2447,703 24 54, 2462, 2470, 2472, 2475, 2478, 2480, 2483, 2486, 2490,704 249 4, 2496, 2501, 2506, 2510, 2519, 2523, 2525, 2527, 2530,705 253 2, 2534, 2537, 2541, 2544, 2548, 2551, 2555, 2561, 2564,706 257 1, 2575, 2578, 2584, 2587, 2594, 2598, 2601, 2608, 2615,707 262 2, 2630, 2632, 2635, 2637, 2639, 2641, 2644, 2648, 2651,708 265 5, 2658, 2662, 2668, 2675, 2678, 2684, 2691, 2694, 2700,709 27 08, 2715, 2722, 2723, 2725, 2726667 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1124, 1127, 668 1131, 1135, 1137, 1141, 1143, 1146, 1149, 1152, 1157, 1162, 669 1167, 1172, 1174, 1177, 1180, 1184, 1186, 1189, 1192, 1194, 670 1197, 1200, 1204, 1206, 1209, 1212, 1214, 1216, 1221, 1224, 671 1230, 1240, 1248, 1259, 1272, 1280, 1294, 1297, 1300, 1302, 672 1305, 1308, 1312, 1315, 1319, 1321, 1324, 1328, 1331, 1334, 673 1339, 1340, 1342, 1345, 1348, 1350, 1351, 1353, 1356, 1359, 674 1365, 1372, 1375, 1378, 1383, 1384, 1387, 1388, 1390, 1392, 675 1394, 1400, 1406, 1412, 1414, 1420, 1426, 1436, 1438, 1444, 676 1445, 1447, 1449, 1455, 1457, 1459, 1465, 1471, 1473, 1477, 677 1481, 1486, 1488, 1490, 1492, 1494, 1497, 1499, 1503, 1507, 678 1509, 1512, 1514, 1518, 1520, 1522, 1524, 1526, 1528, 1530, 679 1532, 1534, 1536, 1538, 1540, 1543, 1545, 1547, 1549, 1552, 680 1553, 1556, 1558, 1563, 1565, 1568, 1572, 1577, 1580, 1583, 681 1585, 1588, 1591, 1597, 1603, 1611, 1618, 1620, 1623, 1626, 682 1630, 1635, 1641, 1644, 1647, 1652, 1653, 1658, 1661, 1663, 683 1665, 1667, 1668, 1671, 1677, 1683, 1697, 1699, 1701, 1705, 684 1709, 1712, 1716, 1720, 1723, 1728, 1730, 1737, 1747, 1748, 685 1760, 1762, 1766, 1770, 1774, 1776, 1778, 1784, 1787, 1793, 686 1794, 1796, 1798, 1802, 1803, 1805, 1807, 1809, 1811, 1812, 687 1819, 1822, 1824, 1827, 1832, 1835, 1839, 1843, 1847, 1852, 688 1858, 1864, 1870, 1877, 1879, 1881, 1883, 1887, 1888, 1894, 689 1895, 1897, 1899, 1902, 1909, 1911, 1915, 1916, 1918, 1923, 690 1925, 1927, 1929, 1931, 1934, 1936, 1939, 1942, 1944, 1948, 691 1951, 1955, 1959, 1962, 1967, 1972, 1976, 1985, 1989, 1992, 692 1994, 1997, 2004, 2013, 2017, 2020, 2024, 2028, 2033, 2038, 693 2042, 2044, 2046, 2048, 2053, 2060, 2064, 2067, 2071, 2075, 694 2080, 2085, 2089, 2092, 2094, 2097, 2100, 2102, 2106, 2109, 695 2113, 2117, 2120, 2125, 2130, 2134, 2141, 2150, 2154, 2157, 696 2159, 2162, 2165, 2168, 2172, 2176, 2179, 2184, 2189, 2193, 697 2200, 2209, 2213, 2216, 2218, 2221, 2224, 2226, 2229, 2233, 698 2237, 2240, 2245, 2252, 2261, 2263, 2266, 2269, 2271, 2274, 699 2277, 2281, 2285, 2287, 2292, 2297, 2301, 2307, 2316, 2320, 700 2325, 2331, 2333, 2339, 2345, 2352, 2359, 2361, 2364, 2367, 701 2369, 2372, 2375, 2379, 2383, 2385, 2390, 2395, 2399, 2405, 702 2414, 2418, 2420, 2423, 2425, 2430, 2437, 2443, 2450, 2458, 703 2466, 2468, 2471, 2474, 2476, 2479, 2482, 2486, 2490, 2492, 704 2497, 2502, 2506, 2515, 2519, 2521, 2523, 2526, 2528, 2530, 705 2533, 2537, 2540, 2544, 2547, 2551, 2557, 2560, 2567, 2571, 706 2574, 2580, 2583, 2590, 2594, 2597, 2604, 2611, 2618, 2626, 707 2628, 2631, 2633, 2635, 2637, 2640, 2644, 2647, 2651, 2654, 708 2658, 2664, 2671, 2674, 2680, 2687, 2690, 2696, 2704, 2711, 709 2718, 2719, 2721, 2722 710 710 }; 711 711 … … 822 822 221, -1, 220, 216, 221, -1, 222, -1, 221, 222, 823 823 -1, 223, -1, 5, -1, 7, -1, 4, -1, 6, 824 -1, 8, -1, 9, -1, 62, -1, 64, -1, 16,825 -1, 21, -1, 20, -1, 18, -1, 19, -1, 17,826 -1, 22, -1, 23, -1, 15, -1, 24, -1, 25,827 -1, 26, -1, 226, -1, 220, 226, -1, 225, 222,828 -1, 225, 222, 2 16, -1, 225, 222, 226, -1, 227,829 -1, 2 15, 228, 215, -1, 224, -1, 216, 224, -1,830 22 7, 217, -1, 227, 224, -1, 27, 101, 263, 102,831 -1, 27, 101, 160, 102, -1, 71, 101, 263, 102,832 -1, 71, 101, 160, 102, -1, 230, -1, 220, 230,833 -1, 229, 222, -1, 229, 222, 216, -1, 233, -1,834 21 6, 233, -1, 230, 217, -1, 232, -1, 220, 232,835 -1, 231, 222, -1, 231, 222, 216, -1, 67, -1,836 21 6, 67, -1, 232, 217, -1, 234, -1, 244, -1,837 235, 106, 236, 107, -1, 235, 261, -1, 235, 261,838 106, 236, 107, -1, 235, 101, 126, 272, 127, 102,839 106, 236, 107, -1, 235, 101, 126, 272, 127, 102,840 261, -1, 235, 101, 126, 272, 127, 102, 261, 106,841 236, 107, -1, 235, 101, 126, 272, 127, 102, 101,842 278, 102, 106, 236, 107, -1, 235, 101, 126, 278,843 127, 102, 261, -1, 235, 101, 126, 272, 127, 102,844 10 1, 278, 102, 261, 106, 236, 107, -1, 30, 298,845 -1, 31, 298, -1, 237, -1, 236, 237, -1, 238,846 124, -1, 38, 238, 124, -1, 239, 124, -1, 38,847 239, 124, -1, 352, -1, 352, 261, -1, 238, 108,848 261, -1, 238, 108, -1, 214, 240, -1, 239, 108,849 2 98, 240, -1, -1, 242, -1, 304, 241, -1, 317,850 241, -1, 343, -1, -1, 242, -1, 109, 154, -1,851 29, 298, -1, 243, 106, 245, 358, 107, -1, 243,852 261, 106, 245, 358, 107, -1, 243, 261, -1, 261,853 2 46, -1, 245, 108, 261, 246, -1, -1, 123, 154,854 -1, -1, 248, -1, 250, -1, 249, -1, 249, 127,855 108, 126, 250, -1, 250, 127, 108, 126, 89, -1,856 249, 127, 108, 126, 89, -1, 254, -1, 250, 127,857 108, 126, 254, -1, 249, 127, 108, 126, 254, -1,858 2 49, 127, 108, 126, 250, 127, 108, 126, 254, -1,859 255, -1, 250, 127, 108, 126, 255, -1, -1, 252,860 -1, 253, -1, 253, 127, 108, 126, 89, -1, 257,861 -1, 256, -1, 253, 127, 108, 126, 257, -1, 253,862 127, 108, 126, 256, -1, 256, -1, 348, 259, 359,863 -1, 356, 259, 359, -1, 216, 356, 259, 359, -1,864 206, -1, 257, -1, 348, -1, 356, -1, 216, 356,865 -1, 357, -1, 213, 322, 359, -1, 213, 326, 359,866 -1, 213, -1, 213, 337, -1, 131, -1, 258, 108,867 131, -1, 129, -1, 67, -1, 68, -1, 130, -1,868 67, -1, 68, -1, 131, -1, 67, -1, 68, -1,869 352, -1, 214, -1, 214, 343, -1, 352, -1, 357,870 -1, 214, -1, 214, 331, -1, -1, 123, 265, -1,871 155, -1, 106, 266, 358, 107, -1, 265, -1, 267,872 265, -1, 266, 108, 26 5, -1, 266, 108, 267, 265,873 -1, 268, 109, -1, 261, 109, -1, 269, -1, 268,874 269, -1, 105, 261, -1, 103, 126, 155, 127, 104,875 -1, 103, 126, 296, 127, 104, -1, 103, 126, 154,876 89, 154, 127, 104, -1, 105, 103, 126, 138, 127,877 104, -1, 271, -1, 220, 271, -1, 270, 222, -1,878 270, 222, 216, -1, 68, 101, 278, 102, -1, 216,879 68, 101, 278, 102, -1, 271, 217, -1, 273, 359,880 -1, 272, 108, 273, 359, -1, -1, 275, 261, 274,881 276, -1, 214, 322, -1, 32, -1, 34, -1, 33,882 -1, -1, 276, 277, -1, 121, 261, 101, 278, 102,883 -1, 121, 106, 126, 284, 107, -1, 121, 101, 126,884 272, 127, 102, 106, 126, 284, 107, 101, 278, 102,885 -1, 2 63, -1, 155, -1, 278, 108, 263, -1, 278,886 108, 155, -1, 32, 280, -1, 221, 32, 280, -1,887 2 79, 108, 280, -1, 281, 276, -1, 281, 276, 123,888 26 3, -1, 261, -1, 260, 101, 126, 272, 127, 102,889 -1, 35, 261, 101, 126, 272, 127, 102, 106, 107,890 -1, -1, 35, 261, 101, 126, 272, 127, 102, 106,891 28 3, 284, 107, -1, 285, -1, 284, 126, 285, -1,892 28 6, 127, 124, -1, 287, 127, 124, -1, 204, -1,893 206, -1, 286, 127, 108, 126, 259, -1, 214, 295,894 -1, 287, 127, 108, 126, 295, -1, -1, 289, -1,895 291, -1, 289, 126, 291, -1, -1, 289, -1, 201,896 -1, 293, -1, 189, -1, -1, 5, 75, 292, 106,897 29 0, 107, -1, 38, 291, -1, 294, -1, 309, 164,898 -1, 313, 126, 196, 164, -1, 205, 164, -1, 213,899 309, 164, -1, 2 16, 309, 164, -1, 220, 309, 164,900 -1, 220, 216, 309, 164, -1, 213, 313, 126, 196,901 1 64, -1, 216, 313, 126, 196, 164, -1, 220, 313,902 126, 196, 164, -1, 220, 216, 313, 126, 196, 164,903 -1, 3 04, -1, 309, -1, 317, -1, 154, 115, 154,904 -1, -1, 57, 101, 133, 102, 298, -1, -1, 299,905 -1, 300, -1, 299, 300, -1, 37, 101, 101, 301,906 102, 102, -1, 302, -1, 301, 108, 302, -1, -1,907 303, -1, 303, 101, 161, 102, -1, 259, -1, 223,908 -1, 224, -1, 217, -1, 305, 298, -1, 306, -1,909 307, 298, -1, 308, 298, -1, 129, -1, 101, 305,910 102, -1, 111, 304, -1, 111, 216, 304, -1, 101,911 3 06, 102, -1, 305, 335, -1, 101, 306, 102, 335,912 -1, 101, 307, 102, 336, -1, 101, 307, 102, -1,913 1 01, 306, 102, 101, 126, 251, 127, 102, -1, 101,914 308, 102, -1, 310, 298, -1, 311, -1, 312, 298,915 -1, 305, 101, 126, 251, 127, 102, -1, 101, 311,916 1 02, 101, 126, 251, 127, 102, -1, 101, 310, 102,917 -1, 111, 309, -1, 111, 216, 309, -1, 101, 311,918 102, -1, 101, 311, 102, 335, -1, 101, 312, 102,919 336, -1, 101, 312, 102, -1, 314, -1, 315, -1,920 316, -1, 305, 101, 258, 102, -1, 101, 315, 102,921 101, 258, 102, -1, 101, 314, 102, -1, 111, 313,922 -1, 1 11, 216, 313, -1, 101, 315, 102, -1, 101,923 315, 102, 335, -1, 101, 316, 102, 336, -1, 101,924 316, 102, -1, 318, 298, -1, 319, -1, 320, 298,925 -1, 321, 298, -1, 67, -1, 101, 318, 102, -1,926 111, 317, -1, 111, 216, 317, -1, 101, 319, 102,927 -1, 318, 335, -1, 101, 319, 102, 335, -1, 101,928 320, 102, 336, -1, 101, 320, 102, -1, 318, 101,929 126, 251, 127, 102, -1, 101, 319, 102, 101, 126,930 251, 127, 102, -1, 101, 321, 102, -1, 305, 298,931 -1, 323, -1, 324, 298, -1, 325, 298, -1, 111,932 322, -1, 1 11, 216, 322, -1, 101, 323, 102, -1,933 3 05, 341, -1, 101, 323, 102, 335, -1, 101, 324,934 102, 336, -1, 101, 324, 102, -1, 305, 101, 126,935 251, 127, 102, -1, 101, 323, 102, 101, 126, 251,936 127, 102, -1, 101, 325, 102, -1, 327, 298, -1,937 328, -1, 329, 298, -1, 330, 298, -1, 67, -1,938 111, 326, -1, 111, 216, 326, -1, 101, 328, 102,939 -1, 327, 341, -1, 101, 328, 102, 341, -1, 327,940 10 1, 126, 251, 127, 102, -1, 101, 328, 102, 101,941 126, 251, 127, 102, -1, 332, -1, 333, 298, -1,942 334, 298, -1, 111, -1, 111, 216, -1, 111, 331,943 -1, 1 11, 216, 331, -1, 101, 332, 102, -1, 335,944 -1, 101, 332, 102, 335, -1, 101, 333, 102, 336,945 -1, 101, 333, 102, -1, 101, 126, 251, 127, 102,946 -1, 101, 332, 102, 101, 126, 251, 127, 102, -1,947 10 1, 334, 102, -1, 103, 126, 127, 104, -1, 103,948 126, 127, 104, 336, -1, 336, -1, 103, 126, 155,949 12 7, 104, -1, 103, 126, 111, 127, 104, -1, 336,950 10 3, 126, 155, 127, 104, -1, 336, 103, 126, 111,951 127, 104, -1, 338, -1, 339, 298, -1, 340, 298,952 -1, 111, -1, 111, 216, -1, 111, 337, -1, 111,953 216, 337, -1, 101, 338, 102, -1, 341, -1, 101,954 338, 102, 341, -1, 101, 339, 102, 336, -1, 101,955 339, 102, -1, 101, 126, 251, 127, 102, -1, 101,956 338, 102, 101, 126, 251, 127, 102, -1, 101, 340,957 102, -1, 342, -1, 342, 336, -1, 336, -1, 103,958 1 26, 127, 104, -1, 103, 126, 216, 111, 127, 104,959 -1, 103, 126, 216, 127, 104, -1, 103, 126, 216,960 1 55, 127, 104, -1, 103, 126, 7, 215, 155, 127,961 104, -1, 103, 126, 216, 7, 155, 127, 104, -1,962 344, -1, 345, 298, -1, 346, 298, -1, 111, -1,963 111, 216, -1, 111, 343, -1, 111, 216, 343, -1,964 101, 344, 102, -1, 335, -1, 101, 344, 102, 335,965 -1, 101, 345, 102, 336, -1, 101, 345, 102, -1,966 1 01, 344, 102, 101, 126, 251, 127, 102, -1, 101,967 346, 102, -1, 348, -1, 356, -1, 216, 356, -1,968 349, -1, 350, -1, 111, 214, -1, 216, 111, 214,969 -1, 111, 357, -1, 216, 111, 357, -1, 111, 347,970 -1, 216, 111, 347, -1, 103, 126, 127, 104, 214,971 -1, 351, 214, -1, 103, 126, 127, 104, 336, 214,972 -1, 3 51, 336, 214, -1, 336, 214, -1, 103, 126,973 127, 104, 349, -1, 351, 349, -1, 103, 126, 127,974 104, 336, 349, -1, 351, 336, 349, -1, 336, 349,975 -1, 103, 126, 216, 111, 127, 104, -1, 103, 126,976 216, 155, 127, 104, -1, 103, 126, 220, 155, 127,977 104, -1, 103, 126, 220, 216, 155, 127, 104, -1,978 356, -1, 216, 356, -1, 353, -1, 354, -1, 355,979 -1, 111, 214, -1, 216, 111, 214, -1, 111, 357,980 -1, 216, 111, 357, -1, 111, 352, -1, 216, 111,981 352, -1, 103, 126, 127, 104, 214, -1, 103, 126,982 127, 104, 336, 214, -1, 336, 214, -1, 103, 126,983 1 27, 104, 354, -1, 103, 126, 127, 104, 336, 354,984 -1, 336, 354, -1, 103, 126, 250, 127, 104, -1,985 10 3, 126, 127, 104, 101, 247, 102, -1, 356, 101,986 126, 247, 127, 102, -1, 207, 101, 126, 247, 127,987 102, -1, -1, 108,-1, -1, 123, 155, -1824 -1, 8, -1, 9, -1, 16, -1, 21, -1, 20, 825 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 826 -1, 15, -1, 24, -1, 25, -1, 26, -1, 226, 827 -1, 220, 226, -1, 225, 222, -1, 225, 222, 216, 828 -1, 225, 222, 226, -1, 227, -1, 215, 228, 215, 829 -1, 224, -1, 216, 224, -1, 227, 217, -1, 227, 830 224, -1, 27, 101, 263, 102, -1, 27, 101, 160, 831 102, -1, 71, 101, 263, 102, -1, 71, 101, 160, 832 102, -1, 230, -1, 220, 230, -1, 229, 222, -1, 833 229, 222, 216, -1, 233, -1, 216, 233, -1, 230, 834 217, -1, 232, -1, 220, 232, -1, 231, 222, -1, 835 231, 222, 216, -1, 67, -1, 216, 67, -1, 232, 836 217, -1, 234, -1, 244, -1, 235, 106, 236, 107, 837 -1, 235, 261, -1, 235, 261, 106, 236, 107, -1, 838 235, 101, 126, 272, 127, 102, 106, 236, 107, -1, 839 235, 101, 126, 272, 127, 102, 261, -1, 235, 101, 840 126, 272, 127, 102, 261, 106, 236, 107, -1, 235, 841 101, 126, 272, 127, 102, 101, 278, 102, 106, 236, 842 107, -1, 235, 101, 126, 278, 127, 102, 261, -1, 843 235, 101, 126, 272, 127, 102, 101, 278, 102, 261, 844 106, 236, 107, -1, 30, 298, -1, 31, 298, -1, 845 237, -1, 236, 237, -1, 238, 124, -1, 38, 238, 846 124, -1, 239, 124, -1, 38, 239, 124, -1, 352, 847 -1, 352, 261, -1, 238, 108, 261, -1, 238, 108, 848 -1, 214, 240, -1, 239, 108, 298, 240, -1, -1, 849 242, -1, 304, 241, -1, 317, 241, -1, 343, -1, 850 -1, 242, -1, 109, 154, -1, 29, 298, -1, 243, 851 106, 245, 358, 107, -1, 243, 261, 106, 245, 358, 852 107, -1, 243, 261, -1, 261, 246, -1, 245, 108, 853 261, 246, -1, -1, 123, 154, -1, -1, 248, -1, 854 250, -1, 249, -1, 249, 127, 108, 126, 250, -1, 855 250, 127, 108, 126, 89, -1, 249, 127, 108, 126, 856 89, -1, 254, -1, 250, 127, 108, 126, 254, -1, 857 249, 127, 108, 126, 254, -1, 249, 127, 108, 126, 858 250, 127, 108, 126, 254, -1, 255, -1, 250, 127, 859 108, 126, 255, -1, -1, 252, -1, 253, -1, 253, 860 127, 108, 126, 89, -1, 257, -1, 256, -1, 253, 861 127, 108, 126, 257, -1, 253, 127, 108, 126, 256, 862 -1, 256, -1, 348, 259, 359, -1, 356, 259, 359, 863 -1, 216, 356, 259, 359, -1, 206, -1, 257, -1, 864 348, -1, 356, -1, 216, 356, -1, 357, -1, 213, 865 322, 359, -1, 213, 326, 359, -1, 213, -1, 213, 866 337, -1, 131, -1, 258, 108, 131, -1, 129, -1, 867 67, -1, 68, -1, 130, -1, 67, -1, 68, -1, 868 131, -1, 67, -1, 68, -1, 352, -1, 214, -1, 869 214, 343, -1, 352, -1, 357, -1, 214, -1, 214, 870 331, -1, -1, 123, 265, -1, 155, -1, 106, 266, 871 358, 107, -1, 265, -1, 267, 265, -1, 266, 108, 872 265, -1, 266, 108, 267, 265, -1, 268, 109, -1, 873 261, 109, -1, 269, -1, 268, 269, -1, 105, 261, 874 -1, 103, 126, 155, 127, 104, -1, 103, 126, 296, 875 127, 104, -1, 103, 126, 154, 89, 154, 127, 104, 876 -1, 105, 103, 126, 138, 127, 104, -1, 271, -1, 877 220, 271, -1, 270, 222, -1, 270, 222, 216, -1, 878 68, 101, 278, 102, -1, 216, 68, 101, 278, 102, 879 -1, 271, 217, -1, 273, 359, -1, 272, 108, 273, 880 359, -1, -1, 275, 261, 274, 276, -1, 214, 322, 881 -1, 32, -1, 34, -1, 33, -1, -1, 276, 277, 882 -1, 121, 261, 101, 278, 102, -1, 121, 106, 126, 883 284, 107, -1, 121, 101, 126, 272, 127, 102, 106, 884 126, 284, 107, 101, 278, 102, -1, 263, -1, 155, 885 -1, 278, 108, 263, -1, 278, 108, 155, -1, 32, 886 280, -1, 221, 32, 280, -1, 279, 108, 280, -1, 887 281, 276, -1, 281, 276, 123, 263, -1, 261, -1, 888 260, 101, 126, 272, 127, 102, -1, 35, 261, 101, 889 126, 272, 127, 102, 106, 107, -1, -1, 35, 261, 890 101, 126, 272, 127, 102, 106, 283, 284, 107, -1, 891 285, -1, 284, 126, 285, -1, 286, 127, 124, -1, 892 287, 127, 124, -1, 204, -1, 206, -1, 286, 127, 893 108, 126, 259, -1, 214, 295, -1, 287, 127, 108, 894 126, 295, -1, -1, 289, -1, 291, -1, 289, 126, 895 291, -1, -1, 289, -1, 201, -1, 293, -1, 189, 896 -1, -1, 5, 75, 292, 106, 290, 107, -1, 38, 897 291, -1, 294, -1, 309, 164, -1, 313, 126, 196, 898 164, -1, 205, 164, -1, 213, 309, 164, -1, 216, 899 309, 164, -1, 220, 309, 164, -1, 220, 216, 309, 900 164, -1, 213, 313, 126, 196, 164, -1, 216, 313, 901 126, 196, 164, -1, 220, 313, 126, 196, 164, -1, 902 220, 216, 313, 126, 196, 164, -1, 304, -1, 309, 903 -1, 317, -1, 154, 115, 154, -1, -1, 57, 101, 904 133, 102, 298, -1, -1, 299, -1, 300, -1, 299, 905 300, -1, 37, 101, 101, 301, 102, 102, -1, 302, 906 -1, 301, 108, 302, -1, -1, 303, -1, 303, 101, 907 161, 102, -1, 259, -1, 223, -1, 224, -1, 217, 908 -1, 305, 298, -1, 306, -1, 307, 298, -1, 308, 909 298, -1, 129, -1, 101, 305, 102, -1, 111, 304, 910 -1, 111, 216, 304, -1, 101, 306, 102, -1, 305, 911 335, -1, 101, 306, 102, 335, -1, 101, 307, 102, 912 336, -1, 101, 307, 102, -1, 101, 306, 102, 101, 913 126, 251, 127, 102, -1, 101, 308, 102, -1, 310, 914 298, -1, 311, -1, 312, 298, -1, 305, 101, 126, 915 251, 127, 102, -1, 101, 311, 102, 101, 126, 251, 916 127, 102, -1, 101, 310, 102, -1, 111, 309, -1, 917 111, 216, 309, -1, 101, 311, 102, -1, 101, 311, 918 102, 335, -1, 101, 312, 102, 336, -1, 101, 312, 919 102, -1, 314, -1, 315, -1, 316, -1, 305, 101, 920 258, 102, -1, 101, 315, 102, 101, 258, 102, -1, 921 101, 314, 102, -1, 111, 313, -1, 111, 216, 313, 922 -1, 101, 315, 102, -1, 101, 315, 102, 335, -1, 923 101, 316, 102, 336, -1, 101, 316, 102, -1, 318, 924 298, -1, 319, -1, 320, 298, -1, 321, 298, -1, 925 67, -1, 101, 318, 102, -1, 111, 317, -1, 111, 926 216, 317, -1, 101, 319, 102, -1, 318, 335, -1, 927 101, 319, 102, 335, -1, 101, 320, 102, 336, -1, 928 101, 320, 102, -1, 318, 101, 126, 251, 127, 102, 929 -1, 101, 319, 102, 101, 126, 251, 127, 102, -1, 930 101, 321, 102, -1, 305, 298, -1, 323, -1, 324, 931 298, -1, 325, 298, -1, 111, 322, -1, 111, 216, 932 322, -1, 101, 323, 102, -1, 305, 341, -1, 101, 933 323, 102, 335, -1, 101, 324, 102, 336, -1, 101, 934 324, 102, -1, 305, 101, 126, 251, 127, 102, -1, 935 101, 323, 102, 101, 126, 251, 127, 102, -1, 101, 936 325, 102, -1, 327, 298, -1, 328, -1, 329, 298, 937 -1, 330, 298, -1, 67, -1, 111, 326, -1, 111, 938 216, 326, -1, 101, 328, 102, -1, 327, 341, -1, 939 101, 328, 102, 341, -1, 327, 101, 126, 251, 127, 940 102, -1, 101, 328, 102, 101, 126, 251, 127, 102, 941 -1, 332, -1, 333, 298, -1, 334, 298, -1, 111, 942 -1, 111, 216, -1, 111, 331, -1, 111, 216, 331, 943 -1, 101, 332, 102, -1, 335, -1, 101, 332, 102, 944 335, -1, 101, 333, 102, 336, -1, 101, 333, 102, 945 -1, 101, 126, 251, 127, 102, -1, 101, 332, 102, 946 101, 126, 251, 127, 102, -1, 101, 334, 102, -1, 947 103, 126, 127, 104, -1, 103, 126, 127, 104, 336, 948 -1, 336, -1, 103, 126, 155, 127, 104, -1, 103, 949 126, 111, 127, 104, -1, 336, 103, 126, 155, 127, 950 104, -1, 336, 103, 126, 111, 127, 104, -1, 338, 951 -1, 339, 298, -1, 340, 298, -1, 111, -1, 111, 952 216, -1, 111, 337, -1, 111, 216, 337, -1, 101, 953 338, 102, -1, 341, -1, 101, 338, 102, 341, -1, 954 101, 339, 102, 336, -1, 101, 339, 102, -1, 101, 955 126, 251, 127, 102, -1, 101, 338, 102, 101, 126, 956 251, 127, 102, -1, 101, 340, 102, -1, 342, -1, 957 342, 336, -1, 336, -1, 103, 126, 127, 104, -1, 958 103, 126, 216, 111, 127, 104, -1, 103, 126, 216, 959 127, 104, -1, 103, 126, 216, 155, 127, 104, -1, 960 103, 126, 7, 215, 155, 127, 104, -1, 103, 126, 961 216, 7, 155, 127, 104, -1, 344, -1, 345, 298, 962 -1, 346, 298, -1, 111, -1, 111, 216, -1, 111, 963 343, -1, 111, 216, 343, -1, 101, 344, 102, -1, 964 335, -1, 101, 344, 102, 335, -1, 101, 345, 102, 965 336, -1, 101, 345, 102, -1, 101, 344, 102, 101, 966 126, 251, 127, 102, -1, 101, 346, 102, -1, 348, 967 -1, 356, -1, 216, 356, -1, 349, -1, 350, -1, 968 111, 214, -1, 216, 111, 214, -1, 111, 357, -1, 969 216, 111, 357, -1, 111, 347, -1, 216, 111, 347, 970 -1, 103, 126, 127, 104, 214, -1, 351, 214, -1, 971 103, 126, 127, 104, 336, 214, -1, 351, 336, 214, 972 -1, 336, 214, -1, 103, 126, 127, 104, 349, -1, 973 351, 349, -1, 103, 126, 127, 104, 336, 349, -1, 974 351, 336, 349, -1, 336, 349, -1, 103, 126, 216, 975 111, 127, 104, -1, 103, 126, 216, 155, 127, 104, 976 -1, 103, 126, 220, 155, 127, 104, -1, 103, 126, 977 220, 216, 155, 127, 104, -1, 356, -1, 216, 356, 978 -1, 353, -1, 354, -1, 355, -1, 111, 214, -1, 979 216, 111, 214, -1, 111, 357, -1, 216, 111, 357, 980 -1, 111, 352, -1, 216, 111, 352, -1, 103, 126, 981 127, 104, 214, -1, 103, 126, 127, 104, 336, 214, 982 -1, 336, 214, -1, 103, 126, 127, 104, 354, -1, 983 103, 126, 127, 104, 336, 354, -1, 336, 354, -1, 984 103, 126, 250, 127, 104, -1, 103, 126, 127, 104, 985 101, 247, 102, -1, 356, 101, 126, 247, 127, 102, 986 -1, 207, 101, 126, 247, 127, 102, -1, -1, 108, 987 -1, -1, 123, 155, -1 988 988 }; 989 989 … … 1021 1021 1173, 1183, 1184, 1189, 1190, 1195, 1197, 1199, 1201, 1203, 1022 1022 1206, 1205, 1217, 1218, 1220, 1230, 1231, 1236, 1240, 1242, 1023 1244, 1246, 1248, 125 0, 1252, 1254, 1259, 1261, 1263, 1265,1024 126 7, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1287, 1288,1025 129 0, 1292, 1294, 1299, 1300, 1306, 1307, 1309, 1311, 1316,1026 131 8, 1320, 1322, 1327, 1328, 1330, 1332, 1337, 1338, 1340,1027 1345, 134 6, 1348, 1350, 1355, 1357, 1359, 1364, 1365, 1369,1028 137 1, 1373, 1375, 1377, 1379, 1381, 1383, 1386, 1391, 1393,1029 1 398, 1400, 1405, 1406, 1408, 1409, 1414, 1415, 1417, 1419,1030 142 4, 1426, 1432, 1433, 1435, 1438, 1441, 1446, 1447, 1452,1031 14 57, 1461, 1463, 1465, 1470, 1472, 1478, 1479, 1487, 1488,1032 149 2, 1493, 1494, 1496, 1498, 1506, 1507, 1509, 1511, 1516,1033 15 17, 1523, 1524, 1528, 1529, 1534, 1535, 1536, 1538, 1547,1034 15 48, 1550, 1553, 1555, 1559, 1560, 1561, 1563, 1565, 1569,1035 15 74, 1582, 1583, 1592, 1594, 1599, 1600, 1601, 1605, 1606,1036 160 7, 1611, 1612, 1613, 1617, 1618, 1619, 1624, 1625, 1626,1037 16 27, 1633, 1634, 1638, 1639, 1643, 1644, 1645, 1646, 1661,1038 166 2, 1667, 1668, 1672, 1674, 1678, 1680, 1682, 1706, 1707,1039 17 09, 1711, 1716, 1718, 1720, 1725, 1726, 1732, 1731, 1735,1040 17 39, 1741, 1743, 1749, 1750, 1755, 1760, 1762, 1767, 1769,1041 177 0, 1772, 1777, 1779, 1781, 1786, 1788, 1793, 1798, 1806,1042 18 12, 1811, 1825, 1826, 1831, 1832, 1836, 1841, 1846, 1854,1043 18 59, 1870, 1871, 1882, 1883, 1889, 1890, 1894, 1895, 1896,1044 1 899, 1898, 1909, 1914, 1921, 1927, 1936, 1942, 1948, 1954,1045 19 60, 1968, 1974, 1982, 1988, 1997, 1998, 1999, 2003, 2007,1046 20 09, 2012, 2014, 2018, 2019, 2023, 2027, 2028, 2031, 2033,1047 203 4, 2038, 2039, 2040, 2041, 2076, 2077, 2078, 2079, 2083,1048 20 88, 2093, 2095, 2097, 2102, 2104, 2106, 2108, 2113, 2115,1049 212 5, 2126, 2127, 2131, 2133, 2135, 2140, 2142, 2144, 2149,1050 215 1, 2153, 2162, 2163, 2164, 2168, 2170, 2172, 2177, 2179,1051 218 1, 2186, 2188, 2190, 2205, 2206, 2207, 2208, 2212, 2217,1052 222 2, 2224, 2226, 2231, 2233, 2235, 2237, 2242, 2244, 2246,1053 225 6, 2257, 2258, 2259, 2263, 2265, 2267, 2272, 2274, 2276,1054 22 78, 2283, 2285, 2287, 2318, 2319, 2320, 2321, 2325, 2333,1055 233 5, 2337, 2342, 2344, 2349, 2351, 2365, 2366, 2367, 2371,1056 237 3, 2375, 2377, 2379, 2384, 2385, 2387, 2389, 2394, 2396,1057 2 398, 2404, 2406, 2408, 2412, 2414, 2416, 2418, 2432, 2433,1058 243 4, 2438, 2440, 2442, 2444, 2446, 2451, 2452, 2454, 2456,1059 246 1, 2463, 2465, 2471, 2472, 2474, 2484, 2487, 2489, 2492,1060 2 494, 2496, 2509, 2510, 2511, 2515, 2517, 2519, 2521, 2523,1061 2528, 25 29, 2531, 2533, 2538, 2540, 2548, 2549, 2550, 2555,1062 255 6, 2560, 2562, 2564, 2566, 2568, 2570, 2577, 2579, 2581,1063 258 3, 2585, 2587, 2589, 2591, 2593, 2595, 2600, 2602, 2604,1064 26 09, 2635, 2636, 2638, 2642, 2643, 2647, 2649, 2651, 2653,1065 26 55, 2657, 2664, 2666, 2668, 2670, 2672, 2674, 2679, 2684,1066 2 686, 2688, 2708, 2710, 2715, 27161023 1244, 1246, 1248, 1251, 1256, 1258, 1260, 1262, 1264, 1266, 1024 1268, 1270, 1272, 1274, 1276, 1278, 1284, 1285, 1287, 1289, 1025 1291, 1296, 1297, 1303, 1304, 1306, 1308, 1313, 1315, 1317, 1026 1319, 1324, 1325, 1327, 1329, 1334, 1335, 1337, 1342, 1343, 1027 1345, 1347, 1352, 1354, 1356, 1361, 1362, 1366, 1368, 1370, 1028 1372, 1374, 1376, 1378, 1380, 1383, 1388, 1390, 1395, 1397, 1029 1402, 1403, 1405, 1406, 1411, 1412, 1414, 1416, 1421, 1423, 1030 1429, 1430, 1432, 1435, 1438, 1443, 1444, 1449, 1454, 1458, 1031 1460, 1462, 1467, 1469, 1475, 1476, 1484, 1485, 1489, 1490, 1032 1491, 1493, 1495, 1503, 1504, 1506, 1508, 1513, 1514, 1520, 1033 1521, 1525, 1526, 1531, 1532, 1533, 1535, 1544, 1545, 1547, 1034 1550, 1552, 1556, 1557, 1558, 1560, 1562, 1566, 1571, 1579, 1035 1580, 1589, 1591, 1596, 1597, 1598, 1602, 1603, 1604, 1608, 1036 1609, 1610, 1614, 1615, 1616, 1621, 1622, 1623, 1624, 1630, 1037 1631, 1635, 1636, 1640, 1641, 1642, 1643, 1658, 1659, 1664, 1038 1665, 1669, 1671, 1675, 1677, 1679, 1703, 1704, 1706, 1708, 1039 1713, 1715, 1717, 1722, 1723, 1729, 1728, 1732, 1736, 1738, 1040 1740, 1746, 1747, 1752, 1757, 1759, 1764, 1766, 1767, 1769, 1041 1774, 1776, 1778, 1783, 1785, 1790, 1795, 1803, 1809, 1808, 1042 1822, 1823, 1828, 1829, 1833, 1838, 1843, 1851, 1856, 1867, 1043 1868, 1879, 1880, 1886, 1887, 1891, 1892, 1893, 1896, 1895, 1044 1906, 1911, 1918, 1924, 1933, 1939, 1945, 1951, 1957, 1965, 1045 1971, 1979, 1985, 1994, 1995, 1996, 2000, 2004, 2006, 2009, 1046 2011, 2015, 2016, 2020, 2024, 2025, 2028, 2030, 2031, 2035, 1047 2036, 2037, 2038, 2073, 2074, 2075, 2076, 2080, 2085, 2090, 1048 2092, 2094, 2099, 2101, 2103, 2105, 2110, 2112, 2122, 2123, 1049 2124, 2128, 2130, 2132, 2137, 2139, 2141, 2146, 2148, 2150, 1050 2159, 2160, 2161, 2165, 2167, 2169, 2174, 2176, 2178, 2183, 1051 2185, 2187, 2202, 2203, 2204, 2205, 2209, 2214, 2219, 2221, 1052 2223, 2228, 2230, 2232, 2234, 2239, 2241, 2243, 2253, 2254, 1053 2255, 2256, 2260, 2262, 2264, 2269, 2271, 2273, 2275, 2280, 1054 2282, 2284, 2315, 2316, 2317, 2318, 2322, 2330, 2332, 2334, 1055 2339, 2341, 2346, 2348, 2362, 2363, 2364, 2368, 2370, 2372, 1056 2374, 2376, 2381, 2382, 2384, 2386, 2391, 2393, 2395, 2401, 1057 2403, 2405, 2409, 2411, 2413, 2415, 2429, 2430, 2431, 2435, 1058 2437, 2439, 2441, 2443, 2448, 2449, 2451, 2453, 2458, 2460, 1059 2462, 2468, 2469, 2471, 2481, 2484, 2486, 2489, 2491, 2493, 1060 2506, 2507, 2508, 2512, 2514, 2516, 2518, 2520, 2525, 2526, 1061 2528, 2530, 2535, 2537, 2545, 2546, 2547, 2552, 2553, 2557, 1062 2559, 2561, 2563, 2565, 2567, 2574, 2576, 2578, 2580, 2582, 1063 2584, 2586, 2588, 2590, 2592, 2597, 2599, 2601, 2606, 2632, 1064 2633, 2635, 2639, 2640, 2644, 2646, 2648, 2650, 2652, 2654, 1065 2661, 2663, 2665, 2667, 2669, 2671, 2676, 2681, 2683, 2685, 1066 2705, 2707, 2712, 2713 1067 1067 }; 1068 1068 #endif … … 1234 1234 215, 216, 216, 217, 217, 218, 218, 218, 218, 218, 1235 1235 219, 218, 220, 220, 220, 221, 221, 222, 223, 223, 1236 223, 223, 223, 223, 22 3, 223, 224, 224, 224, 224,1237 224, 224, 224, 224, 224, 224, 22 4, 224, 225, 225,1238 225, 22 5, 225, 226, 226, 227, 227, 227, 227, 228,1239 228, 22 8, 228, 229, 229, 229, 229, 230, 230, 230,1240 231, 231, 23 1, 231, 232, 232, 232, 233, 233, 234,1241 234, 234, 234, 234, 234, 234, 23 4, 234, 235, 235,1242 23 6, 236, 237, 237, 237, 237, 238, 238, 238, 238,1243 2 39, 239, 240, 240, 240, 240, 240, 241, 241, 242,1244 24 3, 244, 244, 244, 245, 245, 246, 246, 247, 247,1245 248, 248, 248, 24 8, 248, 249, 249, 249, 249, 250,1246 25 0, 251, 251, 252, 252, 253, 253, 253, 253, 254,1247 254, 254, 25 4, 254, 255, 255, 255, 255, 255, 256,1248 25 6, 257, 257, 258, 258, 259, 259, 259, 260, 260,1249 26 0, 261, 261, 261, 262, 262, 262, 263, 263, 263,1250 26 3, 264, 264, 265, 265, 266, 266, 266, 266, 267,1251 26 7, 268, 268, 269, 269, 269, 269, 269, 270, 270,1252 27 0, 270, 271, 271, 271, 272, 272, 274, 273, 273,1253 275, 27 5, 275, 276, 276, 277, 277, 277, 278, 278,1254 27 8, 278, 279, 279, 279, 280, 280, 281, 281, 282,1255 28 3, 282, 284, 284, 285, 285, 286, 286, 286, 287,1256 28 7, 288, 288, 289, 289, 290, 290, 291, 291, 291,1257 29 2, 291, 291, 293, 293, 293, 294, 294, 294, 294,1258 294, 294, 294, 29 4, 294, 295, 295, 295, 296, 297,1259 29 7, 298, 298, 299, 299, 300, 301, 301, 302, 302,1260 30 2, 303, 303, 303, 303, 304, 304, 304, 304, 305,1261 30 5, 306, 306, 306, 307, 307, 307, 307, 308, 308,1262 309, 3 09, 309, 310, 310, 310, 311, 311, 311, 312,1263 31 2, 312, 313, 313, 313, 314, 314, 314, 315, 315,1264 31 5, 316, 316, 316, 317, 317, 317, 317, 318, 318,1265 319, 3 19, 319, 320, 320, 320, 320, 321, 321, 321,1266 322, 322, 32 2, 322, 323, 323, 323, 324, 324, 324,1267 32 4, 325, 325, 325, 326, 326, 326, 326, 327, 328,1268 32 8, 328, 329, 329, 330, 330, 331, 331, 331, 332,1269 332, 332, 33 2, 332, 333, 333, 333, 333, 334, 334,1270 33 4, 335, 335, 335, 336, 336, 336, 336, 337, 337,1271 33 7, 338, 338, 338, 338, 338, 339, 339, 339, 339,1272 340, 34 0, 340, 341, 341, 341, 342, 342, 342, 342,1273 34 2, 342, 343, 343, 343, 344, 344, 344, 344, 344,1274 345, 345, 34 5, 345, 346, 346, 347, 347, 347, 348,1275 34 8, 349, 349, 349, 349, 349, 349, 350, 350, 350,1276 350, 350, 350, 350, 350, 35 0, 350, 351, 351, 351,1277 35 1, 352, 352, 352, 353, 353, 354, 354, 354, 354,1278 35 4, 354, 355, 355, 355, 355, 355, 355, 356, 357,1279 35 7, 357, 358, 358, 359, 3591236 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, 1237 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 1238 225, 226, 226, 227, 227, 227, 227, 228, 228, 228, 1239 228, 229, 229, 229, 229, 230, 230, 230, 231, 231, 1240 231, 231, 232, 232, 232, 233, 233, 234, 234, 234, 1241 234, 234, 234, 234, 234, 234, 235, 235, 236, 236, 1242 237, 237, 237, 237, 238, 238, 238, 238, 239, 239, 1243 240, 240, 240, 240, 240, 241, 241, 242, 243, 244, 1244 244, 244, 245, 245, 246, 246, 247, 247, 248, 248, 1245 248, 248, 248, 249, 249, 249, 249, 250, 250, 251, 1246 251, 252, 252, 253, 253, 253, 253, 254, 254, 254, 1247 254, 254, 255, 255, 255, 255, 255, 256, 256, 257, 1248 257, 258, 258, 259, 259, 259, 260, 260, 260, 261, 1249 261, 261, 262, 262, 262, 263, 263, 263, 263, 264, 1250 264, 265, 265, 266, 266, 266, 266, 267, 267, 268, 1251 268, 269, 269, 269, 269, 269, 270, 270, 270, 270, 1252 271, 271, 271, 272, 272, 274, 273, 273, 275, 275, 1253 275, 276, 276, 277, 277, 277, 278, 278, 278, 278, 1254 279, 279, 279, 280, 280, 281, 281, 282, 283, 282, 1255 284, 284, 285, 285, 286, 286, 286, 287, 287, 288, 1256 288, 289, 289, 290, 290, 291, 291, 291, 292, 291, 1257 291, 293, 293, 293, 294, 294, 294, 294, 294, 294, 1258 294, 294, 294, 295, 295, 295, 296, 297, 297, 298, 1259 298, 299, 299, 300, 301, 301, 302, 302, 302, 303, 1260 303, 303, 303, 304, 304, 304, 304, 305, 305, 306, 1261 306, 306, 307, 307, 307, 307, 308, 308, 309, 309, 1262 309, 310, 310, 310, 311, 311, 311, 312, 312, 312, 1263 313, 313, 313, 314, 314, 314, 315, 315, 315, 316, 1264 316, 316, 317, 317, 317, 317, 318, 318, 319, 319, 1265 319, 320, 320, 320, 320, 321, 321, 321, 322, 322, 1266 322, 322, 323, 323, 323, 324, 324, 324, 324, 325, 1267 325, 325, 326, 326, 326, 326, 327, 328, 328, 328, 1268 329, 329, 330, 330, 331, 331, 331, 332, 332, 332, 1269 332, 332, 333, 333, 333, 333, 334, 334, 334, 335, 1270 335, 335, 336, 336, 336, 336, 337, 337, 337, 338, 1271 338, 338, 338, 338, 339, 339, 339, 339, 340, 340, 1272 340, 341, 341, 341, 342, 342, 342, 342, 342, 342, 1273 343, 343, 343, 344, 344, 344, 344, 344, 345, 345, 1274 345, 345, 346, 346, 347, 347, 347, 348, 348, 349, 1275 349, 349, 349, 349, 349, 350, 350, 350, 350, 350, 1276 350, 350, 350, 350, 350, 351, 351, 351, 351, 352, 1277 352, 352, 353, 353, 354, 354, 354, 354, 354, 354, 1278 355, 355, 355, 355, 355, 355, 356, 357, 357, 357, 1279 358, 358, 359, 359 1280 1280 }; 1281 1281 … … 1314 1314 0, 5, 1, 2, 3, 1, 2, 1, 1, 1, 1315 1315 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1316 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1317 2, 3, 3, 1, 3, 1, 2, 2, 2, 4, 1318 4, 4, 4, 1, 2, 2, 3, 1, 2, 2, 1319 1, 2, 2, 3, 1, 2, 2, 1, 1, 4, 1320 2, 5, 9, 7, 10, 12, 7, 13, 2, 2, 1321 1, 2, 2, 3, 2, 3, 1, 2, 3, 2, 1322 2, 4, 0, 1, 2, 2, 1, 0, 1, 2, 1323 2, 5, 6, 2, 2, 4, 0, 2, 0, 1, 1324 1, 1, 5, 5, 5, 1, 5, 5, 9, 1, 1325 5, 0, 1, 1, 5, 1, 1, 5, 5, 1, 1326 3, 3, 4, 1, 1, 1, 1, 2, 1, 3, 1327 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1328 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1329 2, 0, 2, 1, 4, 1, 2, 3, 4, 2, 1330 2, 1, 2, 2, 5, 5, 7, 6, 1, 2, 1331 2, 3, 4, 5, 2, 2, 4, 0, 4, 2, 1332 1, 1, 1, 0, 2, 5, 5, 13, 1, 1, 1333 3, 3, 2, 3, 3, 2, 4, 1, 6, 9, 1334 0, 11, 1, 3, 3, 3, 1, 1, 5, 2, 1335 5, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1336 0, 6, 2, 1, 2, 4, 2, 3, 3, 3, 1337 4, 5, 5, 5, 6, 1, 1, 1, 3, 0, 1338 5, 0, 1, 1, 2, 6, 1, 3, 0, 1, 1339 4, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1340 3, 2, 3, 3, 2, 4, 4, 3, 8, 3, 1341 2, 1, 2, 6, 8, 3, 2, 3, 3, 4, 1342 4, 3, 1, 1, 1, 4, 6, 3, 2, 3, 1343 3, 4, 4, 3, 2, 1, 2, 2, 1, 3, 1344 2, 3, 3, 2, 4, 4, 3, 6, 8, 3, 1345 2, 1, 2, 2, 2, 3, 3, 2, 4, 4, 1346 3, 6, 8, 3, 2, 1, 2, 2, 1, 2, 1347 3, 3, 2, 4, 6, 8, 1, 2, 2, 1, 1316 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1317 3, 1, 3, 1, 2, 2, 2, 4, 4, 4, 1318 4, 1, 2, 2, 3, 1, 2, 2, 1, 2, 1319 2, 3, 1, 2, 2, 1, 1, 4, 2, 5, 1320 9, 7, 10, 12, 7, 13, 2, 2, 1, 2, 1321 2, 3, 2, 3, 1, 2, 3, 2, 2, 4, 1322 0, 1, 2, 2, 1, 0, 1, 2, 2, 5, 1323 6, 2, 2, 4, 0, 2, 0, 1, 1, 1, 1324 5, 5, 5, 1, 5, 5, 9, 1, 5, 0, 1325 1, 1, 5, 1, 1, 5, 5, 1, 3, 3, 1326 4, 1, 1, 1, 1, 2, 1, 3, 3, 1, 1327 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1328 1, 1, 1, 1, 2, 1, 1, 1, 2, 0, 1329 2, 1, 4, 1, 2, 3, 4, 2, 2, 1, 1330 2, 2, 5, 5, 7, 6, 1, 2, 2, 3, 1331 4, 5, 2, 2, 4, 0, 4, 2, 1, 1, 1332 1, 0, 2, 5, 5, 13, 1, 1, 3, 3, 1333 2, 3, 3, 2, 4, 1, 6, 9, 0, 11, 1334 1, 3, 3, 3, 1, 1, 5, 2, 5, 0, 1335 1, 1, 3, 0, 1, 1, 1, 1, 0, 6, 1336 2, 1, 2, 4, 2, 3, 3, 3, 4, 5, 1337 5, 5, 6, 1, 1, 1, 3, 0, 5, 0, 1338 1, 1, 2, 6, 1, 3, 0, 1, 4, 1, 1339 1, 1, 1, 2, 1, 2, 2, 1, 3, 2, 1340 3, 3, 2, 4, 4, 3, 8, 3, 2, 1, 1341 2, 6, 8, 3, 2, 3, 3, 4, 4, 3, 1342 1, 1, 1, 4, 6, 3, 2, 3, 3, 4, 1343 4, 3, 2, 1, 2, 2, 1, 3, 2, 3, 1344 3, 2, 4, 4, 3, 6, 8, 3, 2, 1, 1345 2, 2, 2, 3, 3, 2, 4, 4, 3, 6, 1346 8, 3, 2, 1, 2, 2, 1, 2, 3, 3, 1347 2, 4, 6, 8, 1, 2, 2, 1, 2, 2, 1348 3, 3, 1, 4, 4, 3, 5, 8, 3, 4, 1349 5, 1, 5, 5, 6, 6, 1, 2, 2, 1, 1348 1350 2, 2, 3, 3, 1, 4, 4, 3, 5, 8, 1349 3, 4, 5, 1, 5, 5, 6, 6, 1, 2, 1350 2, 1, 2, 2, 3, 3, 1, 4, 4, 3, 1351 5, 8, 3, 1, 2, 1, 4, 6, 5, 6, 1352 7, 7, 1, 2, 2, 1, 2, 2, 3, 3, 1353 1, 4, 4, 3, 8, 3, 1, 1, 2, 1, 1354 1, 2, 3, 2, 3, 2, 3, 5, 2, 6, 1355 3, 2, 5, 2, 6, 3, 2, 6, 6, 6, 1356 7, 1, 2, 1, 1, 1, 2, 3, 2, 3, 1357 2, 3, 5, 6, 2, 5, 6, 2, 5, 7, 1358 6, 6, 0, 1, 0, 2 1351 3, 1, 2, 1, 4, 6, 5, 6, 7, 7, 1352 1, 2, 2, 1, 2, 2, 3, 3, 1, 4, 1353 4, 3, 8, 3, 1, 1, 2, 1, 1, 2, 1354 3, 2, 3, 2, 3, 5, 2, 6, 3, 2, 1355 5, 2, 6, 3, 2, 6, 6, 6, 7, 1, 1356 2, 1, 1, 1, 2, 3, 2, 3, 2, 3, 1357 5, 6, 2, 5, 6, 2, 5, 7, 6, 6, 1358 0, 1, 0, 2 1359 1359 }; 1360 1360 … … 1365 1365 { 1366 1366 279, 279, 300, 298, 301, 299, 302, 303, 285, 287, 1367 286, 0, 288, 31 4, 306, 311, 309, 310, 308, 307,1368 31 2, 313, 315, 316, 317, 531, 531, 531, 0, 0,1369 0, 279, 279, 289, 304, 305, 7, 344, 0, 8,1370 13, 14, 0, 2, 279, 549, 9, 509, 507, 231,1371 3, 441, 3, 244, 0, 3, 3, 3, 232, 3,1372 0, 0, 0, 280, 281, 283, 279, 292, 295, 297,1373 3 25, 271, 318, 323, 272, 333, 273, 340, 337, 347,1374 0, 0, 348, 274, 458, 3, 3, 0, 2, 503,1375 508, 513, 284, 0, 0, 531, 561, 531, 2, 572,1376 573, 574, 279, 0, 714, 715, 0, 12, 279, 0,1377 255, 256, 0, 280, 275, 276, 277, 278, 510, 290,1378 380, 532, 533, 358, 359, 12, 432, 433, 11, 428,1379 4 31, 0, 487, 482, 473, 432, 433, 0, 0, 512,1380 0, 280, 279, 0, 0, 0, 0, 0, 0, 0,1381 0, 279, 2, 0, 716, 280, 566, 578, 720, 713,1382 711, 718, 0, 0, 238, 2, 0, 516, 426, 427,1383 425, 0, 0, 0, 0, 531, 0, 588, 0, 0,1384 529, 5 25, 531, 546, 531, 531, 526, 2, 527, 531,1385 5 85, 531, 531, 0, 0, 0, 279, 279, 298, 345,1386 0, 2, 279, 245, 282, 293, 326, 338, 0, 2,1387 0, 441, 246, 280, 319, 334, 341, 459, 0, 2,1388 0, 296, 320, 327, 328, 0, 335, 339, 342, 346,1389 2, 279, 350, 0, 383, 460, 464, 0, 0, 0,1390 1, 279, 2, 514, 560, 562, 279, 2, 724, 280,1391 727, 529, 529, 280, 0, 0, 0, 258, 531, 526,1392 2, 279, 0, 0, 279, 534, 2, 485, 2, 538,1393 0, 0, 0, 0, 17, 56, 4, 5, 6, 15,1394 0, 0, 0, 279, 2, 0, 279, 62, 63, 64,1395 65, 19, 18, 20, 23, 47, 66, 0, 69, 73,1396 76, 79, 84, 87, 89, 91, 93, 95, 97, 102,1397 4 79, 734, 439, 478, 0, 437, 438, 0, 550, 565,1398 5 68, 571, 577, 580, 583, 2, 279, 0, 3, 413,1399 0, 421, 280, 279, 292, 318, 272, 333, 340,3,1400 3, 395, 399, 409, 414, 458, 279, 415, 689, 690,1401 279, 416, 418, 279, 2, 567, 579, 712, 2, 2,1402 233, 2, 0, 0, 443, 442, 137, 2, 2, 235,1403 2, 2, 234, 2, 266, 2, 267, 0, 265, 0,1404 0, 0, 0, 0, 0, 0, 0, 0, 551, 590,1405 0, 441, 2, 545, 554, 643, 547, 548, 517, 279,1406 2, 584, 593, 586, 587, 0, 261, 279, 279, 324,1407 0, 280, 279, 279, 717, 721, 719, 518, 279, 529,1408 2 39, 247, 294, 0, 2, 519, 279, 483, 321, 322,1409 268, 336, 343, 279, 279, 2, 372, 279, 360, 0,1410 0, 366, 711, 279, 732, 386, 0, 461, 484, 236,1411 2 37, 504, 279, 423, 0, 279, 221, 0, 2, 223,1412 0, 2 80, 0, 241, 2, 242, 263, 0, 0, 2,1413 279, 529, 279, 470, 472, 471, 0, 0, 734, 0,1414 279, 0, 279, 474, 279, 544, 542, 543, 541, 0,1415 536, 539, 66, 101, 0, 279, 54, 50, 279, 59,1416 279, 279, 48, 49, 61, 2, 124, 0, 0, 435,1417 0, 434, 279, 52, 53, 16, 0, 30, 31, 35,1418 2, 0, 114, 115, 116, 117, 118, 119, 120, 121,1419 122, 123, 0, 0, 51, 0, 0, 0, 0, 0,1367 286, 0, 288, 312, 304, 309, 307, 308, 306, 305, 1368 310, 311, 313, 314, 315, 529, 529, 529, 0, 0, 1369 0, 279, 279, 289, 7, 342, 0, 8, 13, 14, 1370 0, 2, 279, 547, 9, 507, 505, 231, 3, 439, 1371 3, 244, 0, 3, 3, 3, 232, 3, 0, 0, 1372 0, 280, 281, 283, 279, 292, 295, 297, 323, 271, 1373 316, 321, 272, 331, 273, 338, 335, 345, 0, 0, 1374 346, 274, 456, 3, 3, 0, 2, 501, 506, 511, 1375 284, 0, 0, 529, 559, 529, 2, 570, 571, 572, 1376 279, 0, 712, 713, 0, 12, 279, 0, 255, 256, 1377 0, 280, 275, 276, 277, 278, 508, 290, 378, 530, 1378 531, 356, 357, 12, 430, 431, 11, 426, 429, 0, 1379 485, 480, 471, 430, 431, 0, 0, 510, 0, 280, 1380 279, 0, 0, 0, 0, 0, 0, 0, 0, 279, 1381 2, 0, 714, 280, 564, 576, 718, 711, 709, 716, 1382 0, 0, 238, 2, 0, 514, 424, 425, 423, 0, 1383 0, 0, 0, 529, 0, 586, 0, 0, 527, 523, 1384 529, 544, 529, 529, 524, 2, 525, 529, 583, 529, 1385 529, 0, 0, 0, 279, 279, 298, 343, 0, 2, 1386 279, 245, 282, 293, 324, 336, 0, 2, 0, 439, 1387 246, 280, 317, 332, 339, 457, 0, 2, 0, 296, 1388 318, 325, 326, 0, 333, 337, 340, 344, 2, 279, 1389 348, 0, 381, 458, 462, 0, 0, 0, 1, 279, 1390 2, 512, 558, 560, 279, 2, 722, 280, 725, 527, 1391 527, 280, 0, 0, 0, 258, 529, 524, 2, 279, 1392 0, 0, 279, 532, 2, 483, 2, 536, 0, 0, 1393 0, 0, 17, 56, 4, 5, 6, 15, 0, 0, 1394 0, 279, 2, 0, 279, 62, 63, 64, 65, 19, 1395 18, 20, 23, 47, 66, 0, 69, 73, 76, 79, 1396 84, 87, 89, 91, 93, 95, 97, 102, 477, 732, 1397 437, 476, 0, 435, 436, 0, 548, 563, 566, 569, 1398 575, 578, 581, 2, 279, 0, 3, 411, 0, 419, 1399 280, 279, 292, 316, 272, 331, 338, 3, 3, 393, 1400 397, 407, 412, 456, 279, 413, 687, 688, 279, 414, 1401 416, 279, 2, 565, 577, 710, 2, 2, 233, 2, 1402 0, 0, 441, 440, 137, 2, 2, 235, 2, 2, 1403 234, 2, 266, 2, 267, 0, 265, 0, 0, 0, 1404 0, 0, 0, 0, 0, 0, 549, 588, 0, 439, 1405 2, 543, 552, 641, 545, 546, 515, 279, 2, 582, 1406 591, 584, 585, 0, 261, 279, 279, 322, 0, 280, 1407 279, 279, 715, 719, 717, 516, 279, 527, 239, 247, 1408 294, 0, 2, 517, 279, 481, 319, 320, 268, 334, 1409 341, 279, 279, 2, 370, 279, 358, 0, 0, 364, 1410 709, 279, 730, 384, 0, 459, 482, 236, 237, 502, 1411 279, 421, 0, 279, 221, 0, 2, 223, 0, 280, 1412 0, 241, 2, 242, 263, 0, 0, 2, 279, 527, 1413 279, 468, 470, 469, 0, 0, 732, 0, 279, 0, 1414 279, 472, 279, 542, 540, 541, 539, 0, 534, 537, 1415 66, 101, 0, 279, 54, 50, 279, 59, 279, 279, 1416 48, 49, 61, 2, 124, 0, 0, 433, 0, 432, 1417 279, 52, 53, 16, 0, 30, 31, 35, 2, 0, 1418 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 1419 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 1420 1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421 0, 0, 0, 0, 0, 105, 2, 629, 440, 626, 1422 531, 531, 634, 462, 279, 2, 569, 2, 570, 0, 1423 581, 582, 279, 2, 279, 0, 691, 280, 695, 686, 1424 687, 693, 279, 0, 618, 2, 2, 651, 531, 734, 1425 601, 531, 531, 734, 531, 615, 531, 531, 665, 422, 1426 648, 531, 531, 656, 663, 279, 417, 280, 0, 0, 1427 279, 701, 280, 706, 734, 698, 279, 703, 734, 0, 1428 279, 279, 0, 3, 17, 2, 0, 0, 445, 732, 1429 0, 0, 451, 225, 0, 279, 0, 0, 0, 529, 1430 553, 557, 559, 589, 592, 596, 599, 552, 591, 0, 1431 269, 3, 0, 279, 262, 0, 0, 0, 0, 260, 1432 0, 2, 0, 0, 243, 520, 279, 0, 439, 3, 1433 3, 0, 0, 279, 0, 0, 675, 370, 373, 377, 1434 531, 377, 680, 376, 672, 531, 531, 349, 361, 369, 1435 362, 531, 364, 367, 279, 733, 0, 0, 384, 732, 1436 280, 3, 402, 3, 406, 405, 575, 0, 515, 279, 1437 3, 3, 279, 421, 280, 3, 415, 416, 2, 0, 1438 0, 0, 469, 291, 279, 465, 467, 3, 2, 2, 1439 0, 486, 3, 0, 538, 126, 0, 210, 0, 0, 1440 2, 0, 0, 36, 0, 0, 279, 21, 0, 22, 1441 0, 675, 436, 0, 106, 0, 3, 2, 28, 2, 1442 0, 33, 0, 2, 26, 103, 104, 70, 71, 72, 1443 74, 75, 77, 78, 82, 83, 80, 81, 85, 86, 1444 88, 90, 92, 94, 96, 0, 0, 735, 279, 0, 1445 0, 0, 630, 631, 627, 628, 481, 480, 279, 0, 1446 0, 0, 280, 279, 279, 645, 688, 344, 0, 722, 1447 279, 725, 644, 2, 279, 0, 0, 0, 0, 0, 1448 0, 0, 0, 3, 652, 604, 619, 653, 2, 600, 1449 607, 419, 602, 603, 420, 2, 614, 622, 616, 617, 1450 649, 650, 664, 692, 696, 694, 734, 253, 2, 728, 1451 2, 410, 700, 705, 411, 279, 3, 389, 3, 3, 1452 3, 441, 0, 3, 3, 2, 453, 450, 733, 0, 1453 446, 2, 449, 452, 0, 279, 226, 248, 3, 257, 1454 259, 0, 441, 2, 555, 556, 2, 594, 595, 0, 1455 3, 0, 521, 3, 330, 329, 332, 331, 463, 279, 1456 0, 522, 0, 523, 2, 629, 0, 0, 363, 365, 1457 2, 0, 0, 0, 0, 0, 379, 676, 677, 374, 1458 378, 375, 673, 674, 368, 372, 351, 386, 381, 387, 1459 0, 0, 0, 424, 224, 0, 0, 3, 2, 651, 1460 417, 0, 511, 0, 734, 473, 0, 279, 279, 279, 1461 0, 535, 537, 127, 0, 206, 0, 0, 211, 212, 1462 55, 60, 279, 0, 58, 57, 0, 0, 125, 676, 1463 0, 67, 68, 107, 112, 3, 108, 106, 0, 0, 1464 3, 25, 35, 3, 0, 99, 0, 3, 633, 637, 1465 640, 632, 3, 576, 108, 2, 279, 3, 3, 280, 1466 0, 2, 2, 723, 726, 0, 3, 606, 610, 613, 1467 621, 655, 659, 662, 279, 0, 3, 605, 620, 654, 1468 279, 279, 412, 279, 279, 279, 0, 0, 0, 0, 1469 240, 108, 0, 101, 0, 3, 3, 0, 447, 0, 1470 444, 0, 0, 229, 279, 0, 0, 126, 0, 0, 1471 0, 0, 0, 126, 0, 0, 0, 2, 0, 0, 1472 3, 128, 129, 2, 139, 130, 131, 132, 133, 134, 1473 135, 141, 143, 0, 0, 0, 270, 279, 279, 531, 1474 641, 0, 0, 0, 524, 630, 0, 0, 279, 279, 1475 679, 683, 685, 678, 371, 385, 382, 563, 2, 647, 1476 646, 0, 652, 2, 466, 468, 488, 3, 496, 497, 1477 0, 2, 492, 3, 3, 0, 0, 540, 0, 0, 1478 210, 0, 3, 37, 108, 732, 106, 0, 3, 644, 1479 42, 3, 40, 3, 34, 0, 3, 98, 100, 0, 1480 2, 635, 636, 0, 697, 279, 702, 279, 0, 0, 1481 0, 3, 279, 279, 279, 621, 0, 2, 608, 609, 1482 2, 623, 2, 657, 658, 0, 666, 0, 3, 0, 1483 3, 3, 3, 3, 397, 396, 400, 0, 731, 2, 1484 2, 730, 109, 0, 0, 0, 0, 3, 448, 3, 1485 0, 227, 142, 3, 280, 279, 0, 0, 0, 0, 1486 2, 187, 0, 185, 0, 0, 0, 0, 0, 0, 1487 191, 0, 279, 531, 147, 144, 279, 0, 0, 252, 1488 264, 3, 3, 530, 642, 597, 279, 279, 279, 353, 1489 356, 0, 2, 681, 682, 279, 251, 279, 0, 499, 1490 476, 279, 0, 0, 475, 490, 0, 207, 0, 213, 1491 106, 0, 0, 113, 110, 0, 0, 0, 0, 0, 1492 0, 24, 0, 638, 279, 564, 699, 704, 707, 708, 1493 709, 0, 3, 3, 660, 279, 279, 279, 3, 3, 1494 0, 668, 0, 0, 0, 0, 729, 279, 279, 3, 1495 528, 109, 455, 0, 0, 230, 280, 0, 0, 0, 1496 0, 279, 188, 186, 0, 183, 189, 0, 0, 0, 1497 192, 195, 193, 190, 0, 126, 140, 138, 228, 0, 1498 0, 0, 279, 279, 108, 279, 404, 408, 407, 0, 1499 493, 2, 494, 2, 495, 489, 279, 214, 0, 0, 1500 3, 644, 32, 111, 2, 45, 2, 43, 41, 29, 1501 109, 27, 3, 710, 0, 0, 3, 3, 3, 0, 1502 0, 667, 669, 611, 624, 254, 2, 394, 3, 393, 1503 0, 457, 454, 126, 0, 0, 126, 3, 0, 126, 1504 184, 0, 2, 200, 194, 0, 108, 136, 558, 598, 1505 0, 352, 279, 3, 2, 0, 0, 2, 208, 215, 1506 0, 0, 0, 0, 0, 0, 250, 249, 0, 0, 1507 0, 670, 671, 279, 0, 456, 148, 0, 0, 2, 1508 161, 126, 150, 0, 178, 0, 126, 0, 2, 152, 1509 0, 2, 2, 279, 0, 354, 0, 279, 498, 500, 1510 491, 0, 0, 111, 38, 3, 3, 639, 612, 625, 1511 661, 398, 126, 154, 157, 0, 156, 160, 3, 163, 1512 162, 0, 126, 180, 126, 3, 0, 279, 0, 2, 1513 279, 279, 684, 2, 209, 216, 0, 0, 0, 149, 1514 0, 0, 159, 217, 164, 2, 219, 179, 0, 182, 1515 168, 196, 3, 201, 205, 0, 279, 355, 279, 0, 1516 39, 46, 44, 155, 158, 126, 0, 165, 279, 126, 1517 126, 0, 169, 0, 0, 675, 202, 203, 204, 197, 1518 3, 357, 279, 145, 166, 151, 126, 220, 181, 176, 1519 174, 170, 153, 126, 0, 676, 0, 0, 146, 167, 1520 177, 171, 175, 174, 172, 3, 0, 477, 173, 198, 1521 3, 199 1421 0, 0, 0, 105, 2, 627, 438, 624, 529, 529, 1422 632, 460, 279, 2, 567, 2, 568, 0, 579, 580, 1423 279, 2, 279, 0, 689, 280, 693, 684, 685, 691, 1424 279, 0, 616, 2, 2, 649, 529, 732, 599, 529, 1425 529, 732, 529, 613, 529, 529, 663, 420, 646, 529, 1426 529, 654, 661, 279, 415, 280, 0, 0, 279, 699, 1427 280, 704, 732, 696, 279, 701, 732, 0, 279, 279, 1428 0, 3, 17, 2, 0, 0, 443, 730, 0, 0, 1429 449, 225, 0, 279, 0, 0, 0, 527, 551, 555, 1430 557, 587, 590, 594, 597, 550, 589, 0, 269, 3, 1431 0, 279, 262, 0, 0, 0, 0, 260, 0, 2, 1432 0, 0, 243, 518, 279, 0, 437, 3, 3, 0, 1433 0, 279, 0, 0, 673, 368, 371, 375, 529, 375, 1434 678, 374, 670, 529, 529, 347, 359, 367, 360, 529, 1435 362, 365, 279, 731, 0, 0, 382, 730, 280, 3, 1436 400, 3, 404, 403, 573, 0, 513, 279, 3, 3, 1437 279, 419, 280, 3, 413, 414, 2, 0, 0, 0, 1438 467, 291, 279, 463, 465, 3, 2, 2, 0, 484, 1439 3, 0, 536, 126, 0, 210, 0, 0, 2, 0, 1440 0, 36, 0, 0, 279, 21, 0, 22, 0, 673, 1441 434, 0, 106, 0, 3, 2, 28, 2, 0, 33, 1442 0, 2, 26, 103, 104, 70, 71, 72, 74, 75, 1443 77, 78, 82, 83, 80, 81, 85, 86, 88, 90, 1444 92, 94, 96, 0, 0, 733, 279, 0, 0, 0, 1445 628, 629, 625, 626, 479, 478, 279, 0, 0, 0, 1446 280, 279, 279, 643, 686, 342, 0, 720, 279, 723, 1447 642, 2, 279, 0, 0, 0, 0, 0, 0, 0, 1448 0, 3, 650, 602, 617, 651, 2, 598, 605, 417, 1449 600, 601, 418, 2, 612, 620, 614, 615, 647, 648, 1450 662, 690, 694, 692, 732, 253, 2, 726, 2, 408, 1451 698, 703, 409, 279, 3, 387, 3, 3, 3, 439, 1452 0, 3, 3, 2, 451, 448, 731, 0, 444, 2, 1453 447, 450, 0, 279, 226, 248, 3, 257, 259, 0, 1454 439, 2, 553, 554, 2, 592, 593, 0, 3, 0, 1455 519, 3, 328, 327, 330, 329, 461, 279, 0, 520, 1456 0, 521, 2, 627, 0, 0, 361, 363, 2, 0, 1457 0, 0, 0, 0, 377, 674, 675, 372, 376, 373, 1458 671, 672, 366, 370, 349, 384, 379, 385, 0, 0, 1459 0, 422, 224, 0, 0, 3, 2, 649, 415, 0, 1460 509, 0, 732, 471, 0, 279, 279, 279, 0, 533, 1461 535, 127, 0, 206, 0, 0, 211, 212, 55, 60, 1462 279, 0, 58, 57, 0, 0, 125, 674, 0, 67, 1463 68, 107, 112, 3, 108, 106, 0, 0, 3, 25, 1464 35, 3, 0, 99, 0, 3, 631, 635, 638, 630, 1465 3, 574, 108, 2, 279, 3, 3, 280, 0, 2, 1466 2, 721, 724, 0, 3, 604, 608, 611, 619, 653, 1467 657, 660, 279, 0, 3, 603, 618, 652, 279, 279, 1468 410, 279, 279, 279, 0, 0, 0, 0, 240, 108, 1469 0, 101, 0, 3, 3, 0, 445, 0, 442, 0, 1470 0, 229, 279, 0, 0, 126, 0, 0, 0, 0, 1471 0, 126, 0, 0, 0, 2, 0, 0, 3, 128, 1472 129, 2, 139, 130, 131, 132, 133, 134, 135, 141, 1473 143, 0, 0, 0, 270, 279, 279, 529, 639, 0, 1474 0, 0, 522, 628, 0, 0, 279, 279, 677, 681, 1475 683, 676, 369, 383, 380, 561, 2, 645, 644, 0, 1476 650, 2, 464, 466, 486, 3, 494, 495, 0, 2, 1477 490, 3, 3, 0, 0, 538, 0, 0, 210, 0, 1478 3, 37, 108, 730, 106, 0, 3, 642, 42, 3, 1479 40, 3, 34, 0, 3, 98, 100, 0, 2, 633, 1480 634, 0, 695, 279, 700, 279, 0, 0, 0, 3, 1481 279, 279, 279, 619, 0, 2, 606, 607, 2, 621, 1482 2, 655, 656, 0, 664, 0, 3, 0, 3, 3, 1483 3, 3, 395, 394, 398, 0, 729, 2, 2, 728, 1484 109, 0, 0, 0, 0, 3, 446, 3, 0, 227, 1485 142, 3, 280, 279, 0, 0, 0, 0, 2, 187, 1486 0, 185, 0, 0, 0, 0, 0, 0, 191, 0, 1487 279, 529, 147, 144, 279, 0, 0, 252, 264, 3, 1488 3, 528, 640, 595, 279, 279, 279, 351, 354, 0, 1489 2, 679, 680, 279, 251, 279, 0, 497, 474, 279, 1490 0, 0, 473, 488, 0, 207, 0, 213, 106, 0, 1491 0, 113, 110, 0, 0, 0, 0, 0, 0, 24, 1492 0, 636, 279, 562, 697, 702, 705, 706, 707, 0, 1493 3, 3, 658, 279, 279, 279, 3, 3, 0, 666, 1494 0, 0, 0, 0, 727, 279, 279, 3, 526, 109, 1495 453, 0, 0, 230, 280, 0, 0, 0, 0, 279, 1496 188, 186, 0, 183, 189, 0, 0, 0, 192, 195, 1497 193, 190, 0, 126, 140, 138, 228, 0, 0, 0, 1498 279, 279, 108, 279, 402, 406, 405, 0, 491, 2, 1499 492, 2, 493, 487, 279, 214, 0, 0, 3, 642, 1500 32, 111, 2, 45, 2, 43, 41, 29, 109, 27, 1501 3, 708, 0, 0, 3, 3, 3, 0, 0, 665, 1502 667, 609, 622, 254, 2, 392, 3, 391, 0, 455, 1503 452, 126, 0, 0, 126, 3, 0, 126, 184, 0, 1504 2, 200, 194, 0, 108, 136, 556, 596, 0, 350, 1505 279, 3, 2, 0, 0, 2, 208, 215, 0, 0, 1506 0, 0, 0, 0, 250, 249, 0, 0, 0, 668, 1507 669, 279, 0, 454, 148, 0, 0, 2, 161, 126, 1508 150, 0, 178, 0, 126, 0, 2, 152, 0, 2, 1509 2, 279, 0, 352, 0, 279, 496, 498, 489, 0, 1510 0, 111, 38, 3, 3, 637, 610, 623, 659, 396, 1511 126, 154, 157, 0, 156, 160, 3, 163, 162, 0, 1512 126, 180, 126, 3, 0, 279, 0, 2, 279, 279, 1513 682, 2, 209, 216, 0, 0, 0, 149, 0, 0, 1514 159, 217, 164, 2, 219, 179, 0, 182, 168, 196, 1515 3, 201, 205, 0, 279, 353, 279, 0, 39, 46, 1516 44, 155, 158, 126, 0, 165, 279, 126, 126, 0, 1517 169, 0, 0, 673, 202, 203, 204, 197, 3, 355, 1518 279, 145, 166, 151, 126, 220, 181, 176, 174, 170, 1519 153, 126, 0, 674, 0, 0, 146, 167, 177, 171, 1520 175, 174, 172, 3, 0, 475, 173, 198, 3, 199 1522 1521 }; 1523 1522 … … 1525 1524 static const yytype_int16 yydefgoto[] = 1526 1525 { 1527 -1, 81 4, 456, 291, 45, 129, 130, 292, 293, 294,1528 29 5, 760, 742, 1131, 1132, 296, 297, 298, 299, 300,1529 301, 302, 303, 304, 305, 306, 307, 308, 309, 1034,1530 50 6, 974, 311, 975, 533, 953, 1059, 1523, 1061, 1062,1531 106 3, 1064, 1524, 1065, 1066, 1454, 1455, 1420, 1421, 1422,1532 150 6, 1507, 1511, 1512, 1541, 1542, 1067, 1378, 1068, 1069,1533 13 10, 1311, 1312, 1492, 1070, 957, 958, 959, 1400, 1484,1534 148 5, 457, 458, 875, 876, 1042, 48, 49, 50, 51,1535 5 2, 329, 153, 55, 56, 57, 58, 59, 331, 61,1536 6 2, 253, 64, 65, 264, 333, 334, 68, 69, 70,1537 71, 114, 73, 196, 336, 115, 76, 116, 78, 79,1538 80, 437, 438, 439, 440, 677, 919, 678, 81, 82,1539 44 4, 698, 856, 857, 339, 340, 701, 702, 703, 341,1540 34 2, 343, 344, 454, 171, 131, 132, 510, 313, 164,1541 62 8, 629, 630, 631, 632, 83, 117, 477, 478, 945,1542 47 9, 267, 483, 314, 85, 133, 134, 86, 1336, 1111,1543 111 2, 1113, 1114, 87, 88, 719, 89, 263, 90, 91,1544 1 80, 1036, 664, 393, 121, 92, 489, 490, 491, 181,1545 25 8, 183, 184, 185, 259, 95, 96, 97, 98, 99,1546 100, 101, 188, 189, 190, 191, 192, 825, 590, 591,1547 59 2, 593, 594, 595, 596, 597, 558, 559, 560, 561,1548 68 2, 102, 599, 600, 601, 602, 603, 604, 918, 684,1549 68 5, 686, 578, 347, 348, 349, 350, 441, 159, 104,1550 10 5, 351, 352, 696, 5551526 -1, 812, 454, 289, 43, 127, 128, 290, 291, 292, 1527 293, 758, 740, 1129, 1130, 294, 295, 296, 297, 298, 1528 299, 300, 301, 302, 303, 304, 305, 306, 307, 1032, 1529 504, 972, 309, 973, 531, 951, 1057, 1521, 1059, 1060, 1530 1061, 1062, 1522, 1063, 1064, 1452, 1453, 1418, 1419, 1420, 1531 1504, 1505, 1509, 1510, 1539, 1540, 1065, 1376, 1066, 1067, 1532 1308, 1309, 1310, 1490, 1068, 955, 956, 957, 1398, 1482, 1533 1483, 455, 456, 873, 874, 1040, 46, 47, 48, 49, 1534 50, 327, 151, 53, 54, 55, 56, 57, 329, 59, 1535 60, 251, 62, 63, 262, 331, 332, 66, 67, 68, 1536 69, 112, 71, 194, 334, 113, 74, 114, 76, 77, 1537 78, 435, 436, 437, 438, 675, 917, 676, 79, 80, 1538 442, 696, 854, 855, 337, 338, 699, 700, 701, 339, 1539 340, 341, 342, 452, 169, 129, 130, 508, 311, 162, 1540 626, 627, 628, 629, 630, 81, 115, 475, 476, 943, 1541 477, 265, 481, 312, 83, 131, 132, 84, 1334, 1109, 1542 1110, 1111, 1112, 85, 86, 717, 87, 261, 88, 89, 1543 178, 1034, 662, 391, 119, 90, 487, 488, 489, 179, 1544 256, 181, 182, 183, 257, 93, 94, 95, 96, 97, 1545 98, 99, 186, 187, 188, 189, 190, 823, 588, 589, 1546 590, 591, 592, 593, 594, 595, 556, 557, 558, 559, 1547 680, 100, 597, 598, 599, 600, 601, 602, 916, 682, 1548 683, 684, 576, 345, 346, 347, 348, 439, 157, 102, 1549 103, 349, 350, 694, 553 1551 1550 }; 1552 1551 1553 1552 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1554 1553 STATE-NUM. */ 1555 #define YYPACT_NINF -1 3061554 #define YYPACT_NINF -1291 1556 1555 static const yytype_int16 yypact[] = 1557 1556 { 1558 6112, 10121, -1306, 45, -1306, -1306, -1306, -1306, -1306, -1306, 1559 -1306, 27, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1560 -1306, -1306, -1306, -1306, -1306, 94, 94, 94, 808, 829, 1561 69, 7553, 431, -1306, -1306, -1306, -1306, -1306, 134, -1306, 1562 -1306, -1306, 1527, -1306, 4935, -1306, -1306, -1306, -1306, -1306, 1563 -1306, 26, 185, -1306, 1590, -1306, -1306, -1306, -1306, 194, 1564 544, 310, 103, 4656, -1306, -1306, 9491, 1148, -1306, -1306, 1565 -1306, 779, 321, 3969, 180, 1184, 779, 1266, -1306, -1306, 1566 614, 276, -1306, 779, 1398, 228, -1306, 350, 396, -1306, 1567 -1306, -1306, -1306, 244, 185, 94, -1306, 94, -1306, -1306, 1568 -1306, -1306, 10357, 1590, -1306, -1306, 1590, -1306, 10416, 306, 1569 -1306, -1306, 946, 10475, -1306, 431, 431, 431, -1306, -1306, 1570 -1306, 94, -1306, -1306, -1306, 360, 406, 415, -1306, -1306, 1571 -1306, 427, -1306, -1306, -1306, -1306, -1306, 436, 460, -1306, 1572 463, 431, 8930, 3037, 712, 484, 502, 510, 513, 524, 1573 541, 6995, -1306, 566, -1306, 9560, -1306, -1306, -1306, -1306, 1574 571, -1306, 234, 4195, -1306, 344, 251, -1306, -1306, -1306, 1575 -1306, 601, 345, 349, 389, 94, 611, -1306, 544, 2525, 1576 633, -1306, 129, -1306, 94, 94, 185, -1306, -1306, 222, 1577 -1306, 94, 94, 2900, 637, 644, 431, 11276, -1306, -1306, 1578 661, -1306, 4935, -1306, -1306, 779, -1306, -1306, 185, -1306, 1579 1590, 26, -1306, 7796, -1306, 431, 431, 431, 185, -1306, 1580 808, -1306, 6454, -1306, -1306, 657, 431, -1306, 431, -1306, 1581 -1306, 10180, 647, 829, 671, 431, -1306, 808, 669, 673, 1582 -1306, 7553, 752, -1306, -1306, -1306, 9361, -1306, -1306, 5911, 1583 -1306, 633, 191, 10475, 5789, 946, 2900, -1306, 291, -1306, 1584 -1306, 10416, 1590, 704, 2725, -1306, -1306, 255, -1306, 11839, 1585 11556, 11613, 11556, 11670, -1306, 734, -1306, -1306, -1306, -1306, 1586 11727, 11727, 752, 8612, -1306, 11556, 9036, -1306, -1306, -1306, 1587 -1306, -1306, -1306, 770, -1306, 468, 1857, 11556, -1306, 446, 1588 717, 853, 280, 793, 751, 737, 733, 795, 166, -1306, 1589 -1306, 778, 551, -1306, 298, -1306, -1306, 3037, -1306, -1306, 1590 401, 802, -1306, 490, 802, -1306, 8718, 811, -1306, -1306, 1591 1169, 608, 8252, 11276, 779, -1306, 779, 431, 431, -1306, 1592 -1306, -1306, -1306, -1306, -1306, 431, 10534, 1590, -1306, -1306, 1593 10593, 1775, -1306, 6995, -1306, -1306, -1306, -1306, -1306, -1306, 1594 -1306, -1306, 4717, 11556, -1306, -1306, -1306, -1306, -1306, -1306, 1595 -1306, -1306, -1306, -1306, -1306, -1306, -1306, 946, -1306, 807, 1596 826, 840, 846, 849, 855, 868, 875, 2525, -1306, -1306, 1597 820, 26, -1306, -1306, -1306, 881, -1306, -1306, -1306, 9361, 1598 -1306, -1306, -1306, -1306, -1306, 2900, -1306, 8930, 8930, -1306, 1599 946, 12073, 8930, 7904, -1306, -1306, -1306, -1306, 9361, 191, 1600 -1306, -1306, 779, 185, -1306, -1306, 9361, -1306, 6576, -1306, 1601 -1306, 431, 431, 8506, 10652, -1306, 1231, 3253, -1306, 400, 1602 418, 829, -1306, 10180, 884, 864, 829, 431, -1306, -1306, 1603 -1306, -1306, 11012, -1306, 521, 8172, -1306, 185, 891, -1306, 1604 946, 11914, 5969, -1306, -1306, -1306, -1306, 916, 2900, -1306, 1605 8317, 633, 7444, -1306, -1306, -1306, 1642, 538, 778, 829, 1606 2725, 700, 10416, -1306, 2725, -1306, -1306, -1306, -1306, 572, 1607 -1306, 901, -1306, -1306, 122, 8612, -1306, -1306, 8612, -1306, 1608 8824, 8612, -1306, -1306, -1306, -1306, -1306, 581, 912, 557, 1609 918, -1306, 6659, -1306, -1306, -1306, 100, -1306, -1306, 6125, 1610 -1306, 113, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1611 -1306, -1306, 5789, 5789, -1306, 11556, 11556, 11556, 11556, 11556, 1612 11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556, 1613 11556, 11556, 11556, 4485, 5789, -1306, 551, 858, -1306, -1306, 1614 94, 94, -1306, -1306, 8930, -1306, -1306, -1306, 881, 752, 1615 -1306, 881, 6659, -1306, 9142, 924, -1306, 10711, -1306, -1306, 1616 571, -1306, 9696, 928, -1306, 1037, -1306, 2282, 292, 778, 1617 -1306, 94, 94, 778, 300, -1306, 94, 94, 881, -1306, 1618 -1306, 94, 94, -1306, 802, 10770, 1590, 12045, 172, 352, 1619 10770, -1306, 10947, -1306, 778, -1306, 10534, -1306, 171, 931, 1620 7969, 7969, 1590, 4778, 929, -1306, 372, 935, -1306, 956, 1621 4195, 607, -1306, 1042, 1590, 7969, 752, 946, 752, 633, 1622 763, 802, -1306, -1306, 797, 802, -1306, -1306, -1306, 997, 1623 -1306, 11499, 185, 11012, -1306, 589, 976, 605, 984, -1306, 1624 626, -1306, 986, 185, -1306, -1306, 9361, 185, 1612, 980, 1625 983, 435, 443, 7107, 1354, 11556, 2791, -1306, -1306, 987, 1626 87, 987, -1306, -1306, -1306, 94, 94, -1306, -1306, 829, 1627 -1306, 94, -1306, -1306, 9764, 829, 996, 11556, -1306, 884, 1628 12045, -1306, -1306, 1003, -1306, -1306, -1306, 752, -1306, 11980, 1629 11556, -1306, 7969, 585, 8252, -1306, -1306, 571, 1001, 1002, 1630 1642, 3314, -1306, -1306, 2725, -1306, -1306, 980, -1306, -1306, 1631 1010, -1306, 980, 1013, 11839, 5789, 992, 1044, 1018, 1019, 1632 -1306, 1015, 1025, -1306, 1026, 1027, 6771, -1306, 5789, -1306, 1633 557, 926, -1306, 5040, 5789, 1029, 1022, -1306, -1306, -1306, 1634 629, -1306, 5789, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1635 446, 446, 717, 717, 853, 853, 853, 853, 280, 280, 1636 793, 751, 737, 733, 795, 11556, 886, -1306, 11012, 1032, 1637 1034, 1035, 858, -1306, -1306, -1306, -1306, -1306, 11012, 11499, 1638 653, 1038, 7219, 9248, 6995, -1306, -1306, 1030, 1043, -1306, 1639 10357, -1306, -1306, 1037, 11012, 923, 1045, 1048, 1049, 1056, 1640 1057, 1058, 1060, 3551, 2282, -1306, -1306, -1306, -1306, -1306, 1641 -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1642 -1306, -1306, 881, -1306, -1306, -1306, 778, -1306, -1306, -1306, 1643 -1306, -1306, -1306, -1306, -1306, 10239, -1306, -1306, 1061, 1062, 1644 -1306, 26, 1041, 1022, 4778, -1306, -1306, -1306, 4717, 1039, 1645 -1306, -1306, -1306, -1306, 829, 6270, 1111, -1306, -1306, -1306, 1646 -1306, 1047, 26, -1306, -1306, 881, -1306, -1306, 881, 347, 1647 11556, 1063, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 6995, 1648 899, -1306, 185, -1306, 1612, 2196, 1070, 1074, -1306, -1306, 1649 -1306, 1077, 953, 1076, 1086, 1087, -1306, 2791, -1306, -1306, 1650 -1306, -1306, -1306, -1306, -1306, 1231, -1306, 864, -1306, -1306, 1651 1083, 1089, 1084, -1306, -1306, 1095, 1107, -1306, 585, 1172, 1652 -1306, 375, -1306, 3314, 778, -1306, 1091, 2725, 10829, 8930, 1653 1114, -1306, -1306, 1109, 1116, -1306, 1118, 295, 1112, -1306, 1654 1117, 1117, 6659, 5789, -1306, -1306, 1117, 1120, -1306, 926, 1655 4717, -1306, -1306, -1306, -1306, 1119, 5240, 5789, 1121, 752, 1656 4778, -1306, 6125, -1306, 752, -1306, 5789, -1306, 828, 802, 1657 -1306, -1306, -1306, -1306, 9389, -1306, 8718, -1306, -1306, 7331, 1658 1127, -1306, -1306, -1306, -1306, 1131, -1306, 852, 802, -1306, 1659 870, 879, 802, -1306, 431, 1135, 5490, -1306, -1306, -1306, 1660 11012, 11012, -1306, 8382, 8382, 7969, 1133, 1132, 1134, 1139, 1661 -1306, -1306, 1144, 596, 62, 1022, -1306, 752, -1306, 4195, 1662 -1306, 5789, 458, -1306, 6547, 1149, 1151, 11442, 1152, 1153, 1663 52, 75, 37, 5789, 1158, 185, 4069, -1306, 1113, 1138, 1664 -1306, -1306, -1306, 1156, -1306, -1306, -1306, -1306, -1306, -1306, 1665 -1306, -1306, -1306, 829, 1162, 5789, -1306, 11012, 11012, 94, 1666 802, 1164, 1163, 1030, -1306, 2196, 819, 829, 6659, 10888, 1667 887, 802, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1668 -1306, 1179, 1172, -1306, -1306, 1165, -1306, 980, -1306, -1306, 1669 946, 1167, -1306, -1306, -1306, 662, 1183, -1306, 11556, 1161, 1670 1044, 1044, 1182, -1306, 9823, 956, 5789, 1189, 1119, 540, 1671 74, 1186, -1306, 1182, -1306, 1191, 1186, -1306, -1306, 1195, 1672 -1306, -1306, 881, 1197, -1306, 10534, -1306, 6883, 1198, 1200, 1673 1205, -1306, 10298, 7969, 7969, -1306, 1208, -1306, -1306, 881, 1674 -1306, -1306, -1306, -1306, 881, 5789, -1306, 5789, 11556, 1209, 1675 -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1213, -1306, -1306, 1676 -1306, -1306, -1306, 11556, 11556, 1212, 1214, 1186, -1306, -1306, 1677 829, -1306, -1306, -1306, 3779, 10829, 5789, 5789, 1272, 5789, 1678 -1306, -1306, 1203, -1306, 1204, 5789, 1206, 1207, 5789, 1006, 1679 -1306, 1215, 6659, 94, -1306, -1306, 6270, 1222, 477, -1306, 1680 -1306, -1306, -1306, -1306, 881, -1306, 9628, 8930, 10180, 1216, 1681 -1306, 1229, -1306, -1306, 881, 11248, -1306, 8317, 1217, -1306, 1682 -1306, 10829, 486, 495, -1306, 1230, 1245, -1306, 308, -1306, 1683 5789, 1244, 1242, -1306, -1306, 1248, 136, 146, 752, 1251, 1684 1254, -1306, 1256, -1306, 11012, -1306, -1306, -1306, -1306, -1306, 1685 -1306, 1257, -1306, -1306, -1306, 11012, 11012, 11012, -1306, -1306, 1686 1260, -1306, 1264, 1267, 1268, 646, -1306, 8036, 8144, -1306, 1687 -1306, 715, -1306, 1270, 1273, -1306, 8447, 690, 721, 1275, 1688 725, 6425, -1306, -1306, 508, -1306, -1306, 730, 1277, 185, 1689 1316, 1326, -1306, -1306, 1278, 11442, -1306, -1306, -1306, 1279, 1690 1282, 740, 9885, 10180, 5774, 11012, -1306, -1306, -1306, 1281, 1691 -1306, -1306, -1306, -1306, -1306, -1306, 10829, -1306, 1261, 1315, 1692 1119, 357, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1693 1283, -1306, -1306, -1306, 1289, 1293, -1306, -1306, -1306, 1295, 1694 1296, -1306, -1306, -1306, -1306, -1306, -1306, -1306, 1302, -1306, 1695 1301, -1306, -1306, 11442, 130, 5789, 11442, -1306, 1304, 5789, 1696 -1306, 155, 1328, -1306, -1306, 1314, 9458, -1306, -1306, -1306, 1697 320, -1306, 9944, -1306, -1306, 1590, 946, 1311, -1306, -1306, 1698 742, 1320, 5789, 752, 752, 1325, -1306, -1306, 1330, 1331, 1699 1334, -1306, -1306, 8382, 1329, -1306, 1401, 11556, 1333, -1306, 1700 -1306, 11362, -1306, 745, -1306, 1319, 11442, 1324, -1306, -1306, 1701 1336, -1306, 1355, 10180, 1343, -1306, 1352, 10829, -1306, -1306, 1702 -1306, 1332, 1387, 1358, -1306, 1186, 1186, -1306, -1306, -1306, 1703 -1306, -1306, 11442, 118, -1306, 954, -1306, -1306, 7662, -1306, 1704 -1306, 1339, 5789, -1306, 5789, 7662, 185, 10652, 1362, -1306, 1705 10003, 10180, -1306, 1364, -1306, -1306, 5789, 1365, 1370, -1306, 1706 11556, 11556, -1306, -1306, 1024, 101, -1306, -1306, 1356, -1306, 1707 1024, -1306, -1306, 1567, 752, 185, 10652, -1306, 10062, 1375, 1708 -1306, -1306, -1306, -1306, -1306, 11362, 1372, 1024, 7731, 5789, 1709 11282, 1377, 1024, 1380, 1567, 2919, -1306, -1306, -1306, -1306, 1710 -1306, -1306, 8930, -1306, 11127, -1306, 11362, -1306, -1306, 1361, 1711 11046, -1306, -1306, 11282, 185, 2919, 1385, 747, -1306, 11127, 1712 -1306, -1306, -1306, 11046, -1306, -1306, 185, -1306, -1306, -1306, 1713 -1306, -1306 1557 3767, 2676, -1291, 62, -1291, -1291, -1291, -1291, -1291, -1291, 1558 -1291, 146, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1559 -1291, -1291, -1291, -1291, -1291, 115, 115, 115, 905, 892, 1560 225, 4876, 1045, -1291, -1291, -1291, 234, -1291, -1291, -1291, 1561 678, -1291, 2287, -1291, -1291, -1291, -1291, -1291, -1291, 63, 1562 239, -1291, 1646, -1291, -1291, -1291, -1291, 252, 886, 360, 1563 99, 7577, -1291, -1291, 9303, 1009, -1291, -1291, -1291, 1359, 1564 399, 5014, 640, 618, 1359, 728, -1291, -1291, 365, 285, 1565 -1291, 1359, 1167, 282, -1291, 469, 486, -1291, -1291, -1291, 1566 -1291, 345, 239, 115, -1291, 115, -1291, -1291, -1291, -1291, 1567 10104, 1646, -1291, -1291, 1646, -1291, 10163, 377, -1291, -1291, 1568 1212, 10222, -1291, 1045, 1045, 1045, -1291, -1291, -1291, 115, 1569 -1291, -1291, -1291, 406, 455, 458, -1291, -1291, -1291, 466, 1570 -1291, -1291, -1291, -1291, -1291, 475, 515, -1291, 538, 1045, 1571 8846, 1230, 47, 506, 511, 552, 556, 559, 591, 7019, 1572 -1291, 604, -1291, 9372, -1291, -1291, -1291, -1291, 614, -1291, 1573 250, 3635, -1291, 620, 260, -1291, -1291, -1291, -1291, 645, 1574 270, 290, 311, 115, 629, -1291, 886, 1586, 701, -1291, 1575 122, -1291, 115, 115, 239, -1291, -1291, 145, -1291, 115, 1576 115, 2053, 660, 672, 1045, 11990, -1291, -1291, 676, -1291, 1577 2287, -1291, -1291, 1359, -1291, -1291, 239, -1291, 1646, 63, 1578 -1291, 7818, -1291, 1045, 1045, 1045, 239, -1291, 905, -1291, 1579 3082, -1291, -1291, 666, 1045, -1291, 1045, -1291, -1291, 5469, 1580 699, 892, 721, 1045, -1291, 905, 706, 710, -1291, 4876, 1581 778, -1291, -1291, -1291, 6212, -1291, -1291, 5247, -1291, 701, 1582 141, 10222, 11181, 1212, 2053, -1291, 171, -1291, -1291, 10163, 1583 1646, 744, 11930, -1291, -1291, 401, -1291, 11692, 11409, 11466, 1584 11409, 11523, -1291, 753, -1291, -1291, -1291, -1291, 11580, 11580, 1585 778, 8528, -1291, 11409, 8952, -1291, -1291, -1291, -1291, -1291, 1586 -1291, 782, -1291, 993, 2004, 11409, -1291, 364, 202, 603, 1587 611, 697, 758, 762, 769, 821, 44, -1291, -1291, 789, 1588 446, -1291, 353, -1291, -1291, 1230, -1291, -1291, 434, 816, 1589 -1291, 572, 816, -1291, 8634, 818, -1291, -1291, 1508, 1393, 1590 8274, 11990, 1359, -1291, 1359, 1045, 1045, -1291, -1291, -1291, 1591 -1291, -1291, -1291, 1045, 10281, 1646, -1291, -1291, 10340, 1905, 1592 -1291, 7019, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1593 5697, 11409, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1594 -1291, -1291, -1291, -1291, -1291, 1212, -1291, 936, 839, 846, 1595 864, 951, 873, 893, 897, 1586, -1291, -1291, 902, 63, 1596 -1291, -1291, -1291, 925, -1291, -1291, -1291, 6212, -1291, -1291, 1597 -1291, -1291, -1291, 2053, -1291, 8846, 8846, -1291, 1212, 12018, 1598 8846, 7926, -1291, -1291, -1291, -1291, 6212, 141, -1291, -1291, 1599 1359, 239, -1291, -1291, 6212, -1291, 3835, -1291, -1291, 1045, 1600 1045, 5848, 10399, -1291, 1122, 9570, -1291, 315, 316, 892, 1601 -1291, 5469, 935, 923, 892, 1045, -1291, -1291, -1291, -1291, 1602 10759, -1291, 387, 11958, -1291, 239, 964, -1291, 1212, 11767, 1603 11238, -1291, -1291, -1291, -1291, 999, 2053, -1291, 8339, 701, 1604 7468, -1291, -1291, -1291, 752, 594, 789, 892, 11930, 537, 1605 10163, -1291, 11930, -1291, -1291, -1291, -1291, 624, -1291, 973, 1606 -1291, -1291, 152, 8528, -1291, -1291, 8528, -1291, 8740, 8528, 1607 -1291, -1291, -1291, -1291, -1291, 664, 979, 483, 982, -1291, 1608 6675, -1291, -1291, -1291, 65, -1291, -1291, 11295, -1291, 91, 1609 -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1610 11181, 11181, -1291, 11409, 11409, 11409, 11409, 11409, 11409, 11409, 1611 11409, 11409, 11409, 11409, 11409, 11409, 11409, 11409, 11409, 11409, 1612 11409, 3856, 11181, -1291, 446, 1147, -1291, -1291, 115, 115, 1613 -1291, -1291, 8846, -1291, -1291, -1291, 925, 778, -1291, 925, 1614 6675, -1291, 9058, 989, -1291, 10458, -1291, -1291, 614, -1291, 1615 8198, 991, -1291, 306, -1291, 1892, 253, 789, -1291, 115, 1616 115, 789, 258, -1291, 115, 115, 925, -1291, -1291, 115, 1617 115, -1291, 816, 10517, 1646, 11898, 307, 330, 10517, -1291, 1618 10694, -1291, 789, -1291, 10281, -1291, 162, 1003, 7991, 7991, 1619 1646, 5948, 1007, -1291, 361, 1011, -1291, 1000, 3635, 682, 1620 -1291, 1096, 1646, 7991, 778, 1212, 778, 701, 705, 816, 1621 -1291, -1291, 717, 816, -1291, -1291, -1291, 1051, -1291, 11352, 1622 239, 10759, -1291, 702, 1025, 723, 1027, -1291, 734, -1291, 1623 1026, 239, -1291, -1291, 6212, 239, 1580, 1024, 1032, 341, 1624 385, 7131, 1763, 11409, 2122, -1291, -1291, 1035, 43, 1035, 1625 -1291, -1291, -1291, 115, 115, -1291, -1291, 892, -1291, 115, 1626 -1291, -1291, 9629, 892, 1028, 11409, -1291, 935, 11898, -1291, 1627 -1291, 1031, -1291, -1291, -1291, 778, -1291, 11833, 11409, -1291, 1628 7991, 675, 8274, -1291, -1291, 614, 1034, 1038, 752, 2429, 1629 -1291, -1291, 11930, -1291, -1291, 1024, -1291, -1291, 1047, -1291, 1630 1024, 1048, 11692, 11181, 1029, 1076, 1060, 1061, -1291, 1055, 1631 1064, -1291, 1065, 1067, 6788, -1291, 11181, -1291, 483, 1926, 1632 -1291, 6058, 11181, 1068, 1063, -1291, -1291, -1291, 756, -1291, 1633 11181, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 364, 364, 1634 202, 202, 603, 603, 603, 603, 611, 611, 697, 758, 1635 762, 769, 821, 11409, 790, -1291, 10759, 1072, 1073, 1080, 1636 1147, -1291, -1291, -1291, -1291, -1291, 10759, 11352, 760, 1081, 1637 7243, 9164, 7019, -1291, -1291, 1085, 1089, -1291, 10104, -1291, 1638 -1291, 306, 10759, 1010, 1090, 1092, 1093, 1098, 1099, 1100, 1639 1101, 4615, 1892, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1640 -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1641 925, -1291, -1291, -1291, 789, -1291, -1291, -1291, -1291, -1291, 1642 -1291, -1291, -1291, 9986, -1291, -1291, 1103, 1104, -1291, 63, 1643 1105, 1063, 5948, -1291, -1291, -1291, 5697, 1107, -1291, -1291, 1644 -1291, -1291, 892, 6285, 1187, -1291, -1291, -1291, -1291, 1106, 1645 63, -1291, -1291, 925, -1291, -1291, 925, 175, 11409, 1112, 1646 -1291, -1291, -1291, -1291, -1291, -1291, -1291, 7019, 512, -1291, 1647 239, -1291, 1580, 1740, 1132, 1133, -1291, -1291, -1291, 1120, 1648 880, 1136, 1143, 1144, -1291, 2122, -1291, -1291, -1291, -1291, 1649 -1291, -1291, -1291, 1122, -1291, 923, -1291, -1291, 1140, 1149, 1650 1148, -1291, -1291, 1156, 1157, -1291, 675, 2323, -1291, 374, 1651 -1291, 2429, 789, -1291, 1150, 11930, 10576, 8846, 1160, -1291, 1652 -1291, 1155, 1163, -1291, 1165, 173, 1161, -1291, 1166, 1166, 1653 6675, 11181, -1291, -1291, 1166, 1169, -1291, 1926, 5697, -1291, 1654 -1291, -1291, -1291, 1172, 4760, 11181, 1180, 778, 5948, -1291, 1655 11295, -1291, 778, -1291, 11181, -1291, 792, 816, -1291, -1291, 1656 -1291, -1291, 5313, -1291, 8634, -1291, -1291, 7355, 1183, -1291, 1657 -1291, -1291, -1291, 1191, -1291, 828, 816, -1291, 866, 887, 1658 816, -1291, 1045, 1190, 4985, -1291, -1291, -1291, 10759, 10759, 1659 -1291, 8404, 8404, 7991, 1194, 1192, 1193, 1200, -1291, -1291, 1660 1199, 450, 221, 1063, -1291, 778, -1291, 3635, -1291, 11181, 1661 501, -1291, 6563, 1207, 1208, 11124, 1209, 1210, 112, 142, 1662 54, 11181, 1213, 239, 5569, -1291, 1211, 1197, -1291, -1291, 1663 -1291, 1215, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1664 -1291, 892, 1223, 11181, -1291, 10759, 10759, 115, 816, 1224, 1665 1225, 1085, -1291, 1740, 651, 892, 6675, 10635, 924, 816, 1666 -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1226, 1667 2323, -1291, -1291, 1206, -1291, 1024, -1291, -1291, 1212, 1228, 1668 -1291, -1291, -1291, 765, 1232, -1291, 11409, 1216, 1076, 1076, 1669 1234, -1291, 9688, 1000, 11181, 1240, 1172, 563, 227, 1239, 1670 -1291, 1234, -1291, 1246, 1239, -1291, -1291, 1251, -1291, -1291, 1671 925, 1252, -1291, 10281, -1291, 6907, 1254, 1256, 1257, -1291, 1672 10045, 7991, 7991, -1291, 1253, -1291, -1291, 925, -1291, -1291, 1673 -1291, -1291, 925, 11181, -1291, 11181, 11409, 1267, -1291, -1291, 1674 -1291, -1291, -1291, -1291, -1291, 1273, -1291, -1291, -1291, -1291, 1675 -1291, 11409, 11409, 1275, 1276, 1239, -1291, -1291, 892, -1291, 1676 -1291, -1291, 7753, 10576, 11181, 11181, 1287, 11181, -1291, -1291, 1677 1260, -1291, 1263, 11181, 1264, 1266, 11181, 938, -1291, 1268, 1678 6675, 115, -1291, -1291, 6285, 1229, 542, -1291, -1291, -1291, 1679 -1291, -1291, 925, -1291, 9440, 8846, 5469, 1285, -1291, 1289, 1680 -1291, -1291, 925, 10967, -1291, 8339, 1295, -1291, -1291, 10576, 1681 548, 582, -1291, 1291, 1297, -1291, 219, -1291, 11181, 1298, 1682 1299, -1291, -1291, 1301, 98, 168, 778, 1303, 1305, -1291, 1683 1306, -1291, 10759, -1291, -1291, -1291, -1291, -1291, -1291, 1309, 1684 -1291, -1291, -1291, 10759, 10759, 10759, -1291, -1291, 1311, -1291, 1685 1315, 1318, 1322, 507, -1291, 8058, 8166, -1291, -1291, 689, 1686 -1291, 1321, 1325, -1291, 8469, 767, 776, 1329, 779, 6439, 1687 -1291, -1291, 609, -1291, -1291, 784, 1330, 239, 1371, 1379, 1688 -1291, -1291, 1332, 11124, -1291, -1291, -1291, 1336, 1337, 808, 1689 9750, 5469, 9508, 10759, -1291, -1291, -1291, 1328, -1291, -1291, 1690 -1291, -1291, -1291, -1291, 10576, -1291, 1316, 1368, 1172, 97, 1691 -1291, -1291, -1291, -1291, -1291, -1291, -1291, -1291, 1342, -1291, 1692 -1291, -1291, 1343, 1350, -1291, -1291, -1291, 1352, 1355, -1291, 1693 -1291, -1291, -1291, -1291, -1291, -1291, 1361, -1291, 1362, -1291, 1694 -1291, 11124, 118, 11181, 11124, -1291, 1365, 11181, -1291, 186, 1695 1382, -1291, -1291, 1353, 9270, -1291, -1291, -1291, 497, -1291, 1696 9809, -1291, -1291, 1646, 1212, 1369, -1291, -1291, 825, 1364, 1697 11181, 778, 778, 1377, -1291, -1291, 1378, 1380, 1384, -1291, 1698 -1291, 8404, 1381, -1291, 1447, 11409, 1383, -1291, -1291, 11044, 1699 -1291, 837, -1291, 1366, 11124, 1373, -1291, -1291, 1396, -1291, 1700 1406, 5469, 1394, -1291, 1397, 10576, -1291, -1291, -1291, 1386, 1701 1426, 1399, -1291, 1239, 1239, -1291, -1291, -1291, -1291, -1291, 1702 11124, 240, -1291, 900, -1291, -1291, 4527, -1291, -1291, 1387, 1703 11181, -1291, 11181, 4527, 239, 10399, 1401, -1291, 9868, 5469, 1704 -1291, 1405, -1291, -1291, 11181, 1402, 1412, -1291, 11409, 11409, 1705 -1291, -1291, 990, 130, -1291, -1291, 1404, -1291, 990, -1291, 1706 -1291, 1855, 778, 239, 10399, -1291, 9927, 1424, -1291, -1291, 1707 -1291, -1291, -1291, 11044, 1419, 990, 7686, 11181, 10964, 1422, 1708 990, 1431, 1855, 2409, -1291, -1291, -1291, -1291, -1291, -1291, 1709 8846, -1291, 10846, -1291, 11044, -1291, -1291, 1410, 10765, -1291, 1710 -1291, 10964, 239, 2409, 1440, 850, -1291, 10846, -1291, -1291, 1711 -1291, 10765, -1291, -1291, 239, -1291, -1291, -1291, -1291, -1291 1714 1712 }; 1715 1713 … … 1717 1715 static const yytype_int16 yypgoto[] = 1718 1716 { 1719 -1 306, 4178, 3354, -1306, 1595, -1306, -1, 2, 839, -1306,1720 -1 306, -1306, -497, -915, -215, 4919, -1306, 975, 537, 542,1721 346, 554, 941, 943, 950, 945, 949, -1306, 17, -251,1722 50 20, 377, -700, -894, -1306, -198, -684, -459, -1306, 77,1723 -1 306, 290, -1062, -1306, -1306, 40, -1306, -1305, -1076, 127,1724 -1 306, -1306, -1306, -1306, -21, -1283, -1306, -1306, -1306, -1306,1725 -1 306, -1306, 216, 31, 14, 408, -1306, 414, -1306, 76,1726 -1 306, -305, -1306, -1306, -1306, 467, -851, -1306, -1306, 8,1727 -9 29, 10, 2660, -1306, -1306, -1306, -110, -1306, 299, 597,1728 -2 9, 1428, 4046, -1306, -1306, 55, 49, 79, -229, 1809,1729 -1 306, 1752, -1306, -1306, 66, 2021, -1306, 2437, 1677, -1306,1730 -1 306, -412, -376, 1122, 1124, 625, 871, -270, -1306, -1306,1731 11 05, 627, -558, -1306, -460, -395, 48, -1306, -1306, -855,1732 -9 90, 470, 652, 990, -16, -1306, 727, -5, -244, -195,1733 -1 27, 583, 692, -1306, 930, -1306, 2734, -373, 841, -1306,1734 -1 306, 619, -1306, -405, -1306, 85, -1306, -1306, -1306, -1245,1735 3 27, -1306, -1306, -1306, 1097, -1306, 28, -1306, -1306, -832,1736 -10 4, -1279, -133, 2533, -1306, 3317, -1306, 836, -1306, -122,1737 1439, -163, -160, -157, 4, -41, -37, -36, 587, 42,1738 5 1, 90, -121, -155, -152, -151, -149, -294, -486, -446,1739 -4 27, -545, -1306, -531, -1306, -1306, -525, -485, -484, -477,1740 1 927, 4727, -549, -504, -503, -475, -461, -1306, -386, -662,1741 -6 54, -649, -575, -248, -333, -1306, -1306, 226, 125, -50,1742 -1 306, 339, 169, -590, -2411717 -1291, 4245, 3306, -1291, 1116, -1291, -1, 2, 896, -1291, 1718 -1291, -1291, -495, -897, -137, 5431, -1291, 913, 541, 551, 1719 480, 578, 1002, 1004, 1001, 1005, 1006, -1291, 40, -196, 1720 5036, 426, -670, -935, -1291, 410, -536, 405, -1291, 215, 1721 -1291, 338, -1139, -1291, -1291, 76, -1291, -1286, -974, 178, 1722 -1291, -1291, -1291, -1291, 21, -1264, -1291, -1291, -1291, -1291, 1723 -1291, -1291, 251, 72, 70, 452, -1291, 461, -1291, 108, 1724 -1291, -221, -1291, -1291, -1291, 510, -756, -1291, -1291, 0, 1725 -911, 123, 2941, -1291, -1291, -1291, -4, -1291, 104, 656, 1726 -23, 1441, 3190, -1291, -1291, 57, 83, 545, -242, 1645, 1727 -1291, 1583, -1291, -1291, 105, 2213, -1291, 2417, 430, -1291, 1728 -1291, -424, -392, 1159, 1162, 665, 908, 386, -1291, -1291, 1729 1151, 667, -582, -1291, -560, 393, -622, -1291, -1291, -913, 1730 -944, -339, 625, 1039, -8, -1291, 220, 304, -284, -197, 1731 -141, 644, 727, -1291, 986, -1291, 2799, -407, 895, -1291, 1732 -1291, 677, -1291, -399, -1291, -84, -1291, -1291, -1291, -1255, 1733 388, -1291, -1291, -1291, 1154, -1291, 85, -1291, -1291, -787, 1734 -102, -1290, -38, 1983, -1291, 2958, -1291, 894, -1291, -164, 1735 127, -169, -166, -161, 4, -37, -35, -34, 791, 51, 1736 55, 59, -101, -155, -153, -140, -138, -299, -486, -465, 1737 -454, -533, -1291, -528, -1291, -1291, -539, -526, -507, -477, 1738 1502, 4608, -529, -535, -530, -514, -525, -1291, -360, -646, 1739 -641, -638, -576, -285, -303, -1291, -1291, 1288, 18, -86, 1740 -1291, 339, 120, -577, -382 1743 1741 }; 1744 1742 … … 1746 1744 positive, shift that token. If negative, reduce the rule which 1747 1745 number is the opposite. If YYTABLE_NINF, syntax error. */ 1748 #define YYTABLE_NINF -50 71746 #define YYTABLE_NINF -505 1749 1747 static const yytype_int16 yytable[] = 1750 1748 { 1751 109, 145, 46, 140, 94, 146, 147, 660, 257, 110, 1752 53, 111, 913, 613, 47, 380, 420, 617, 381, 494, 1753 914, 382, 761, 383, 1071, 915, 384, 385, 670, 386, 1754 844, 694, 793, 46, 1176, 94, 365, 589, 827, 869, 1755 486, 53, 826, 1072, 46, 47, 46, 391, 156, 67, 1756 683, 954, 250, 972, 819, 66, 46, 388, 389, 139, 1757 669, 688, 46, 860, 186, 46, 74, 208, 46, 1136, 1758 218, 789, 790, 203, 211, 715, 212, 878, 579, 791, 1759 67, 820, 821, 1128, 148, 507, 66, 251, 913, 406, 1760 252, 1397, 380, 149, 652, 381, 914, 74, 382, 816, 1761 383, 915, 107, 384, 385, 46, 386, 727, 46, 930, 1762 822, 732, 205, 663, 46, 1193, 1460, 107, 463, 465, 1763 118, 667, 1187, 752, 30, 103, 103, 830, 119, 167, 1764 194, 30, 150, 837, 388, 389, 459, 145, 1456, 817, 1765 107, 146, 147, -218, -218, 46, 221, 156, 1205, 163, 1766 222, 1183, 1256, 226, 937, 228, 103, 46, 818, 355, 1767 858, 858, 235, 656, 658, 107, 30, 409, 1174, 1175, 1768 138, 243, 1417, 1418, 195, 858, 1201, 1184, 107, 1257, 1769 46, 46, 722, 156, 2, 198, 4, 5, 6, 7, 1770 392, 103, 1473, 1192, 419, 46, 650, 1417, 1418, 1203, 1771 1460, 107, 1456, 757, 46, 1460, 156, 1480, -218, 655, 1772 657, 107, 46, 161, 145, 46, 763, 423, 146, 147, 1773 148, 1460, 716, 421, 736, 859, 859, 1531, 1460, 149, 1774 242, 737, 392, 1184, 816, 142, 1419, 725, 731, 1344, 1775 859, 453, 34, 46, 35, 94, 471, 1176, 390, 1346, 1776 1544, 53, 858, 488, 552, 47, 744, 46, 46, 30, 1777 156, 1428, 422, 398, 46, 647, 648, 991, 150, 451, 1778 158, 46, 464, 639, 817, 1019, 847, 161, 715, 1018, 1779 848, 504, 1005, 853, 221, 417, 1138, 493, 553, 459, 1780 67, 165, 464, 818, 554, 425, 66, 507, 1176, 60, 1781 507, 654, 175, 507, -3, 427, 659, 74, 459, 820, 1782 821, 316, 74, 193, 679, 681, 459, 859, 688, 46, 1783 797, 355, 448, 400, -275, 392, 579, 816, 30, 30, 1784 60, 614, 46, 46, 158, 618, 237, 30, 822, 106, 1785 106, 107, 359, 135, 136, 242, 647, 648, 831, 46, 1786 240, 715, 834, 46, 830, 786, 1340, 579, 360, 368, 1787 508, 902, 579, 542, 543, 1071, 103, 817, 315, 1207, 1788 106, 416, 1193, 851, 722, 369, 481, 854, 482, 46, 1789 793, 205, 233, 160, 1072, 107, 818, 135, 136, 46, 1790 827, 355, 469, 828, 392, 586, -502, 1119, 544, 545, 1791 563, 835, 210, 586, 1120, 106, 564, 46, 1505, 920, 1792 1338, 920, 46, 221, 1510, 226, 1060, 1339, 816, 789, 1793 790, 844, 515, 1176, 916, 716, 1433, 791, 415, 254, 1794 416, 1526, 1174, 1175, 820, 821, 1533, 107, 46, 135, 1795 136, 8, 9, 10, 11, 12, 929, 160, 1530, 1079, 1796 1379, 366, 262, 371, 109, 161, 849, 373, 817, -109, 1797 850, -10, 46, 822, 1539, 74, 1402, 1177, 30, 372, 1798 46, 1543, 355, 374, 46, 865, 94, 818, 46, 849, 1799 -109, 160, 53, 1103, 74, 1134, 47, 415, 1445, 1446, 1800 738, 33, 74, 739, 357, 581, 745, 375, 716, 741, 1801 665, 221, 565, 870, 392, 486, 882, -429, 689, 511, 1802 205, 380, 158, 376, 381, 758, -430, 382, 741, 383, 1803 764, 67, 384, 385, 690, 386, 691, 66, 266, 1193, 1804 1017, 1093, 811, 880, 708, 1252, 1193, 268, 74, 683, 1805 60, 160, 692, 689, 1115, 460, 516, 517, 518, 1161, 1806 1163, 691, 210, 1019, 388, 389, 459, 535, 1451, 908, 1807 991, 269, 536, 537, 270, 858, 1190, 909, 453, 519, 1808 442, 520, 508, 521, 1107, 508, 316, 316, 508, 1193, 1809 106, 316, 1191, 1093, 46, 1190, 319, 46, 1198, 46, 1810 846, 569, 357, 392, 1331, 1272, 1273, 103, 112, 934, 1811 160, 1318, 316, 1333, 320, 1022, 861, 1486, 46, 36, 1812 1332, 177, 321, 39, 1486, 322, 748, 1377, 877, 1334, 1813 40, 41, 442, 706, 46, 160, 323, 803, 1173, 707, 1814 859, 157, 1380, 315, 315, 879, 46, 881, 315, 46, 1815 723, 154, -109, 324, -109, 178, 724, 187, -109, 1017, 1816 209, 316, 556, 219, 392, 179, 422, 1527, 750, 315, 1817 392, 1146, 557, -109, -109, 580, 1030, 354, 751, 316, 1818 46, 606, 358, 36, 733, 584, 46, 39, 46, 107, 1819 734, 135, 136, 747, 40, 41, 938, 1076, 586, 748, 1820 390, 894, 493, 858, 858, 1427, 939, 748, 460, 248, 1821 -102, 893, 370, 1104, -102, 154, 933, 896, 315, 585, 1822 871, 586, 626, 748, 493, 230, 872, 460, 488, 587, 1823 231, 511, 46, 46, 511, 460, 315, 511, 898, 892, 1824 157, 981, 74, 316, 564, 378, 46, 982, 407, 312, 1825 901, 1038, 356, 581, 903, 408, 160, 160, 579, 205, 1826 1365, 160, 715, 443, 1366, 993, 137, 1060, 859, 859, 1827 1004, 707, 412, 205, 1244, 107, 157, 135, 136, 713, 1828 564, 60, 160, 442, 845, 74, 442, 446, 1488, 581, 1829 1489, 430, 442, 2, 198, 4, 5, 6, 7, 157, 1830 315, 1017, 1373, 449, 410, 647, 648, 450, 748, 414, 1831 424, 728, 985, 679, 681, 811, 729, 232, 234, 717, 1832 472, 106, 1267, 242, 318, 46, 1322, 107, -454, 1146, 1833 -454, 160, 1321, 1374, -454, 1528, 46, 1376, 436, 748, 1834 538, 539, 1381, 748, 442, 500, 987, 442, 748, 160, 1835 442, 34, 1390, 35, 1441, 515, 992, 1461, 564, 1547, 1836 1442, 205, 913, 748, 550, 564, 1387, 549, 414, 803, 1837 914, 476, 1006, 548, 883, 915, 392, 1246, 8, 9, 1838 10, 11, 12, 125, 1058, 126, 127, 128, 546, 547, 1839 509, 1033, 551, 154, 107, 53, 135, 136, 774, 775, 1840 776, 777, 1368, 1146, 107, 30, 135, 136, 886, 716, 1841 392, 554, 46, 160, 356, 567, 46, 46, 242, 318, 1842 392, 1392, 1188, 580, 1416, 582, 806, 1424, 33, 46, 1843 1227, 649, 704, 576, 67, 1228, 811, 46, 640, 1140, 1844 66, 392, 1289, 1290, 540, 541, 8, 9, 10, 11, 1845 12, 74, 641, 611, 580, 46, 688, 615, 642, 580, 1846 400, 643, 392, 1157, 803, 392, 1108, 644, 1109, 556, 1847 445, 392, 1459, 30, 36, 460, 1083, 1463, 39, 557, 1848 645, 1160, 713, 586, 356, 40, 41, 646, 1130, 1084, 1849 1162, 741, 586, 1130, 247, 1165, 33, 697, 1232, 716, 1850 392, 1146, 695, 1479, 748, 986, 46, -222, 1297, 1298, 1851 103, 1300, 735, 1137, 312, 312, 1239, 1304, 460, 312, 1852 1307, 36, 717, 177, 749, 39, 688, 469, 318, 392, 1853 753, 1470, 40, 41, 828, 318, 586, 750, 805, 392, 1854 668, 436, 812, 442, 436, 855, 1130, 751, -12, 811, 1855 436, 1345, 1347, 1348, 867, 713, 1058, 255, 422, 1202, 1856 1204, 1206, 112, 940, 53, 318, 392, 256, 1033, 1498, 1857 1308, 1309, 1481, 1482, 868, 1538, 1417, 1418, 1171, 1172, 1858 874, 1538, 279, 103, 811, 770, 771, 476, 895, 312, 1859 1538, 476, 772, 773, 1538, 717, 897, 46, 724, 627, 1860 900, 564, 509, 67, 688, 509, 675, 312, 509, 1195, 1861 778, 779, 36, 928, 705, -403, 39, 1517, -506, 942, 1862 74, 949, 46, 40, 41, 951, 955, 1537, 316, 956, 1863 960, 961, 688, 704, 963, 1221, 1222, 964, 965, 966, 1864 977, 1001, 1209, 976, 988, 493, 989, 990, 813, 1073, 1865 586, 606, 994, 803, 1002, 1031, 1040, 1007, 587, 1093, 1866 1008, 1009, 2, 198, 4, 5, 6, 7, 1010, 1011, 1867 1012, 312, 1013, -391, -390, 845, 1453, 1080, 693, 103, 1868 1075, 576, 1086, 445, 60, 315, 1087, 1423, 1090, 809, 1869 220, 1089, 8, 9, 10, 11, 12, -276, 1091, 1092, 1870 1096, 1097, 1098, 1106, 8, 9, 10, 11, 12, 1099, 1871 493, 493, 843, 211, 203, 212, 726, 576, 730, 30, 1872 34, 1100, 35, 852, 106, 1058, 1116, 748, 1117, 1118, 1873 1121, 30, 1213, 970, 1124, 1129, 53, 1126, 46, 1503, 1874 1453, 1152, 33, 1155, 36, 1178, 168, 169, 39, 1166, 1875 1179, 1181, 1180, 205, 33, 40, 41, 497, 1182, 1108, 1876 1196, 1109, 1197, 1199, 1200, 1130, 1130, 1130, 704, 1208, 1877 513, 514, 1214, -3, 1219, 67, 1225, 1226, 704, -277, 1878 354, 66, 534, 938, 1240, 586, 8, 9, 10, 11, 1879 12, 1236, 74, 939, 704, 1247, 481, 106, 160, 1245, 1880 1250, 436, 1439, 1254, 1258, 1261, 36, 1263, 177, 1265, 1881 39, 514, 1268, 30, 1269, 705, 421, 40, 41, 1270, 1882 1274, 53, 1352, 1281, 1058, 1286, 1291, 1299, 1292, 1329, 1883 103, 476, 1323, 1356, 1357, 1358, 33, 1302, 1303, 1317, 1884 1305, 1306, 674, 1324, 392, 580, 811, 1335, 514, 1313, 1885 675, 103, 676, 460, 1108, 422, 1109, 1337, 1341, 1342, 1886 67, 380, 1343, 866, 381, 1349, 1195, 382, 1350, 383, 1887 1351, 1353, 384, 385, 1361, 386, 103, 74, 1362, 1363, 1888 1364, 1309, 1058, 1393, 1371, 1058, 1375, 1372, 1382, 1438, 1889 1385, 1388, 1386, 106, 1389, 1398, 1383, 1394, 46, 1516, 1890 1399, 1406, 1402, 388, 389, 1407, 316, 46, 46, 1411, 1891 1412, -278, 1130, 1130, -392, 1415, 1426, 1003, 8, 9, 1892 10, 11, 12, 647, 648, 1432, 924, 1430, 1440, 36, 1893 1058, 177, 927, 39, 1443, 1058, 103, 1447, 63, 113, 1894 40, 41, 1448, 1449, 493, 30, 1450, 1366, 1466, 93, 1895 705, 1452, 1457, 1462, 1468, 1108, 713, 1109, 1464, 1471, 1896 705, 1058, 809, 315, 1472, 674, 1474, 392, 33, 63, 1897 141, 103, 1475, 1487, 1495, 676, 705, 1476, 53, 1501, 1898 93, 1499, 155, 145, 1502, 53, 1522, 146, 147, 1525, 1899 1509, 144, 1534, 93, 1532, 1540, 717, 1546, 889, 780, 1900 704, 704, 781, 1518, 213, 46, 783, 493, 493, 182, 1901 782, 784, 93, 1253, 1058, 93, 1316, 67, 1429, 1058, 1902 767, 768, 769, 1195, 67, 60, 46, 46, 53, 156, 1903 1195, 1504, 1548, 1058, 74, 1058, 1384, 1520, 1248, 1058, 1904 249, 74, 1058, 210, 106, 1249, 713, 46, 1058, 355, 1905 1218, 1490, 1058, 1491, 476, 1110, 312, 704, 704, 514, 1906 1094, 699, 921, 1125, 1095, 106, 671, 67, 672, 800, 1907 1039, 873, 103, 1195, 1105, 944, 160, 442, 1330, 718, 1908 952, 317, 1519, 809, 74, 0, 717, 0, 0, 332, 1909 106, 0, 93, 103, 0, 0, 0, 0, 0, 0, 1910 103, 1144, 36, 843, 93, 627, 39, 0, 0, 0, 1911 460, 1043, 0, 40, 41, 0, 0, 387, 0, 0, 1912 0, 1545, 0, 0, 0, 0, 0, 379, 182, 0, 1913 0, 405, 0, 1550, 141, 411, 0, 0, 42, 0, 1914 155, 0, 36, 103, 177, 210, 39, 0, 143, 0, 1915 106, 93, 0, 40, 41, 0, 0, 0, 0, 170, 1916 428, 0, 93, 0, 431, 36, 432, 168, 169, 39, 1917 0, 442, 442, 447, 0, 0, 40, 41, 1514, 63, 1918 392, 0, 705, 705, 461, 106, 0, 36, 1515, 0, 1919 93, 39, 0, 0, 468, 514, 809, 0, 40, 41, 1920 0, 316, 411, 1494, 467, 0, 0, 627, 170, 0, 1921 0, 170, 0, 0, 0, 1327, 0, 36, 0, 0, 1922 0, 39, 0, 904, 0, 392, 0, 0, 40, 41, 1923 0, 809, 1494, 905, 0, 0, 0, 0, 971, 705, 1924 705, 442, 0, 0, 704, 0, 0, 0, 0, 0, 1925 207, 0, 1266, 720, 0, 704, 704, 704, 315, 1144, 1926 0, 0, 72, 721, 577, 0, 93, 460, 0, 0, 1927 0, 607, 0, 0, 460, 0, 0, 0, 0, 0, 1928 588, 0, 442, 0, 612, 0, 106, 0, 612, 0, 1929 0, 332, 0, 72, 0, 0, 0, 0, 0, 0, 1930 207, 0, 0, 0, 0, 704, 0, 106, 0, 0, 1931 1043, 0, 0, 0, 106, 170, 442, 460, 0, 442, 1932 442, 0, 0, 1229, 1230, 0, 0, 0, 214, 0, 1933 0, 0, 0, 1144, 312, 436, 182, 461, 0, 0, 1934 0, 0, 207, 0, 0, 442, 0, 442, 1110, 0, 1935 36, 332, 168, 169, 39, 0, 461, 106, 0, 0, 1936 0, 40, 41, 0, 461, 0, 0, 170, 0, 0, 1937 0, 160, 0, 0, 170, 514, 0, 0, 0, 0, 1938 0, 0, 206, 0, 0, 680, 358, 0, 0, 0, 1939 700, 0, 224, 411, 0, 0, 0, 1328, 0, 0, 1940 207, 0, 0, 0, 0, 0, 0, 0, 714, 0, 1941 63, 0, 0, 335, 0, 0, 0, 0, 411, 0, 1942 0, 93, 411, 0, 0, 588, 705, 1295, 0, 436, 1943 436, 1144, 206, 0, 0, 170, 207, 705, 705, 705, 1944 207, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 1945 332, 0, 170, 0, 0, 0, 170, 522, 523, 524, 1946 525, 526, 527, 528, 529, 530, 531, 0, 0, 0, 1947 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 1948 0, 514, 0, 0, 429, 0, 0, 705, 0, 0, 1949 532, 0, 0, 809, 0, 792, 0, 0, 0, 436, 1950 0, 0, 0, 72, 0, 0, 0, 0, 72, 0, 1951 802, 0, 577, 0, 0, 0, 0, 0, 0, 207, 1952 249, 0, 0, 0, 0, 824, 0, 0, 0, 497, 1953 0, 75, 206, 0, 815, 0, 588, 0, 0, 0, 1954 436, 0, 0, 577, 1110, 0, 0, 0, 577, 0, 1955 0, 0, 0, 0, 612, 0, 0, 0, 332, 332, 1956 0, 0, 75, 0, 0, 0, 0, 0, 206, 0, 1957 0, 0, 206, 332, 1493, 0, 0, 436, 436, 0, 1958 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 1959 0, 700, 0, 0, 0, 214, 0, 215, 207, 0, 1960 0, 0, 0, 1493, 461, 436, 0, 0, 0, 0, 1961 0, 714, 0, 0, 917, 335, 0, 588, 0, 394, 1962 0, 0, 0, 912, 0, 680, 402, 1434, 0, 312, 1749 107, 108, 44, 143, 92, 144, 145, 378, 255, 138, 1750 379, 658, 418, 386, 248, 380, 791, 692, 101, 101, 1751 363, 381, 759, 382, 667, 484, 911, 842, 787, 891, 1752 587, 912, 668, 44, 913, 92, 383, 858, 384, 577, 1753 1126, 611, 44, 686, 44, 615, 154, 788, 818, 101, 1754 867, 876, 824, 819, 44, 817, 825, 64, 856, 856, 1755 44, 828, 184, 44, 209, 206, 44, 835, 216, 820, 1756 45, 725, 492, 856, 681, 730, 387, 789, 1174, 1395, 1757 30, 970, 101, 65, 378, 1134, 1070, 379, 64, 404, 1758 386, 146, 380, 249, 723, 147, 250, 814, 381, 148, 1759 382, 45, 911, 44, 58, 72, 44, 912, 1172, 1173, 1760 913, 702, 44, 383, 65, 384, 137, 1069, 815, 105, 1761 928, 654, 656, 51, 109, 1454, 192, 91, 935, 816, 1762 105, 1191, 550, 1458, 425, 58, 72, 116, 1185, 143, 1763 389, 144, 145, 44, 203, 154, 390, 750, 240, 316, 1764 856, 446, 30, 387, 51, 44, 105, 353, 91, 30, 1765 1415, 1416, 159, 105, 985, 1203, 551, 142, 755, 91, 1766 193, 407, -218, -218, 990, 720, 650, 105, 44, 44, 1767 1471, 154, 30, 714, 201, 180, 161, 210, 91, 1454, 1768 1004, 91, 648, 44, 761, 661, 729, 952, 388, -109, 1769 417, 1342, 44, 665, 154, 829, 1400, 105, 30, 832, 1770 44, 461, 463, 44, 742, 421, 143, 1458, 144, 145, 1771 -109, 645, 1458, 240, 1417, 390, 159, 146, 1415, 1416, 1772 849, 147, 814, 105, 852, 148, 1199, -218, 1458, 451, 1773 457, 44, 462, 92, 1529, 1458, 398, 117, 390, 135, 1774 513, 989, 469, 815, 734, 44, 44, 101, 154, 486, 1775 314, 735, 44, 462, 816, 165, 1201, 1542, 91, 44, 1776 677, 1344, 467, 637, 390, 1117, 818, 1077, 795, 502, 1777 91, 819, 1118, 1003, 646, 552, 1190, 577, 828, 1016, 1778 30, 1174, 1426, 1017, 420, 30, 64, 820, 230, 232, 1779 686, 652, 645, 377, 180, 1254, 657, 241, 491, 45, 1780 1181, 851, 702, 1338, 1136, 536, 537, 44, 577, 353, 1781 414, 1336, 65, 577, 449, 814, 136, 91, 1337, 1478, 1782 44, 44, 1255, 679, 419, 140, 1182, 612, 91, 104, 1783 104, 616, 1174, 58, 72, 163, 815, 44, 458, 72, 1784 105, 44, 133, 134, 826, 1182, 584, 816, 357, 833, 1785 173, 584, 51, 191, 791, 646, 91, 720, 366, 1528, 1786 104, 34, 1172, 1173, 358, 37, 787, 44, 369, 414, 1787 465, 158, 38, 39, 367, 1537, 714, 44, 1191, 353, 1788 235, 231, 1541, 457, 370, 788, 1169, 1170, 371, 396, 1789 208, 818, -275, 104, 159, 44, 819, 811, 825, 584, 1790 44, 845, 457, 203, 372, 846, 814, 585, 842, 373, 1791 457, 415, 820, 687, 689, 789, 105, 1070, 133, 134, 1792 105, 423, 133, 134, 847, 374, 44, 815, 848, 688, 1793 690, 1175, 91, 900, 579, 158, 240, 702, 816, 687, 1794 260, 443, 107, 1219, 1220, 561, 586, 702, 1069, 714, 1795 44, 562, 1020, 856, 863, 906, 228, 1174, 44, 238, 1796 353, 229, 44, 702, 92, 533, 44, 914, 847, 158, 1797 534, 535, 1101, 1159, 1161, 1132, -500, 868, 101, 704, 1798 484, 205, 355, 689, 809, 705, 506, 739, 1449, 927, 1799 252, 458, 72, 378, 1443, 1444, 379, -10, 1503, 907, 1800 386, 380, 180, 756, 1508, 1205, 739, 381, 762, 382, 1801 458, 72, 479, 1015, 480, 314, 314, 64, 458, 72, 1802 314, 1524, 383, 878, 384, 563, 1531, 390, 1105, 158, 1803 45, 205, 203, 1377, 989, 1191, 1250, 554, 1113, 390, 1804 208, 314, 1191, 65, -102, 1091, -427, 555, -102, -428, 1805 1102, 678, 105, 681, 133, 134, 451, 264, 440, 1270, 1806 1271, 1017, 711, 387, 58, 72, 266, 34, 104, 1081, 1807 625, 37, 44, 205, 748, 44, 390, 44, 38, 39, 1808 355, 856, 856, 51, 749, 1191, 844, 91, 158, 880, 1809 314, 586, 105, 1431, 133, 134, 44, 1091, 317, 1188, 1810 219, 1363, 859, 318, 220, 1364, 267, 224, 314, 226, 1811 440, -276, 44, 158, 875, 1189, 233, 801, 8, 9, 1812 10, 11, 12, 877, 44, 879, 663, 44, 726, 268, 1813 1350, 205, 1015, 727, 2, 196, 4, 5, 6, 7, 1814 1188, 1354, 1355, 1356, 319, 30, 1329, 110, 320, 691, 1815 457, 321, 1028, 578, 443, -109, 1316, -109, 44, 604, 1816 706, -109, 1330, 567, 44, 390, 44, 205, 33, 702, 1817 702, 205, 314, 1074, 538, 539, -109, -109, 420, 1144, 1818 1331, 505, 579, 322, 540, 541, 721, 724, 152, 728, 1819 1484, 1391, 722, 932, 931, 352, 1332, 1484, 506, 577, 1820 813, 506, 586, 491, 506, 356, 105, 746, 133, 134, 1821 44, 44, 1002, 843, 486, 1036, 731, 364, 579, 542, 1822 543, -277, 732, 1378, 44, 491, 702, 702, 8, 9, 1823 10, 11, 12, 34, 158, 158, 368, 37, 219, 158, 1824 1525, 645, 1225, 376, 38, 39, 246, 1226, 388, 677, 1825 205, 405, 152, 1375, -3, 30, 745, 809, 458, 72, 1826 158, 440, 746, 406, 440, 711, 936, 410, 584, 40, 1827 440, 203, 544, 545, 1015, 869, 937, 624, 33, 141, 1828 428, 870, -452, 586, -452, 203, 310, 736, -452, 910, 1829 737, 678, 1320, 743, 892, 441, 881, 715, 390, 104, 1830 746, 458, 72, 44, 646, 653, 655, 34, 884, 158, 1831 390, 37, 679, 983, 44, 894, 1319, 444, 38, 39, 1832 447, 746, 440, 155, 448, 440, 896, 158, 440, 205, 1833 1265, 1425, 562, 105, 864, 813, 586, 1144, 711, 185, 1834 470, 408, 207, 718, 498, 217, 412, 513, 979, 801, 1835 714, 713, 991, 719, 980, 890, 911, 1242, 705, 1371, 1836 546, 912, 1056, 562, 913, 746, 899, 219, 1372, 224, 1837 901, 1374, 547, 203, 746, 434, 1379, 746, 809, 205, 1838 548, 101, 746, 1138, 1325, 390, 1186, 1390, 746, 984, 1839 44, 158, 1031, 505, 44, 44, 505, 922, 549, 505, 1840 1388, 578, 552, 925, 804, 412, 562, 44, 474, 565, 1841 1244, 1144, 580, 702, 1486, 44, 1487, 1439, 686, 1155, 1842 64, 390, 155, 1440, 702, 702, 702, 507, 813, 1459, 1843 152, 638, 578, 44, 354, 746, 1106, 578, 639, 586, 1844 714, 34, 1545, 175, 801, 37, 65, 105, 562, 133, 1845 134, 784, 38, 39, 101, 219, 640, 1158, 155, 584, 1846 123, 1526, 124, 125, 126, 642, 1128, 58, 72, 739, 1847 574, 1128, 316, 390, 702, 1287, 1288, 176, 1160, 1163, 1848 584, 155, 1306, 1307, 44, 643, 51, 177, 686, 644, 1849 609, 809, 422, 647, 613, 205, 1237, 1468, 1479, 1480, 1850 715, 857, 857, 2, 196, 4, 5, 6, 7, 1144, 1851 772, 773, 774, 775, 1135, 1230, 857, 390, 245, 813, 1852 586, 440, 1415, 1416, 1128, 205, 809, 240, 316, 390, 1853 205, 218, 678, 693, 1056, 1496, 695, 1200, 1202, 1204, 1854 678, 938, 398, 641, 390, 8, 9, 10, 11, 12, 1855 101, 310, 310, 918, 713, 918, 310, 314, 586, 1107, 1856 -222, 514, 515, 516, 733, 703, 686, 768, 769, 1031, 1857 420, 747, 30, 715, 751, 44, 625, 666, 434, 770, 1858 771, 434, 1041, 803, 517, 810, 518, 434, 519, 1193, 1859 467, 316, 390, 857, 686, 33, 354, 853, 866, 110, 1860 44, 826, 316, 584, 843, 1082, -12, 1343, 1345, 1346, 1861 865, 1535, 776, 777, 872, 65, 277, 893, 205, 895, 1862 898, 1515, 722, -401, 474, 926, 310, 713, 474, 604, 1863 562, -504, 205, 801, 673, 940, 458, 72, 947, 507, 1864 949, 954, 507, 953, 310, 507, 491, 8, 9, 10, 1865 11, 12, 958, 959, 961, 51, 962, 963, 168, 964, 1866 -278, 975, 974, 1091, 986, 987, 354, 8, 9, 10, 1867 11, 12, 988, 495, 30, 992, 999, 34, 625, 175, 1868 1000, 37, 1005, 209, 1006, 1007, 511, 512, 38, 39, 1869 1008, 1009, 1010, 1011, 30, -389, -388, 33, 532, 1029, 1870 586, 101, 104, 1056, 1038, 1071, 1078, 168, 310, 1451, 1871 168, 491, 491, 672, 1087, 390, 44, 33, 574, 1073, 1872 205, 673, 101, 674, 1084, 1085, 807, 512, 1088, 1106, 1873 8, 9, 10, 11, 12, 1089, 1090, 1094, 554, 711, 1874 390, 1095, 1104, 1128, 1128, 1128, 1096, 101, 555, 841, 1875 1097, 1098, 1114, 746, 574, 1115, 1116, 30, 1207, 1119, 1876 850, 64, 968, 1122, 512, 203, 703, 34, 1058, 175, 1877 1124, 37, 1501, 1451, 1127, 104, 158, 1150, 38, 39, 1878 33, 1041, 1437, 1153, 1164, 34, 1176, 65, 809, 37, 1879 1177, 1178, 1179, 1180, 1227, 1228, 38, 39, 1194, 1195, 1880 1197, 1198, 1056, 253, 1206, 201, 210, 101, 58, 72, 1881 1211, 1212, -3, 254, 168, 1217, 1223, 479, 1234, 1224, 1882 156, 40, 1297, 578, 1106, 1238, 1315, 51, 1243, 711, 1883 1245, 141, 1248, 378, 1252, 314, 379, 1256, 434, 386, 1884 1259, 380, 101, 1261, 1263, 1272, 1193, 381, 1266, 382, 1885 1267, 1268, 1107, 2, 196, 4, 5, 6, 7, 645, 1886 1056, 1279, 383, 1056, 384, 1284, 168, 420, 474, 1289, 1887 1290, 104, 65, 168, 1300, 1436, 44, 1301, 1303, 1514, 1888 1304, 1321, 1311, 1322, 156, 44, 44, 1327, 1333, 1335, 1889 1128, 1128, 1339, 458, 72, 1341, 1340, 1347, 1293, 1348, 1890 1349, 703, 387, 1351, 1171, 1359, 857, 419, 1056, 1360, 1891 1361, 703, 51, 1056, 1362, 1369, 1307, 205, 313, 1370, 1892 1373, 1380, 646, 1383, 1392, 1106, 1384, 703, 1386, 1387, 1893 1396, 61, 111, 1397, 168, 1404, 765, 766, 767, 1056, 1894 1196, 1400, 1405, 101, 1430, 491, 1409, 1107, 34, 1410, 1895 582, 168, 37, -390, 1001, 168, 1413, 1424, 1441, 38, 1896 39, 1428, 61, 139, 101, 143, 1438, 144, 145, 1445, 1897 1446, 101, 1447, 153, 715, 512, 1448, 1450, 413, 1364, 1898 1460, 1516, 1455, 44, 583, 1466, 584, 1462, 1464, 1470, 1899 1469, 1473, 1056, 1493, 585, 211, 1499, 1056, 1474, 807, 1900 1472, 1485, 1497, 1193, 44, 44, 1500, 154, 491, 491, 1901 1193, 1056, 1381, 1056, 101, 1520, 1523, 1056, 1507, 1530, 1902 1056, 208, 104, 1532, 1538, 44, 1056, 353, 713, 65, 1903 1056, 247, 1544, 887, 857, 857, 65, 413, 778, 780, 1904 1251, 779, 1314, 104, 781, 1502, 782, 1427, 1107, 1382, 1905 458, 72, 1546, 1193, 158, 440, 1518, 458, 72, 509, 1906 1246, 1488, 156, 34, 715, 166, 167, 37, 104, 51, 1907 1247, 1216, 315, 70, 38, 39, 51, 919, 1092, 65, 1908 330, 669, 1093, 1037, 670, 697, 8, 9, 10, 11, 1909 12, 474, 1108, 310, 1295, 1296, 798, 1298, 1432, 352, 1910 458, 72, 1123, 1302, 70, 871, 1305, 942, 385, 1058, 1911 1103, 512, 205, 30, 716, 0, 950, 1328, 0, 51, 1912 807, 0, 403, 208, 0, 139, 409, 0, 104, 465, 1913 314, 153, 0, 703, 703, 34, 33, 212, 1142, 37, 1914 841, 34, 0, 175, 0, 37, 38, 39, 0, 440, 1915 440, 426, 38, 39, 969, 429, 0, 430, 0, 0, 1916 0, 0, 0, 104, 445, 0, 0, 0, 1366, 1489, 1917 61, 902, 392, 390, 0, 459, 0, 176, 0, 400, 1918 0, 903, 0, 313, 313, 466, 806, 177, 313, 0, 1919 703, 703, 0, 409, 0, 0, 204, 0, 1517, 0, 1920 0, 34, 0, 166, 167, 37, 222, 0, 1385, 313, 1921 168, 0, 38, 39, 205, 0, 0, 0, 0, 440, 1922 0, 0, 333, 0, 0, 0, 168, 0, 0, 0, 1923 0, 0, 0, 807, 0, 0, 0, 1543, 168, 0, 1924 8, 9, 10, 11, 12, 0, 204, 0, 392, 1548, 1925 0, 0, 0, 0, 0, 575, 0, 0, 313, 0, 1926 440, 0, 605, 0, 104, 0, 1414, 30, 807, 1422, 1927 0, 509, 0, 1421, 509, 610, 313, 509, 0, 610, 1928 0, 0, 330, 0, 0, 104, 0, 0, 204, 1264, 1929 33, 512, 104, 427, 440, 34, 1142, 440, 440, 37, 1930 0, 0, 560, 0, 0, 0, 38, 39, 0, 0, 1931 564, 0, 70, 568, 1457, 0, 0, 70, 34, 1461, 1932 175, 0, 37, 440, 0, 440, 0, 0, 459, 38, 1933 39, 902, 0, 390, 0, 104, 0, 0, 168, 0, 1934 313, 903, 330, 0, 0, 1477, 204, 459, 1326, 158, 1935 0, 0, 0, 0, 672, 459, 390, 0, 0, 0, 1936 0, 0, 0, 0, 674, 0, 0, 0, 0, 392, 1937 1142, 310, 434, 400, 0, 0, 0, 703, 0, 0, 1938 0, 698, 204, 0, 409, 1108, 204, 0, 703, 703, 1939 703, 0, 8, 9, 10, 11, 12, 512, 0, 712, 1940 0, 61, 485, 0, 212, 0, 0, 0, 0, 409, 1941 34, 0, 175, 409, 37, 0, 0, 1536, 0, 30, 1942 0, 38, 39, 1536, 333, 0, 8, 9, 10, 11, 1943 12, 0, 1536, 0, 0, 0, 1536, 0, 703, 0, 1944 0, 330, 33, 0, 0, 495, 1512, 34, 390, 582, 1945 0, 37, 0, 30, 0, 0, 1513, 392, 38, 39, 1946 34, 0, 166, 167, 37, 204, 434, 434, 1142, 0, 1947 70, 38, 39, 0, 0, 0, 33, 0, 0, 0, 1948 1108, 0, 0, 583, 333, 584, 790, 0, 0, 70, 1949 0, 0, 0, 585, 0, 0, 356, 70, 118, 121, 1950 122, 800, 0, 575, 806, 0, 0, 0, 0, 0, 1951 0, 247, 0, 0, 0, 0, 822, 748, 0, 390, 1952 0, 0, 0, 333, 0, 0, 0, 749, 0, 0, 1953 807, 0, 0, 0, 575, 0, 434, 0, 0, 575, 1954 0, 333, 0, 70, 204, 610, 560, 560, 0, 330, 1955 330, 0, 0, 8, 9, 10, 11, 12, 0, 0, 1956 0, 204, 0, 0, 330, 0, 242, 0, 243, 512, 1957 0, 0, 0, 0, 0, 0, 0, 434, 0, 0, 1958 30, 1108, 698, 333, 520, 521, 522, 523, 524, 525, 1959 526, 527, 528, 529, 204, 459, 0, 0, 806, 0, 1960 0, 0, 712, 33, 0, 915, 0, 0, 34, 0, 1961 175, 1491, 37, 0, 434, 434, 0, 530, 0, 38, 1962 39, 0, 8, 9, 10, 11, 12, 0, 0, 0, 1963 882, 0, 0, 0, 885, 0, 0, 0, 459, 0, 1964 1491, 330, 434, 333, 253, 0, 375, 0, 0, 30, 1965 941, 0, 0, 409, 254, 394, 395, 0, 560, 0, 1966 399, 0, 401, 402, 0, 0, 310, 0, 0, 0, 1967 392, 0, 33, 0, 0, 712, 0, 34, 0, 175, 1968 967, 37, 0, 0, 0, 0, 0, 0, 38, 39, 1969 0, 333, 333, 0, 0, 0, 0, 0, 0, 0, 1970 0, 0, 0, 73, 0, 0, 333, 0, 0, 0, 1971 204, 0, 0, 672, 0, 390, 0, 698, 0, 0, 1972 0, 0, 0, 674, 333, 313, 0, 698, 0, 0, 1973 0, 0, 997, 800, 73, 0, 0, 70, 0, 247, 1974 204, 0, 0, 698, 333, 204, 0, 0, 0, 0, 1975 0, 0, 1014, 0, 0, 0, 0, 0, 0, 0, 1976 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 1963 1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964 0, 0, 0, 0, 0, 0, 0, 461, 207, 0, 1965 332, 206, 0, 514, 0, 0, 0, 0, 0, 943, 1966 0, 72, 411, 0, 0, 0, 0, 0, 0, 815, 1967 588, 0, 0, 0, 0, 335, 0, 0, 0, 0, 1968 72, 0, 337, 0, 714, 0, 0, 808, 72, 969, 1969 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 1978 70, 0, 560, 333, 247, 0, 0, 8, 9, 10, 1979 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1980 21, 22, 23, 24, 61, 0, 25, 26, 27, 0, 1981 0, 0, 0, 0, 30, 0, 0, 333, 0, 0, 1982 0, 0, 0, 8, 9, 10, 11, 12, 800, 0, 1983 806, 0, 0, 204, 1083, 0, 0, 33, 0, 0, 1984 0, 0, 34, 0, 35, 36, 37, 204, 0, 0, 1985 30, 0, 335, 38, 39, 0, 0, 0, 0, 333, 1986 0, 0, 0, 0, 0, 0, 0, 485, 1100, 333, 1987 0, 0, 0, 33, 212, 333, 409, 111, 40, 0, 1988 150, 0, 0, 0, 0, 333, 0, 0, 42, 0, 1989 0, 330, 0, 0, 560, 560, 0, 0, 0, 0, 1990 0, 0, 392, 0, 0, 247, 0, 75, 0, 8, 1991 9, 10, 11, 12, 936, 0, 584, 0, 0, 0, 1992 0, 0, 0, 610, 937, 575, 0, 0, 0, 8, 1993 9, 10, 11, 12, 0, 204, 30, 0, 75, 0, 1994 0, 0, 73, 139, 0, 0, 70, 73, 0, 698, 1995 698, 0, 330, 330, 330, 0, 30, 0, 0, 33, 1996 0, 0, 0, 0, 34, 0, 175, 0, 37, 0, 1997 333, 214, 0, 1192, 0, 38, 39, 0, 1139, 33, 1998 0, 0, 0, 0, 34, 0, 0, 0, 37, 0, 1999 806, 0, 0, 0, 0, 38, 39, 1156, 0, 168, 2000 1512, 0, 390, 313, 0, 0, 698, 698, 0, 0, 2001 1513, 0, 0, 0, 0, 0, 0, 800, 247, 0, 2002 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003 719, 792, 793, 333, 213, 0, 0, 0, 0, 0, 1970 2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1971 0, 170, 0, 0, 335, 0, 8, 9, 10, 11, 1972 12, 0, 0, 0, 0, 0, 700, 170, 0, 0, 1973 206, 0, 335, 0, 72, 0, 700, 0, 0, 170, 1974 0, 999, 802, 30, 0, 0, 0, 206, 249, 562, 1975 0, 0, 700, 0, 0, 0, 0, 566, 0, 0, 1976 570, 1016, 815, 0, 207, 0, 33, 0, 0, 0, 1977 0, 36, 75, 588, 335, 39, 0, 75, 0, 0, 1978 206, 0, 40, 41, 0, 0, 0, 0, 0, 0, 1979 0, 0, 0, 249, 207, 0, 0, 0, 0, 207, 1980 0, 0, 8, 9, 10, 11, 12, 904, 0, 392, 1981 0, 0, 0, 63, 0, 0, 394, 905, 0, 0, 1982 402, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1983 0, 0, 0, 0, 335, 0, 0, 802, 0, 170, 1984 0, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 1985 0, 0, 33, 815, 588, 0, 0, 36, 0, 584, 1986 0, 39, 0, 0, 215, 0, 680, 0, 40, 41, 1987 0, 0, 0, 0, 680, 0, 0, 1102, 0, 0, 1988 0, 0, 335, 335, 337, 411, 113, 207, 0, 0, 1989 0, 0, 588, 585, 0, 586, 206, 335, 0, 0, 1990 332, 207, 0, 587, 394, 0, 0, 0, 0, 0, 1991 0, 0, 0, 0, 249, 335, 0, 0, 0, 0, 1992 0, 0, 0, 0, 0, 0, 206, 0, 72, 0, 1993 75, 206, 612, 0, 577, 335, 0, 0, 0, 0, 1994 0, 0, 0, 0, 337, 0, 0, 77, 0, 75, 1995 0, 0, 141, 0, 0, 0, 0, 75, 700, 700, 1996 0, 332, 332, 332, 0, 0, 0, 0, 0, 0, 1997 0, 72, 0, 0, 335, 0, 0, 0, 77, 0, 1998 0, 0, 1194, 337, 0, 0, 0, 0, 0, 207, 1999 0, 0, 0, 562, 562, 0, 0, 0, 0, 0, 2000 0, 337, 0, 75, 0, 808, 0, 0, 335, 0, 2001 0, 0, 0, 216, 0, 700, 700, 0, 0, 206, 2002 0, 0, 0, 0, 0, 0, 802, 249, 0, 0, 2003 0, 0, 0, 206, 588, 0, 0, 0, 0, 0, 2004 0, 0, 0, 337, 0, 8, 9, 10, 11, 12, 2005 335, 0, 0, 487, 0, 0, 0, 0, 0, 0, 2006 335, 0, 249, 0, 0, 214, 335, 0, 120, 123, 2007 124, 0, 30, 0, 0, 0, 335, 884, 0, 0, 2008 0, 887, 0, 612, 0, 714, 0, 0, 0, 0, 2009 612, 332, 332, 0, 0, 33, 0, 0, 338, 808, 2010 36, 0, 177, 337, 39, 562, 0, 0, 0, 0, 2011 0, 40, 41, 0, 0, 0, 0, 394, 0, 0, 2012 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 2013 0, 0, 0, 1296, 0, 0, 178, 72, 244, 0, 2014 245, 0, 0, 0, 0, 0, 179, 0, 0, 0, 2015 332, 337, 337, 0, 63, 0, 0, 0, 0, 0, 2016 0, 335, 0, 0, 612, 0, 337, 0, 0, 0, 2017 54, 54, 0, 700, 0, 714, 0, 0, 0, 113, 2018 0, 0, 0, 0, 337, 0, 207, 0, 77, 0, 2019 0, 0, 0, 77, 0, 0, 0, 75, 0, 0, 2020 0, 54, 700, 0, 337, 0, 0, 0, 0, 0, 2021 0, 0, 0, 700, 700, 700, 0, 0, 377, 0, 2022 0, 0, 0, 0, 335, 332, 332, 396, 397, 562, 2023 0, 0, 401, 54, 403, 404, 54, 0, 0, 1194, 2024 75, 0, 0, 337, 84, 8, 9, 10, 11, 12, 2005 0, 0, 0, 247, 335, 0, 336, 0, 0, 827, 2006 0, 0, 830, 831, 0, 834, 0, 836, 837, 0, 2007 0, 0, 838, 839, 610, 560, 712, 0, 0, 0, 2008 1231, 610, 330, 330, 0, 0, 0, 0, 0, 0, 2009 0, 333, 333, 0, 333, 333, 333, 0, 0, 0, 2010 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2011 0, 0, 0, 0, 335, 70, 0, 0, 0, 73, 2012 0, 0, 0, 0, 1294, 0, 0, 73, 0, 0, 2013 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 2014 0, 330, 0, 0, 0, 61, 75, 0, 333, 333, 2015 0, 75, 0, 335, 0, 610, 920, 921, 0, 333, 2016 0, 0, 923, 0, 698, 0, 712, 0, 0, 0, 2017 111, 335, 0, 73, 0, 0, 8, 9, 10, 11, 2018 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2019 22, 23, 24, 698, 0, 25, 26, 27, 0, 0, 2020 0, 0, 0, 30, 698, 698, 698, 0, 0, 0, 2021 0, 0, 0, 335, 0, 0, 330, 330, 333, 0, 2022 0, 0, 0, 0, 333, 333, 33, 0, 0, 0, 2023 1192, 105, 0, 35, 36, 0, 0, 0, 214, 0, 2024 0, 0, 0, 1492, 0, 0, 0, 0, 0, 0, 2025 0, 0, 0, 610, 698, 0, 0, 0, 336, 0, 2026 0, 0, 0, 0, 0, 111, 212, 0, 0, 41, 2027 0, 0, 1492, 335, 0, 0, 0, 106, 0, 0, 2028 0, 0, 0, 333, 0, 0, 0, 70, 0, 82, 2029 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 2030 0, 0, 0, 0, 75, 0, 333, 0, 333, 0, 2031 0, 0, 0, 0, 0, 247, 0, 0, 336, 0, 2032 82, 335, 335, 75, 0, 0, 0, 204, 0, 0, 2033 0, 75, 0, 0, 0, 333, 335, 0, 0, 0, 2034 0, 0, 330, 0, 0, 0, 333, 333, 333, 0, 2035 0, 0, 0, 215, 335, 0, 0, 336, 333, 333, 2036 0, 0, 0, 0, 0, 0, 111, 73, 0, 0, 2037 0, 0, 70, 0, 335, 336, 0, 75, 0, 0, 2038 0, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 2039 0, 0, 0, 0, 1192, 0, 333, 0, 0, 0, 2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2041 73, 0, 0, 335, 0, 0, 0, 336, 0, 0, 2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 2043 0, 52, 52, 0, 0, 0, 0, 1192, 343, 0, 2044 0, 0, 0, 0, 1533, 0, 0, 335, 0, 0, 2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2046 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 2047 0, 0, 0, 120, 120, 120, 0, 336, 0, 0, 2048 0, 0, 0, 0, 333, 0, 0, 0, 0, 335, 2049 0, 0, 52, 0, 0, 52, 0, 0, 0, 335, 2050 0, 0, 0, 0, 213, 335, 0, 0, 0, 0, 2051 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 2052 0, 0, 0, 0, 0, 336, 336, 0, 82, 70, 2053 0, 0, 0, 82, 0, 0, 70, 0, 0, 0, 2054 336, 120, 0, 120, 0, 0, 0, 0, 0, 0, 2055 1221, 0, 0, 0, 0, 0, 0, 0, 336, 0, 2056 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 2057 0, 75, 0, 0, 0, 0, 73, 0, 336, 70, 2058 328, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2059 16, 17, 18, 19, 20, 21, 22, 23, 24, -279, 2060 335, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2061 0, 0, 0, 0, 75, 0, 0, 336, 0, 0, 2062 215, 120, 0, 0, 0, 0, 0, 0, 120, 0, 2063 120, 120, 33, 0, 0, 120, 0, 120, 120, 0, 2064 343, 0, 52, -279, 0, 0, 0, 0, 0, 0, 2065 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 2066 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 2067 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2068 0, 0, 0, 0, 1313, 0, 82, 0, 0, 0, 2069 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, 2070 343, 0, 0, 336, 120, 82, 0, 0, 214, 336, 2071 0, 0, 0, 82, 0, 0, 0, 0, 0, 336, 2072 0, 335, 335, 0, 335, 335, 335, 0, 0, 0, 2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 2074 0, 202, 0, 0, 0, 73, 0, 0, 0, 0, 2075 0, 221, 0, 225, 0, 227, 0, 343, 0, 82, 2076 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, 2077 0, 0, 0, 0, 0, 0, 0, 0, 335, 335, 2078 75, 0, 328, 0, 0, 0, 0, 0, 0, 335, 2079 0, 202, 0, 225, 227, 234, 0, 0, 0, 343, 2080 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, 2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 2084 0, 0, 328, 0, 160, 0, 164, 0, 335, 170, 2085 171, 172, 0, 174, 335, 335, 0, 0, 0, 343, 2086 0, 0, 0, 0, 0, 0, 0, 336, 223, 0, 2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 2088 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089 0, 202, 0, 225, 227, 234, 213, 0, 0, 0, 2090 0, 52, 0, 0, 0, 0, 0, 343, 343, 0, 2091 0, 0, 0, 335, 0, 0, 0, 73, 0, 0, 2092 0, 0, 343, 0, 0, 336, 336, 202, 336, 336, 2093 336, 202, 0, 0, 0, 0, 335, 0, 335, 0, 2094 343, 328, 0, 0, 0, 325, 0, 483, 0, 75, 2095 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 2096 343, 0, 0, 0, 0, 335, 0, 0, 0, 0, 2097 0, 0, 0, 0, 0, 0, 335, 335, 335, 0, 2098 0, 0, 336, 336, 0, 0, 0, 0, 335, 335, 2099 0, 0, 0, 336, 0, 202, 82, 0, 0, 343, 2100 0, 328, 73, 0, 0, 0, 120, 120, 0, 0, 2101 202, 0, 0, 0, 0, 225, 227, 0, 0, 0, 2102 0, 0, 0, 234, 0, 0, 335, 0, 0, 0, 2103 0, 0, 0, 343, 120, 0, 0, 120, 120, 0, 2104 120, 0, 120, 120, 0, 0, 0, 120, 120, 328, 2105 328, 0, 336, 0, 0, 0, 0, 0, 336, 336, 2106 0, 0, 0, 0, 328, 202, 0, 0, 0, 0, 2107 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 2108 0, 0, 0, 202, 0, 343, 0, 0, 0, 202, 2109 215, 343, 0, 0, 0, 0, 0, 0, 0, 0, 2110 214, 343, 0, 0, 0, 0, 202, 0, 0, 202, 2111 202, 0, 0, 0, 335, 0, 0, 336, 0, 0, 2112 573, 75, 581, 0, 0, 202, 120, 0, 0, 0, 2113 0, 120, 120, 606, 607, 0, 0, 120, 0, 202, 2114 336, 328, 336, 0, 0, 0, 202, 617, 0, 0, 2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 2116 0, 269, 82, 270, 0, 0, 73, 0, 0, 336, 2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2118 336, 336, 336, 0, 271, 0, 343, 0, 0, 0, 2119 272, 0, 336, 336, 273, 0, 0, 274, 275, 276, 2120 277, 38, 39, 0, 278, 279, 75, 660, 0, 73, 2121 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 2122 0, 0, 0, 0, 0, 0, 281, 0, 359, 0, 2123 336, 360, 0, 328, 0, 283, 361, 285, 286, 287, 2124 288, 0, 0, 0, 0, 0, 0, 0, 0, 343, 2125 0, 0, 0, 0, 0, 202, 0, -499, 0, 0, 2126 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2127 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2128 21, 22, 23, 24, 0, 202, 25, 26, 27, 28, 2129 202, 0, 29, 0, 30, 31, 0, 0, 0, 0, 2130 0, 0, 0, 0, 52, 0, 753, 343, 343, 0, 2131 343, 343, 343, 0, 32, 0, 0, 33, 336, 0, 2132 0, 0, 34, 0, 35, 36, 37, 0, 328, 0, 2133 0, 82, 0, 38, 39, 8, 9, 10, 11, 12, 2025 2134 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2026 23, 24, 612, 700, 25, 26, 27, 473, 474, 475, 2027 0, 0, 30, 0, 113, 84, 0, 337, 0, 0, 2028 216, 0, 335, 335, 0, 335, 335, 335, 0, 0, 2029 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2030 338, 0, 37, 38, 0, 0, 72, 0, 0, 0, 2031 217, 8, 9, 10, 11, 12, 0, 0, 206, 337, 2032 0, 330, 0, 0, 249, 0, 0, 0, 0, 337, 2033 0, 808, 0, 0, 215, 337, 0, 0, 30, 335, 2034 335, 562, 562, 0, 0, 337, 77, 0, 0, 394, 2035 335, 332, 0, 0, 0, 0, 0, 0, 0, 0, 2036 338, 33, 0, 0, 0, 77, 36, 0, 177, 0, 2037 39, 0, 0, 77, 0, 113, 0, 40, 41, 0, 2038 0, 207, 0, 54, 0, 0, 0, 0, 0, 0, 2039 0, 0, 0, 0, 0, 345, 1194, 0, 0, 338, 2040 0, 0, 674, 1194, 392, 0, 75, 0, 0, 335, 2041 0, 54, 676, 0, 0, 335, 335, 338, 0, 77, 2042 8, 9, 10, 11, 12, 1141, 0, 0, 0, 0, 2043 337, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2044 9, 10, 11, 12, 1158, 0, 1194, 30, 0, 0, 2045 0, 0, 0, 1535, 0, 0, 0, 214, 0, 338, 2046 0, 0, 0, 467, 0, 0, 30, 0, 0, 0, 2047 33, 0, 0, 0, 335, 36, 0, 177, 72, 39, 2048 0, 0, 0, 207, 0, 84, 40, 41, 0, 33, 2049 84, 808, 0, 337, 36, 0, 177, 335, 39, 335, 2050 170, 0, 0, 0, 0, 40, 41, 0, 0, 0, 2051 0, 255, 0, 206, 0, 0, 0, 0, 0, 338, 2052 0, 256, 562, 330, 0, 0, 335, 1233, 0, 0, 2053 1514, 0, 392, 0, 0, 0, 0, 335, 335, 335, 2054 1515, 0, 0, 0, 0, 0, 0, 0, 0, 335, 2055 335, 337, 337, 0, 337, 337, 337, 8, 9, 10, 2056 11, 12, 0, 72, 0, 0, 0, 338, 338, 0, 2057 0, 0, 0, 0, 0, 75, 0, 217, 0, 0, 2058 0, 0, 338, 330, 30, 0, 0, 335, 0, 0, 2059 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 2060 338, 0, 0, 794, 795, 0, 0, 33, 337, 337, 2061 0, 0, 36, 77, 0, 206, 39, 0, 0, 337, 2062 338, 0, 0, 40, 41, 0, 0, 0, 0, 0, 2063 0, 829, 0, 0, 832, 833, 0, 836, 0, 838, 2064 839, 0, 54, 84, 840, 841, 0, 0, 42, 0, 2065 0, 0, 0, 0, 0, 0, 77, 345, 143, 338, 2066 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 2067 84, 0, 0, 0, 0, 335, 0, 0, 337, 0, 2068 0, 0, 330, 0, 337, 337, 0, 0, 0, 0, 2069 0, 0, 0, 338, 0, 0, 345, 0, 0, 0, 2135 23, 24, -280, 0, 0, 0, 0, 0, 40, 0, 2136 41, 0, 30, 75, 343, 343, 799, 0, 42, 0, 2137 75, 0, 0, 0, 0, 343, 0, 52, 202, 0, 2138 0, 0, 269, 0, 270, 33, 0, 0, 0, 0, 2139 0, 328, 202, 0, 0, 0, -280, 0, 0, 0, 2140 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 2141 0, 272, 483, 75, 0, 273, 0, 860, 274, 275, 2142 276, 277, 38, 39, 0, 278, 279, 0, 0, 0, 2143 0, 0, 0, 280, 343, 0, 0, 0, 0, 0, 2144 343, 343, 0, 0, 0, 889, 0, 281, 0, 359, 2145 0, 0, 328, 328, 328, 783, 283, 361, 285, 286, 2146 287, 288, 0, 904, 905, 0, 0, 909, 0, 0, 2147 202, 0, 0, 52, 0, 0, 0, 0, 0, 0, 2148 202, 0, 215, 0, 0, 0, 0, 0, 0, 0, 2149 0, 0, 0, 0, 0, 929, 0, 930, 0, 343, 2150 0, 0, 202, 82, 933, 934, 0, 0, 0, 939, 2151 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 2152 0, 944, 343, 0, 343, 120, 948, 0, 0, 0, 2070 2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071 0, 0, 0, 0, 345, 0, 84, 0, 0, 0, 2072 72, 0, 0, 0, 0, 0, 215, 72, 922, 923, 2073 0, 0, 0, 0, 925, 338, 0, 0, 0, 0, 2074 0, 0, 330, 337, 0, 338, 0, 75, 0, 0, 2075 216, 338, 0, 0, 0, 0, 345, 0, 0, 0, 2076 0, 338, 0, 0, 0, 0, 337, 0, 337, 0, 2077 72, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2154 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155 976, 343, 0, 0, 0, 0, 0, 0, 0, 0, 2156 0, 0, 343, 343, 343, 0, 0, 0, 0, 0, 2157 0, 0, 0, 0, 343, 343, 0, 0, 0, 0, 2158 0, 0, 328, 328, 0, 0, 0, 0, 82, 0, 2159 0, 0, 0, 0, 0, 202, 0, 0, 998, 0, 2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2161 0, 0, 343, 0, 0, 0, 0, 1013, 0, 0, 2162 0, 202, 0, 52, 52, 0, 0, 0, 0, 0, 2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2164 0, 328, 0, 0, 0, 52, 0, 202, 0, 0, 2165 1024, 0, 1025, 1026, 1027, 0, 0, 1030, 860, 120, 2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2167 52, 0, 1072, 0, 0, 0, 0, 202, 0, 0, 2168 0, 0, 0, 0, 573, 0, 0, 1079, 0, 0, 2169 0, 0, 0, 1080, 202, 0, 0, 0, 0, 0, 2170 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171 0, 0, 0, 0, 0, 0, 328, 328, 0, 0, 2172 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 2173 52, 1099, 0, 0, 0, 0, 0, 0, 0, 0, 2174 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 2175 0, 0, 82, 0, 0, 0, 753, 0, 0, 0, 2176 0, 0, 0, 202, 0, 52, 0, 0, 0, 1125, 2177 0, 0, 0, 0, 860, 0, 149, 1133, 0, 0, 2178 202, 1137, 0, 0, 0, 0, 1141, 0, 0, 0, 2179 1146, 1147, 1148, 0, 0, 82, 0, 0, 0, 0, 2180 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2181 1167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2182 0, 239, 0, 0, 0, 0, 0, 0, 0, 1183, 2183 1184, 244, 0, 0, 0, 0, 0, 0, 0, 0, 2184 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 2185 0, 0, 0, 0, 1213, 0, 0, 1215, 0, 0, 2186 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 2187 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 2188 0, 0, 1229, 0, 0, 351, 0, 52, 0, 0, 2189 0, 0, 0, 0, 52, 0, 0, 0, 365, 0, 2190 0, 1236, 0, 0, 0, 0, 0, 1240, 1241, 0, 2191 0, 0, 0, 0, 0, 0, 1249, 0, 0, 0, 2192 397, 0, 1253, 0, 0, 1257, 0, 1258, 0, 0, 2193 1260, 0, 0, 0, 411, 0, 0, 52, 0, 0, 2194 0, 860, 416, 0, 0, 1269, 0, 0, 0, 0, 2195 0, 0, 424, 0, 0, 0, 0, 0, 0, 0, 2196 0, 0, 1278, 431, 1280, 1281, 1282, 1283, 0, 0, 2197 0, 0, 0, 0, 202, 450, 0, 0, 0, 0, 2198 460, 1291, 0, 1292, 0, 0, 0, 164, 0, 0, 2199 0, 0, 0, 468, 0, 0, 0, 0, 0, 478, 2200 0, 482, 0, 0, 0, 0, 1312, 0, 0, 0, 2201 0, 0, 0, 0, 0, 1317, 1318, 510, 0, 0, 2202 1, 2, 196, 4, 5, 6, 7, 8, 9, 10, 2203 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2204 21, 22, 23, 24, -279, 0, 25, 26, 27, 28, 2205 0, 0, 29, 0, 30, 0, 0, 0, 570, 0, 2206 0, 0, 0, 0, 0, 0, 1352, 1353, 0, 0, 2207 0, 0, 1357, 1358, 0, 0, 0, 33, 0, 0, 2208 0, 0, 0, 1368, 35, 36, 0, 618, -279, 0, 2209 0, 619, 620, 0, 621, 0, 0, 0, 0, 0, 2210 631, 632, 0, 633, 634, 0, 635, 0, 636, 0, 2211 0, 0, 1012, 0, 0, 8, 9, 10, 11, 12, 2212 41, 0, 0, 0, 0, 649, 0, 0, 106, 0, 2213 0, 0, 0, 651, 1399, 0, 0, 0, 0, 0, 2214 0, 269, 30, 270, 0, 0, 1403, 0, 0, 0, 2215 1406, 1407, 1408, 0, 0, 0, 0, 664, 0, 0, 2216 0, 0, 1412, 0, 271, 33, 0, 0, 671, 0, 2217 272, 1423, 0, 0, 273, 0, 0, 274, 275, 276, 2218 277, 38, 39, 0, 278, 279, 0, 1434, 0, 0, 2219 0, 707, 280, 0, 0, 0, 0, 710, 0, 0, 2220 0, 0, 450, 0, 0, 0, 281, 0, 359, 0, 2221 0, 0, 0, 202, 0, 283, 888, 285, 286, 287, 2222 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2223 0, 0, 0, 0, 0, 0, 0, 0, 744, 1475, 2224 1476, 0, 0, 0, 0, 0, 0, 344, 0, 0, 2225 0, 0, 1481, 760, 0, 0, 0, 0, 0, 1481, 2226 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2227 18, 19, 20, 21, 22, 23, 24, -279, 393, 25, 2228 26, 27, 0, 0, 0, 393, 1511, 30, 0, 786, 2229 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 2230 797, 0, 0, 0, 0, 0, 802, 0, 0, 0, 2231 33, 0, 0, 0, 1534, 0, 0, 35, 36, 821, 2232 0, -279, 0, 0, 0, 0, 0, 0, 0, 0, 2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 2234 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 2235 0, 1023, 0, 565, 393, 0, 0, 0, 862, 0, 2236 0, 106, 0, 0, 0, 0, 0, 0, 0, 1, 2237 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2238 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2239 22, 23, 24, 0, 897, 25, 26, 27, 28, 0, 2240 0, 29, 0, 30, 31, 0, 0, 0, 393, 0, 2241 0, 0, 0, 0, 0, 0, 393, 566, 0, 393, 2242 569, 0, 344, 32, 0, 0, 33, 596, 0, 0, 2243 0, 34, 0, 35, 36, 37, 0, 0, 0, 0, 2244 0, 0, 38, 39, 0, 0, 614, 0, 0, 344, 2245 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 2246 0, 945, 946, 0, 0, 0, 0, 40, 0, 41, 2247 0, 0, 0, 960, 0, 393, 0, 42, 0, 393, 2248 0, 0, 1165, 0, 0, 8, 9, 10, 11, 12, 2249 977, 0, 978, 0, 0, 0, 982, 0, 0, 0, 2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 2251 0, 269, 30, 270, 8, 9, 10, 11, 12, 13, 2252 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2253 24, 0, 393, 0, 271, 33, 0, 0, 0, 0, 2254 272, 30, 0, 0, 273, 0, 0, 274, 275, 276, 2255 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2256 0, 1018, 280, 393, 33, 0, 344, 0, 1019, 0, 2257 0, 0, 0, 0, 0, 0, 281, 0, 359, 0, 2258 0, 1021, 0, 1022, 0, 283, 1166, 285, 286, 287, 2259 288, 0, 0, 0, 0, 0, 0, 0, 1035, 0, 2260 0, 0, 0, 0, 1039, 393, 0, 0, 344, 0, 2261 0, 0, 0, 0, 0, 0, 1075, 0, 0, 1076, 2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2263 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 2264 0, 0, 0, 1086, 0, 0, 0, 0, 0, 0, 2265 0, 0, 393, 393, 0, 0, 0, 0, 0, 0, 2266 0, 0, 0, 0, 0, 0, 308, 0, 344, 0, 2267 344, 0, 0, 0, 0, 326, 0, 0, 808, 0, 2268 0, 596, 0, 596, 596, 0, 0, 362, 0, 0, 2269 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2270 840, 344, 0, 0, 0, 0, 344, 0, 0, 0, 2271 0, 0, 0, 0, 0, 0, 344, 344, 0, 0, 2272 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 2273 0, 344, 0, 0, 1151, 1152, 393, 883, 0, 0, 2274 393, 886, 0, 0, 0, 0, 0, 8, 9, 10, 2275 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2276 21, 22, 23, 24, 393, 0, 25, 26, 27, 344, 2277 393, 0, 393, 0, 30, 0, 393, 0, 464, 0, 2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2279 1210, 0, 0, 0, 0, 0, 1214, 33, 0, 0, 2280 0, 0, 0, 0, 197, 198, 0, 0, 344, 596, 2281 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2078 2282 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2079 330, 330, 25, 26, 27, 337, 0, 0, 0, 0, 2080 30, 434, 0, 0, 0, 330, 337, 337, 337, 0, 2081 0, 0, 0, 0, 0, 0, 345, 0, 337, 337, 2082 0, 0, 77, 33, 0, 0, 0, 0, 0, 0, 2083 37, 38, 75, 0, 8, 9, 10, 11, 12, 0, 2084 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 2085 0, 0, 122, 122, 122, 0, 337, 0, 0, 0, 2086 0, 30, 0, 0, 345, 345, 435, 0, 0, 0, 2087 687, 0, 0, 0, 108, 0, 0, 0, 0, 345, 2088 0, 0, 330, 0, 33, 0, 0, 0, 0, 36, 2089 0, 0, 0, 39, 0, 0, 0, 345, 0, 0, 2090 40, 41, 0, 0, 0, 0, 0, 0, 0, 338, 2091 84, 0, 0, 0, 162, 0, 166, 345, 0, 172, 2092 173, 174, 122, 176, 122, 720, 0, 0, 0, 0, 2093 0, 0, 0, 0, 0, 721, 0, 0, 225, 0, 2094 0, 0, 0, 0, 337, 0, 0, 0, 265, 238, 2095 239, 0, 0, 84, 0, 0, 345, 0, 0, 0, 2096 0, 0, 0, 0, 0, 0, 0, 338, 338, 0, 2097 338, 338, 338, 0, 330, 0, 0, 0, 0, 0, 2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2099 345, 77, 0, 0, 0, 0, 75, 0, 0, 0, 2100 0, 0, 122, 0, 0, 0, 0, 0, 0, 122, 2101 0, 122, 122, 0, 0, 327, 122, 0, 122, 122, 2102 0, 0, 0, 0, 338, 338, 0, 0, 0, 0, 2103 0, 0, 345, 0, 0, 338, 0, 0, 0, 75, 2104 0, 0, 345, 0, 0, 54, 0, 217, 345, 0, 2105 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 2106 0, 0, 0, 0, 0, 0, 0, 0, 1014, 330, 2107 0, 8, 9, 10, 11, 12, 0, 0, 0, 0, 2108 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 2109 0, 0, 0, 0, 338, 0, 0, 271, 30, 272, 2110 338, 338, 0, 0, 0, 0, 0, 0, 0, 0, 2111 0, 0, 0, 0, 0, 0, 0, 0, 54, 84, 2112 273, 33, 1223, 0, 0, 0, 274, 0, 0, 0, 2113 275, 0, 330, 276, 277, 278, 279, 40, 41, 0, 2114 280, 281, 216, 345, 0, 0, 0, 0, 282, 0, 2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 2116 0, 0, 283, 77, 361, 0, 0, 0, 0, 0, 2117 0, 285, 890, 287, 288, 289, 290, 0, 0, 0, 2118 0, 0, 338, 0, 338, 0, 0, 0, 0, 0, 2119 575, 0, 583, 330, 330, 330, 0, 0, 0, 0, 2120 0, 0, 0, 608, 609, 0, 345, 0, 0, 0, 2121 0, 338, 0, 0, 54, 0, 0, 619, 0, 0, 2122 0, 0, 338, 338, 338, 0, 0, 0, 0, 0, 2123 0, 0, 0, 0, 338, 338, 0, 0, 0, 0, 2124 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 2125 0, 0, 0, 0, 0, 0, 1315, 0, 330, 0, 2126 0, 0, 0, 0, 345, 345, 0, 345, 345, 345, 2127 0, 0, 338, 0, 0, 0, 0, 662, 0, 0, 2128 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 2129 0, 0, 197, 2, 198, 4, 5, 6, 7, 8, 2283 -279, 1233, 25, 26, 27, 0, 1235, 0, 0, 0, 2284 30, 0, 344, 0, 1239, 0, 393, 393, 259, 0, 2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286 0, 0, 0, 33, 0, 0, 0, 0, 34, 0, 2287 805, 36, 37, 1262, -279, 0, 0, 326, 0, 38, 2288 39, 0, 0, 0, 0, 0, 362, 0, 393, 0, 2289 1273, 0, 0, 1274, 0, 1275, 0, 0, 0, 0, 2290 344, 0, 0, 0, 1023, 0, 565, 0, 0, 596, 2291 0, 596, 1285, 1286, 608, 0, 0, 0, 0, 0, 2292 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2293 0, 0, 0, 1299, 0, 0, 308, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 0, 808, 0, 0, 0, 0, 0, 308, 0, 0, 2296 0, 0, 0, 0, 0, 1323, 0, 0, 0, 8, 2297 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2298 19, 20, 21, 22, 23, 24, 709, 0, 25, 26, 2299 27, 0, 0, 0, 0, 344, 30, 432, 0, 0, 2300 393, 393, 0, 0, 0, 0, 0, 0, 393, 0, 2301 0, 0, 0, 393, 0, 0, 0, 0, 0, 33, 2302 0, 393, 0, 0, 741, 0, 35, 36, 0, 0, 2303 0, 0, 0, 0, 596, 596, 754, 0, 0, 0, 2304 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 2305 0, 0, 0, 0, 0, 0, 763, 764, 344, 0, 2306 0, 0, 433, 0, 1393, 393, 1394, 0, 0, 0, 2307 106, 0, 808, 0, 0, 0, 0, 1401, 785, 1402, 2308 0, 0, 0, 0, 393, 1140, 0, 0, 794, 0, 2309 1143, 0, 344, 0, 0, 269, 754, 270, 0, 1411, 2310 0, 0, 0, 393, 1157, 0, 596, 596, 1162, 0, 2311 0, 0, 0, 0, 0, 1429, 0, 0, 271, 344, 2312 344, 344, 0, 0, 272, 0, 0, 1435, 273, 0, 2313 1239, 274, 275, 276, 277, 38, 39, 0, 278, 279, 2314 0, 0, 0, 0, 0, 0, 280, 861, 0, 0, 2315 0, 0, 1456, 0, 362, 0, 0, 0, 0, 0, 2316 281, 1463, 359, 0, 1465, 1467, 0, 0, 0, 283, 2317 361, 285, 286, 287, 288, 326, 1222, 0, 0, 0, 2318 0, 393, 0, 1208, 344, 808, 393, 1232, 0, 490, 2319 494, 490, 497, 0, 0, 0, 0, 326, 596, 500, 2320 501, 0, 1494, 0, 490, 490, 1239, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 490, 0, 1506, 0, 2322 808, 0, 0, 269, 0, 270, 0, 0, 0, 0, 2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2324 0, 0, 0, 344, 0, 490, 271, 0, 1143, 344, 2325 344, 0, 622, 0, 133, 134, 273, 0, 0, 274, 2326 275, 276, 277, 38, 39, 0, 278, 279, 0, 0, 2327 754, 0, 966, 0, 280, 0, 0, 0, 971, 0, 2328 0, 0, 490, 0, 0, 0, 981, 0, 281, 0, 2329 623, 0, 624, 360, 0, 0, 0, 283, 361, 285, 2330 286, 287, 288, 0, 0, 0, 0, 0, 344, 0, 2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 1143, 326, 0, 0, 995, 996, 326, 0, 2333 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 2334 0, 0, 0, 0, 0, 0, 0, 326, 8, 9, 2335 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2336 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2337 471, 472, 473, 0, 269, 30, 270, 0, 0, 0, 2338 0, 0, 0, 344, 344, 0, 0, 0, 1033, 0, 2339 0, 0, 362, 0, 0, 0, 0, 271, 33, 0, 2340 0, 0, 0, 272, 0, 35, 36, 273, 0, 0, 2341 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2342 1143, 0, 0, 326, 0, 280, 0, 0, 0, 0, 2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2344 0, 282, 0, 0, 0, 0, 0, 0, 283, 284, 2345 285, 286, 287, 288, 490, 490, 490, 490, 490, 490, 2346 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 2347 490, 490, 0, 308, 269, 0, 270, 0, 0, 0, 2348 0, 0, 808, 0, 0, 0, 1120, 1121, 0, 0, 2349 0, 0, 0, 490, 362, 0, 0, 271, 0, 0, 2350 0, 971, 0, 272, 1131, 0, 741, 273, 0, 344, 2351 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2352 0, 0, 0, 1149, 0, 280, 0, 0, 0, 0, 2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2354 1168, 359, 0, 0, 0, 0, 752, 0, 283, 361, 2355 285, 286, 287, 288, 0, 0, 0, 0, 0, 0, 2356 0, 0, 0, 362, 0, 1187, 0, 0, 0, 0, 2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2358 1209, 0, 0, 0, 269, 0, 270, 0, 0, 393, 2359 0, 0, 0, 0, 490, 0, 0, 0, 0, 1218, 2360 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 2361 393, 393, 754, 272, 0, 0, 490, 273, 0, 0, 2362 274, 275, 276, 277, 38, 39, 0, 278, 279, 490, 2363 0, 393, 0, 0, 0, 280, 0, 0, 0, 0, 2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2365 971, 359, 0, 0, 968, 0, 0, 0, 283, 361, 2366 285, 286, 287, 288, 0, 0, 0, 0, 0, 0, 2367 0, 861, 490, 0, 0, 0, 0, 0, 0, 0, 2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 1276, 2369 0, 1277, 0, 0, 0, 0, 0, 0, 0, 0, 2370 0, 0, 0, 0, 490, 453, 2, 196, 4, 5, 2371 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2372 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2373 0, 25, 26, 27, 0, 0, 754, 0, 0, 30, 2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 2376 0, 0, 33, 0, 0, 0, 0, 0, 0, 35, 2377 36, 0, 0, 0, 971, 0, 0, 0, 1, 2, 2378 196, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2379 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2380 23, 24, 0, 0, 25, 26, 27, 28, -3, 490, 2381 29, 269, 30, 1042, 1043, 0, 1044, 0, 0, 1045, 2382 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 1053, 0, 2383 0, 1054, 32, 0, 271, 33, 0, 0, 0, 0, 2384 622, 0, 35, 36, 273, 0, 0, 274, 275, 276, 2385 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2386 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 2387 0, 0, 0, 0, 0, 0, 281, 0, 1055, 0, 2388 0, 163, 0, 0, 0, 283, 284, 285, 286, 287, 2389 288, 0, 0, 0, 0, 0, 0, 0, 0, -126, 2390 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 2391 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 2392 0, 0, 0, 0, 0, 0, 1442, 0, 0, 0, 2393 0, 0, 1, 2, 196, 4, 5, 6, 7, 8, 2130 2394 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2131 2395 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2132 27, 345, 345, 330, 330, 0, 30, 0, 0, 0, 2133 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2135 0, 34, 0, 35, 0, 0, 199, 200, 0, 0, 2136 338, 0, 0, 0, 54, 54, 0, 0, 0, 0, 2137 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 2138 0, 0, 330, 0, 0, 0, 54, 122, 122, 0, 2139 0, 345, 201, 0, 0, 0, 0, 345, 345, 0, 2140 261, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2141 0, 54, 77, 0, 0, 122, 0, 0, 122, 122, 2142 0, 122, 0, 122, 122, 0, 0, 0, 122, 122, 2143 0, 0, 0, 0, 0, 0, 801, 0, 0, 217, 2396 27, 28, 0, 490, 29, 269, 30, 270, 0, 0, 2144 2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145 0, 0, 0, 0, 0, 77, 345, 330, 330, 0, 2146 84, 0, 0, 0, 0, 0, 54, 0, 0, 0, 2147 0, 54, 0, 0, 0, 0, 0, 0, 0, 345, 2148 0, 345, 0, 0, 0, 0, 0, 862, 0, 8, 2149 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2150 19, 20, 21, 22, 23, 24, 54, 122, 345, 0, 2151 0, 0, 122, 122, 0, 891, 30, 0, 122, 345, 2152 345, 345, 0, 0, 0, 0, 0, 0, 0, 0, 2153 0, 345, 345, 906, 907, 0, 0, 911, 0, 33, 2154 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 2398 0, 0, 0, 0, 0, 0, 0, 0, 271, 33, 2399 0, 0, 0, 0, 272, 0, 35, 36, 273, 0, 2400 1498, 274, 275, 276, 277, 38, 39, 0, 278, 279, 2401 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 2155 2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2156 0, 0, 0, 0, 0, 931, 0, 932, 0, 345, 2157 0, 0, 0, 0, 935, 936, 0, 0, 0, 941, 2158 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 2159 0, 946, 0, 0, 0, 0, 950, 0, 0, 0, 2160 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 2161 967, 0, 0, 0, 0, 271, 0, 272, 0, 204, 2162 978, 0, 0, 0, 0, 0, 0, 0, 54, 223, 2163 0, 227, 0, 229, 0, 54, 0, 0, 273, 0, 2164 236, 0, 0, 0, 274, 0, 0, 0, 275, 0, 2165 0, 276, 277, 278, 279, 40, 41, 345, 280, 281, 2166 0, 0, 0, 0, 0, 0, 282, 0, 1000, 204, 2167 0, 227, 229, 236, 0, 0, 0, 0, 54, 0, 2168 283, 0, 361, 0, 0, 0, 0, 1015, 0, 285, 2169 363, 287, 288, 289, 290, 0, 0, 204, 0, 0, 2170 0, 0, 84, 1210, 0, 0, 0, 0, 0, 84, 2171 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 2172 1026, 0, 1027, 1028, 1029, 0, 0, 1032, 862, 0, 2173 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 2174 0, 271, 1074, 272, 0, 0, 0, 0, 0, 0, 2175 0, 0, 84, 0, 575, 0, 0, 1081, 0, 0, 2176 0, 0, 0, 1082, 273, 0, 0, 0, 0, 204, 2177 274, 227, 229, 236, 275, 0, 241, 276, 277, 278, 2178 279, 40, 41, 0, 280, 281, 246, 0, 0, 0, 2179 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2180 0, 1101, 0, 0, 0, 204, 283, 0, 361, 204, 2181 0, 362, 0, 0, 0, 285, 363, 287, 288, 289, 2182 290, 0, 0, 0, 0, 485, 755, 0, 0, 0, 2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 2184 353, 0, 0, 0, 862, 0, 0, 1135, 0, 0, 2185 0, 1139, 0, 367, 0, 0, 1143, 0, 0, 0, 2186 1148, 1149, 1150, 0, 0, 0, 0, 0, 0, 0, 2187 1156, 0, 0, 204, 0, 399, 0, 0, 0, 0, 2188 1169, 0, 0, 0, 0, 0, 0, 0, 204, 413, 2189 0, 0, 0, 227, 229, 0, 0, 418, 0, 1185, 2190 1186, 236, 0, 0, 0, 0, 122, 426, 0, 0, 2191 0, 0, 0, 0, 0, 0, 0, 0, 433, 0, 2192 0, 0, 0, 0, 1215, 0, 0, 1217, 0, 0, 2193 452, 0, 0, 0, 0, 462, 0, 0, 0, 0, 2194 0, 0, 0, 204, 0, 0, 0, 0, 470, 0, 2195 0, 0, 1231, 0, 480, 0, 484, 0, 0, 0, 2196 0, 204, 0, 0, 0, 0, 0, 204, 0, 0, 2197 0, 1238, 512, 0, 0, 0, 0, 1242, 1243, 0, 2198 0, 0, 0, 0, 204, 0, 1251, 204, 204, 0, 2199 0, 0, 1255, 0, 0, 1259, 0, 1260, 0, 0, 2200 1262, 0, 0, 204, 0, 0, 0, 0, 0, 0, 2201 0, 862, 0, 572, 0, 1271, 0, 204, 0, 0, 2202 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 2203 0, 271, 1280, 272, 1282, 1283, 1284, 1285, 0, 0, 2204 122, 0, 620, 0, 0, 0, 621, 622, 0, 623, 2205 0, 1293, 0, 1294, 273, 633, 634, 166, 635, 636, 2206 274, 637, 0, 638, 275, 0, 0, 276, 277, 278, 2207 279, 40, 41, 0, 280, 281, 1314, 0, 0, 0, 2208 651, 0, 282, 0, 0, 1319, 1320, 0, 653, 0, 2209 0, 0, 0, 0, 0, 0, 283, 0, 361, 0, 2210 0, 0, 0, 0, 785, 285, 363, 287, 288, 289, 2211 290, 0, 666, 0, 0, 0, 0, 0, 0, 0, 2212 0, 0, 0, 673, 0, 0, 0, 0, 0, 0, 2213 0, 0, 0, 204, 0, 0, 1354, 1355, 0, 0, 2214 0, 0, 1359, 1360, 0, 0, 709, 0, 0, 0, 2215 0, 0, 712, 1370, 0, 0, 0, 452, 0, 0, 2216 0, 0, 0, 204, 0, 0, 0, 0, 204, 197, 2217 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2218 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2219 22, 23, 24, 746, 0, 25, 26, 27, 0, 0, 2220 0, 0, 0, 30, 1401, 0, 0, 0, 762, 0, 2221 0, 0, 0, 0, 0, 0, 1405, 0, 0, 0, 2222 1408, 1409, 1410, 0, 0, 0, 33, 0, 34, 0, 2223 35, 36, 1414, 199, 200, 39, 0, 0, 0, 0, 2224 0, 1425, 40, 41, 788, 0, 0, 0, 0, 0, 2225 0, 0, 0, 798, 0, 799, 204, 1436, 0, 0, 2226 0, 804, 0, 271, 0, 272, 0, 42, 0, 201, 2227 204, 0, 0, 0, 823, 0, 0, 202, 0, 0, 2228 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, 2229 485, 0, 624, 0, 135, 136, 275, 0, 0, 276, 2230 277, 278, 279, 40, 41, 0, 280, 281, 0, 1477, 2231 1478, 0, 0, 864, 282, 0, 0, 0, 0, 0, 2232 0, 0, 1483, 0, 271, 0, 272, 0, 283, 1483, 2233 625, 0, 626, 362, 0, 0, 0, 285, 363, 287, 2234 288, 289, 290, 0, 0, 0, 0, 273, 204, 899, 2235 0, 0, 0, 274, 0, 0, 1513, 275, 204, 0, 2236 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2237 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2238 204, 0, 0, 0, 1536, 0, 0, 0, 346, 283, 2239 0, 361, 0, 0, 0, 0, 754, 0, 285, 363, 2240 287, 288, 289, 290, 0, 0, 241, 0, 0, 1549, 2241 0, 0, 0, 0, 1551, 0, 947, 948, 0, 395, 2242 0, 0, 0, 0, 0, 0, 395, 0, 962, 0, 2403 281, 0, 1055, 0, 0, 0, 0, 490, 0, 283, 2404 284, 285, 286, 287, 288, 0, 308, 0, 0, 0, 2405 0, 0, 0, -126, 0, 0, 1, 2, 196, 4, 2406 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2407 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2408 0, 0, 25, 26, 27, 28, 0, 490, 29, 269, 2409 30, 270, 0, 0, 0, 0, 0, 0, 0, 0, 2410 0, 0, 490, 490, 0, 0, 0, 0, 0, 0, 2411 0, 0, 271, 33, 0, 0, 0, 0, 272, 0, 2412 35, 36, 273, 0, 0, 274, 275, 276, 277, 38, 2413 39, 0, 278, 279, 0, 0, 0, 0, 0, 0, 2414 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2415 0, 0, 0, 0, 281, 0, 41, 0, 0, 0, 2416 0, 0, 0, 283, 284, 285, 286, 287, 288, 2, 2417 196, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2418 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2419 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2420 0, 269, 30, 270, 0, 0, 0, 0, 0, 0, 2243 2421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2244 0, 0, 0, 0, 0, 979, 0, 980, 0, 0, 2245 0, 984, 0, 0, 0, 8, 9, 10, 11, 12, 2246 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2247 23, 24, 0, 204, 25, 26, 27, 0, 0, 0, 2248 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 2249 0, 0, 0, 0, 0, 395, 0, 0, 0, 204, 2250 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2251 36, 0, 37, 38, 39, 0, 1020, 0, 0, 0, 2252 0, 40, 41, 1021, 0, 204, 0, 0, 0, 0, 2253 0, 0, 0, 0, 0, 0, 1023, 0, 1024, 0, 2254 0, 0, 0, 0, 0, 0, 42, 0, 152, 395, 2255 0, 0, 0, 1037, 0, 204, 44, 395, 568, 1041, 2256 395, 571, 0, 346, 0, 0, 0, 0, 598, 0, 2257 0, 1077, 204, 0, 1078, 0, 0, 0, 0, 0, 2258 0, 0, 0, 0, 0, 0, 271, 616, 272, 0, 2259 346, 0, 788, 0, 0, 0, 0, 0, 1088, 0, 2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 2261 0, 0, 0, 0, 0, 274, 395, 0, 0, 275, 2262 395, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2263 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2264 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 2265 346, 283, 0, 361, 0, 0, 970, 0, 204, 0, 2266 285, 363, 287, 288, 289, 290, 0, 0, 0, 0, 2267 0, 0, 310, 395, 0, 0, 0, 0, 0, 0, 2268 0, 328, 0, 1147, 0, 0, 0, 0, 0, 1153, 2269 1154, 0, 0, 364, 0, 0, 0, 0, 0, 492, 2270 496, 492, 499, 0, 395, 0, 0, 346, 0, 502, 2271 503, 0, 0, 0, 492, 492, 0, 0, 0, 0, 2272 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, 2422 0, 0, 0, 0, 271, 33, 0, 0, 0, 0, 2423 272, 0, 35, 36, 273, 0, 0, 274, 275, 276, 2424 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2425 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 2426 0, 0, 0, 0, 0, 0, 281, 0, 323, -3, 2427 0, 0, 0, 752, 0, 283, 324, 285, 286, 287, 2428 288, 0, 2, 196, 4, 5, 6, 7, 8, 9, 2429 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2430 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2431 0, 0, 0, 0, 269, 30, 270, 0, 0, 0, 2273 2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2274 0, 0, 0, 0, 0, 1212, 395, 0, 0, 346, 2275 204, 1216, 0, 0, 0, 492, 0, 0, 0, 0, 2276 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2277 18, 19, 20, 21, 22, 23, 24, -279, 0, 25, 2278 26, 27, 0, 0, 466, 0, 1235, 30, 0, 0, 2279 0, 1237, 492, 395, 395, 0, 0, 0, 0, 1241, 2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 2281 33, 346, 0, 0, 0, 0, 0, 37, 38, 810, 2282 0, -279, 598, 0, 598, 598, 0, 0, 1264, 0, 2283 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 2284 0, 842, 346, 0, 0, 1275, 0, 346, 1276, 0, 2285 1277, 1025, 204, 567, 0, 0, 0, 346, 346, 0, 2286 0, 108, 0, 0, 0, 0, 0, 1287, 1288, 0, 2287 0, 0, 346, 0, 0, 0, 0, 395, 885, 0, 2288 0, 395, 888, 328, 0, 0, 0, 0, 1301, 0, 2289 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 2290 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 2291 346, 395, 0, 395, 0, 0, 0, 395, 0, 0, 2292 1325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433 0, 0, 0, 0, 0, 0, 490, 271, 33, 0, 2434 0, 0, 0, 272, 0, 35, 36, 273, 0, 0, 2435 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2436 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 2437 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2438 0, 908, -3, 0, 0, 0, 752, 0, 283, 324, 2439 285, 286, 287, 288, 0, 0, 0, 0, 0, 490, 2440 490, 2, 196, 4, 5, 6, 7, 8, 9, 10, 2441 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2442 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2443 0, 0, 0, 269, 30, 270, 0, 0, 0, 0, 2293 2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 310, 0, 0, 0, 0, 0, 0, 346, 2295 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296 0, 0, 0, 310, 492, 492, 492, 492, 492, 492, 2297 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 2298 492, 492, 0, 346, 0, 0, 0, 395, 395, 0, 2299 0, 0, 711, 0, 0, 0, 0, 0, 0, 0, 2300 0, 0, 0, 492, 0, 0, 0, 1167, 0, 0, 2301 8, 9, 10, 11, 12, 0, 0, 0, 0, 1395, 2302 0, 1396, 0, 0, 0, 0, 0, 0, 0, 395, 2303 743, 0, 1403, 0, 1404, 0, 271, 30, 272, 0, 2304 0, 346, 756, 0, 0, 0, 0, 0, 0, 743, 2305 598, 0, 598, 0, 1413, 0, 0, 0, 0, 273, 2306 33, 598, 765, 766, 0, 274, 0, 0, 0, 275, 2307 1431, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2308 281, 0, 1437, 0, 787, 1241, 0, 282, 0, 0, 2309 0, 204, 810, 0, 796, 0, 0, 0, 0, 0, 2310 0, 283, 756, 361, 492, 0, 0, 1458, 0, 0, 2311 285, 1168, 287, 288, 289, 290, 1465, 0, 0, 1467, 2312 1469, 0, 0, 0, 0, 0, 492, 0, 0, 0, 2313 0, 0, 0, 0, 0, 0, 346, 0, 0, 492, 2314 0, 395, 395, 0, 0, 0, 0, 0, 0, 395, 2315 0, 0, 0, 863, 395, 0, 0, 1496, 0, 0, 2316 364, 1241, 395, 0, 0, 0, 0, 0, 0, 0, 2317 0, 0, 0, 1508, 0, 598, 598, 0, 0, 0, 2318 0, 328, 492, 0, 0, 0, 0, 0, 0, 0, 2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 2320 0, 0, 0, 328, 0, 0, 395, 0, 0, 0, 2321 0, 0, 0, 810, 492, 0, 0, 0, 0, 0, 2322 0, 0, 0, 0, 0, 395, 1142, 0, 0, 0, 2323 0, 1145, 0, 346, 0, 0, 0, 0, 0, 0, 2324 0, 0, 0, 0, 395, 1159, 0, 598, 598, 1164, 2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326 346, 346, 346, 0, 0, 0, 0, 0, 0, 0, 2327 0, 0, 0, 0, 0, 0, 756, 0, 968, 0, 2328 0, 0, 0, 0, 973, 0, 0, 0, 0, 0, 2329 0, 0, 983, 0, 8, 9, 10, 11, 12, 13, 2330 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2331 24, -279, 0, 25, 26, 27, 0, 1224, 0, 492, 2332 0, 30, 395, 0, 0, 346, 810, 395, 1234, 328, 2333 0, 0, 997, 998, 328, 271, 0, 272, 0, 598, 2334 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2335 0, 37, 38, 328, 0, -279, 0, 0, 273, 0, 2336 0, 810, 0, 0, 274, 0, 0, 0, 275, 0, 2337 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2338 0, 0, 0, 0, 346, 1025, 282, 567, 0, 1145, 2339 346, 346, 0, 0, 1035, 610, 0, 0, 364, 0, 2340 283, 0, 361, 0, 0, 0, 0, 0, 0, 285, 2341 363, 287, 288, 289, 290, 492, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 492, 0, 0, 0, 328, 2343 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2344 17, 18, 19, 20, 21, 22, 23, 24, 0, 346, 2345 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2346 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 2347 0, 0, 0, 492, 346, 0, 0, 0, 0, 310, 2348 0, 33, 0, 0, 0, 0, 0, 0, 199, 200, 2349 0, 0, 1122, 1123, 0, 0, 0, 0, 0, 0, 2350 364, 0, 0, 0, 0, 0, 0, 973, 0, 0, 2351 1133, 0, 743, 0, 0, 271, 0, 272, 0, 0, 2352 0, 0, 0, 0, 346, 346, 0, 0, 0, 1151, 2353 0, 0, 261, 0, 0, 0, 0, 0, 273, 0, 2354 0, 0, 0, 0, 274, 0, 1170, 492, 275, 0, 2355 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2356 0, 1145, 0, 0, 0, 0, 282, 0, 0, 364, 2357 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 2358 283, 0, 361, 0, 0, 0, 1211, 0, 0, 285, 2359 710, 287, 288, 289, 290, 0, 0, 492, 0, 0, 2360 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 2361 0, 0, 492, 492, 0, 0, 0, 0, 756, 0, 2362 0, 0, -501, 810, 0, 1, 2, 3, 4, 5, 2363 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2364 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2365 346, 25, 26, 27, 28, 0, 973, 29, 0, 30, 2366 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367 0, 271, 0, 272, 0, 0, 0, 863, 0, 32, 2368 0, 0, 33, 0, 34, 0, 35, 36, 0, 37, 2369 38, 39, 0, 0, 273, 1278, 0, 1279, 40, 41, 2370 624, 0, 0, 0, 275, 0, 0, 276, 277, 278, 2371 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2372 0, 0, 282, 42, 0, 43, 0, 0, 0, 0, 2373 395, 0, 0, 44, 0, 0, 283, 0, 759, 0, 2374 0, 0, 756, 0, 0, 285, 363, 287, 288, 289, 2375 290, 395, 395, 0, 0, 0, 0, 310, 0, 0, 2376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2377 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, 2378 973, 0, 0, 1, 2, 198, 4, 5, 6, 7, 2379 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2380 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2381 26, 27, 28, 0, 0, 29, 271, 30, 1044, 1045, 2382 0, 1046, 0, 0, 1047, 1048, 1049, 1050, 1051, 1052, 2383 1053, 1054, 0, 1055, 0, 0, 1056, 32, 0, 273, 2384 33, 0, 34, 0, 35, 624, 492, 37, 38, 275, 2385 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2386 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2388 0, 283, 0, 1057, 0, 0, 165, 0, 0, 0, 2389 285, 286, 287, 288, 289, 290, 0, 0, 0, 0, 2390 0, 0, 0, 0, -126, 0, 0, 0, 0, 492, 2391 492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 0, 0, 1444, 0, 0, 0, 0, 0, 1, 2, 2394 198, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2395 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2396 23, 24, 0, 0, 25, 26, 27, 28, 0, 0, 2397 29, 271, 30, 272, 8, 9, 10, 11, 12, 13, 2398 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2399 24, -279, 0, 0, 273, 33, 0, 34, 0, 35, 2400 274, 30, 37, 38, 275, 0, 1500, 276, 277, 278, 2401 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2402 0, 0, 282, 0, 33, 0, 0, 0, 0, 0, 2403 0, 0, 0, 0, 0, -279, 283, 0, 1057, 0, 2404 0, 0, 0, 0, 0, 285, 286, 287, 288, 289, 2405 290, 0, 310, 0, 0, 0, 0, 0, 0, -126, 2406 1, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2407 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2408 21, 22, 23, 24, 0, 0, 25, 26, 27, 28, 2409 0, 0, 29, 271, 30, 272, 8, 9, 10, 11, 2410 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2411 22, 23, 24, -280, 0, 0, 273, 33, 0, 34, 2412 0, 35, 274, 30, 37, 38, 275, 0, 0, 276, 2413 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2414 0, 0, 0, 0, 282, 0, 33, 0, 0, 0, 2415 0, 0, 0, 0, 0, 0, 0, -280, 283, 0, 2416 43, 0, 0, 0, 0, 0, 0, 285, 286, 287, 2417 288, 289, 290, 2, 198, 4, 5, 6, 7, 8, 2445 0, 0, 0, 0, 0, 0, 271, 33, 0, 0, 2446 0, 0, 272, 0, 35, 36, 273, 0, 0, 274, 2447 275, 276, 277, 38, 39, 0, 278, 279, 0, 0, 2448 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, 2449 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 2450 908, -3, 0, 0, 0, 752, 0, 283, 572, 285, 2451 286, 287, 288, 2, 196, 4, 5, 6, 7, 8, 2418 2452 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2419 2453 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2420 27, 0, 0, 0, 0, 2 71, 30, 272, 0, 0,2454 27, 0, 0, 0, 0, 269, 30, 270, 0, 0, 2421 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 0, 27 3, 33,2423 0, 34, 0, 35, 274, 0, 37, 38, 275, 0,2424 0, 27 6, 277, 278, 279, 40, 41, 0, 280, 281,2425 0, 0, 0, 0, 0, 0, 28 2, 0, 0, 0,2456 0, 0, 0, 0, 0, 0, 0, 0, 271, 33, 2457 0, 0, 0, 0, 272, 0, 35, 36, 273, 0, 2458 0, 274, 275, 276, 277, 38, 39, 0, 278, 279, 2459 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 2426 2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427 28 3, 0, 325, -3, 0, 0, 0, 754, 0, 285,2428 32 6, 287, 288, 289, 290, 2, 198, 4, 5, 6,2461 281, 0, 323, -3, 0, 0, 0, 0, 0, 283, 2462 324, 285, 286, 287, 288, 2, 196, 4, 5, 6, 2429 2463 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2430 2464 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2431 25, 26, 27, 0, 0, 0, 0, 2 71, 30, 272,2465 25, 26, 27, 0, 0, 0, 0, 269, 30, 270, 2432 2466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433 2467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434 27 3, 33, 0, 34, 0, 35, 274, 0, 37, 38,2435 27 5, 0, 0, 276, 277, 278, 279, 40, 41, 0,2436 2 80, 281, 0, 0, 0, 0, 0, 0, 282, 0,2468 271, 33, 0, 0, 0, 0, 272, 0, 35, 36, 2469 273, 0, 0, 274, 275, 276, 277, 38, 39, 0, 2470 278, 279, 0, 0, 0, 0, 0, 0, 280, 0, 2437 2471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2438 0, 0, 28 3, 0, 910, -3, 0, 0, 0, 754,2439 0, 28 5, 326, 287, 288, 289, 290, 2, 198, 4,2472 0, 0, 281, 0, 908, -3, 0, 0, 0, 0, 2473 0, 283, 324, 285, 286, 287, 288, 2, 196, 4, 2440 2474 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2441 2475 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2442 0, 0, 25, 26, 27, 0, 0, 0, 0, 2 71,2443 30, 27 2, 0, 0, 0, 0, 0, 0, 0, 0,2476 0, 0, 25, 26, 27, 0, 0, 0, 0, 269, 2477 30, 270, 0, 0, 0, 0, 0, 0, 0, 0, 2444 2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445 0, 0, 27 3, 33, 0, 34, 0, 35, 274, 0,2446 37, 38, 275, 0, 0, 276, 277, 278, 279, 40,2447 41, 0, 280, 281, 0, 0, 0, 0, 0, 0,2448 28 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,2449 0, 0, 0, 0, 28 3, 0, 910, -3, 0, 0,2450 0, 754, 0, 285, 574, 287, 288, 289, 290, 2,2451 19 8, 4, 5, 6, 7, 8, 9, 10, 11, 12,2479 0, 0, 271, 33, 0, 0, 0, 0, 272, 0, 2480 197, 198, 273, 0, 0, 274, 275, 276, 277, 38, 2481 39, 0, 278, 279, 0, 0, 0, 0, 0, 0, 2482 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2483 0, 0, 0, 0, 281, 0, 993, 0, 0, 0, 2484 0, 0, 0, 283, 994, 285, 286, 287, 288, 2, 2485 196, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2452 2486 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2453 2487 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2454 0, 2 71, 30, 272, 0, 0, 0, 0, 0, 0,2488 0, 269, 30, 270, 0, 0, 0, 0, 0, 0, 2455 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2456 0, 0, 0, 0, 273, 33, 0, 34, 0, 35, 2457 274, 0, 37, 38, 275, 0, 0, 276, 277, 278, 2458 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2459 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2460 0, 0, 0, 0, 0, 0, 283, 0, 325, -3, 2461 0, 0, 0, 0, 0, 285, 326, 287, 288, 289, 2462 290, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2490 0, 0, 0, 0, 271, 33, 0, 0, 0, 0, 2491 272, 0, 197, 198, 273, 0, 0, 274, 275, 276, 2492 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2493 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 2494 0, 0, 0, 0, 0, 0, 281, 0, 359, 0, 2495 0, 0, 0, 0, 0, 283, 361, 285, 286, 287, 2496 288, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2497 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2498 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2499 28, 0, 0, 29, 0, 30, 31, 0, 0, 0, 2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2501 0, 0, 0, 0, 0, 32, 0, 0, 33, 0, 2502 0, 0, 0, 34, 0, 35, 36, 37, 0, 0, 2503 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 2506 0, 41, 0, 0, 0, -503, 0, 0, 0, 42, 2507 195, 2, 196, 4, 5, 6, 7, 8, 9, 10, 2463 2508 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2464 2509 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2465 0, 0, 0, 271, 30, 272, 0, 0, 0, 0,2510 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2466 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 273, 33, 0, 34, 2468 0, 35, 274, 0, 37, 38, 275, 0, 0, 276, 2469 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2470 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 2471 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 2472 910, -3, 0, 0, 0, 0, 0, 285, 326, 287, 2473 288, 289, 290, 2, 198, 4, 5, 6, 7, 8, 2512 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2513 0, 0, 34, 0, 197, 198, 37, 0, 0, 0, 2514 0, 0, 0, 38, 39, 0, 0, 0, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 2517 199, 0, 0, 0, 0, 0, 0, 0, 200, 1, 2518 2, 196, 4, 5, 6, 7, 8, 9, 10, 11, 2519 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2520 22, 23, 24, 0, 0, 25, 26, 27, 28, 0, 2521 0, 29, 0, 30, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2524 0, 0, 0, 35, 36, 0, 195, 2, 196, 4, 2525 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2526 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2527 0, 0, 25, 26, 27, 0, 0, 0, 0, 41, 2528 30, 0, 0, 0, 0, 0, 0, 106, 0, 0, 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2531 197, 198, 2, 196, 4, 5, 6, 7, 8, 9, 2532 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2533 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2534 0, 0, 0, 0, 0, 30, 199, 0, 0, 0, 2535 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 2536 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2537 0, 0, 0, 34, 0, 197, 198, 37, 0, 0, 2538 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 2541 0, 199, 0, 0, 0, 0, 0, 0, 0, 200, 2542 2, 196, 4, 5, 6, 7, 8, 9, 10, 11, 2543 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2544 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2545 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2547 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2548 0, 0, 0, 35, 36, 2, 196, 4, 5, 6, 2549 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2550 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2551 25, 26, 27, 0, 0, 0, 0, 0, 30, 659, 2552 -3, 0, 0, 0, 0, 0, 0, 608, 0, 0, 2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2554 0, 33, 0, 0, 0, 0, 0, 0, 35, 36, 2555 0, 0, 2, 196, 4, 5, 6, 7, 8, 9, 2556 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2557 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2558 0, 0, 0, -386, 659, 30, 0, 0, 0, 0, 2559 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2561 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2563 0, 0, 0, 0, 0, 0, 0, 1365, 0, 0, 2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2565 0, 659, 0, 0, 0, 0, 0, 0, 0, 608, 2566 2, 196, 4, 5, 6, 7, 8, 9, 10, 11, 2567 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2568 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2569 0, 0, 0, 30, 0, 0, 0, 0, 8, 9, 2570 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2571 20, 21, 22, 23, 24, 0, 33, 25, 26, 27, 2572 0, 0, 0, 35, 36, 30, 0, 0, 0, 0, 2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2574 0, 0, 0, 0, 0, 1367, 0, 0, 33, 0, 2575 0, 0, 0, 34, 0, 805, 36, 37, 0, 659, 2576 0, 0, 0, 0, 38, 39, 0, 608, 2, 196, 2577 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2578 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2579 24, 565, 0, 25, 26, 27, 0, 0, 0, 106, 2580 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2582 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2583 0, 197, 198, 2, 196, 4, 5, 6, 7, 8, 2474 2584 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2475 2585 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2476 27, 0, 0, 0, 0, 271, 30, 272, 0, 0, 2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2478 0, 0, 0, 0, 0, 0, 0, 0, 273, 33, 2479 0, 34, 0, 35, 274, 0, 199, 200, 275, 0, 2480 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2481 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2483 283, 0, 995, 0, 0, 0, 0, 0, 0, 285, 2484 996, 287, 288, 289, 290, 2, 198, 4, 5, 6, 2485 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2486 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2487 25, 26, 27, 0, 0, 0, 0, 271, 30, 272, 2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2490 273, 33, 0, 34, 0, 35, 274, 0, 199, 200, 2491 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2492 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494 0, 0, 283, 0, 361, 0, 0, 0, 0, 0, 2495 0, 285, 363, 287, 288, 289, 290, 1, 2, 3, 2496 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2497 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2498 24, 0, 0, 25, 26, 27, 28, 0, 0, 29, 2499 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, 2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2501 0, 32, 0, 0, 33, 0, 34, 0, 35, 36, 2502 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 2503 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505 0, 0, 0, 0, 0, 42, 0, 43, 0, 0, 2506 0, -505, 0, 0, 0, 44, 1, 2, 3, 4, 2507 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2508 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2509 0, 0, 25, 26, 27, 28, 0, 0, 29, 0, 2510 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512 32, 0, 0, 33, 0, 34, 0, 35, 36, 0, 2513 37, 38, 39, 0, 0, 0, 0, 0, 0, 40, 2514 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 0, 0, 42, 0, 43, 0, 0, 0, 2517 0, 0, 0, 0, 44, 1, 2, 198, 4, 5, 2518 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2519 16, 17, 18, 19, 20, 21, 22, 23, 24, -279, 2520 0, 25, 26, 27, 28, 0, 0, 29, 0, 30, 2521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2524 38, 0, 0, -279, 1, 2, 198, 4, 5, 6, 2525 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2526 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2527 25, 26, 27, 28, 0, 43, 29, 0, 30, 0, 2528 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 0, 33, 0, 34, 0, 35, 0, 0, 37, 38, 2531 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2532 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2533 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2534 0, 0, 0, 30, 43, 0, 0, 0, 0, 0, 2535 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 2536 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2537 35, 36, 0, 199, 200, 39, 0, 0, 0, 0, 2538 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, 2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540 0, 0, 0, 0, 0, 0, 0, 42, 0, 201, 2541 0, 0, 0, 0, 0, 0, 0, 202, 2, 198, 2586 27, 0, 0, 0, 0, 0, 30, 258, 0, 0, 2587 0, 0, 0, 0, 0, 603, 0, 0, 0, 0, 2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2589 0, 0, 0, 0, 0, 0, 35, 36, 2, 196, 2542 2590 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2543 2591 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2544 2592 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2545 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,2547 0, 0, 0, 0, 33, 0, 34, 0, 35, 0,2548 0, 3 7, 38, 2, 198, 4, 5, 6, 7, 8,2593 0, 30, 571, 0, 0, 0, 0, 0, 0, 0, 2594 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2595 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2596 0, 35, 36, 2, 196, 4, 5, 6, 7, 8, 2549 2597 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2550 2598 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2551 27, 0, 0, 0, 0, 0, 30, 6 61, -3, 0,2552 0, 0, 0, 0, 0, 6 10, 0, 0, 0, 0,2599 27, 0, 0, 0, 0, 0, 30, 659, 0, 0, 2600 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 2553 2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2554 0, 34, 0, 35, 0, 0, 37, 38, 0, 0, 2555 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2602 0, 0, 0, 0, 0, 0, 197, 198, 8, 9, 2603 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2604 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2605 0, 0, 0, 0, 269, 30, 270, 0, 0, 0, 2606 0, 0, 199, 0, 0, 0, 0, 0, 0, 0, 2607 259, 0, 0, 0, 0, 0, 0, 271, 33, 0, 2608 0, 0, 0, 272, 0, 35, 36, 273, 0, 0, 2609 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2610 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2612 0, 503, 0, 0, 163, 0, 0, 0, 283, 284, 2613 285, 286, 287, 288, 8, 9, 10, 11, 12, 13, 2614 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2615 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2616 269, 30, 270, 0, 0, 0, 0, 0, 0, 0, 2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2618 0, 0, 0, 271, 33, 0, 0, 0, 0, 272, 2619 0, 35, 36, 273, 0, 0, 274, 275, 276, 277, 2620 38, 39, 0, 278, 279, 0, 0, 0, 0, 0, 2621 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 2622 0, 0, 0, 0, 0, 281, 0, 571, -3, 0, 2623 0, 0, 0, 0, 283, 572, 285, 286, 287, 288, 2624 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2625 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2626 26, 27, 0, 0, 0, 0, 269, 30, 270, 0, 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 2629 33, 0, 0, 0, 0, 622, 0, 35, 36, 273, 2630 0, 0, 274, 275, 276, 277, 38, 39, 0, 278, 2631 279, 0, 0, 0, 0, 0, 0, 280, 0, 0, 2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2633 0, 281, -35, 738, 0, 0, 0, 0, 0, 0, 2634 283, 284, 285, 286, 287, 288, 8, 9, 10, 11, 2556 2635 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2557 2636 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2558 0, -388, 661, 30, 0, 0, 0, 0, 0, 0, 2559 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2561 35, 0, 0, 37, 38, 0, 0, 0, 0, 0, 2637 0, 0, 269, 30, 270, 0, 0, 0, 0, 0, 2562 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2563 0, 0, 0, 0, 0, 1367, 0, 0, 0, 0, 2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 2565 0, 0, 0, 0, 0, 0, 0, 610, 2, 198, 2566 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2639 0, 0, 0, 0, 0, 271, 33, 0, 0, 0, 2640 0, 272, 0, 35, 36, 273, 0, 0, 274, 275, 2641 276, 277, 38, 39, 0, 278, 279, 0, 0, 0, 2642 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 2643 0, 0, 0, 0, 0, 0, 0, 281, 0, 282, 2644 0, 0, 0, 0, 0, 0, 283, 284, 285, 286, 2645 287, 288, 8, 9, 10, 11, 12, 13, 14, 15, 2646 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2647 0, 25, 26, 27, 0, 0, 0, 0, 269, 30, 2648 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2650 0, 271, 33, 0, 0, 0, 0, 272, 0, 35, 2651 36, 273, 0, 0, 274, 275, 276, 277, 38, 39, 2652 0, 278, 279, 0, 0, 0, 0, 0, 0, 280, 2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2654 0, 0, 0, 281, 0, 150, 0, 0, 0, 0, 2655 0, 0, 283, 284, 285, 286, 287, 288, 8, 9, 2656 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2657 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2658 0, 0, 0, 0, 269, 30, 270, 0, 0, 0, 2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2660 0, 0, 0, 0, 0, 0, 0, 271, 33, 0, 2661 0, 0, 0, 272, 0, 35, 36, 273, 0, 0, 2662 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2663 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 2665 0, 571, 0, 0, 0, 0, 0, 0, 283, 572, 2666 285, 286, 287, 288, 8, 9, 10, 11, 12, 13, 2567 2667 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2568 2668 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2569 0, 30, 8, 9, 10, 11, 12, 13, 14, 15, 2669 269, 30, 270, 0, 0, 0, 0, 0, 0, 0, 2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671 0, 0, 0, 271, 33, 0, 0, 0, 0, 272, 2672 0, 35, 36, 273, 0, 0, 274, 275, 276, 277, 2673 38, 39, 0, 278, 279, 0, 0, 0, 0, 0, 2674 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 2675 0, 0, 0, 0, 0, 281, 0, 359, 0, 0, 2676 0, 0, 0, 0, 283, 361, 285, 286, 287, 288, 2677 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2678 18, 19, 20, 21, 22, 23, 24, -279, 0, 25, 2679 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2680 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2681 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2682 33, 0, 25, 26, 27, 34, 0, 805, 36, 37, 2683 30, -279, 0, 0, 0, 0, 38, 39, 0, 0, 2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2685 0, 0, 0, 33, 0, 0, 0, 0, 34, 0, 2686 35, 36, 37, 565, 0, 0, 0, 0, 0, 38, 2687 39, 106, 8, 9, 10, 11, 12, 13, 14, 15, 2570 2688 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2571 0, 25, 26, 27, 33, 0, 34, 0, 35, 30,2572 0, 37, 38, 0, 0, 0, 0, 0, 0, 0,2689 0, 25, 26, 27, 40, 0, 41, 0, 0, 30, 2690 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 2573 2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2574 0, 0, 33, 1369, 0, 0, 0, 107, 0, 37, 2575 38, 0, 0, 0, 0, 0, 0, 661, 0, 0, 2576 0, 0, 0, 0, 0, 610, 2, 198, 4, 5, 2577 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2692 0, 0, 33, 0, 0, 0, 0, 34, 0, 197, 2693 198, 37, 0, 0, 0, 0, 0, 0, 38, 39, 2694 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2695 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2696 26, 27, 0, 40, 0, 258, 0, 30, 0, 0, 2697 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2699 33, 0, 0, 0, 0, 34, 0, 805, 36, 37, 2700 0, 0, 0, 0, 0, 0, 38, 39, 8, 9, 2701 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2702 20, 21, 22, 23, 24, -279, 0, 25, 26, 27, 2703 0, 1023, 0, 565, 0, 30, 0, 0, 0, 0, 2704 0, 608, 0, 0, 0, 0, 0, 0, 0, 0, 2705 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2706 0, 0, 0, 0, 0, 35, 36, 0, 0, -279, 2707 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2708 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2709 26, 27, 0, 0, 0, 0, 0, 30, 432, 1023, 2710 0, 565, 0, 0, 0, 0, 0, 0, 0, 608, 2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2712 33, 0, 0, 0, 0, 0, 0, 35, 36, 8, 2713 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2714 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2715 27, 0, 0, 0, 0, 0, 30, 432, 0, 0, 2716 0, 0, 0, 433, 0, 0, 0, 685, 0, 0, 2717 0, 106, 0, 0, 0, 0, 0, 0, 0, 33, 2718 0, 0, 0, 0, 0, 0, 35, 36, 8, 9, 2719 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2720 20, 21, 22, 23, 24, -279, 0, 25, 26, 27, 2721 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2722 0, 0, 433, 0, 0, 0, 924, 0, 0, 0, 2723 106, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2724 0, 0, 0, 0, 0, 35, 36, 0, 0, -279, 2725 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2726 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2727 26, 27, 0, 0, 0, 0, 0, 30, 432, 0, 2728 0, 565, 0, 0, 0, 0, 0, 0, 0, 106, 2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2730 33, 0, 0, 0, 0, 0, 0, 35, 36, 8, 2731 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2732 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2733 27, 0, 0, 0, 0, 0, 30, 432, 0, 0, 2734 0, 0, 0, 433, 0, 0, 0, 1389, 0, 0, 2735 0, 106, 0, 0, 0, 0, 0, 0, 0, 33, 2736 0, 0, 0, 0, 0, 0, 35, 36, 8, 9, 2737 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2738 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2739 0, 0, 0, 0, 0, 30, 432, 0, 0, 0, 2740 0, 0, 433, 0, 0, 0, 1433, 0, 0, 0, 2741 106, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2742 0, 0, 0, 0, 0, 35, 36, 8, 9, 10, 2743 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2744 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2745 0, 0, 0, 0, 30, 432, 0, 0, 0, 0, 2746 0, 433, 0, 0, 0, 1495, 0, 0, 0, 106, 2747 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2748 0, 0, 0, 0, 35, 36, 8, 9, 10, 11, 2749 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2750 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2751 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2752 433, 0, 0, 0, 1519, 0, 0, 0, 106, 0, 2753 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2754 0, 0, 0, 35, 36, 8, 9, 10, 11, 12, 2755 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2756 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2757 0, 0, 30, 0, 0, 0, 0, 1023, 0, 565, 2758 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 2759 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2760 0, 0, 35, 36, 8, 9, 10, 11, 12, 13, 2761 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2762 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2763 0, 30, 0, 0, 0, 0, 1023, 0, 565, 0, 2764 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 2765 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2766 0, 35, 36, 8, 9, 10, 11, 12, 13, 14, 2767 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2768 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2769 30, 0, 0, 0, 0, 0, 0, 245, 0, 0, 2770 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 2771 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2772 35, 36, 8, 9, 10, 11, 12, 13, 14, 15, 2578 2773 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2579 2774 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2582 0, 0, 33, 0, 34, 0, 35, 0, 0, 199, 2583 200, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2584 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2585 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2586 0, 0, 0, 0, 30, 260, 0, 0, 0, 0, 2587 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 2588 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2589 0, 35, 0, 0, 37, 38, 2, 198, 4, 5, 2590 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2591 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2592 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2593 573, 0, 0, 0, 0, 0, 0, 0, 610, 0, 2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2595 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2596 38, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2597 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2598 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2599 0, 0, 0, 0, 30, 661, 0, 0, 0, 0, 2600 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 2601 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2602 0, 35, 0, 0, 199, 200, 8, 9, 10, 11, 2603 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2604 22, 23, 24, 0, 0, 25, 26, 27, 473, 474, 2605 475, 0, 271, 30, 272, 0, 0, 0, 0, 0, 2606 201, 0, 0, 0, 0, 0, 0, 0, 261, 0, 2607 0, 0, 0, 0, 0, 273, 33, 0, 0, 0, 2608 0, 274, 0, 37, 38, 275, 0, 0, 276, 277, 2609 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2610 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2611 0, 0, 0, 0, 0, 0, 0, 283, 0, 284, 2612 0, 0, 0, 0, 0, 0, 285, 286, 287, 288, 2613 289, 290, 8, 9, 10, 11, 12, 13, 14, 15, 2614 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2615 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2616 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2618 0, 273, 33, 0, 0, 0, 0, 274, 0, 37, 2619 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2620 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2622 0, 0, 0, 283, 0, 505, 0, 0, 165, 0, 2623 0, 0, 285, 286, 287, 288, 289, 290, 8, 9, 2624 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2625 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2626 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2628 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2629 0, 0, 0, 274, 0, 37, 38, 275, 0, 0, 2630 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2631 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2633 0, 573, -3, 0, 0, 0, 0, 0, 285, 574, 2634 287, 288, 289, 290, 8, 9, 10, 11, 12, 13, 2635 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2636 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2637 271, 30, 272, 0, 0, 0, 0, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639 0, 0, 0, 273, 33, 0, 0, 0, 0, 624, 2640 0, 37, 38, 275, 0, 0, 276, 277, 278, 279, 2641 40, 41, 0, 280, 281, 0, 0, 0, 0, 0, 2642 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 2643 0, 0, 0, 0, 0, 283, -35, 740, 0, 0, 2644 0, 0, 0, 0, 285, 286, 287, 288, 289, 290, 2775 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 2776 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 2777 0, 0, 33, 0, 0, 0, 0, 0, 0, 197, 2778 198, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2779 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2780 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2781 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 2782 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 2783 0, 33, 0, 0, 0, 0, 0, 0, 35, 36, 2645 2784 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2646 2785 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2647 26, 27, 0, 0, 0, 0, 271, 30, 272, 0, 2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 2650 33, 0, 0, 0, 0, 274, 0, 37, 38, 275, 2651 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2652 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2654 0, 283, 0, 284, 0, 0, 0, 0, 0, 0, 2655 285, 286, 287, 288, 289, 290, 8, 9, 10, 11, 2656 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2657 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2658 0, 0, 271, 30, 272, 0, 0, 0, 0, 0, 2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2660 0, 0, 0, 0, 0, 273, 33, 0, 0, 0, 2661 0, 274, 0, 37, 38, 275, 0, 0, 276, 277, 2662 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2663 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2664 0, 0, 0, 0, 0, 0, 0, 283, 0, 152, 2665 0, 0, 0, 0, 0, 0, 285, 286, 287, 288, 2666 289, 290, 8, 9, 10, 11, 12, 13, 14, 15, 2667 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2668 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2669 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671 0, 273, 33, 0, 0, 0, 0, 274, 0, 37, 2672 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2673 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2675 0, 0, 0, 283, 0, 573, 0, 0, 0, 0, 2676 0, 0, 285, 574, 287, 288, 289, 290, 8, 9, 2677 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2678 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2679 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2681 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2682 0, 0, 0, 274, 0, 37, 38, 275, 0, 0, 2683 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2684 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2686 0, 361, 0, 0, 0, 0, 0, 0, 285, 363, 2687 287, 288, 289, 290, 455, 2, 198, 4, 5, 6, 2688 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2689 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2690 25, 26, 27, 0, 0, 0, 0, 0, 30, 8, 2691 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2692 19, 20, 21, 22, 23, 24, -279, 0, 25, 26, 2693 27, 33, 0, 34, 0, 35, 30, 0, 37, 38, 2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2696 0, 0, 0, 0, 36, 0, 807, 38, 39, 0, 2697 -279, 0, 0, 0, 0, 40, 41, -3, 8, 9, 2698 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2699 20, 21, 22, 23, 24, -279, 0, 25, 26, 27, 2700 1025, 0, 567, 0, 0, 30, 0, 0, 0, 0, 2701 610, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2702 17, 18, 19, 20, 21, 22, 23, 24, 33, 0, 2703 25, 26, 27, 36, 0, 807, 38, 39, 30, -279, 2704 0, 0, 0, 0, 40, 41, 0, 0, 0, 0, 2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2706 0, 33, 0, 0, 0, 0, 36, 0, 37, 38, 2707 39, 567, 0, 0, 0, 0, 0, 40, 41, 108, 2708 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2709 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2710 26, 27, 42, 0, 43, 0, 0, 30, 0, 0, 2711 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2713 33, 0, 0, 0, 0, 36, 0, 199, 200, 39, 2714 0, 0, 0, 0, 0, 0, 40, 41, 8, 9, 2715 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2716 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2717 0, 42, 0, 260, 0, 30, 0, 0, 0, 0, 2718 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 2719 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2720 0, 0, 0, 36, 0, 807, 38, 39, 0, 0, 2721 0, 0, 0, 0, 40, 41, 8, 9, 10, 11, 2722 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2723 22, 23, 24, 0, 0, 25, 26, 27, 0, 1025, 2724 0, 567, 0, 30, 0, 0, 0, 0, 0, 610, 2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2726 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2727 0, 36, 0, 807, 38, 39, 0, 0, 0, 0, 2728 0, 0, 40, 41, 8, 9, 10, 11, 12, 13, 2729 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2730 24, 0, 0, 25, 26, 27, 0, 0, 0, 567, 2731 0, 30, 434, 0, 0, 0, 0, 108, 0, 0, 2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2734 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2735 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2736 -279, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2737 30, 0, 0, 0, 0, 0, 0, 435, 0, 0, 2738 0, 926, 0, 0, 0, 108, 0, 0, 0, 0, 2739 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2740 37, 38, 0, 0, -279, 8, 9, 10, 11, 12, 2741 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2742 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2743 0, 0, 30, 434, 0, 0, 567, 0, 0, 0, 2744 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, 2745 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2746 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2747 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2748 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2749 0, 30, 434, 0, 0, 0, 0, 0, 435, 0, 2750 0, 0, 1391, 0, 0, 0, 108, 0, 0, 0, 2751 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2752 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2753 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2754 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2755 30, 434, 0, 0, 0, 0, 0, 435, 0, 0, 2756 0, 1435, 0, 0, 0, 108, 0, 0, 0, 0, 2757 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2758 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2759 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2760 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2761 434, 0, 0, 0, 0, 0, 435, 0, 0, 0, 2762 1497, 0, 0, 0, 108, 0, 0, 0, 0, 0, 2763 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2764 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2765 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2766 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2767 0, 0, 0, 0, 0, 435, 0, 0, 0, 1521, 2768 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 2769 0, 33, 0, 0, 0, 0, 107, 0, 37, 38, 2770 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2771 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2772 26, 27, 0, 0, 0, 0, 0, 30, 434, 0, 2773 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 2774 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 2775 33, 0, 0, 0, 0, 0, 0, 37, 38, 8, 2786 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2787 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, 2788 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 2789 33, 0, 0, 0, 0, 0, 0, 35, 36, 8, 2776 2790 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2777 2791 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2778 2792 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2779 0, 0, 0, 435, 0, 0, 0, 0, 0, 0,2780 0, 108, 0, 0, 0, 0, 0, 0, 0, 33,2781 0, 0, 0, 0, 0, 0, 3 7, 38, 8, 9,2793 0, 0, 0, 565, 0, 0, 0, 0, 0, 0, 2794 0, 608, 0, 0, 0, 0, 0, 0, 0, 33, 2795 0, 0, 0, 0, 0, 0, 35, 36, 8, 9, 2782 2796 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2783 2797 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2784 2798 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2785 1025, 0, 567, 0, 0, 0, 0, 0, 0, 0,2786 10 8, 0, 0, 0, 0, 0, 0, 0, 33, 0,2787 0, 0, 0, 0, 0, 37, 38, 8, 9, 10,2799 0, 0, 433, 0, 0, 0, 0, 0, 0, 0, 2800 106, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2801 0, 0, 0, 0, 0, 197, 198, 8, 9, 10, 2788 2802 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2789 2803 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2790 0, 0, 0, 0, 30, 0, 0, 0, 0, 1025,2791 0, 567, 0, 0, 0, 0, 0, 0, 0, 610,2804 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2805 0, 258, 0, 0, 0, 0, 0, 0, 0, 603, 2792 2806 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2793 0, 0, 0, 0, 3 7, 38, 8, 9, 10, 11,2807 0, 0, 0, 0, 35, 36, 8, 9, 10, 11, 2794 2808 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2795 2809 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2796 2810 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2797 247, 0, 0, 0, 0, 0, 0, 0, 108, 0,2811 571, 0, 0, 0, 0, 0, 0, 0, 608, 0, 2798 2812 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2799 0, 0, 0, 3 7, 38, 8, 9, 10, 11, 12,2813 0, 0, 0, 35, 36, 8, 9, 10, 11, 12, 2800 2814 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2801 2815 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2802 0, 0, 30, 0, 0, 0, 0, 0, 0, 152,2803 0, 0, 0, 0, 0, 0, 0, 10 8, 0, 0,2816 0, 0, 30, 0, 0, 0, 0, 0, 0, 41, 2817 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 2804 2818 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2805 0, 0, 199, 200, 8, 9, 10, 11, 12, 13,2819 0, 0, 35, 36, 8, 9, 10, 11, 12, 13, 2806 2820 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2807 2821 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2808 0, 30, 0, 0, 0, 0, 0, 0, 260, 0,2809 0, 0, 0, 0, 0, 0, 261, 0, 0, 0,2822 0, 30, 0, 0, 0, 0, 0, 0, 565, 0, 2823 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 2810 2824 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2811 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2812 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2813 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2814 30, 0, 0, 0, 0, 0, 0, 247, 0, 0, 2815 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 2816 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2817 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2818 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2819 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2820 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 2821 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 2822 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2823 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2824 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2825 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2826 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, 2827 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 2828 0, 33, 0, 0, 0, 0, 0, 0, 199, 200, 2829 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2830 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2831 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2832 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 2833 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 2834 33, 0, 0, 0, 0, 0, 0, 37, 38, 8, 2825 0, 197, 198, 2, 196, 4, 5, 6, 7, 8, 2835 2826 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2836 2827 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2837 2828 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2838 0, 0, 0, 573, 0, 0, 0, 0, 0, 0, 2839 0, 610, 0, 0, 0, 0, 0, 0, 0, 33, 2840 0, 0, 0, 0, 0, 0, 37, 38, 8, 9, 2829 0, 269, 0, 270, 1043, 603, 1044, 0, 0, 1045, 2830 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1527, 1053, 33, 2831 0, 1054, 32, 0, 271, 0, 35, 36, 0, 0, 2832 622, 0, 0, 0, 273, 0, 0, 274, 275, 276, 2833 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2834 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 2835 0, -399, 0, 0, 0, 0, 281, 0, 359, 0, 2836 0, 163, 0, 0, 0, 283, 361, 285, 286, 287, 2837 288, 0, 269, 0, 270, 1043, 0, 1044, 0, -126, 2838 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 1053, 2839 0, 0, 1054, 32, 0, 271, 0, 0, 0, 0, 2840 0, 622, 0, 0, 0, 273, 0, 0, 274, 275, 2841 276, 277, 38, 39, 0, 278, 279, 0, 0, 0, 2842 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 2843 0, 0, 0, 0, 0, 0, 0, 281, 0, 359, 2844 0, 0, 163, 0, 0, 0, 283, 361, 285, 286, 2845 287, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2846 -126, 2, 196, 4, 5, 6, 7, 8, 9, 10, 2847 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2848 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2849 269, 0, 270, 1043, 30, 1044, 1415, 1416, 1045, 1046, 2850 1047, 1048, 1049, 1050, 1051, 1052, 1527, 1053, 0, 0, 2851 1054, 32, 0, 271, 0, 0, 0, 33, 0, 622, 2852 0, 0, 0, 273, 35, 36, 274, 275, 276, 277, 2853 38, 39, 0, 278, 279, 0, 0, 0, 0, 0, 2854 0, 280, 0, 0, 0, 0, 1324, 0, 0, 0, 2855 0, 0, 0, 0, 0, 281, 0, 359, 0, 0, 2856 163, 0, 0, 0, 283, 361, 285, 286, 287, 288, 2857 269, 0, 270, 1043, 0, 1044, 1415, 1416, 1045, 1046, 2858 1047, 1048, 1049, 1050, 1051, 1052, 0, 1053, 0, 0, 2859 1054, 32, 0, 271, 0, 0, 0, 0, 0, 622, 2860 0, 0, 0, 273, 0, 0, 274, 275, 276, 277, 2861 38, 39, 0, 278, 279, 0, 0, 0, 0, 0, 2862 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 2863 0, 0, 0, 0, 0, 281, 0, 359, 0, 0, 2864 163, 0, 0, 0, 283, 361, 285, 286, 287, 288, 2865 269, 0, 270, 1043, 0, 1044, 0, 0, 1045, 1046, 2866 1047, 1048, 1049, 1050, 1051, 1052, 0, 1053, 0, 0, 2867 1054, 32, 0, 271, 0, 0, 0, 0, 0, 622, 2868 0, 0, 0, 273, 0, 0, 274, 275, 276, 277, 2869 38, 39, 0, 278, 279, 0, 0, 0, 0, 0, 2870 0, 280, 0, 0, 0, 0, 0, 269, 0, 270, 2871 0, 0, 0, 0, 0, 281, 0, 359, 0, 0, 2872 163, 0, 0, 0, 283, 361, 285, 286, 287, 288, 2873 271, 0, 0, 0, 0, 0, 272, 0, 0, 0, 2874 273, 0, 0, 274, 275, 276, 277, 38, 39, 0, 2875 278, 279, 0, 0, 0, 0, 0, 0, 280, 0, 2876 0, 0, 0, 0, 269, 0, 270, 0, 0, 0, 2877 0, 0, 281, 0, 359, 0, 0, 0, 0, 0, 2878 0, 283, 361, 285, 286, 287, 288, 271, 0, 0, 2879 0, 0, 0, 272, 0, 0, 0, 273, 0, 0, 2880 274, 275, 276, 277, 38, 39, 0, 278, 279, 0, 2881 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 2882 0, 269, 0, 270, 0, 0, 0, 0, 0, 281, 2883 0, 359, 0, 0, 0, 0, 0, 0, 283, 708, 2884 285, 286, 287, 288, 271, 0, 0, 0, 0, 0, 2885 622, 0, 0, 0, 273, 0, 0, 274, 275, 276, 2886 277, 38, 39, 0, 278, 279, 0, 0, 0, 0, 2887 0, 0, 280, 0, 0, 0, 0, 0, 269, 0, 2888 270, 0, 0, 0, 0, 0, 281, 0, 757, 0, 2889 0, 0, 0, 0, 0, 283, 361, 285, 286, 287, 2890 288, 271, 0, 0, 0, 0, 0, 272, 0, 0, 2891 0, 273, 0, 0, 274, 275, 276, 277, 38, 39, 2892 0, 278, 279, 0, 0, 0, 0, 0, 0, 280, 2893 0, 0, 0, 0, 0, 269, 0, 270, 0, 0, 2894 0, 0, 0, 281, 0, 359, 0, 0, 0, 0, 2895 0, 0, 283, 888, 285, 286, 287, 288, 271, 0, 2896 0, 0, 0, 0, 272, 0, 0, 0, 273, 0, 2897 0, 274, 275, 276, 277, 38, 39, 0, 278, 279, 2898 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 2899 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 2900 281, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2901 361, 285, 286, 287, 288, 271, 0, 0, 0, 0, 2902 0, 272, 0, 0, 0, 273, 0, 0, 274, 275, 2903 276, 277, 38, 39, 0, 278, 279, 0, 0, 0, 2904 0, 0, 0, 280, 0, 0, 0, 0, 0, 269, 2905 0, 270, 0, 0, 0, 0, 0, 493, 0, 0, 2906 0, 0, 0, 0, 0, 0, 283, 361, 285, 286, 2907 287, 288, 271, 0, 0, 0, 0, 0, 272, 0, 2908 0, 0, 273, 0, 0, 274, 275, 276, 277, 38, 2909 39, 0, 278, 279, 0, 0, 0, 0, 0, 0, 2910 280, 0, 0, 0, 0, 0, 269, 0, 270, 0, 2911 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 2912 0, 0, 0, 283, 361, 285, 286, 287, 288, 271, 2913 0, 0, 0, 0, 0, 272, 0, 0, 0, 273, 2914 0, 0, 274, 275, 276, 277, 38, 39, 0, 278, 2915 279, 0, 0, 0, 0, 0, 0, 280, 0, 0, 2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2917 0, 499, 0, 0, 0, 0, 0, 0, 0, 0, 2918 283, 361, 285, 286, 287, 288, 2, 196, 4, 5, 2919 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2920 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2921 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924 0, 0, 33, 0, 0, 0, 0, 34, 0, 166, 2925 167, 37, 0, 0, 0, 0, 0, 0, 38, 39, 2926 195, 2, 196, 4, 5, 6, 7, 8, 9, 10, 2927 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2928 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2929 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2931 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2932 0, 0, 0, 0, 197, 198, 453, 2, 196, 4, 2933 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2934 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2935 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2936 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2938 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2939 35, 36, 2, 196, 4, 5, 6, 7, 8, 9, 2841 2940 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2842 2941 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2843 2942 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2844 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 2845 108, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2846 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2847 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2848 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2849 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2850 0, 567, 0, 0, 0, 0, 0, 0, 0, 108, 2851 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2852 0, 0, 0, 0, 199, 200, 2, 198, 4, 5, 2853 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2854 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2855 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2856 0, 0, 0, 0, 0, 0, 0, 0, 605, 0, 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2858 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2859 38, 0, 271, 0, 272, 1045, 0, 1046, 0, 0, 2860 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1529, 1055, 2861 0, 0, 1056, 32, 0, 273, 0, 0, 0, 0, 2862 0, 624, 0, 0, -401, 275, 0, 0, 276, 277, 2863 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2864 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 2865 0, 0, 0, 0, 0, 0, 0, 283, 0, 361, 2866 0, 0, 165, 0, 0, 0, 285, 363, 287, 288, 2867 289, 290, 0, 271, 0, 272, 1045, 0, 1046, 0, 2868 -126, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 0, 2869 1055, 0, 0, 1056, 32, 0, 273, 0, 0, 0, 2870 0, 0, 624, 0, 0, 0, 275, 0, 0, 276, 2871 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2872 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 2873 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 2874 361, 0, 0, 165, 0, 0, 0, 285, 363, 287, 2875 288, 289, 290, 0, 0, 0, 0, 0, 0, 0, 2876 0, -126, 2, 198, 4, 5, 6, 7, 8, 9, 2943 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2944 18, 19, 20, 21, 22, 23, 24, 0, 33, 25, 2945 26, 27, 471, 472, 473, 197, 198, 30, 8, 9, 2877 2946 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2878 2947 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2879 0, 0, 0, 0, 0, 30, 8, 9, 10, 11, 2880 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2881 22, 23, 24, 0, 0, 25, 26, 27, 33, 0, 2882 34, 0, 35, 30, 0, 37, 38, 0, 271, 0, 2883 272, 1045, 0, 1046, 1417, 1418, 1047, 1048, 1049, 1050, 2884 1051, 1052, 1053, 1054, 1529, 1055, 33, 1326, 1056, 32, 2885 0, 273, 0, 37, 38, 0, 0, 624, 0, 0, 2886 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2887 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2948 33, 0, 0, 0, 0, 30, 0, 35, 36, 0, 2949 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2950 18, 19, 20, 21, 22, 23, 24, 0, 33, 25, 2951 26, 27, 0, 105, 0, 35, 36, 30, 8, 9, 2952 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2953 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2954 33, 0, 0, 0, 0, 30, 0, 35, 36, 0, 2888 2955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2889 0, 0, 0, 283, 0, 361, 0, 0, 165, 0, 2890 0, 0, 285, 363, 287, 288, 289, 290, 271, 0, 2891 272, 1045, 0, 1046, 1417, 1418, 1047, 1048, 1049, 1050, 2892 1051, 1052, 1053, 1054, 0, 1055, 0, 0, 1056, 32, 2893 0, 273, 0, 0, 0, 0, 0, 624, 0, 0, 2894 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2895 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2897 0, 0, 0, 283, 0, 361, 0, 0, 165, 0, 2898 0, 0, 285, 363, 287, 288, 289, 290, 271, 0, 2899 272, 1045, 0, 1046, 0, 0, 1047, 1048, 1049, 1050, 2900 1051, 1052, 1053, 1054, 0, 1055, 0, 0, 1056, 32, 2901 0, 273, 0, 0, 0, 0, 0, 624, 0, 0, 2902 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2903 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2904 0, 0, 0, 0, 0, 271, 0, 272, 0, 0, 2905 0, 0, 0, 283, 0, 361, 0, 0, 165, 0, 2906 0, 0, 285, 363, 287, 288, 289, 290, 273, 0, 2907 0, 0, 0, 0, 274, 0, 0, 0, 275, 0, 2908 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2909 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2910 0, 0, 271, 0, 272, 0, 0, 0, 0, 0, 2911 283, 0, 361, 0, 0, 0, 0, 0, 0, 285, 2912 890, 287, 288, 289, 290, 273, 0, 0, 0, 0, 2913 0, 274, 0, 0, 0, 275, 0, 0, 276, 277, 2914 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2915 0, 0, 0, 282, 0, 0, 0, 0, 0, 271, 2916 0, 272, 0, 0, 0, 0, 0, 283, 0, 0, 2917 0, 0, 0, 0, 0, 0, 285, 363, 287, 288, 2918 289, 290, 273, 0, 0, 0, 0, 0, 274, 0, 2919 0, 0, 275, 0, 0, 276, 277, 278, 279, 40, 2920 41, 0, 280, 281, 0, 0, 0, 0, 0, 0, 2921 282, 0, 0, 0, 0, 0, 271, 0, 272, 0, 2922 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, 2923 0, 0, 0, 285, 363, 287, 288, 289, 290, 273, 2924 0, 0, 0, 0, 0, 274, 0, 0, 0, 275, 2925 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2926 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2927 0, 0, 0, 271, 0, 272, 0, 0, 0, 0, 2928 0, 498, 0, 0, 0, 0, 0, 0, 0, 0, 2929 285, 363, 287, 288, 289, 290, 273, 0, 0, 0, 2930 0, 0, 274, 0, 0, 0, 275, 0, 0, 276, 2931 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2932 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 2933 0, 0, 0, 0, 0, 0, 0, 0, 501, 0, 2934 0, 0, 0, 0, 0, 0, 0, 285, 363, 287, 2935 288, 289, 290, 2, 198, 4, 5, 6, 7, 8, 2936 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2937 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 2938 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2941 0, 34, 0, 35, 36, 0, 168, 169, 39, 0, 2942 0, 0, 0, 0, 0, 40, 41, 197, 2, 198, 2956 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2957 0, 0, 0, 0, 0, 197, 198 2958 }; 2959 2960 #define yypact_value_is_default(yystate) \ 2961 ((yystate) == (-1291)) 2962 2963 #define yytable_value_is_error(yytable_value) \ 2964 YYID (0) 2965 2966 static const yytype_int16 yycheck[] = 2967 { 2968 1, 1, 0, 40, 0, 40, 40, 176, 110, 32, 2969 176, 410, 209, 177, 100, 176, 555, 441, 0, 1, 2970 161, 176, 517, 176, 431, 267, 672, 603, 554, 651, 2971 329, 672, 431, 31, 672, 31, 176, 619, 176, 324, 2972 975, 344, 40, 435, 42, 348, 42, 554, 583, 31, 2973 627, 633, 585, 583, 52, 583, 585, 0, 618, 619, 2974 58, 586, 58, 61, 64, 61, 64, 592, 64, 583, 2975 0, 478, 268, 633, 434, 482, 177, 554, 1022, 1334, 2976 37, 751, 64, 0, 253, 982, 873, 253, 31, 191, 2977 254, 40, 253, 101, 476, 40, 104, 583, 253, 40, 2978 253, 31, 748, 101, 0, 0, 104, 748, 1021, 1022, 2979 748, 450, 110, 253, 31, 253, 31, 873, 583, 65, 2980 697, 405, 406, 0, 1, 1415, 27, 0, 710, 583, 2981 65, 1042, 88, 1419, 218, 31, 31, 75, 1035, 176, 2982 178, 176, 176, 141, 61, 141, 103, 507, 101, 102, 2983 710, 235, 37, 254, 31, 153, 65, 153, 31, 37, 2984 42, 43, 42, 65, 786, 111, 122, 40, 103, 42, 2985 71, 194, 42, 43, 796, 474, 397, 65, 176, 177, 2986 1435, 177, 37, 468, 61, 58, 123, 64, 61, 1479, 2987 812, 64, 389, 191, 103, 416, 480, 733, 57, 102, 2988 208, 103, 200, 424, 200, 587, 109, 65, 37, 591, 2989 208, 249, 250, 211, 498, 211, 253, 1503, 253, 253, 2990 123, 385, 1508, 101, 106, 103, 106, 176, 42, 43, 2991 612, 176, 718, 65, 616, 176, 124, 107, 1524, 240, 2992 244, 239, 101, 239, 1508, 1531, 101, 101, 103, 29, 2993 75, 790, 260, 718, 102, 253, 254, 239, 254, 267, 2994 140, 109, 260, 101, 718, 50, 124, 1531, 141, 267, 2995 434, 103, 101, 375, 103, 102, 811, 102, 562, 280, 2996 153, 811, 109, 811, 385, 123, 1042, 572, 813, 822, 2997 37, 1235, 106, 822, 211, 37, 239, 811, 78, 79, 2998 692, 403, 466, 176, 177, 78, 408, 92, 268, 239, 2999 89, 614, 651, 1248, 984, 113, 114, 315, 603, 315, 3000 200, 102, 239, 608, 239, 811, 101, 200, 109, 89, 3001 328, 329, 105, 434, 211, 101, 115, 345, 211, 0, 3002 1, 349, 1286, 239, 239, 106, 811, 345, 244, 244, 3003 65, 349, 67, 68, 101, 115, 103, 811, 108, 101, 3004 108, 103, 239, 3, 903, 466, 239, 666, 108, 1508, 3005 31, 65, 1285, 1286, 124, 69, 902, 375, 108, 259, 3006 253, 42, 76, 77, 124, 1524, 671, 385, 1299, 385, 3007 108, 106, 1531, 397, 124, 902, 1018, 1019, 108, 184, 3008 61, 936, 3, 64, 284, 403, 936, 101, 937, 103, 3009 408, 104, 416, 330, 124, 108, 902, 111, 994, 108, 3010 424, 206, 936, 108, 108, 902, 65, 1214, 67, 68, 3011 65, 216, 67, 68, 104, 124, 434, 902, 108, 124, 3012 124, 1023, 315, 664, 324, 106, 101, 786, 902, 108, 3013 111, 231, 453, 1075, 1076, 102, 329, 796, 1214, 744, 3014 458, 108, 844, 1023, 103, 124, 101, 1411, 466, 0, 3015 466, 106, 470, 812, 470, 111, 474, 673, 104, 140, 3016 116, 117, 108, 1008, 1009, 980, 0, 628, 470, 102, 3017 732, 61, 153, 108, 580, 108, 281, 498, 1411, 695, 3018 123, 397, 397, 672, 1401, 1402, 672, 101, 1482, 124, 3019 674, 672, 385, 514, 1488, 1051, 517, 672, 519, 672, 3020 416, 416, 121, 822, 123, 405, 406, 470, 424, 424, 3021 410, 1505, 672, 635, 672, 101, 1510, 103, 945, 200, 3022 470, 111, 459, 1299, 1083, 1456, 1123, 101, 947, 103, 3023 211, 431, 1463, 470, 104, 915, 101, 111, 108, 101, 3024 942, 434, 65, 923, 67, 68, 567, 101, 229, 1151, 3025 1152, 1100, 468, 674, 470, 470, 101, 65, 239, 67, 3026 360, 69, 580, 153, 101, 583, 103, 585, 76, 77, 3027 251, 1151, 1152, 470, 111, 1506, 604, 470, 259, 637, 3028 480, 474, 65, 106, 67, 68, 604, 967, 102, 108, 3029 65, 104, 620, 102, 69, 108, 101, 72, 498, 74, 3030 281, 3, 620, 284, 632, 124, 81, 570, 10, 11, 3031 12, 13, 14, 634, 632, 636, 421, 635, 101, 101, 3032 1262, 211, 941, 106, 4, 5, 6, 7, 8, 9, 3033 108, 1273, 1274, 1275, 102, 37, 108, 1, 102, 439, 3034 664, 102, 859, 324, 444, 102, 124, 104, 666, 330, 3035 455, 108, 124, 101, 672, 103, 674, 247, 60, 1018, 3036 1019, 251, 562, 880, 81, 82, 123, 124, 605, 992, 3037 108, 281, 572, 102, 83, 84, 102, 477, 42, 479, 3038 1456, 1323, 108, 707, 705, 101, 124, 1463, 493, 994, 3039 583, 496, 585, 673, 499, 101, 65, 108, 67, 68, 3040 718, 719, 808, 603, 732, 866, 102, 107, 608, 118, 3041 119, 3, 108, 124, 732, 695, 1075, 1076, 10, 11, 3042 12, 13, 14, 65, 405, 406, 101, 69, 203, 410, 3043 1506, 915, 101, 124, 76, 77, 100, 106, 57, 923, 3044 330, 101, 106, 1299, 124, 37, 102, 853, 664, 664, 3045 431, 432, 108, 101, 435, 671, 101, 101, 103, 101, 3046 441, 698, 85, 86, 1083, 103, 111, 105, 60, 111, 3047 124, 109, 103, 666, 105, 712, 140, 493, 109, 672, 3048 496, 674, 1226, 499, 102, 106, 101, 468, 103, 470, 3049 108, 707, 707, 811, 915, 405, 406, 65, 101, 480, 3050 103, 69, 923, 783, 822, 102, 1225, 106, 76, 77, 3051 124, 108, 493, 42, 124, 496, 102, 498, 499, 409, 3052 1143, 1377, 108, 65, 624, 718, 719, 1150, 744, 58, 3053 106, 195, 61, 101, 101, 64, 200, 75, 102, 802, 3054 1145, 468, 102, 111, 108, 650, 1512, 102, 108, 102, 3055 112, 1512, 873, 108, 1512, 108, 661, 332, 102, 334, 3056 665, 102, 120, 800, 108, 229, 102, 108, 974, 459, 3057 121, 873, 108, 101, 1233, 103, 1037, 1321, 108, 109, 3058 898, 562, 862, 493, 902, 903, 496, 687, 87, 499, 3059 102, 572, 123, 693, 575, 259, 108, 915, 262, 103, 3060 1116, 1224, 104, 1262, 1460, 923, 1462, 102, 1320, 101, 3061 873, 103, 141, 108, 1273, 1274, 1275, 281, 811, 102, 3062 284, 102, 603, 941, 153, 108, 946, 608, 102, 822, 3063 1235, 65, 102, 67, 897, 69, 873, 65, 108, 67, 3064 68, 551, 76, 77, 946, 420, 102, 101, 177, 103, 3065 65, 1507, 67, 68, 69, 102, 977, 873, 873, 980, 3066 324, 982, 102, 103, 1323, 1181, 1182, 101, 101, 1012, 3067 103, 200, 54, 55, 992, 102, 873, 111, 1390, 102, 3068 344, 1087, 211, 101, 348, 575, 1108, 1431, 108, 109, 3069 671, 618, 619, 4, 5, 6, 7, 8, 9, 1322, 3070 540, 541, 542, 543, 984, 101, 633, 103, 103, 902, 3071 903, 692, 42, 43, 1035, 605, 1122, 101, 102, 103, 3072 610, 32, 915, 108, 1045, 1469, 123, 1048, 1049, 1050, 3073 923, 712, 101, 102, 103, 10, 11, 12, 13, 14, 3074 1042, 405, 406, 677, 671, 679, 410, 947, 941, 946, 3075 106, 78, 79, 80, 101, 450, 1468, 536, 537, 1039, 3076 997, 102, 37, 744, 102, 1083, 866, 431, 432, 538, 3077 539, 435, 872, 104, 101, 104, 103, 441, 105, 1042, 3078 101, 102, 103, 710, 1496, 60, 315, 104, 108, 453, 3079 1108, 101, 102, 103, 994, 900, 109, 1254, 1255, 1256, 3080 109, 1520, 544, 545, 28, 1042, 75, 102, 698, 102, 3081 104, 1491, 108, 102, 478, 107, 480, 744, 482, 800, 3082 108, 107, 712, 1086, 109, 107, 1042, 1042, 101, 493, 3083 102, 75, 496, 124, 498, 499, 1116, 10, 11, 12, 3084 13, 14, 102, 102, 109, 1042, 102, 102, 52, 102, 3085 3, 108, 104, 1533, 102, 102, 385, 10, 11, 12, 3086 13, 14, 102, 270, 37, 104, 101, 65, 968, 67, 3087 101, 69, 102, 1193, 102, 102, 283, 284, 76, 77, 3088 102, 102, 102, 102, 37, 102, 102, 60, 295, 104, 3089 1083, 1193, 873, 1214, 107, 28, 104, 101, 562, 1415, 3090 104, 1181, 1182, 101, 104, 103, 1224, 60, 572, 123, 3091 800, 109, 1214, 111, 102, 102, 580, 324, 102, 1239, 3092 10, 11, 12, 13, 14, 102, 102, 107, 101, 1145, 3093 103, 102, 102, 1254, 1255, 1256, 108, 1239, 111, 603, 3094 104, 104, 102, 108, 608, 102, 101, 37, 1053, 108, 3095 614, 1214, 106, 104, 361, 1192, 651, 65, 873, 67, 3096 108, 69, 1478, 1479, 104, 946, 947, 104, 76, 77, 3097 60, 1071, 1394, 102, 104, 65, 102, 1214, 1384, 69, 3098 108, 108, 102, 104, 1084, 1085, 76, 77, 101, 101, 3099 101, 101, 1313, 101, 101, 1192, 1193, 1299, 1214, 1214, 3100 109, 124, 107, 111, 208, 102, 102, 121, 102, 104, 3101 42, 101, 45, 994, 1334, 107, 107, 1214, 106, 1235, 3102 124, 111, 108, 1512, 104, 1225, 1512, 108, 692, 1513, 3103 104, 1512, 1334, 102, 102, 102, 1299, 1512, 104, 1512, 3104 104, 104, 1239, 4, 5, 6, 7, 8, 9, 1533, 3105 1371, 104, 1512, 1374, 1512, 102, 260, 1294, 722, 104, 3106 104, 1042, 1299, 267, 124, 1393, 1384, 124, 124, 1491, 3107 124, 106, 124, 104, 106, 1393, 1394, 102, 107, 102, 3108 1401, 1402, 104, 1299, 1299, 104, 107, 104, 1188, 104, 3109 104, 786, 1513, 104, 1021, 104, 1023, 1294, 1419, 104, 3110 102, 796, 1299, 1424, 102, 104, 55, 997, 140, 104, 3111 101, 101, 1533, 54, 106, 1435, 104, 812, 102, 102, 3112 124, 0, 1, 75, 328, 102, 533, 534, 535, 1450, 3113 1045, 109, 102, 1435, 101, 1415, 104, 1334, 65, 104, 3114 67, 345, 69, 102, 808, 349, 104, 102, 104, 76, 3115 77, 89, 31, 32, 1456, 1512, 107, 1512, 1512, 102, 3116 102, 1463, 102, 42, 1145, 572, 102, 40, 200, 108, 3117 124, 1492, 109, 1491, 101, 89, 103, 124, 102, 102, 3118 106, 75, 1503, 102, 111, 64, 104, 1508, 109, 853, 3119 124, 124, 107, 1456, 1512, 1513, 104, 1513, 1478, 1479, 3120 1463, 1522, 1307, 1524, 1506, 101, 107, 1528, 124, 107, 3121 1531, 1192, 1193, 102, 124, 1533, 1537, 1533, 1145, 1456, 3122 1541, 100, 102, 647, 1151, 1152, 1463, 259, 546, 548, 3123 1124, 547, 1214, 1214, 549, 1479, 550, 1379, 1435, 1308, 3124 1456, 1456, 1541, 1506, 1225, 1226, 1494, 1463, 1463, 281, 3125 1118, 1463, 284, 65, 1235, 67, 68, 69, 1239, 1456, 3126 1119, 1071, 141, 0, 76, 77, 1463, 679, 923, 1506, 3127 149, 432, 925, 866, 432, 444, 10, 11, 12, 13, 3128 14, 945, 946, 947, 1194, 1195, 567, 1197, 1388, 101, 3129 1506, 1506, 968, 1203, 31, 629, 1206, 722, 177, 1214, 3130 943, 708, 1192, 37, 470, -1, 732, 1239, -1, 1506, 3131 974, -1, 191, 1294, -1, 194, 195, -1, 1299, 1512, 3132 1520, 200, -1, 1018, 1019, 65, 60, 64, 992, 69, 3133 994, 65, -1, 67, -1, 69, 76, 77, -1, 1320, 3134 1321, 220, 76, 77, 751, 224, -1, 226, -1, -1, 3135 -1, -1, -1, 1334, 233, -1, -1, -1, 1285, 1464, 3136 239, 101, 180, 103, -1, 244, -1, 101, -1, 187, 3137 -1, 111, -1, 405, 406, 254, 580, 111, 410, -1, 3138 1075, 1076, -1, 262, -1, -1, 61, -1, 1493, -1, 3139 -1, 65, -1, 67, 68, 69, 71, -1, 1313, 431, 3140 604, -1, 76, 77, 1294, -1, -1, -1, -1, 1390, 3141 -1, -1, 149, -1, -1, -1, 620, -1, -1, -1, 3142 -1, -1, -1, 1087, -1, -1, -1, 1532, 632, -1, 3143 10, 11, 12, 13, 14, -1, 111, -1, 256, 1544, 3144 -1, -1, -1, -1, -1, 324, -1, -1, 480, -1, 3145 1431, -1, 331, -1, 1435, -1, 1371, 37, 1122, 1374, 3146 -1, 493, -1, 1373, 496, 344, 498, 499, -1, 348, 3147 -1, -1, 351, -1, -1, 1456, -1, -1, 153, 1143, 3148 60, 888, 1463, 220, 1465, 65, 1150, 1468, 1469, 69, 3149 -1, -1, 310, -1, -1, -1, 76, 77, -1, -1, 3150 318, -1, 239, 321, 1419, -1, -1, 244, 65, 1424, 3151 67, -1, 69, 1494, -1, 1496, -1, -1, 397, 76, 3152 77, 101, -1, 103, -1, 1506, -1, -1, 732, -1, 3153 562, 111, 411, -1, -1, 1450, 211, 416, 1233, 1520, 3154 -1, -1, -1, -1, 101, 424, 103, -1, -1, -1, 3155 -1, -1, -1, -1, 111, -1, -1, -1, -1, 377, 3156 1224, 1225, 1226, 381, -1, -1, -1, 1262, -1, -1, 3157 -1, 450, 247, -1, 453, 1239, 251, -1, 1273, 1274, 3158 1275, -1, 10, 11, 12, 13, 14, 994, -1, 468, 3159 -1, 470, 267, -1, 331, -1, -1, -1, -1, 478, 3160 65, -1, 67, 482, 69, -1, -1, 1522, -1, 37, 3161 -1, 76, 77, 1528, 351, -1, 10, 11, 12, 13, 3162 14, -1, 1537, -1, -1, -1, 1541, -1, 1323, -1, 3163 -1, 510, 60, -1, -1, 1042, 101, 65, 103, 67, 3164 -1, 69, -1, 37, -1, -1, 111, 465, 76, 77, 3165 65, -1, 67, 68, 69, 330, 1320, 1321, 1322, -1, 3166 397, 76, 77, -1, -1, -1, 60, -1, -1, -1, 3167 1334, -1, -1, 101, 411, 103, 555, -1, -1, 416, 3168 -1, -1, -1, 111, -1, -1, 101, 424, 25, 26, 3169 27, 570, -1, 572, 898, -1, -1, -1, -1, -1, 3170 -1, 580, -1, -1, -1, -1, 585, 101, -1, 103, 3171 -1, -1, -1, 450, -1, -1, -1, 111, -1, -1, 3172 1384, -1, -1, -1, 603, -1, 1390, -1, -1, 608, 3173 -1, 468, -1, 470, 409, 614, 554, 555, -1, 618, 3174 619, -1, -1, 10, 11, 12, 13, 14, -1, -1, 3175 -1, 426, -1, -1, 633, -1, 93, -1, 95, 1166, 3176 -1, -1, -1, -1, -1, -1, -1, 1431, -1, -1, 3177 37, 1435, 651, 510, 90, 91, 92, 93, 94, 95, 3178 96, 97, 98, 99, 459, 664, -1, -1, 992, -1, 3179 -1, -1, 671, 60, -1, 674, -1, -1, 65, -1, 3180 67, 1465, 69, -1, 1468, 1469, -1, 123, -1, 76, 3181 77, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3182 638, -1, -1, -1, 642, -1, -1, -1, 707, -1, 3183 1494, 710, 1496, 570, 101, -1, 173, -1, -1, 37, 3184 719, -1, -1, 722, 111, 182, 183, -1, 666, -1, 3185 187, -1, 189, 190, -1, -1, 1520, -1, -1, -1, 3186 678, -1, 60, -1, -1, 744, -1, 65, -1, 67, 3187 749, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3188 -1, 618, 619, -1, -1, -1, -1, -1, -1, -1, 3189 -1, -1, -1, 0, -1, -1, 633, -1, -1, -1, 3190 575, -1, -1, 101, -1, 103, -1, 786, -1, -1, 3191 -1, -1, -1, 111, 651, 947, -1, 796, -1, -1, 3192 -1, -1, 801, 802, 31, -1, -1, 664, -1, 808, 3193 605, -1, -1, 812, 671, 610, -1, -1, -1, -1, 3194 -1, -1, 821, -1, -1, -1, -1, -1, -1, -1, 3195 -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, 3196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3197 707, -1, 790, 710, 853, -1, -1, 10, 11, 12, 3198 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3199 23, 24, 25, 26, 873, -1, 29, 30, 31, -1, 3200 -1, -1, -1, -1, 37, -1, -1, 744, -1, -1, 3201 -1, -1, -1, 10, 11, 12, 13, 14, 897, -1, 3202 1224, -1, -1, 698, 903, -1, -1, 60, -1, -1, 3203 -1, -1, 65, -1, 67, 68, 69, 712, -1, -1, 3204 37, -1, 149, 76, 77, -1, -1, -1, -1, 786, 3205 -1, -1, -1, -1, -1, -1, -1, 732, 937, 796, 3206 -1, -1, -1, 60, 801, 802, 945, 946, 101, -1, 3207 103, -1, -1, -1, -1, 812, -1, -1, 111, -1, 3208 -1, 960, -1, -1, 902, 903, -1, -1, -1, -1, 3209 -1, -1, 910, -1, -1, 974, -1, 0, -1, 10, 3210 11, 12, 13, 14, 101, -1, 103, -1, -1, -1, 3211 -1, -1, -1, 992, 111, 994, -1, -1, -1, 10, 3212 11, 12, 13, 14, -1, 800, 37, -1, 31, -1, 3213 -1, -1, 239, 1012, -1, -1, 873, 244, -1, 1018, 3214 1019, -1, 1021, 1022, 1023, -1, 37, -1, -1, 60, 3215 -1, -1, -1, -1, 65, -1, 67, -1, 69, -1, 3216 897, 64, -1, 1042, -1, 76, 77, -1, 986, 60, 3217 -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, 3218 1384, -1, -1, -1, -1, 76, 77, 1005, -1, 1393, 3219 101, -1, 103, 1225, -1, -1, 1075, 1076, -1, -1, 3220 111, -1, -1, -1, -1, -1, -1, 1086, 1087, -1, 3221 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222 111, 558, 559, 960, 331, -1, -1, -1, -1, -1, 3223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3224 -1, -1, -1, 1122, 351, -1, 149, -1, -1, 586, 3225 -1, -1, 589, 590, -1, 592, -1, 594, 595, -1, 3226 -1, -1, 599, 600, 1143, 1083, 1145, -1, -1, -1, 3227 1088, 1150, 1151, 1152, -1, -1, -1, -1, -1, -1, 3228 -1, 1018, 1019, -1, 1021, 1022, 1023, -1, -1, -1, 3229 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3230 -1, -1, -1, -1, 411, 1042, -1, -1, -1, 416, 3231 -1, -1, -1, -1, 1193, -1, -1, 424, -1, -1, 3232 -1, -1, 997, -1, -1, -1, -1, -1, -1, -1, 3233 -1, 1210, -1, -1, -1, 1214, 239, -1, 1075, 1076, 3234 -1, 244, -1, 450, -1, 1224, 683, 684, -1, 1086, 3235 -1, -1, 689, -1, 1233, -1, 1235, -1, -1, -1, 3236 1239, 468, -1, 470, -1, -1, 10, 11, 12, 13, 3237 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3238 24, 25, 26, 1262, -1, 29, 30, 31, -1, -1, 3239 -1, -1, -1, 37, 1273, 1274, 1275, -1, -1, -1, 3240 -1, -1, -1, 510, -1, -1, 1285, 1286, 1145, -1, 3241 -1, -1, -1, -1, 1151, 1152, 60, -1, -1, -1, 3242 1299, 65, -1, 67, 68, -1, -1, -1, 331, -1, 3243 -1, -1, -1, 1465, -1, -1, -1, -1, -1, -1, 3244 -1, -1, -1, 1322, 1323, -1, -1, -1, 351, -1, 3245 -1, -1, -1, -1, -1, 1334, 1193, -1, -1, 103, 3246 -1, -1, 1494, 570, -1, -1, -1, 111, -1, -1, 3247 -1, -1, -1, 1210, -1, -1, -1, 1214, -1, 0, 3248 -1, -1, -1, -1, -1, -1, -1, -1, 1520, -1, 3249 -1, -1, -1, -1, 397, -1, 1233, -1, 1235, -1, 3250 -1, -1, -1, -1, -1, 1384, -1, -1, 411, -1, 3251 31, 618, 619, 416, -1, -1, -1, 1192, -1, -1, 3252 -1, 424, -1, -1, -1, 1262, 633, -1, -1, -1, 3253 -1, -1, 1411, -1, -1, -1, 1273, 1274, 1275, -1, 3254 -1, -1, -1, 64, 651, -1, -1, 450, 1285, 1286, 3255 -1, -1, -1, -1, -1, -1, 1435, 664, -1, -1, 3256 -1, -1, 1299, -1, 671, 468, -1, 470, -1, -1, 3257 -1, -1, -1, -1, -1, -1, -1, 1456, -1, -1, 3258 -1, -1, -1, -1, 1463, -1, 1323, -1, -1, -1, 3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3260 707, -1, -1, 710, -1, -1, -1, 510, -1, -1, 3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1294, 3262 -1, 0, 1, -1, -1, -1, -1, 1506, 149, -1, 3263 -1, -1, -1, -1, 1513, -1, -1, 744, -1, -1, 3264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3265 -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 3266 -1, -1, -1, 25, 26, 27, -1, 570, -1, -1, 3267 -1, -1, -1, -1, 1411, -1, -1, -1, -1, 786, 3268 -1, -1, 61, -1, -1, 64, -1, -1, -1, 796, 3269 -1, -1, -1, -1, 801, 802, -1, -1, -1, -1, 3270 -1, -1, -1, -1, -1, 812, -1, -1, -1, -1, 3271 -1, -1, -1, -1, -1, 618, 619, -1, 239, 1456, 3272 -1, -1, -1, 244, -1, -1, 1463, -1, -1, -1, 3273 633, 93, -1, 95, -1, -1, -1, -1, -1, -1, 3274 1077, -1, -1, -1, -1, -1, -1, -1, 651, -1, 3275 -1, -1, -1, -1, -1, -1, -1, 119, -1, -1, 3276 -1, 664, -1, -1, -1, -1, 873, -1, 671, 1506, 3277 149, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3278 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3279 897, -1, -1, -1, -1, -1, -1, -1, -1, 37, 3280 -1, -1, -1, -1, 707, -1, -1, 710, -1, -1, 3281 331, 173, -1, -1, -1, -1, -1, -1, 180, -1, 3282 182, 183, 60, -1, -1, 187, -1, 189, 190, -1, 3283 351, -1, 211, 71, -1, -1, -1, -1, -1, -1, 3284 -1, 744, -1, -1, -1, -1, -1, -1, -1, -1, 3285 -1, -1, -1, 960, -1, -1, -1, -1, -1, -1, 3286 239, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3287 -1, -1, -1, -1, 1211, -1, 397, -1, -1, -1, 3288 -1, -1, -1, 786, -1, -1, -1, -1, -1, -1, 3289 411, -1, -1, 796, 256, 416, -1, -1, 801, 802, 3290 -1, -1, -1, 424, -1, -1, -1, -1, -1, 812, 3291 -1, 1018, 1019, -1, 1021, 1022, 1023, -1, -1, -1, 3292 -1, -1, -1, -1, -1, -1, -1, -1, -1, 450, 3293 -1, 61, -1, -1, -1, 1042, -1, -1, -1, -1, 3294 -1, 71, -1, 73, -1, 75, -1, 468, -1, 470, 3295 -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, 3296 -1, -1, -1, -1, -1, -1, -1, -1, 1075, 1076, 3297 873, -1, 351, -1, -1, -1, -1, -1, -1, 1086, 3298 -1, 111, -1, 113, 114, 115, -1, -1, -1, 510, 3299 -1, -1, -1, -1, 897, -1, -1, -1, -1, -1, 3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 3301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3302 -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, 3303 -1, -1, 411, -1, 48, -1, 50, -1, 1145, 53, 3304 54, 55, -1, 57, 1151, 1152, -1, -1, -1, 570, 3305 -1, -1, -1, -1, -1, -1, -1, 960, 72, -1, 3306 -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, 3307 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3308 -1, 211, -1, 213, 214, 215, 1193, -1, -1, -1, 3309 -1, 470, -1, -1, -1, -1, -1, 618, 619, -1, 3310 -1, -1, -1, 1210, -1, -1, -1, 1214, -1, -1, 3311 -1, -1, 633, -1, -1, 1018, 1019, 247, 1021, 1022, 3312 1023, 251, -1, -1, -1, -1, 1233, -1, 1235, -1, 3313 651, 510, -1, -1, -1, 149, -1, 267, -1, 1042, 3314 -1, -1, -1, 664, -1, -1, -1, -1, -1, -1, 3315 671, -1, -1, -1, -1, 1262, -1, -1, -1, -1, 3316 -1, -1, -1, -1, -1, -1, 1273, 1274, 1275, -1, 3317 -1, -1, 1075, 1076, -1, -1, -1, -1, 1285, 1286, 3318 -1, -1, -1, 1086, -1, 315, 707, -1, -1, 710, 3319 -1, 570, 1299, -1, -1, -1, 558, 559, -1, -1, 3320 330, -1, -1, -1, -1, 335, 336, -1, -1, -1, 3321 -1, -1, -1, 343, -1, -1, 1323, -1, -1, -1, 3322 -1, -1, -1, 744, 586, -1, -1, 589, 590, -1, 3323 592, -1, 594, 595, -1, -1, -1, 599, 600, 618, 3324 619, -1, 1145, -1, -1, -1, -1, -1, 1151, 1152, 3325 -1, -1, -1, -1, 633, 385, -1, -1, -1, -1, 3326 -1, -1, -1, -1, -1, 786, -1, -1, -1, -1, 3327 -1, -1, -1, 403, -1, 796, -1, -1, -1, 409, 3328 801, 802, -1, -1, -1, -1, -1, -1, -1, -1, 3329 1193, 812, -1, -1, -1, -1, 426, -1, -1, 429, 3330 430, -1, -1, -1, 1411, -1, -1, 1210, -1, -1, 3331 324, 1214, 326, -1, -1, 445, 678, -1, -1, -1, 3332 -1, 683, 684, 337, 338, -1, -1, 689, -1, 459, 3333 1233, 710, 1235, -1, -1, -1, 466, 351, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1456, 3335 -1, 36, 873, 38, -1, -1, 1463, -1, -1, 1262, 3336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3337 1273, 1274, 1275, -1, 59, -1, 897, -1, -1, -1, 3338 65, -1, 1285, 1286, 69, -1, -1, 72, 73, 74, 3339 75, 76, 77, -1, 79, 80, 1299, 411, -1, 1506, 3340 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3341 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3342 1323, 106, -1, 802, -1, 110, 111, 112, 113, 114, 3343 115, -1, -1, -1, -1, -1, -1, -1, -1, 960, 3344 -1, -1, -1, -1, -1, 575, -1, 0, -1, -1, 3345 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3346 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3347 23, 24, 25, 26, -1, 605, 29, 30, 31, 32, 3348 610, -1, 35, -1, 37, 38, -1, -1, -1, -1, 3349 -1, -1, -1, -1, 873, -1, 510, 1018, 1019, -1, 3350 1021, 1022, 1023, -1, 57, -1, -1, 60, 1411, -1, 3351 -1, -1, 65, -1, 67, 68, 69, -1, 897, -1, 3352 -1, 1042, -1, 76, 77, 10, 11, 12, 13, 14, 3353 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3354 25, 26, 27, -1, -1, -1, -1, -1, 101, -1, 3355 103, -1, 37, 1456, 1075, 1076, 570, -1, 111, -1, 3356 1463, -1, -1, -1, -1, 1086, -1, 946, 698, -1, 3357 -1, -1, 36, -1, 38, 60, -1, -1, -1, -1, 3358 -1, 960, 712, -1, -1, -1, 71, -1, -1, -1, 3359 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, 3360 -1, 65, 732, 1506, -1, 69, -1, 621, 72, 73, 3361 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3362 -1, -1, -1, 87, 1145, -1, -1, -1, -1, -1, 3363 1151, 1152, -1, -1, -1, 649, -1, 101, -1, 103, 3364 -1, -1, 1021, 1022, 1023, 109, 110, 111, 112, 113, 3365 114, 115, -1, 667, 668, -1, -1, 671, -1, -1, 3366 790, -1, -1, 1042, -1, -1, -1, -1, -1, -1, 3367 800, -1, 1193, -1, -1, -1, -1, -1, -1, -1, 3368 -1, -1, -1, -1, -1, 699, -1, 701, -1, 1210, 3369 -1, -1, 822, 1214, 708, 709, -1, -1, -1, 713, 3370 -1, -1, -1, -1, -1, -1, -1, 1086, -1, -1, 3371 -1, 725, 1233, -1, 1235, 1077, 730, -1, -1, -1, 3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3373 744, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3374 754, 1262, -1, -1, -1, -1, -1, -1, -1, -1, 3375 -1, -1, 1273, 1274, 1275, -1, -1, -1, -1, -1, 3376 -1, -1, -1, -1, 1285, 1286, -1, -1, -1, -1, 3377 -1, -1, 1151, 1152, -1, -1, -1, -1, 1299, -1, 3378 -1, -1, -1, -1, -1, 915, -1, -1, 802, -1, 3379 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3380 -1, -1, 1323, -1, -1, -1, -1, 821, -1, -1, 3381 -1, 941, -1, 1192, 1193, -1, -1, -1, -1, -1, 3382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3383 -1, 1210, -1, -1, -1, 1214, -1, 967, -1, -1, 3384 854, -1, 856, 857, 858, -1, -1, 861, 862, 1211, 3385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3386 1239, -1, 876, -1, -1, -1, -1, 997, -1, -1, 3387 -1, -1, -1, -1, 888, -1, -1, 891, -1, -1, 3388 -1, -1, -1, 897, 1014, -1, -1, -1, -1, -1, 3389 1411, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3390 -1, -1, -1, -1, -1, -1, 1285, 1286, -1, -1, 3391 -1, -1, -1, -1, -1, 1294, -1, -1, -1, -1, 3392 1299, 935, -1, -1, -1, -1, -1, -1, -1, -1, 3393 -1, -1, -1, -1, -1, 1456, -1, -1, -1, -1, 3394 -1, -1, 1463, -1, -1, -1, 960, -1, -1, -1, 3395 -1, -1, -1, 1083, -1, 1334, -1, -1, -1, 973, 3396 -1, -1, -1, -1, 978, -1, 41, 981, -1, -1, 3397 1100, 985, -1, -1, -1, -1, 990, -1, -1, -1, 3398 994, 995, 996, -1, -1, 1506, -1, -1, -1, -1, 3399 1004, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3400 1014, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3401 -1, 86, -1, -1, -1, -1, -1, -1, -1, 1033, 3402 1034, 96, -1, -1, -1, -1, -1, -1, -1, -1, 3403 -1, -1, 1411, -1, -1, -1, -1, -1, -1, -1, 3404 -1, -1, -1, -1, 1058, -1, -1, 1061, -1, -1, 3405 -1, -1, -1, -1, -1, -1, 1435, -1, -1, -1, 3406 -1, -1, 1192, -1, -1, -1, -1, -1, -1, -1, 3407 -1, -1, 1086, -1, -1, 150, -1, 1456, -1, -1, 3408 -1, -1, -1, -1, 1463, -1, -1, -1, 163, -1, 3409 -1, 1105, -1, -1, -1, -1, -1, 1111, 1112, -1, 3410 -1, -1, -1, -1, -1, -1, 1120, -1, -1, -1, 3411 185, -1, 1126, -1, -1, 1129, -1, 1131, -1, -1, 3412 1134, -1, -1, -1, 199, -1, -1, 1506, -1, -1, 3413 -1, 1145, 207, -1, -1, 1149, -1, -1, -1, -1, 3414 -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, 3415 -1, -1, 1166, 228, 1168, 1169, 1170, 1171, -1, -1, 3416 -1, -1, -1, -1, 1294, 240, -1, -1, -1, -1, 3417 245, 1185, -1, 1187, -1, -1, -1, 1191, -1, -1, 3418 -1, -1, -1, 258, -1, -1, -1, -1, -1, 264, 3419 -1, 266, -1, -1, -1, -1, 1210, -1, -1, -1, 3420 -1, -1, -1, -1, -1, 1219, 1220, 282, -1, -1, 3421 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3422 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3423 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, 3424 -1, -1, 35, -1, 37, -1, -1, -1, 323, -1, 3425 -1, -1, -1, -1, -1, -1, 1270, 1271, -1, -1, 3426 -1, -1, 1276, 1277, -1, -1, -1, 60, -1, -1, 3427 -1, -1, -1, 1287, 67, 68, -1, 352, 71, -1, 3428 -1, 356, 357, -1, 359, -1, -1, -1, -1, -1, 3429 365, 366, -1, 368, 369, -1, 371, -1, 373, -1, 3430 -1, -1, 7, -1, -1, 10, 11, 12, 13, 14, 3431 103, -1, -1, -1, -1, 390, -1, -1, 111, -1, 3432 -1, -1, -1, 398, 1338, -1, -1, -1, -1, -1, 3433 -1, 36, 37, 38, -1, -1, 1350, -1, -1, -1, 3434 1354, 1355, 1356, -1, -1, -1, -1, 422, -1, -1, 3435 -1, -1, 1366, -1, 59, 60, -1, -1, 433, -1, 3436 65, 1375, -1, -1, 69, -1, -1, 72, 73, 74, 3437 75, 76, 77, -1, 79, 80, -1, 1391, -1, -1, 3438 -1, 456, 87, -1, -1, -1, -1, 462, -1, -1, 3439 -1, -1, 467, -1, -1, -1, 101, -1, 103, -1, 3440 -1, -1, -1, 1533, -1, 110, 111, 112, 113, 114, 3441 115, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3442 -1, -1, -1, -1, -1, -1, -1, -1, 503, 1443, 3443 1444, -1, -1, -1, -1, -1, -1, 149, -1, -1, 3444 -1, -1, 1456, 518, -1, -1, -1, -1, -1, 1463, 3445 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3446 20, 21, 22, 23, 24, 25, 26, 27, 180, 29, 3447 30, 31, -1, -1, -1, 187, 1490, 37, -1, 554, 3448 -1, -1, -1, -1, -1, -1, -1, -1, 563, -1, 3449 565, -1, -1, -1, -1, -1, 571, -1, -1, -1, 3450 60, -1, -1, -1, 1518, -1, -1, 67, 68, 584, 3451 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, 3452 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1543, 3453 -1, -1, -1, -1, 1548, -1, -1, -1, -1, -1, 3454 -1, 101, -1, 103, 256, -1, -1, -1, 623, -1, 3455 -1, 111, -1, -1, -1, -1, -1, -1, -1, 3, 2943 3456 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2944 3457 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2945 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2946 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2949 0, 199, 200, 455, 2, 198, 4, 5, 6, 7, 3458 24, 25, 26, -1, 659, 29, 30, 31, 32, -1, 3459 -1, 35, -1, 37, 38, -1, -1, -1, 310, -1, 3460 -1, -1, -1, -1, -1, -1, 318, 319, -1, 321, 3461 322, -1, 324, 57, -1, -1, 60, 329, -1, -1, 3462 -1, 65, -1, 67, 68, 69, -1, -1, -1, -1, 3463 -1, -1, 76, 77, -1, -1, 348, -1, -1, 351, 3464 -1, 716, -1, -1, -1, -1, -1, -1, -1, -1, 3465 -1, 726, 727, -1, -1, -1, -1, 101, -1, 103, 3466 -1, -1, -1, 738, -1, 377, -1, 111, -1, 381, 3467 -1, -1, 7, -1, -1, 10, 11, 12, 13, 14, 3468 755, -1, 757, -1, -1, -1, 761, -1, -1, -1, 3469 -1, -1, -1, -1, -1, -1, -1, -1, -1, 411, 3470 -1, 36, 37, 38, 10, 11, 12, 13, 14, 15, 3471 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3472 26, -1, 434, -1, 59, 60, -1, -1, -1, -1, 3473 65, 37, -1, -1, 69, -1, -1, 72, 73, 74, 3474 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3475 -1, 826, 87, 465, 60, -1, 468, -1, 833, -1, 3476 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3477 -1, 846, -1, 848, -1, 110, 111, 112, 113, 114, 3478 115, -1, -1, -1, -1, -1, -1, -1, 863, -1, 3479 -1, -1, -1, -1, 869, 507, -1, -1, 510, -1, 3480 -1, -1, -1, -1, -1, -1, 881, -1, -1, 884, 3481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3482 -1, -1, -1, -1, -1, -1, -1, 902, -1, -1, 3483 -1, -1, -1, 908, -1, -1, -1, -1, -1, -1, 3484 -1, -1, 554, 555, -1, -1, -1, -1, -1, -1, 3485 -1, -1, -1, -1, -1, -1, 140, -1, 570, -1, 3486 572, -1, -1, -1, -1, 149, -1, -1, 580, -1, 3487 -1, 583, -1, 585, 586, -1, -1, 161, -1, -1, 3488 592, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3489 602, 603, -1, -1, -1, -1, 608, -1, -1, -1, 3490 -1, -1, -1, -1, -1, -1, 618, 619, -1, -1, 3491 -1, -1, -1, -1, -1, -1, -1, -1, 993, -1, 3492 -1, 633, -1, -1, 999, 1000, 638, 639, -1, -1, 3493 642, 643, -1, -1, -1, -1, -1, 10, 11, 12, 3494 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3495 23, 24, 25, 26, 666, -1, 29, 30, 31, 671, 3496 672, -1, 674, -1, 37, -1, 678, -1, 252, -1, 3497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3498 1055, -1, -1, -1, -1, -1, 1061, 60, -1, -1, 3499 -1, -1, -1, -1, 67, 68, -1, -1, 710, 711, 3500 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3501 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3502 27, 1096, 29, 30, 31, -1, 1101, -1, -1, -1, 3503 37, -1, 744, -1, 1109, -1, 748, 749, 111, -1, 3504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3505 -1, -1, -1, 60, -1, -1, -1, -1, 65, -1, 3506 67, 68, 69, 1138, 71, -1, -1, 351, -1, 76, 3507 77, -1, -1, -1, -1, -1, 360, -1, 790, -1, 3508 1155, -1, -1, 1158, -1, 1160, -1, -1, -1, -1, 3509 802, -1, -1, -1, 101, -1, 103, -1, -1, 811, 3510 -1, 813, 1177, 1178, 111, -1, -1, -1, -1, -1, 3511 822, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3512 -1, -1, -1, 1198, -1, -1, 410, -1, -1, -1, 3513 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514 -1, 853, -1, -1, -1, -1, -1, 431, -1, -1, 3515 -1, -1, -1, -1, -1, 1230, -1, -1, -1, 10, 3516 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3517 21, 22, 23, 24, 25, 26, 460, -1, 29, 30, 3518 31, -1, -1, -1, -1, 897, 37, 38, -1, -1, 3519 902, 903, -1, -1, -1, -1, -1, -1, 910, -1, 3520 -1, -1, -1, 915, -1, -1, -1, -1, -1, 60, 3521 -1, 923, -1, -1, 498, -1, 67, 68, -1, -1, 3522 -1, -1, -1, -1, 936, 937, 510, -1, -1, -1, 3523 -1, -1, -1, 517, -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, -1, -1, -1, 530, 531, 960, -1, 3525 -1, -1, 103, -1, 1329, 967, 1331, -1, -1, -1, 3526 111, -1, 974, -1, -1, -1, -1, 1342, 552, 1344, 3527 -1, -1, -1, -1, 986, 987, -1, -1, 562, -1, 3528 992, -1, 994, -1, -1, 36, 570, 38, -1, 1364, 3529 -1, -1, -1, 1005, 1006, -1, 1008, 1009, 1010, -1, 3530 -1, -1, -1, -1, -1, 1380, -1, -1, 59, 1021, 3531 1022, 1023, -1, -1, 65, -1, -1, 1392, 69, -1, 3532 1395, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3533 -1, -1, -1, -1, -1, -1, 87, 621, -1, -1, 3534 -1, -1, 1417, -1, 628, -1, -1, -1, -1, -1, 3535 101, 1426, 103, -1, 1429, 1430, -1, -1, -1, 110, 3536 111, 112, 113, 114, 115, 649, 1078, -1, -1, -1, 3537 -1, 1083, -1, 124, 1086, 1087, 1088, 1089, -1, 268, 3538 269, 270, 271, -1, -1, -1, -1, 671, 1100, 278, 3539 279, -1, 1467, -1, 283, 284, 1471, -1, -1, -1, 3540 -1, -1, -1, -1, -1, -1, 295, -1, 1483, -1, 3541 1122, -1, -1, 36, -1, 38, -1, -1, -1, -1, 3542 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3543 -1, -1, -1, 1145, -1, 324, 59, -1, 1150, 1151, 3544 1152, -1, 65, -1, 67, 68, 69, -1, -1, 72, 3545 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3546 744, -1, 746, -1, 87, -1, -1, -1, 752, -1, 3547 -1, -1, 361, -1, -1, -1, 760, -1, 101, -1, 3548 103, -1, 105, 106, -1, -1, -1, 110, 111, 112, 3549 113, 114, 115, -1, -1, -1, -1, -1, 1210, -1, 3550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3551 -1, -1, 1224, 797, -1, -1, 800, 801, 802, -1, 3552 -1, -1, -1, 1235, -1, -1, -1, -1, -1, -1, 3553 -1, -1, -1, -1, -1, -1, -1, 821, 10, 11, 3554 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3555 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3556 32, 33, 34, -1, 36, 37, 38, -1, -1, -1, 3557 -1, -1, -1, 1285, 1286, -1, -1, -1, 862, -1, 3558 -1, -1, 866, -1, -1, -1, -1, 59, 60, -1, 3559 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3560 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3561 1322, -1, -1, 897, -1, 87, -1, -1, -1, -1, 3562 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3563 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3564 112, 113, 114, 115, 533, 534, 535, 536, 537, 538, 3565 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 3566 549, 550, -1, 947, 36, -1, 38, -1, -1, -1, 3567 -1, -1, 1384, -1, -1, -1, 960, 961, -1, -1, 3568 -1, -1, -1, 572, 968, -1, -1, 59, -1, -1, 3569 -1, 975, -1, 65, 978, -1, 980, 69, -1, 1411, 3570 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3571 -1, -1, -1, 997, -1, 87, -1, -1, -1, -1, 3572 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3573 1014, 103, -1, -1, -1, -1, 108, -1, 110, 111, 3574 112, 113, 114, 115, -1, -1, -1, -1, -1, -1, 3575 -1, -1, -1, 1037, -1, 1039, -1, -1, -1, -1, 3576 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3577 1054, -1, -1, -1, 36, -1, 38, -1, -1, 1491, 3578 -1, -1, -1, -1, 673, -1, -1, -1, -1, 1073, 3579 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, 3580 1512, 1513, 1086, 65, -1, -1, 695, 69, -1, -1, 3581 72, 73, 74, 75, 76, 77, -1, 79, 80, 708, 3582 -1, 1533, -1, -1, -1, 87, -1, -1, -1, -1, 3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3584 1124, 103, -1, -1, 106, -1, -1, -1, 110, 111, 3585 112, 113, 114, 115, -1, -1, -1, -1, -1, -1, 3586 -1, 1145, 751, -1, -1, -1, -1, -1, -1, -1, 3587 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1163, 3588 -1, 1165, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, 783, 3, 4, 5, 6, 7, 2950 3590 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2951 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2952 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2955 33, 0, 34, 0, 35, 0, 0, 37, 38, 2, 2956 198, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2957 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2958 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2959 0, 0, 30, 8, 9, 10, 11, 12, 13, 14, 3591 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3592 -1, 29, 30, 31, -1, -1, 1210, -1, -1, 37, 3593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3594 -1, 1225, -1, -1, -1, -1, -1, -1, -1, -1, 3595 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3596 68, -1, -1, -1, 1248, -1, -1, -1, 3, 4, 3597 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2960 3598 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2961 0, 0, 25, 26, 27, 33, 0, 34, 0, 35, 2962 30, 0, 199, 200, 0, 0, 0, 0, 0, 0, 2963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2964 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2965 199, 200 2966 }; 2967 2968 #define yypact_value_is_default(yystate) \ 2969 ((yystate) == (-1306)) 2970 2971 #define yytable_value_is_error(yytable_value) \ 2972 YYID (0) 2973 2974 static const yytype_int16 yycheck[] = 2975 { 2976 1, 42, 0, 32, 0, 42, 42, 412, 112, 1, 2977 0, 1, 674, 346, 0, 178, 211, 350, 178, 270, 2978 674, 178, 519, 178, 875, 674, 178, 178, 433, 178, 2979 605, 443, 557, 31, 1024, 31, 163, 331, 587, 629, 2980 269, 31, 587, 875, 42, 31, 44, 180, 44, 0, 2981 436, 735, 102, 753, 585, 0, 54, 179, 179, 31, 2982 433, 437, 60, 621, 60, 63, 0, 63, 66, 984, 2983 66, 556, 556, 63, 66, 470, 66, 635, 326, 556, 2984 31, 585, 585, 977, 42, 283, 31, 103, 750, 193, 2985 106, 1336, 255, 42, 399, 255, 750, 31, 255, 585, 2986 255, 750, 65, 255, 255, 103, 255, 480, 106, 699, 2987 585, 484, 63, 418, 112, 1044, 1421, 65, 251, 252, 2988 75, 426, 1037, 509, 37, 0, 1, 588, 101, 52, 2989 27, 37, 42, 594, 256, 256, 246, 178, 1417, 585, 2990 65, 178, 178, 42, 43, 143, 67, 143, 111, 123, 2991 71, 89, 78, 74, 712, 76, 31, 155, 585, 155, 2992 620, 621, 83, 407, 408, 65, 37, 196, 1023, 1024, 2993 101, 94, 42, 43, 71, 635, 124, 115, 65, 105, 2994 178, 179, 476, 179, 4, 5, 6, 7, 8, 9, 2995 103, 66, 1437, 1044, 210, 193, 391, 42, 43, 124, 2996 1505, 65, 1481, 103, 202, 1510, 202, 89, 107, 407, 2997 408, 65, 210, 44, 255, 213, 103, 213, 255, 255, 2998 178, 1526, 470, 213, 102, 620, 621, 1510, 1533, 178, 2999 101, 109, 103, 115, 720, 101, 106, 478, 482, 103, 3000 635, 242, 62, 241, 64, 241, 262, 1237, 57, 103, 3001 1533, 241, 712, 269, 88, 241, 500, 255, 256, 37, 3002 256, 106, 213, 186, 262, 387, 387, 792, 178, 241, 3003 44, 269, 101, 377, 720, 824, 104, 108, 673, 824, 3004 108, 282, 813, 616, 205, 208, 986, 270, 122, 399, 3005 241, 106, 101, 720, 123, 218, 241, 495, 1288, 0, 3006 498, 405, 108, 501, 124, 220, 410, 241, 418, 813, 3007 813, 142, 246, 3, 436, 436, 426, 712, 694, 317, 3008 564, 317, 237, 101, 3, 103, 574, 813, 37, 37, 3009 31, 347, 330, 331, 108, 351, 108, 37, 813, 0, 3010 1, 65, 108, 67, 68, 101, 468, 468, 589, 347, 3011 0, 746, 593, 351, 815, 553, 1250, 605, 124, 108, 3012 283, 666, 610, 83, 84, 1216, 241, 813, 142, 1053, 3013 31, 202, 1301, 614, 668, 124, 121, 618, 123, 377, 3014 905, 332, 106, 44, 1216, 65, 813, 67, 68, 387, 3015 939, 387, 101, 101, 103, 103, 0, 102, 118, 119, 3016 102, 101, 63, 103, 109, 66, 108, 405, 1484, 679, 3017 102, 681, 410, 334, 1490, 336, 875, 109, 904, 904, 3018 904, 996, 75, 1413, 675, 673, 106, 904, 202, 123, 3019 261, 1507, 1287, 1288, 938, 938, 1512, 65, 436, 67, 3020 68, 10, 11, 12, 13, 14, 697, 108, 1510, 102, 3021 1301, 107, 113, 108, 455, 286, 104, 108, 904, 102, 3022 108, 101, 460, 938, 1526, 399, 109, 1025, 37, 124, 3023 468, 1533, 468, 124, 472, 103, 472, 904, 476, 104, 3024 123, 142, 472, 108, 418, 982, 472, 261, 1403, 1404, 3025 495, 60, 426, 498, 155, 326, 501, 108, 746, 500, 3026 423, 422, 101, 630, 103, 734, 639, 101, 108, 283, 3027 461, 674, 286, 124, 674, 516, 101, 674, 519, 674, 3028 521, 472, 674, 674, 124, 674, 108, 472, 101, 1458, 3029 824, 917, 582, 637, 457, 1125, 1465, 101, 472, 925, 3030 241, 202, 124, 108, 949, 246, 78, 79, 80, 1010, 3031 1011, 108, 213, 1102, 676, 676, 666, 111, 1413, 124, 3032 1085, 101, 116, 117, 101, 1025, 108, 124, 569, 101, 3033 231, 103, 495, 105, 947, 498, 407, 408, 501, 1508, 3034 241, 412, 124, 969, 582, 108, 102, 585, 1047, 587, 3035 606, 101, 253, 103, 108, 1153, 1154, 472, 1, 709, 3036 261, 124, 433, 108, 102, 846, 622, 1458, 606, 65, 3037 124, 67, 102, 69, 1465, 102, 108, 1301, 634, 124, 3038 76, 77, 283, 102, 622, 286, 102, 572, 1023, 108, 3039 1025, 44, 124, 407, 408, 636, 634, 638, 412, 637, 3040 102, 44, 102, 102, 104, 101, 108, 60, 108, 943, 3041 63, 482, 101, 66, 103, 111, 607, 1508, 101, 433, 3042 103, 994, 111, 123, 124, 326, 861, 101, 111, 500, 3043 668, 332, 101, 65, 102, 67, 674, 69, 676, 65, 3044 108, 67, 68, 102, 76, 77, 101, 882, 103, 108, 3045 57, 102, 675, 1153, 1154, 1379, 111, 108, 399, 102, 3046 104, 653, 101, 944, 108, 108, 707, 102, 482, 101, 3047 103, 103, 105, 108, 697, 101, 109, 418, 734, 111, 3048 106, 495, 720, 721, 498, 426, 500, 501, 102, 652, 3049 143, 102, 666, 564, 108, 124, 734, 108, 101, 142, 3050 663, 868, 155, 574, 667, 101, 407, 408, 996, 700, 3051 104, 412, 1147, 106, 108, 102, 29, 1216, 1153, 1154, 3052 810, 108, 101, 714, 102, 65, 179, 67, 68, 470, 3053 108, 472, 433, 434, 605, 709, 437, 106, 1462, 610, 3054 1464, 124, 443, 4, 5, 6, 7, 8, 9, 202, 3055 564, 1085, 102, 124, 197, 917, 917, 124, 108, 202, 3056 213, 101, 785, 925, 925, 855, 106, 80, 81, 470, 3057 106, 472, 1145, 101, 102, 813, 1228, 65, 103, 1152, 3058 105, 482, 1227, 102, 109, 1509, 824, 102, 231, 108, 3059 113, 114, 102, 108, 495, 101, 788, 498, 108, 500, 3060 501, 62, 102, 64, 102, 75, 798, 102, 108, 102, 3061 108, 802, 1514, 108, 121, 108, 1315, 120, 261, 804, 3062 1514, 264, 814, 112, 101, 1514, 103, 1118, 10, 11, 3063 12, 13, 14, 65, 875, 67, 68, 69, 85, 86, 3064 283, 864, 87, 286, 65, 875, 67, 68, 542, 543, 3065 544, 545, 1287, 1226, 65, 37, 67, 68, 101, 1147, 3066 103, 123, 900, 564, 317, 103, 904, 905, 101, 102, 3067 103, 1323, 1039, 574, 1373, 104, 577, 1376, 60, 917, 3068 101, 101, 452, 326, 875, 106, 976, 925, 102, 101, 3069 875, 103, 1183, 1184, 81, 82, 10, 11, 12, 13, 3070 14, 875, 102, 346, 605, 943, 1322, 350, 102, 610, 3071 101, 102, 103, 101, 899, 103, 948, 102, 948, 101, 3072 233, 103, 1421, 37, 65, 666, 67, 1426, 69, 111, 3073 102, 101, 673, 103, 387, 76, 77, 102, 979, 902, 3074 101, 982, 103, 984, 103, 1014, 60, 123, 101, 1237, 3075 103, 1324, 108, 1452, 108, 109, 994, 106, 1196, 1197, 3076 875, 1199, 101, 986, 407, 408, 1110, 1205, 709, 412, 3077 1208, 65, 673, 67, 102, 69, 1392, 101, 102, 103, 3078 102, 1433, 76, 77, 101, 102, 103, 101, 104, 103, 3079 433, 434, 104, 694, 437, 104, 1037, 111, 109, 1089, 3080 443, 1256, 1257, 1258, 109, 746, 1047, 101, 999, 1050, 3081 1051, 1052, 455, 714, 1044, 102, 103, 111, 1041, 1471, 3082 54, 55, 108, 109, 108, 1524, 42, 43, 1020, 1021, 3083 28, 1530, 75, 948, 1124, 538, 539, 480, 102, 482, 3084 1539, 484, 540, 541, 1543, 746, 102, 1085, 108, 362, 3085 104, 108, 495, 1044, 1470, 498, 109, 500, 501, 1044, 3086 546, 547, 65, 107, 452, 102, 69, 1493, 107, 107, 3087 1044, 101, 1110, 76, 77, 102, 124, 1522, 949, 75, 3088 102, 102, 1498, 653, 109, 1077, 1078, 102, 102, 102, 3089 108, 101, 1055, 104, 102, 1118, 102, 102, 101, 28, 3090 103, 802, 104, 1088, 101, 104, 107, 102, 111, 1535, 3091 102, 102, 4, 5, 6, 7, 8, 9, 102, 102, 3092 102, 564, 102, 102, 102, 996, 1417, 104, 441, 1044, 3093 123, 574, 102, 446, 875, 949, 102, 1375, 102, 582, 3094 32, 104, 10, 11, 12, 13, 14, 3, 102, 102, 3095 107, 102, 108, 102, 10, 11, 12, 13, 14, 104, 3096 1183, 1184, 605, 1195, 1194, 1195, 479, 610, 481, 37, 3097 62, 104, 64, 616, 875, 1216, 102, 108, 102, 101, 3098 108, 37, 109, 106, 104, 104, 1216, 108, 1226, 1480, 3099 1481, 104, 60, 102, 65, 102, 67, 68, 69, 104, 3100 108, 102, 108, 1194, 60, 76, 77, 272, 104, 1241, 3101 101, 1241, 101, 101, 101, 1256, 1257, 1258, 788, 101, 3102 285, 286, 124, 107, 102, 1216, 102, 104, 798, 3, 3103 101, 1216, 297, 101, 107, 103, 10, 11, 12, 13, 3104 14, 102, 1216, 111, 814, 124, 121, 948, 949, 106, 3105 108, 694, 1396, 104, 108, 104, 65, 102, 67, 102, 3106 69, 326, 104, 37, 104, 653, 1296, 76, 77, 104, 3107 102, 1301, 1264, 104, 1315, 102, 104, 45, 104, 102, 3108 1195, 724, 106, 1275, 1276, 1277, 60, 124, 124, 107, 3109 124, 124, 101, 104, 103, 996, 1386, 107, 363, 124, 3110 109, 1216, 111, 1044, 1336, 1296, 1336, 102, 104, 107, 3111 1301, 1514, 104, 626, 1514, 104, 1301, 1514, 104, 1514, 3112 104, 104, 1514, 1514, 104, 1514, 1241, 1301, 104, 102, 3113 102, 55, 1373, 1325, 104, 1376, 101, 104, 101, 1395, 3114 54, 102, 104, 1044, 102, 124, 1309, 106, 1386, 1493, 3115 75, 102, 109, 1515, 1515, 102, 1227, 1395, 1396, 104, 3116 104, 3, 1403, 1404, 102, 104, 102, 810, 10, 11, 3117 12, 13, 14, 1535, 1535, 101, 689, 89, 107, 65, 3118 1421, 67, 695, 69, 104, 1426, 1301, 102, 0, 1, 3119 76, 77, 102, 102, 1417, 37, 102, 108, 102, 0, 3120 788, 40, 109, 124, 89, 1437, 1147, 1437, 124, 106, 3121 798, 1452, 855, 1227, 102, 101, 124, 103, 60, 31, 3122 32, 1336, 75, 124, 102, 111, 814, 109, 1458, 104, 3123 31, 107, 44, 1514, 104, 1465, 101, 1514, 1514, 107, 3124 124, 42, 102, 44, 107, 124, 1147, 102, 649, 548, 3125 1020, 1021, 549, 1494, 66, 1493, 551, 1480, 1481, 60, 3126 550, 552, 63, 1126, 1505, 66, 1216, 1458, 1381, 1510, 3127 535, 536, 537, 1458, 1465, 1216, 1514, 1515, 1508, 1515, 3128 1465, 1481, 1543, 1524, 1458, 1526, 1310, 1496, 1120, 1530, 3129 102, 1465, 1533, 1194, 1195, 1121, 1237, 1535, 1539, 1535, 3130 1073, 1465, 1543, 1466, 947, 948, 949, 1077, 1078, 574, 3131 925, 446, 681, 970, 927, 1216, 434, 1508, 434, 569, 3132 868, 631, 1437, 1508, 945, 724, 1227, 1228, 1241, 472, 3133 734, 143, 1495, 976, 1508, -1, 1237, -1, -1, 151, 3134 1241, -1, 143, 1458, -1, -1, -1, -1, -1, -1, 3135 1465, 994, 65, 996, 155, 868, 69, -1, -1, -1, 3136 1301, 874, -1, 76, 77, -1, -1, 179, -1, -1, 3137 -1, 1534, -1, -1, -1, -1, -1, 178, 179, -1, 3138 -1, 193, -1, 1546, 196, 197, -1, -1, 101, -1, 3139 202, -1, 65, 1508, 67, 1296, 69, -1, 111, -1, 3140 1301, 202, -1, 76, 77, -1, -1, -1, -1, 54, 3141 222, -1, 213, -1, 226, 65, 228, 67, 68, 69, 3142 -1, 1322, 1323, 235, -1, -1, 76, 77, 101, 241, 3143 103, -1, 1020, 1021, 246, 1336, -1, 65, 111, -1, 3144 241, 69, -1, -1, 256, 710, 1089, -1, 76, 77, 3145 -1, 1522, 264, 1467, 255, -1, -1, 970, 103, -1, 3146 -1, 106, -1, -1, -1, 1235, -1, 65, -1, -1, 3147 -1, 69, -1, 101, -1, 103, -1, -1, 76, 77, 3148 -1, 1124, 1496, 111, -1, -1, -1, -1, 753, 1077, 3149 1078, 1392, -1, -1, 1264, -1, -1, -1, -1, -1, 3150 63, -1, 1145, 101, -1, 1275, 1276, 1277, 1522, 1152, 3151 -1, -1, 0, 111, 326, -1, 317, 1458, -1, -1, 3152 -1, 333, -1, -1, 1465, -1, -1, -1, -1, -1, 3153 331, -1, 1433, -1, 346, -1, 1437, -1, 350, -1, 3154 -1, 353, -1, 31, -1, -1, -1, -1, -1, -1, 3155 113, -1, -1, -1, -1, 1325, -1, 1458, -1, -1, 3156 1073, -1, -1, -1, 1465, 210, 1467, 1508, -1, 1470, 3157 1471, -1, -1, 1086, 1087, -1, -1, -1, 66, -1, 3158 -1, -1, -1, 1226, 1227, 1228, 387, 399, -1, -1, 3159 -1, -1, 155, -1, -1, 1496, -1, 1498, 1241, -1, 3160 65, 413, 67, 68, 69, -1, 418, 1508, -1, -1, 3161 -1, 76, 77, -1, 426, -1, -1, 262, -1, -1, 3162 -1, 1522, -1, -1, 269, 890, -1, -1, -1, -1, 3163 -1, -1, 63, -1, -1, 436, 101, -1, -1, -1, 3164 452, -1, 73, 455, -1, -1, -1, 1235, -1, -1, 3165 213, -1, -1, -1, -1, -1, -1, -1, 470, -1, 3166 472, -1, -1, 151, -1, -1, -1, -1, 480, -1, 3167 -1, 472, 484, -1, -1, 476, 1264, 1190, -1, 1322, 3168 1323, 1324, 113, -1, -1, 330, 249, 1275, 1276, 1277, 3169 253, -1, -1, 1336, -1, -1, -1, -1, -1, -1, 3170 512, -1, 347, -1, -1, -1, 351, 90, 91, 92, 3171 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, 3172 -1, -1, -1, -1, 155, -1, -1, -1, -1, -1, 3173 -1, 996, -1, -1, 222, -1, -1, 1325, -1, -1, 3174 123, -1, -1, 1386, -1, 557, -1, -1, -1, 1392, 3175 -1, -1, -1, 241, -1, -1, -1, -1, 246, -1, 3176 572, -1, 574, -1, -1, -1, -1, -1, -1, 332, 3177 582, -1, -1, -1, -1, 587, -1, -1, -1, 1044, 3178 -1, 0, 213, -1, 585, -1, 587, -1, -1, -1, 3179 1433, -1, -1, 605, 1437, -1, -1, -1, 610, -1, 3180 -1, -1, -1, -1, 616, -1, -1, -1, 620, 621, 3181 -1, -1, 31, -1, -1, -1, -1, -1, 249, -1, 3182 -1, -1, 253, 635, 1467, -1, -1, 1470, 1471, -1, 3183 -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, 3184 -1, 653, -1, -1, -1, 333, -1, 66, 411, -1, 3185 -1, -1, -1, 1496, 666, 1498, -1, -1, -1, -1, 3186 -1, 673, -1, -1, 676, 353, -1, 668, -1, 182, 3187 -1, -1, -1, 674, -1, 676, 189, 1390, -1, 1522, 3188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3189 -1, -1, -1, -1, -1, -1, -1, 709, 461, -1, 3190 712, 332, -1, 1168, -1, -1, -1, -1, -1, 721, 3191 -1, 399, 724, -1, -1, -1, -1, -1, -1, 720, 3192 721, -1, -1, -1, -1, 413, -1, -1, -1, -1, 3193 418, -1, 151, -1, 746, -1, -1, 582, 426, 751, 3194 -1, -1, -1, -1, -1, 258, -1, -1, -1, -1, 3195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3196 -1, 606, -1, -1, 452, -1, 10, 11, 12, 13, 3197 14, -1, -1, -1, -1, -1, 788, 622, -1, -1, 3198 411, -1, 470, -1, 472, -1, 798, -1, -1, 634, 3199 -1, 803, 804, 37, -1, -1, -1, 428, 810, 312, 3200 -1, -1, 814, -1, -1, -1, -1, 320, -1, -1, 3201 323, 823, 813, -1, 577, -1, 60, -1, -1, -1, 3202 -1, 65, 241, 824, 512, 69, -1, 246, -1, -1, 3203 461, -1, 76, 77, -1, -1, -1, -1, -1, -1, 3204 -1, -1, -1, 855, 607, -1, -1, -1, -1, 612, 3205 -1, -1, 10, 11, 12, 13, 14, 101, -1, 103, 3206 -1, -1, -1, 875, -1, -1, 379, 111, -1, -1, 3207 383, -1, -1, -1, -1, -1, -1, -1, -1, 37, 3208 -1, -1, -1, -1, 572, -1, -1, 899, -1, 734, 3209 -1, -1, -1, 905, -1, -1, -1, -1, -1, -1, 3210 -1, -1, 60, 904, 905, -1, -1, 65, -1, 67, 3211 -1, 69, -1, -1, 333, -1, 917, -1, 76, 77, 3212 -1, -1, -1, -1, 925, -1, -1, 939, -1, -1, 3213 -1, -1, 620, 621, 353, 947, 948, 700, -1, -1, 3214 -1, -1, 943, 101, -1, 103, 577, 635, -1, -1, 3215 962, 714, -1, 111, 467, -1, -1, -1, -1, -1, 3216 -1, -1, -1, -1, 976, 653, -1, -1, -1, -1, 3217 -1, -1, -1, -1, -1, -1, 607, -1, 666, -1, 3218 399, 612, 994, -1, 996, 673, -1, -1, -1, -1, 3219 -1, -1, -1, -1, 413, -1, -1, 0, -1, 418, 3220 -1, -1, 1014, -1, -1, -1, -1, 426, 1020, 1021, 3221 -1, 1023, 1024, 1025, -1, -1, -1, -1, -1, -1, 3222 -1, 709, -1, -1, 712, -1, -1, -1, 31, -1, 3223 -1, -1, 1044, 452, -1, -1, -1, -1, -1, 802, 3224 -1, -1, -1, 556, 557, -1, -1, -1, -1, -1, 3225 -1, 470, -1, 472, -1, 900, -1, -1, 746, -1, 3226 -1, -1, -1, 66, -1, 1077, 1078, -1, -1, 700, 3227 -1, -1, -1, -1, -1, -1, 1088, 1089, -1, -1, 3228 -1, -1, -1, 714, 1085, -1, -1, -1, -1, -1, 3229 -1, -1, -1, 512, -1, 10, 11, 12, 13, 14, 3230 788, -1, -1, 734, -1, -1, -1, -1, -1, -1, 3231 798, -1, 1124, -1, -1, 803, 804, -1, 25, 26, 3232 27, -1, 37, -1, -1, -1, 814, 640, -1, -1, 3233 -1, 644, -1, 1145, -1, 1147, -1, -1, -1, -1, 3234 1152, 1153, 1154, -1, -1, 60, -1, -1, 151, 994, 3235 65, -1, 67, 572, 69, 668, -1, -1, -1, -1, 3236 -1, 76, 77, -1, -1, -1, -1, 680, -1, -1, 3237 -1, 802, -1, -1, -1, -1, -1, -1, -1, -1, 3238 -1, -1, -1, 1195, -1, -1, 101, 875, 95, -1, 3239 97, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3240 1212, 620, 621, -1, 1216, -1, -1, -1, -1, -1, 3241 -1, 899, -1, -1, 1226, -1, 635, -1, -1, -1, 3242 0, 1, -1, 1235, -1, 1237, -1, -1, -1, 1241, 3243 -1, -1, -1, -1, 653, -1, 999, -1, 241, -1, 3244 -1, -1, -1, 246, -1, -1, -1, 666, -1, -1, 3245 -1, 31, 1264, -1, 673, -1, -1, -1, -1, -1, 3246 -1, -1, -1, 1275, 1276, 1277, -1, -1, 175, -1, 3247 -1, -1, -1, -1, 962, 1287, 1288, 184, 185, 792, 3248 -1, -1, 189, 63, 191, 192, 66, -1, -1, 1301, 3249 709, -1, -1, 712, 0, 10, 11, 12, 13, 14, 3250 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3251 25, 26, 1324, 1325, 29, 30, 31, 32, 33, 34, 3252 -1, -1, 37, -1, 1336, 31, -1, 746, -1, -1, 3253 333, -1, 1020, 1021, -1, 1023, 1024, 1025, -1, -1, 3254 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3255 353, -1, 67, 68, -1, -1, 1044, -1, -1, -1, 3256 66, 10, 11, 12, 13, 14, -1, -1, 999, 788, 3257 -1, 151, -1, -1, 1386, -1, -1, -1, -1, 798, 3258 -1, 1226, -1, -1, 803, 804, -1, -1, 37, 1077, 3259 1078, 904, 905, -1, -1, 814, 399, -1, -1, 912, 3260 1088, 1413, -1, -1, -1, -1, -1, -1, -1, -1, 3261 413, 60, -1, -1, -1, 418, 65, -1, 67, -1, 3262 69, -1, -1, 426, -1, 1437, -1, 76, 77, -1, 3263 -1, 1194, -1, 213, -1, -1, -1, -1, -1, -1, 3264 -1, -1, -1, -1, -1, 151, 1458, -1, -1, 452, 3265 -1, -1, 101, 1465, 103, -1, 875, -1, -1, 1147, 3266 -1, 241, 111, -1, -1, 1153, 1154, 470, -1, 472, 3267 10, 11, 12, 13, 14, 988, -1, -1, -1, -1, 3268 899, -1, -1, -1, -1, -1, -1, -1, -1, 10, 3269 11, 12, 13, 14, 1007, -1, 1508, 37, -1, -1, 3270 -1, -1, -1, 1515, -1, -1, -1, 1195, -1, 512, 3271 -1, -1, -1, 1514, -1, -1, 37, -1, -1, -1, 3272 60, -1, -1, -1, 1212, 65, -1, 67, 1216, 69, 3273 -1, -1, -1, 1296, -1, 241, 76, 77, -1, 60, 3274 246, 1386, -1, 962, 65, -1, 67, 1235, 69, 1237, 3275 1395, -1, -1, -1, -1, 76, 77, -1, -1, -1, 3276 -1, 101, -1, 1194, -1, -1, -1, -1, -1, 572, 3277 -1, 111, 1085, 353, -1, -1, 1264, 1090, -1, -1, 3278 101, -1, 103, -1, -1, -1, -1, 1275, 1276, 1277, 3279 111, -1, -1, -1, -1, -1, -1, -1, -1, 1287, 3280 1288, 1020, 1021, -1, 1023, 1024, 1025, 10, 11, 12, 3281 13, 14, -1, 1301, -1, -1, -1, 620, 621, -1, 3282 -1, -1, -1, -1, -1, 1044, -1, 333, -1, -1, 3283 -1, -1, 635, 413, 37, -1, -1, 1325, -1, -1, 3284 -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 3285 653, -1, -1, 560, 561, -1, -1, 60, 1077, 1078, 3286 -1, -1, 65, 666, -1, 1296, 69, -1, -1, 1088, 3287 673, -1, -1, 76, 77, -1, -1, -1, -1, -1, 3288 -1, 588, -1, -1, 591, 592, -1, 594, -1, 596, 3289 597, -1, 472, 399, 601, 602, -1, -1, 101, -1, 3290 -1, -1, -1, -1, -1, -1, 709, 413, 111, 712, 3291 -1, -1, 418, -1, -1, -1, -1, -1, -1, -1, 3292 426, -1, -1, -1, -1, 1413, -1, -1, 1147, -1, 3293 -1, -1, 512, -1, 1153, 1154, -1, -1, -1, -1, 3294 -1, -1, -1, 746, -1, -1, 452, -1, -1, -1, 3295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3296 -1, -1, -1, -1, 470, -1, 472, -1, -1, -1, 3297 1458, -1, -1, -1, -1, -1, 1195, 1465, 685, 686, 3298 -1, -1, -1, -1, 691, 788, -1, -1, -1, -1, 3299 -1, -1, 572, 1212, -1, 798, -1, 1216, -1, -1, 3300 803, 804, -1, -1, -1, -1, 512, -1, -1, -1, 3301 -1, 814, -1, -1, -1, -1, 1235, -1, 1237, -1, 3302 1508, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3303 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3304 620, 621, 29, 30, 31, 1264, -1, -1, -1, -1, 3305 37, 38, -1, -1, -1, 635, 1275, 1276, 1277, -1, 3306 -1, -1, -1, -1, -1, -1, 572, -1, 1287, 1288, 3307 -1, -1, 875, 60, -1, -1, -1, -1, -1, -1, 3308 67, 68, 1301, -1, 10, 11, 12, 13, 14, -1, 3309 -1, -1, -1, -1, -1, -1, 899, -1, -1, -1, 3310 -1, -1, 25, 26, 27, -1, 1325, -1, -1, -1, 3311 -1, 37, -1, -1, 620, 621, 103, -1, -1, -1, 3312 107, -1, -1, -1, 111, -1, -1, -1, -1, 635, 3313 -1, -1, 712, -1, 60, -1, -1, -1, -1, 65, 3314 -1, -1, -1, 69, -1, -1, -1, 653, -1, -1, 3315 76, 77, -1, -1, -1, -1, -1, -1, -1, 962, 3316 666, -1, -1, -1, 50, -1, 52, 673, -1, 55, 3317 56, 57, 95, 59, 97, 101, -1, -1, -1, -1, 3318 -1, -1, -1, -1, -1, 111, -1, -1, 74, -1, 3319 -1, -1, -1, -1, 1413, -1, -1, -1, 121, 85, 3320 86, -1, -1, 709, -1, -1, 712, -1, -1, -1, 3321 -1, -1, -1, -1, -1, -1, -1, 1020, 1021, -1, 3322 1023, 1024, 1025, -1, 804, -1, -1, -1, -1, -1, 3323 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1458, 3324 746, 1044, -1, -1, -1, -1, 1465, -1, -1, -1, 3325 -1, -1, 175, -1, -1, -1, -1, -1, -1, 182, 3326 -1, 184, 185, -1, -1, 151, 189, -1, 191, 192, 3327 -1, -1, -1, -1, 1077, 1078, -1, -1, -1, -1, 3328 -1, -1, 788, -1, -1, 1088, -1, -1, -1, 1508, 3329 -1, -1, 798, -1, -1, 875, -1, 803, 804, -1, 3330 -1, -1, -1, -1, -1, -1, -1, -1, 814, -1, 3331 -1, -1, -1, -1, -1, -1, -1, -1, 7, 899, 3332 -1, 10, 11, 12, 13, 14, -1, -1, -1, -1, 3333 -1, -1, -1, -1, -1, 258, -1, -1, -1, -1, 3334 -1, -1, -1, -1, 1147, -1, -1, 36, 37, 38, 3335 1153, 1154, -1, -1, -1, -1, -1, -1, -1, -1, 3336 -1, -1, -1, -1, -1, -1, -1, -1, 948, 875, 3337 59, 60, 1079, -1, -1, -1, 65, -1, -1, -1, 3338 69, -1, 962, 72, 73, 74, 75, 76, 77, -1, 3339 79, 80, 1195, 899, -1, -1, -1, -1, 87, -1, 3340 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1212, 3341 -1, -1, 101, 1216, 103, -1, -1, -1, -1, -1, 3342 -1, 110, 111, 112, 113, 114, 115, -1, -1, -1, 3343 -1, -1, 1235, -1, 1237, -1, -1, -1, -1, -1, 3344 326, -1, 328, 1023, 1024, 1025, -1, -1, -1, -1, 3345 -1, -1, -1, 339, 340, -1, 962, -1, -1, -1, 3346 -1, 1264, -1, -1, 1044, -1, -1, 353, -1, -1, 3347 -1, -1, 1275, 1276, 1277, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, 1287, 1288, -1, -1, -1, -1, 3349 -1, -1, -1, -1, -1, -1, -1, -1, 1301, -1, 3350 -1, -1, -1, -1, -1, -1, 1213, -1, 1088, -1, 3351 -1, -1, -1, -1, 1020, 1021, -1, 1023, 1024, 1025, 3352 -1, -1, 1325, -1, -1, -1, -1, 413, -1, -1, 3353 -1, -1, -1, -1, -1, -1, -1, -1, 1044, -1, 3599 25, 26, -1, -1, 29, 30, 31, 32, 106, 888, 3600 35, 36, 37, 38, 39, -1, 41, -1, -1, 44, 3601 45, 46, 47, 48, 49, 50, 51, -1, 53, -1, 3602 -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, 3603 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3604 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3605 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3606 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3607 -1, 106, -1, -1, -1, 110, 111, 112, 113, 114, 3608 115, -1, -1, -1, -1, -1, -1, -1, -1, 124, 3609 -1, -1, -1, -1, -1, 984, -1, -1, -1, -1, 3610 -1, -1, -1, -1, -1, 994, -1, -1, -1, -1, 3611 -1, -1, -1, -1, -1, -1, 1400, -1, -1, -1, 3354 3612 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3355 3613 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3356 3614 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3357 31, 1077, 1078, 1153, 1154, -1, 37, -1, -1, -1, 3358 -1, -1, 1088, -1, -1, -1, -1, -1, -1, -1, 3359 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3360 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3361 1413, -1, -1, -1, 1194, 1195, -1, -1, -1, -1, 3362 -1, -1, -1, -1, -1, -1, 512, -1, -1, -1, 3363 -1, -1, 1212, -1, -1, -1, 1216, 560, 561, -1, 3364 -1, 1147, 103, -1, -1, -1, -1, 1153, 1154, -1, 3365 111, -1, -1, -1, -1, 1458, -1, -1, -1, -1, 3366 -1, 1241, 1465, -1, -1, 588, -1, -1, 591, 592, 3367 -1, 594, -1, 596, 597, -1, -1, -1, 601, 602, 3368 -1, -1, -1, -1, -1, -1, 572, -1, -1, 1195, 3615 31, 32, -1, 1042, 35, 36, 37, 38, -1, -1, 3369 3616 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3370 -1, -1, -1, -1, -1, 1508, 1212, 1287, 1288, -1, 3371 1216, -1, -1, -1, -1, -1, 1296, -1, -1, -1, 3372 -1, 1301, -1, -1, -1, -1, -1, -1, -1, 1235, 3373 -1, 1237, -1, -1, -1, -1, -1, 623, -1, 10, 3374 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3375 21, 22, 23, 24, 25, 26, 1336, 680, 1264, -1, 3376 -1, -1, 685, 686, -1, 651, 37, -1, 691, 1275, 3377 1276, 1277, -1, -1, -1, -1, -1, -1, -1, -1, 3378 -1, 1287, 1288, 669, 670, -1, -1, 673, -1, 60, 3379 -1, -1, -1, -1, -1, 1301, -1, -1, -1, -1, 3617 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3618 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3619 1474, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3620 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3380 3621 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3381 -1, -1, -1, -1, -1, 701, -1, 703, -1, 1325, 3382 -1, -1, -1, -1, 710, 711, -1, -1, -1, 715, 3383 -1, -1, -1, 1413, -1, -1, -1, -1, -1, -1, 3384 -1, 727, -1, -1, -1, -1, 732, -1, -1, -1, 3385 -1, -1, -1, -1, -1, -1, -1, 1437, -1, -1, 3386 746, -1, -1, -1, -1, 36, -1, 38, -1, 63, 3387 756, -1, -1, -1, -1, -1, -1, -1, 1458, 73, 3388 -1, 75, -1, 77, -1, 1465, -1, -1, 59, -1, 3389 84, -1, -1, -1, 65, -1, -1, -1, 69, -1, 3390 -1, 72, 73, 74, 75, 76, 77, 1413, 79, 80, 3391 -1, -1, -1, -1, -1, -1, 87, -1, 804, 113, 3392 -1, 115, 116, 117, -1, -1, -1, -1, 1508, -1, 3393 101, -1, 103, -1, -1, -1, -1, 823, -1, 110, 3394 111, 112, 113, 114, 115, -1, -1, 141, -1, -1, 3395 -1, -1, 1458, 124, -1, -1, -1, -1, -1, 1465, 3396 -1, 155, -1, -1, -1, -1, -1, -1, -1, -1, 3397 856, -1, 858, 859, 860, -1, -1, 863, 864, -1, 3398 -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, 3399 -1, 36, 878, 38, -1, -1, -1, -1, -1, -1, 3400 -1, -1, 1508, -1, 890, -1, -1, 893, -1, -1, 3401 -1, -1, -1, 899, 59, -1, -1, -1, -1, 213, 3402 65, 215, 216, 217, 69, -1, 88, 72, 73, 74, 3403 75, 76, 77, -1, 79, 80, 98, -1, -1, -1, 3622 101, -1, 103, -1, -1, -1, -1, 1116, -1, 110, 3623 111, 112, 113, 114, 115, -1, 1520, -1, -1, -1, 3624 -1, -1, -1, 124, -1, -1, 3, 4, 5, 6, 3625 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3626 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3627 -1, -1, 29, 30, 31, 32, -1, 1166, 35, 36, 3628 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 3629 -1, -1, 1181, 1182, -1, -1, -1, -1, -1, -1, 3630 -1, -1, 59, 60, -1, -1, -1, -1, 65, -1, 3631 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3632 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3633 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3634 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3635 -1, -1, -1, 110, 111, 112, 113, 114, 115, 4, 3636 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3637 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3638 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 3639 -1, 36, 37, 38, -1, -1, -1, -1, -1, -1, 3640 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3641 -1, -1, -1, -1, 59, 60, -1, -1, -1, -1, 3642 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3643 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3404 3644 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3405 -1, 937, -1, -1, -1, 249, 101, -1, 103, 253, 3406 -1, 106, -1, -1, -1, 110, 111, 112, 113, 114, 3407 115, -1, -1, -1, -1, 269, 962, -1, -1, -1, 3408 -1, -1, -1, -1, -1, -1, -1, -1, -1, 975, 3409 152, -1, -1, -1, 980, -1, -1, 983, -1, -1, 3410 -1, 987, -1, 165, -1, -1, 992, -1, -1, -1, 3411 996, 997, 998, -1, -1, -1, -1, -1, -1, -1, 3412 1006, -1, -1, 317, -1, 187, -1, -1, -1, -1, 3413 1016, -1, -1, -1, -1, -1, -1, -1, 332, 201, 3414 -1, -1, -1, 337, 338, -1, -1, 209, -1, 1035, 3415 1036, 345, -1, -1, -1, -1, 1079, 219, -1, -1, 3416 -1, -1, -1, -1, -1, -1, -1, -1, 230, -1, 3417 -1, -1, -1, -1, 1060, -1, -1, 1063, -1, -1, 3418 242, -1, -1, -1, -1, 247, -1, -1, -1, -1, 3419 -1, -1, -1, 387, -1, -1, -1, -1, 260, -1, 3420 -1, -1, 1088, -1, 266, -1, 268, -1, -1, -1, 3421 -1, 405, -1, -1, -1, -1, -1, 411, -1, -1, 3422 -1, 1107, 284, -1, -1, -1, -1, 1113, 1114, -1, 3423 -1, -1, -1, -1, 428, -1, 1122, 431, 432, -1, 3424 -1, -1, 1128, -1, -1, 1131, -1, 1133, -1, -1, 3425 1136, -1, -1, 447, -1, -1, -1, -1, -1, -1, 3426 -1, 1147, -1, 325, -1, 1151, -1, 461, -1, -1, 3427 -1, -1, -1, -1, 468, -1, -1, -1, -1, -1, 3428 -1, 36, 1168, 38, 1170, 1171, 1172, 1173, -1, -1, 3429 1213, -1, 354, -1, -1, -1, 358, 359, -1, 361, 3430 -1, 1187, -1, 1189, 59, 367, 368, 1193, 370, 371, 3431 65, 373, -1, 375, 69, -1, -1, 72, 73, 74, 3432 75, 76, 77, -1, 79, 80, 1212, -1, -1, -1, 3433 392, -1, 87, -1, -1, 1221, 1222, -1, 400, -1, 3434 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3435 -1, -1, -1, -1, 109, 110, 111, 112, 113, 114, 3436 115, -1, 424, -1, -1, -1, -1, -1, -1, -1, 3437 -1, -1, -1, 435, -1, -1, -1, -1, -1, -1, 3438 -1, -1, -1, 577, -1, -1, 1272, 1273, -1, -1, 3439 -1, -1, 1278, 1279, -1, -1, 458, -1, -1, -1, 3440 -1, -1, 464, 1289, -1, -1, -1, 469, -1, -1, 3441 -1, -1, -1, 607, -1, -1, -1, -1, 612, 3, 3442 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3443 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3444 24, 25, 26, 505, -1, 29, 30, 31, -1, -1, 3445 -1, -1, -1, 37, 1340, -1, -1, -1, 520, -1, 3446 -1, -1, -1, -1, -1, -1, 1352, -1, -1, -1, 3447 1356, 1357, 1358, -1, -1, -1, 60, -1, 62, -1, 3448 64, 65, 1368, 67, 68, 69, -1, -1, -1, -1, 3449 -1, 1377, 76, 77, 556, -1, -1, -1, -1, -1, 3450 -1, -1, -1, 565, -1, 567, 700, 1393, -1, -1, 3451 -1, 573, -1, 36, -1, 38, -1, 101, -1, 103, 3452 714, -1, -1, -1, 586, -1, -1, 111, -1, -1, 3453 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, 3454 734, -1, 65, -1, 67, 68, 69, -1, -1, 72, 3455 73, 74, 75, 76, 77, -1, 79, 80, -1, 1445, 3456 1446, -1, -1, 625, 87, -1, -1, -1, -1, -1, 3457 -1, -1, 1458, -1, 36, -1, 38, -1, 101, 1465, 3458 103, -1, 105, 106, -1, -1, -1, 110, 111, 112, 3459 113, 114, 115, -1, -1, -1, -1, 59, 792, 661, 3460 -1, -1, -1, 65, -1, -1, 1492, 69, 802, -1, 3645 -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, 3646 -1, -1, -1, 108, -1, 110, 111, 112, 113, 114, 3647 115, -1, 4, 5, 6, 7, 8, 9, 10, 11, 3648 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3649 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3650 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3652 -1, -1, -1, -1, -1, -1, 1415, 59, 60, -1, 3653 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3461 3654 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3462 3655 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3463 824, -1, -1, -1, 1520, -1, -1, -1, 151, 101, 3464 -1, 103, -1, -1, -1, -1, 108, -1, 110, 111, 3465 112, 113, 114, 115, -1, -1, 718, -1, -1, 1545, 3466 -1, -1, -1, -1, 1550, -1, 728, 729, -1, 182, 3467 -1, -1, -1, -1, -1, -1, 189, -1, 740, -1, 3656 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3657 -1, 103, 104, -1, -1, -1, 108, -1, 110, 111, 3658 112, 113, 114, 115, -1, -1, -1, -1, -1, 1478, 3659 1479, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3660 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3661 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3662 -1, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3468 3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3469 -1, -1, -1, -1, -1, 757, -1, 759, -1, -1, 3470 -1, 763, -1, -1, -1, 10, 11, 12, 13, 14, 3471 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3472 25, 26, -1, 917, 29, 30, 31, -1, -1, -1, 3473 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, 3474 -1, -1, -1, -1, -1, 258, -1, -1, -1, 943, 3475 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3476 65, -1, 67, 68, 69, -1, 828, -1, -1, -1, 3477 -1, 76, 77, 835, -1, 969, -1, -1, -1, -1, 3478 -1, -1, -1, -1, -1, -1, 848, -1, 850, -1, 3479 -1, -1, -1, -1, -1, -1, 101, -1, 103, 312, 3480 -1, -1, -1, 865, -1, 999, 111, 320, 321, 871, 3481 323, 324, -1, 326, -1, -1, -1, -1, 331, -1, 3482 -1, 883, 1016, -1, 886, -1, -1, -1, -1, -1, 3483 -1, -1, -1, -1, -1, -1, 36, 350, 38, -1, 3484 353, -1, 904, -1, -1, -1, -1, -1, 910, -1, 3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 3486 -1, -1, -1, -1, -1, 65, 379, -1, -1, 69, 3487 383, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3488 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3489 -1, 1085, -1, -1, -1, -1, -1, -1, -1, -1, 3490 413, 101, -1, 103, -1, -1, 106, -1, 1102, -1, 3491 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 3492 -1, -1, 142, 436, -1, -1, -1, -1, -1, -1, 3493 -1, 151, -1, 995, -1, -1, -1, -1, -1, 1001, 3494 1002, -1, -1, 163, -1, -1, -1, -1, -1, 270, 3495 271, 272, 273, -1, 467, -1, -1, 470, -1, 280, 3496 281, -1, -1, -1, 285, 286, -1, -1, -1, -1, 3497 -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, 3498 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3499 -1, -1, -1, -1, -1, 1057, 509, -1, -1, 512, 3500 1194, 1063, -1, -1, -1, 326, -1, -1, -1, -1, 3501 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3502 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 3503 30, 31, -1, -1, 254, -1, 1098, 37, -1, -1, 3504 -1, 1103, 363, 556, 557, -1, -1, -1, -1, 1111, 3505 -1, -1, -1, -1, -1, -1, -1, -1, -1, 572, 3506 60, 574, -1, -1, -1, -1, -1, 67, 68, 582, 3507 -1, 71, 585, -1, 587, 588, -1, -1, 1140, -1, 3508 -1, 594, -1, -1, -1, -1, -1, -1, -1, -1, 3509 -1, 604, 605, -1, -1, 1157, -1, 610, 1160, -1, 3510 1162, 101, 1296, 103, -1, -1, -1, 620, 621, -1, 3511 -1, 111, -1, -1, -1, -1, -1, 1179, 1180, -1, 3512 -1, -1, 635, -1, -1, -1, -1, 640, 641, -1, 3513 -1, 644, 645, 353, -1, -1, -1, -1, 1200, -1, 3514 -1, -1, 362, -1, -1, -1, -1, -1, -1, -1, 3515 -1, -1, -1, -1, -1, 668, -1, -1, -1, -1, 3516 673, 674, -1, 676, -1, -1, -1, 680, -1, -1, 3517 1232, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3519 -1, -1, 412, -1, -1, -1, -1, -1, -1, 712, 3520 713, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3521 -1, -1, -1, 433, 535, 536, 537, 538, 539, 540, 3522 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 3523 551, 552, -1, 746, -1, -1, -1, 750, 751, -1, 3524 -1, -1, 462, -1, -1, -1, -1, -1, -1, -1, 3525 -1, -1, -1, 574, -1, -1, -1, 7, -1, -1, 3526 10, 11, 12, 13, 14, -1, -1, -1, -1, 1331, 3527 -1, 1333, -1, -1, -1, -1, -1, -1, -1, 792, 3528 500, -1, 1344, -1, 1346, -1, 36, 37, 38, -1, 3529 -1, 804, 512, -1, -1, -1, -1, -1, -1, 519, 3530 813, -1, 815, -1, 1366, -1, -1, -1, -1, 59, 3531 60, 824, 532, 533, -1, 65, -1, -1, -1, 69, 3532 1382, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3533 80, -1, 1394, -1, 554, 1397, -1, 87, -1, -1, 3534 -1, 1535, 855, -1, 564, -1, -1, -1, -1, -1, 3535 -1, 101, 572, 103, 675, -1, -1, 1419, -1, -1, 3536 110, 111, 112, 113, 114, 115, 1428, -1, -1, 1431, 3537 1432, -1, -1, -1, -1, -1, 697, -1, -1, -1, 3538 -1, -1, -1, -1, -1, -1, 899, -1, -1, 710, 3539 -1, 904, 905, -1, -1, -1, -1, -1, -1, 912, 3540 -1, -1, -1, 623, 917, -1, -1, 1469, -1, -1, 3541 630, 1473, 925, -1, -1, -1, -1, -1, -1, -1, 3542 -1, -1, -1, 1485, -1, 938, 939, -1, -1, -1, 3543 -1, 651, 753, -1, -1, -1, -1, -1, -1, -1, 3544 -1, -1, -1, -1, -1, -1, -1, -1, -1, 962, 3545 -1, -1, -1, 673, -1, -1, 969, -1, -1, -1, 3546 -1, -1, -1, 976, 785, -1, -1, -1, -1, -1, 3547 -1, -1, -1, -1, -1, 988, 989, -1, -1, -1, 3548 -1, 994, -1, 996, -1, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, 1007, 1008, -1, 1010, 1011, 1012, 3550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3551 1023, 1024, 1025, -1, -1, -1, -1, -1, -1, -1, 3552 -1, -1, -1, -1, -1, -1, 746, -1, 748, -1, 3553 -1, -1, -1, -1, 754, -1, -1, -1, -1, -1, 3554 -1, -1, 762, -1, 10, 11, 12, 13, 14, 15, 3555 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3556 26, 27, -1, 29, 30, 31, -1, 1080, -1, 890, 3557 -1, 37, 1085, -1, -1, 1088, 1089, 1090, 1091, 799, 3558 -1, -1, 802, 803, 804, 36, -1, 38, -1, 1102, 3559 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3560 -1, 67, 68, 823, -1, 71, -1, -1, 59, -1, 3561 -1, 1124, -1, -1, 65, -1, -1, -1, 69, -1, 3562 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3563 -1, -1, -1, -1, 1147, 101, 87, 103, -1, 1152, 3564 1153, 1154, -1, -1, 864, 111, -1, -1, 868, -1, 3565 101, -1, 103, -1, -1, -1, -1, -1, -1, 110, 3566 111, 112, 113, 114, 115, 986, -1, -1, -1, -1, 3567 -1, -1, -1, -1, -1, 996, -1, -1, -1, 899, 3568 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3569 19, 20, 21, 22, 23, 24, 25, 26, -1, 1212, 3570 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 3571 -1, -1, -1, 1226, -1, -1, -1, -1, -1, -1, 3572 -1, -1, -1, 1044, 1237, -1, -1, -1, -1, 949, 3573 -1, 60, -1, -1, -1, -1, -1, -1, 67, 68, 3574 -1, -1, 962, 963, -1, -1, -1, -1, -1, -1, 3575 970, -1, -1, -1, -1, -1, -1, 977, -1, -1, 3576 980, -1, 982, -1, -1, 36, -1, 38, -1, -1, 3577 -1, -1, -1, -1, 1287, 1288, -1, -1, -1, 999, 3578 -1, -1, 111, -1, -1, -1, -1, -1, 59, -1, 3579 -1, -1, -1, -1, 65, -1, 1016, 1118, 69, -1, 3580 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3581 -1, 1324, -1, -1, -1, -1, 87, -1, -1, 1039, 3582 -1, 1041, -1, -1, -1, -1, -1, -1, -1, -1, 3583 101, -1, 103, -1, -1, -1, 1056, -1, -1, 110, 3584 111, 112, 113, 114, 115, -1, -1, 1168, -1, -1, 3585 -1, -1, -1, -1, -1, 1075, -1, -1, -1, -1, 3586 -1, -1, 1183, 1184, -1, -1, -1, -1, 1088, -1, 3587 -1, -1, 0, 1386, -1, 3, 4, 5, 6, 7, 3588 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3589 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3590 1413, 29, 30, 31, 32, -1, 1126, 35, -1, 37, 3591 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592 -1, 36, -1, 38, -1, -1, -1, 1147, -1, 57, 3593 -1, -1, 60, -1, 62, -1, 64, 65, -1, 67, 3594 68, 69, -1, -1, 59, 1165, -1, 1167, 76, 77, 3595 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, 3596 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3597 -1, -1, 87, 101, -1, 103, -1, -1, -1, -1, 3598 1493, -1, -1, 111, -1, -1, 101, -1, 103, -1, 3599 -1, -1, 1212, -1, -1, 110, 111, 112, 113, 114, 3600 115, 1514, 1515, -1, -1, -1, -1, 1227, -1, -1, 3601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3602 -1, -1, 1535, -1, -1, -1, -1, -1, -1, -1, 3603 1250, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3604 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3605 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3606 30, 31, 32, -1, -1, 35, 36, 37, 38, 39, 3607 -1, 41, -1, -1, 44, 45, 46, 47, 48, 49, 3608 50, 51, -1, 53, -1, -1, 56, 57, -1, 59, 3609 60, -1, 62, -1, 64, 65, 1417, 67, 68, 69, 3610 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3611 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3613 -1, 101, -1, 103, -1, -1, 106, -1, -1, -1, 3614 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, 3615 -1, -1, -1, -1, 124, -1, -1, -1, -1, 1480, 3616 1481, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3618 -1, -1, 1402, -1, -1, -1, -1, -1, 3, 4, 3619 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3620 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3621 25, 26, -1, -1, 29, 30, 31, 32, -1, -1, 3622 35, 36, 37, 38, 10, 11, 12, 13, 14, 15, 3623 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3624 26, 27, -1, -1, 59, 60, -1, 62, -1, 64, 3625 65, 37, 67, 68, 69, -1, 1476, 72, 73, 74, 3626 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3627 -1, -1, 87, -1, 60, -1, -1, -1, -1, -1, 3628 -1, -1, -1, -1, -1, 71, 101, -1, 103, -1, 3629 -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 3630 115, -1, 1522, -1, -1, -1, -1, -1, -1, 124, 3631 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3632 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3633 23, 24, 25, 26, -1, -1, 29, 30, 31, 32, 3634 -1, -1, 35, 36, 37, 38, 10, 11, 12, 13, 3635 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3636 24, 25, 26, 27, -1, -1, 59, 60, -1, 62, 3637 -1, 64, 65, 37, 67, 68, 69, -1, -1, 72, 3664 -1, -1, -1, -1, -1, -1, 59, 60, -1, -1, 3665 -1, -1, 65, -1, 67, 68, 69, -1, -1, 72, 3638 3666 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3639 -1, -1, -1, -1, 87, -1, 60, -1, -1, -1,3640 -1, -1, -1, -1, -1, -1, -1, 71, 101, -1,3641 103, -1, -1, -1, -1, -1, -1, 110, 111, 112,3667 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3668 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3669 103, 104, -1, -1, -1, 108, -1, 110, 111, 112, 3642 3670 113, 114, 115, 4, 5, 6, 7, 8, 9, 10, 3643 3671 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, … … 3646 3674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3647 3675 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3648 -1, 62, -1, 64, 65, -1, 67, 68, 69, -1,3676 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3649 3677 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3650 3678 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3651 3679 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3652 101, -1, 103, 104, -1, -1, -1, 108, -1, 110,3680 101, -1, 103, 104, -1, -1, -1, -1, -1, 110, 3653 3681 111, 112, 113, 114, 115, 4, 5, 6, 7, 8, 3654 3682 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … … 3657 3685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3658 3686 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3659 59, 60, -1, 62, -1, 64, 65, -1, 67, 68,3687 59, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3660 3688 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3661 3689 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3662 3690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3663 -1, -1, 101, -1, 103, 104, -1, -1, -1, 108,3691 -1, -1, 101, -1, 103, 104, -1, -1, -1, -1, 3664 3692 -1, 110, 111, 112, 113, 114, 115, 4, 5, 6, 3665 3693 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, … … 3668 3696 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 3669 3697 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3670 -1, -1, 59, 60, -1, 62, -1, 64, 65, -1,3698 -1, -1, 59, 60, -1, -1, -1, -1, 65, -1, 3671 3699 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3672 3700 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3673 3701 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3674 -1, -1, -1, -1, 101, -1, 103, 104, -1, -1,3675 -1, 108, -1, 110, 111, 112, 113, 114, 115, 4,3702 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3703 -1, -1, -1, 110, 111, 112, 113, 114, 115, 4, 3676 3704 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3677 3705 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, … … 3679 3707 -1, 36, 37, 38, -1, -1, -1, -1, -1, -1, 3680 3708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3681 -1, -1, -1, -1, 59, 60, -1, 62, -1, 64,3709 -1, -1, -1, -1, 59, 60, -1, -1, -1, -1, 3682 3710 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3683 3711 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3684 3712 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3685 -1, -1, -1, -1, -1, -1, 101, -1, 103, 104,3713 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3686 3714 -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 3687 115, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3715 115, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3716 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3717 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3718 32, -1, -1, 35, -1, 37, 38, -1, -1, -1, 3719 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3720 -1, -1, -1, -1, -1, 57, -1, -1, 60, -1, 3721 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3722 -1, -1, -1, -1, 76, 77, -1, -1, -1, -1, 3723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3724 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3725 -1, 103, -1, -1, -1, 107, -1, -1, -1, 111, 3726 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3688 3727 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3689 3728 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3690 -1, -1, -1, 36, 37, 38, -1, -1, -1, -1,3729 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 3691 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3692 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,3693 -1, 64, 65, -1, 67, 68, 69, -1, -1, 72,3694 73, 74, 75, 76, 77, -1, 79, 80, -1, -1,3695 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1,3731 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 3732 -1, -1, 65, -1, 67, 68, 69, -1, -1, -1, 3733 -1, -1, -1, 76, 77, -1, -1, -1, -1, -1, 3734 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3696 3735 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3697 103, 104, -1, -1, -1, -1, -1, 110, 111, 112,3698 113, 114, 115, 4, 5, 6, 7, 8, 9, 10,3699 1 1, 12, 13, 14, 15, 16, 17, 18, 19, 20,3700 2 1, 22, 23, 24, 25, 26, -1, -1, 29, 30,3701 31, -1, -1, -1, -1, 36, 37, 38, -1, -1,3736 103, -1, -1, -1, -1, -1, -1, -1, 111, 3, 3737 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3738 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3739 24, 25, 26, -1, -1, 29, 30, 31, 32, -1, 3740 -1, 35, -1, 37, -1, -1, -1, -1, -1, -1, 3702 3741 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3703 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3704 -1, 62, -1, 64, 65, -1, 67, 68, 69, -1, 3705 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3706 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708 101, -1, 103, -1, -1, -1, -1, -1, -1, 110, 3709 111, 112, 113, 114, 115, 4, 5, 6, 7, 8, 3710 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3711 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3712 29, 30, 31, -1, -1, -1, -1, 36, 37, 38, 3713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3715 59, 60, -1, 62, -1, 64, 65, -1, 67, 68, 3716 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3717 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3718 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3719 -1, -1, 101, -1, 103, -1, -1, -1, -1, -1, 3720 -1, 110, 111, 112, 113, 114, 115, 3, 4, 5, 3721 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3722 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3723 26, -1, -1, 29, 30, 31, 32, -1, -1, 35, 3724 -1, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3725 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3726 -1, 57, -1, -1, 60, -1, 62, -1, 64, 65, 3727 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1, 3728 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, 3729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3731 -1, 107, -1, -1, -1, 111, 3, 4, 5, 6, 3742 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3743 -1, -1, -1, 67, 68, -1, 3, 4, 5, 6, 3732 3744 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3733 3745 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3734 -1, -1, 29, 30, 31, 32, -1, -1, 35, -1,3735 37, 38, -1, -1, -1, -1, -1, -1, -1, -1,3746 -1, -1, 29, 30, 31, -1, -1, -1, -1, 103, 3747 37, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3736 3748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3737 57, -1, -1, 60, -1, 62, -1, 64, 65, -1, 3738 67, 68, 69, -1, -1, -1, -1, -1, -1, 76, 3739 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3749 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3750 67, 68, 4, 5, 6, 7, 8, 9, 10, 11, 3751 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3752 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3753 -1, -1, -1, -1, -1, 37, 103, -1, -1, -1, 3754 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3755 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3756 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3757 -1, -1, -1, -1, 76, 77, -1, -1, -1, -1, 3740 3758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3741 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3742 -1, -1, -1, -1, 111, 3, 4, 5, 6, 7, 3743 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3744 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3745 -1, 29, 30, 31, 32, -1, -1, 35, -1, 37, 3746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3748 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3749 68, -1, -1, 71, 3, 4, 5, 6, 7, 8, 3750 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3751 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3752 29, 30, 31, 32, -1, 103, 35, -1, 37, -1, 3753 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3755 -1, 60, -1, 62, -1, 64, -1, -1, 67, 68, 3759 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3760 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3756 3761 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3757 3762 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3758 3763 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3759 -1, -1, -1, 37, 103, -1, -1, -1, -1, -1, 3764 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3766 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3767 -1, -1, -1, 67, 68, 4, 5, 6, 7, 8, 3768 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3769 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3770 29, 30, 31, -1, -1, -1, -1, -1, 37, 103, 3771 104, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3773 -1, 60, -1, -1, -1, -1, -1, -1, 67, 68, 3774 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 3775 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3776 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3777 -1, -1, -1, 102, 103, 37, -1, -1, -1, -1, 3760 3778 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3761 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 3762 64, 65, -1, 67, 68, 69, -1, -1, -1, -1, 3763 -1, -1, 76, 77, -1, -1, -1, -1, -1, -1, 3779 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3780 -1, -1, -1, -1, -1, 67, 68, -1, -1, -1, 3764 3781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3765 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3766 -1, -1, -1, -1, -1, -1, -1, 111, 4, 5, 3782 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1, 3783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3784 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3785 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3786 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3787 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3788 -1, -1, -1, 37, -1, -1, -1, -1, 10, 11, 3789 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3790 22, 23, 24, 25, 26, -1, 60, 29, 30, 31, 3791 -1, -1, -1, 67, 68, 37, -1, -1, -1, -1, 3792 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3793 -1, -1, -1, -1, -1, 89, -1, -1, 60, -1, 3794 -1, -1, -1, 65, -1, 67, 68, 69, -1, 103, 3795 -1, -1, -1, -1, 76, 77, -1, 111, 4, 5, 3796 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3797 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3798 26, 103, -1, 29, 30, 31, -1, -1, -1, 111, 3799 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 3800 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3801 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3802 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 3803 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3804 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3805 31, -1, -1, -1, -1, -1, 37, 103, -1, -1, 3806 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3807 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3808 -1, -1, -1, -1, -1, -1, 67, 68, 4, 5, 3767 3809 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3768 3810 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3769 3811 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3770 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3772 -1, -1, -1, -1, 60, -1, 62, -1, 64, -1,3812 -1, 37, 103, -1, -1, -1, -1, -1, -1, -1, 3813 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3814 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3773 3815 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 3774 3816 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3775 3817 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3776 31, -1, -1, -1, -1, -1, 37, 103, 104, -1,3818 31, -1, -1, -1, -1, -1, 37, 103, -1, -1, 3777 3819 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3778 3820 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3779 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3780 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3781 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3782 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3783 -1, 102, 103, 37, -1, -1, -1, -1, -1, -1, 3784 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3785 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 3786 64, -1, -1, 67, 68, -1, -1, -1, -1, -1, 3787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3788 -1, -1, -1, -1, -1, 89, -1, -1, -1, -1, 3789 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, 3790 -1, -1, -1, -1, -1, -1, -1, 111, 4, 5, 3791 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3792 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3793 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3794 -1, 37, 10, 11, 12, 13, 14, 15, 16, 17, 3795 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3796 -1, 29, 30, 31, 60, -1, 62, -1, 64, 37, 3797 -1, 67, 68, -1, -1, -1, -1, -1, -1, -1, 3798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3799 -1, -1, 60, 89, -1, -1, -1, 65, -1, 67, 3800 68, -1, -1, -1, -1, -1, -1, 103, -1, -1, 3801 -1, -1, -1, -1, -1, 111, 4, 5, 6, 7, 3802 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3803 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3804 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3808 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3809 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3810 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3811 -1, -1, -1, -1, 37, 103, -1, -1, -1, -1, 3812 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3813 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3814 -1, 64, -1, -1, 67, 68, 4, 5, 6, 7, 3815 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3816 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3817 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3818 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3820 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 3821 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3822 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3823 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3824 -1, -1, -1, -1, 37, 103, -1, -1, -1, -1, 3825 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3826 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3827 -1, 64, -1, -1, 67, 68, 10, 11, 12, 13, 3828 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3829 24, 25, 26, -1, -1, 29, 30, 31, 32, 33, 3830 34, -1, 36, 37, 38, -1, -1, -1, -1, -1, 3831 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3832 -1, -1, -1, -1, -1, 59, 60, -1, -1, -1, 3833 -1, 65, -1, 67, 68, 69, -1, -1, 72, 73, 3834 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3835 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 3836 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3837 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3838 114, 115, 10, 11, 12, 13, 14, 15, 16, 17, 3839 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3840 -1, 29, 30, 31, -1, -1, -1, -1, 36, 37, 3841 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3843 -1, 59, 60, -1, -1, -1, -1, 65, -1, 67, 3844 68, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3845 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3847 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 3848 -1, -1, 110, 111, 112, 113, 114, 115, 10, 11, 3821 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 3849 3822 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3850 3823 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3851 3824 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3853 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1,3825 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, 3826 111, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3854 3827 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3855 3828 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3856 3829 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3857 3830 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3858 -1, 103, 104, -1, -1, -1, -1, -1, 110, 111,3831 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 3859 3832 112, 113, 114, 115, 10, 11, 12, 13, 14, 15, 3860 3833 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, … … 3866 3839 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3867 3840 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3868 -1, -1, -1, -1, -1, 101, 102, 103, -1, -1,3841 -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, 3869 3842 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3870 3843 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, … … 3877 3850 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3878 3851 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3879 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1,3852 -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, 3880 3853 110, 111, 112, 113, 114, 115, 10, 11, 12, 13, 3881 3854 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 3910 3883 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3911 3884 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3912 112, 113, 114, 115, 3, 4, 5, 6, 7, 8, 3913 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3914 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3915 29, 30, 31, -1, -1, -1, -1, -1, 37, 10, 3916 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3917 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 3918 31, 60, -1, 62, -1, 64, 37, -1, 67, 68, 3885 112, 113, 114, 115, 10, 11, 12, 13, 14, 15, 3886 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3887 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3888 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3919 3889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3920 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3921 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3922 71, -1, -1, -1, -1, 76, 77, 106, 10, 11, 3923 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3924 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 3925 101, -1, 103, -1, -1, 37, -1, -1, -1, -1, 3926 111, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3927 19, 20, 21, 22, 23, 24, 25, 26, 60, -1, 3928 29, 30, 31, 65, -1, 67, 68, 69, 37, 71, 3929 -1, -1, -1, -1, 76, 77, -1, -1, -1, -1, 3890 -1, -1, -1, 59, 60, -1, -1, -1, -1, 65, 3891 -1, 67, 68, 69, -1, -1, 72, 73, 74, 75, 3892 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3893 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3894 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3895 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3896 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3897 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 3898 30, 31, -1, -1, -1, -1, -1, 37, -1, -1, 3899 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3900 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3901 60, -1, 29, 30, 31, 65, -1, 67, 68, 69, 3902 37, 71, -1, -1, -1, -1, 76, 77, -1, -1, 3930 3903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3931 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3932 69, 103, -1, -1, -1, -1, -1, 76, 77, 111, 3904 -1, -1, -1, 60, -1, -1, -1, -1, 65, -1, 3905 67, 68, 69, 103, -1, -1, -1, -1, -1, 76, 3906 77, 111, 10, 11, 12, 13, 14, 15, 16, 17, 3907 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3908 -1, 29, 30, 31, 101, -1, 103, -1, -1, 37, 3909 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3911 -1, -1, 60, -1, -1, -1, -1, 65, -1, 67, 3912 68, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3933 3913 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3934 3914 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3935 30, 31, 101, -1, 103, -1, -1, 37, -1, -1,3936 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,3915 30, 31, -1, 101, -1, 103, -1, 37, -1, -1, 3916 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3937 3917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3938 3918 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3939 3919 -1, -1, -1, -1, -1, -1, 76, 77, 10, 11, 3940 3920 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3941 22, 23, 24, 25, 26, -1, -1, 29, 30, 31,3921 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 3942 3922 -1, 101, -1, 103, -1, 37, -1, -1, -1, -1, 3943 3923 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, 3944 3924 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3945 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1,3946 -1, -1, -1, -1, 76, 77, 10, 11, 12, 13,3947 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,3948 24, 25, 26, -1, -1, 29, 30, 31, -1, 101,3949 -1, 103, -1, 37, -1, -1, -1, -1, -1, 111,3925 -1, -1, -1, -1, -1, 67, 68, -1, -1, 71, 3926 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3927 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3928 30, 31, -1, -1, -1, -1, -1, 37, 38, 101, 3929 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3950 3930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3951 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3952 -1, 65, -1, 67, 68, 69, -1, -1, -1, -1, 3953 -1, -1, 76, 77, 10, 11, 12, 13, 14, 15, 3954 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3955 26, -1, -1, 29, 30, 31, -1, -1, -1, 103, 3956 -1, 37, 38, -1, -1, -1, -1, 111, -1, -1, 3957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3958 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3959 -1, 67, 68, 10, 11, 12, 13, 14, 15, 16, 3960 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3961 27, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3962 37, -1, -1, -1, -1, -1, -1, 103, -1, -1, 3963 -1, 107, -1, -1, -1, 111, -1, -1, -1, -1, 3964 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3965 67, 68, -1, -1, 71, 10, 11, 12, 13, 14, 3966 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3967 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 3968 -1, -1, 37, 38, -1, -1, 103, -1, -1, -1, 3969 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3970 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3971 -1, -1, 67, 68, 10, 11, 12, 13, 14, 15, 3972 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3973 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3974 -1, 37, 38, -1, -1, -1, -1, -1, 103, -1, 3975 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1, 3976 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3977 -1, 67, 68, 10, 11, 12, 13, 14, 15, 16, 3978 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3979 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3980 37, 38, -1, -1, -1, -1, -1, 103, -1, -1, 3981 -1, 107, -1, -1, -1, 111, -1, -1, -1, -1, 3982 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3983 67, 68, 10, 11, 12, 13, 14, 15, 16, 17, 3984 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3985 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3986 38, -1, -1, -1, -1, -1, 103, -1, -1, -1, 3987 107, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3988 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3989 68, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3990 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3991 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 3992 -1, -1, -1, -1, -1, 103, -1, -1, -1, 107, 3993 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3994 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3931 60, -1, -1, -1, -1, -1, -1, 67, 68, 10, 3932 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3933 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3934 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, 3935 -1, -1, -1, 103, -1, -1, -1, 107, -1, -1, 3936 -1, 111, -1, -1, -1, -1, -1, -1, -1, 60, 3937 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 3938 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3939 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 3940 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, 3941 -1, -1, 103, -1, -1, -1, 107, -1, -1, -1, 3942 111, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3943 -1, -1, -1, -1, -1, 67, 68, -1, -1, 71, 3995 3944 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3996 3945 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3997 3946 30, 31, -1, -1, -1, -1, -1, 37, 38, -1, 3998 -1, -1, -1, -1, 103, -1, -1, -1, -1, -1,3999 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,3947 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4000 3949 60, -1, -1, -1, -1, -1, -1, 67, 68, 10, 4001 3950 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4002 3951 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 4003 31, -1, -1, -1, -1, -1, 37, -1, -1, -1,4004 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,3952 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, 3953 -1, -1, -1, 103, -1, -1, -1, 107, -1, -1, 4005 3954 -1, 111, -1, -1, -1, -1, -1, -1, -1, 60, 4006 3955 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 4007 3956 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4008 3957 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4009 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,4010 101, -1, 103, -1, -1, -1, -1, -1, -1, -1,3958 -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, 3959 -1, -1, 103, -1, -1, -1, 107, -1, -1, -1, 4011 3960 111, -1, -1, -1, -1, -1, -1, -1, 60, -1, 4012 3961 -1, -1, -1, -1, -1, 67, 68, 10, 11, 12, 4013 3962 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4014 3963 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 4015 -1, -1, -1, -1, 37, -1, -1, -1, -1, 101,4016 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111,3964 -1, -1, -1, -1, 37, 38, -1, -1, -1, -1, 3965 -1, 103, -1, -1, -1, 107, -1, -1, -1, 111, 4017 3966 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 4018 3967 -1, -1, -1, -1, 67, 68, 10, 11, 12, 13, … … 4020 3969 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 4021 3970 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 4022 103, -1, -1, -1, -1, -1, -1, -1, 111, -1,3971 103, -1, -1, -1, 107, -1, -1, -1, 111, -1, 4023 3972 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 4024 3973 -1, -1, -1, 67, 68, 10, 11, 12, 13, 14, 4025 3974 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4026 3975 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 4027 -1, -1, 37, -1, -1, -1, -1, -1, -1, 103,3976 -1, -1, 37, -1, -1, -1, -1, 101, -1, 103, 4028 3977 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 4029 3978 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, … … 4031 3980 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4032 3981 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 4033 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1,3982 -1, 37, -1, -1, -1, -1, 101, -1, 103, -1, 4034 3983 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 4035 3984 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, … … 4075 4024 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 4076 4025 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 4077 -1, -1, -1, -1, 67, 68, 4, 5, 6, 7, 4078 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 4079 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 4080 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 4081 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, 4082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4083 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 4084 68, -1, 36, -1, 38, 39, -1, 41, -1, -1, 4085 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 4026 -1, -1, -1, -1, 67, 68, 10, 11, 12, 13, 4027 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4028 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 4029 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 4030 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 4031 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 4032 -1, -1, -1, 67, 68, 10, 11, 12, 13, 14, 4033 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4034 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 4035 -1, -1, 37, -1, -1, -1, -1, -1, -1, 103, 4036 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 4037 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 4038 -1, -1, 67, 68, 10, 11, 12, 13, 14, 15, 4039 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4040 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 4041 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1, 4042 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 4043 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 4044 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 4045 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4046 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 4047 31, -1, -1, -1, -1, -1, 37, -1, -1, -1, 4048 -1, 36, -1, 38, 39, 111, 41, -1, -1, 44, 4049 45, 46, 47, 48, 49, 50, 51, 52, 53, 60, 4050 -1, 56, 57, -1, 59, -1, 67, 68, -1, -1, 4051 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, 4052 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 4053 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 4054 -1, 102, -1, -1, -1, -1, 101, -1, 103, -1, 4055 -1, 106, -1, -1, -1, 110, 111, 112, 113, 114, 4056 115, -1, 36, -1, 38, 39, -1, 41, -1, 124, 4057 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 4086 4058 -1, -1, 56, 57, -1, 59, -1, -1, -1, -1, 4087 -1, 65, -1, -1, 102, 69, -1, -1, 72, 73,4059 -1, 65, -1, -1, -1, 69, -1, -1, 72, 73, 4088 4060 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 4089 4061 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 4090 4062 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 4091 4063 -1, -1, 106, -1, -1, -1, 110, 111, 112, 113, 4092 114, 115, -1, 36, -1, 38, 39, -1, 41, -1, 4093 124, 44, 45, 46, 47, 48, 49, 50, 51, -1, 4094 53, -1, -1, 56, 57, -1, 59, -1, -1, -1, 4095 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 4096 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 4097 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 4098 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 4099 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 4100 113, 114, 115, -1, -1, -1, -1, -1, -1, -1, 4101 -1, 124, 4, 5, 6, 7, 8, 9, 10, 11, 4102 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4103 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4104 -1, -1, -1, -1, -1, 37, 10, 11, 12, 13, 4105 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4106 24, 25, 26, -1, -1, 29, 30, 31, 60, -1, 4107 62, -1, 64, 37, -1, 67, 68, -1, 36, -1, 4108 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 4109 48, 49, 50, 51, 52, 53, 60, 89, 56, 57, 4110 -1, 59, -1, 67, 68, -1, -1, 65, -1, -1, 4111 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 4112 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 4113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4114 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 4115 -1, -1, 110, 111, 112, 113, 114, 115, 36, -1, 4116 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 4117 48, 49, 50, 51, -1, 53, -1, -1, 56, 57, 4118 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, 4119 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 4120 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 4121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4122 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 4123 -1, -1, 110, 111, 112, 113, 114, 115, 36, -1, 4124 38, 39, -1, 41, -1, -1, 44, 45, 46, 47, 4125 48, 49, 50, 51, -1, 53, -1, -1, 56, 57, 4126 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, 4064 114, 115, -1, -1, -1, -1, -1, -1, -1, -1, 4065 124, 4, 5, 6, 7, 8, 9, 10, 11, 12, 4066 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4067 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 4068 36, -1, 38, 39, 37, 41, 42, 43, 44, 45, 4069 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 4070 56, 57, -1, 59, -1, -1, -1, 60, -1, 65, 4071 -1, -1, -1, 69, 67, 68, 72, 73, 74, 75, 4072 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 4073 -1, 87, -1, -1, -1, -1, 89, -1, -1, -1, 4074 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 4075 106, -1, -1, -1, 110, 111, 112, 113, 114, 115, 4076 36, -1, 38, 39, -1, 41, 42, 43, 44, 45, 4077 46, 47, 48, 49, 50, 51, -1, 53, -1, -1, 4078 56, 57, -1, 59, -1, -1, -1, -1, -1, 65, 4079 -1, -1, -1, 69, -1, -1, 72, 73, 74, 75, 4080 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 4081 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 4082 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 4083 106, -1, -1, -1, 110, 111, 112, 113, 114, 115, 4084 36, -1, 38, 39, -1, 41, -1, -1, 44, 45, 4085 46, 47, 48, 49, 50, 51, -1, 53, -1, -1, 4086 56, 57, -1, 59, -1, -1, -1, -1, -1, 65, 4087 -1, -1, -1, 69, -1, -1, 72, 73, 74, 75, 4088 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 4089 -1, 87, -1, -1, -1, -1, -1, 36, -1, 38, 4090 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 4091 106, -1, -1, -1, 110, 111, 112, 113, 114, 115, 4092 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, 4093 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 4094 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 4095 -1, -1, -1, -1, 36, -1, 38, -1, -1, -1, 4096 -1, -1, 101, -1, 103, -1, -1, -1, -1, -1, 4097 -1, 110, 111, 112, 113, 114, 115, 59, -1, -1, 4098 -1, -1, -1, 65, -1, -1, -1, 69, -1, -1, 4099 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 4100 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 4101 -1, 36, -1, 38, -1, -1, -1, -1, -1, 101, 4102 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 4103 112, 113, 114, 115, 59, -1, -1, -1, -1, -1, 4104 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, 4105 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 4106 -1, -1, 87, -1, -1, -1, -1, -1, 36, -1, 4107 38, -1, -1, -1, -1, -1, 101, -1, 103, -1, 4108 -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 4109 115, 59, -1, -1, -1, -1, -1, 65, -1, -1, 4127 4110 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 4128 4111 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 4129 4112 -1, -1, -1, -1, -1, 36, -1, 38, -1, -1, 4130 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1,4113 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1, 4131 4114 -1, -1, 110, 111, 112, 113, 114, 115, 59, -1, 4132 4115 -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, … … 4134 4117 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 4135 4118 -1, -1, 36, -1, 38, -1, -1, -1, -1, -1, 4136 101, -1, 103, -1, -1, -1, -1, -1, -1, 110,4119 101, -1, -1, -1, -1, -1, -1, -1, -1, 110, 4137 4120 111, 112, 113, 114, 115, 59, -1, -1, -1, -1, 4138 4121 -1, 65, -1, -1, -1, 69, -1, -1, 72, 73, … … 4150 4133 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 4151 4134 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 4152 -1, -1, -1, 36, -1, 38, -1, -1, -1, -1,4135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4153 4136 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, 4154 110, 111, 112, 113, 114, 115, 59, -1, -1, -1, 4155 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 4156 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 4157 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 4158 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 4159 -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, 4160 113, 114, 115, 4, 5, 6, 7, 8, 9, 10, 4161 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4162 21, 22, 23, 24, 25, 26, -1, -1, -1, -1, 4163 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, 4164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 4166 -1, 62, -1, 64, 65, -1, 67, 68, 69, -1, 4167 -1, -1, -1, -1, -1, 76, 77, 3, 4, 5, 4168 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4169 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4170 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 4171 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 4172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4173 -1, -1, -1, -1, 60, -1, 62, -1, 64, -1, 4174 -1, 67, 68, 3, 4, 5, 6, 7, 8, 9, 4175 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4176 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 4177 30, 31, -1, -1, -1, -1, -1, 37, -1, -1, 4137 110, 111, 112, 113, 114, 115, 4, 5, 6, 7, 4138 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 4139 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 4140 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 4178 4141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4179 4142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4180 60, -1, 62, -1, 64, -1, -1, 67, 68, 4, 4181 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 4182 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4183 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 4184 -1, -1, 37, 10, 11, 12, 13, 14, 15, 16, 4143 -1, -1, 60, -1, -1, -1, -1, 65, -1, 67, 4144 68, 69, -1, -1, -1, -1, -1, -1, 76, 77, 4145 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 4146 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4147 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 4148 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 4149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4150 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 4151 -1, -1, -1, -1, 67, 68, 3, 4, 5, 6, 4152 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 4185 4153 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4186 -1, -1, 29, 30, 31, 60, -1, 62, -1, 64,4187 37, -1, 67, 68, -1, -1, -1, -1, -1, -1,4154 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 4155 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4188 4156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4189 4157 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 4190 67, 68 4158 67, 68, 4, 5, 6, 7, 8, 9, 10, 11, 4159 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4160 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4161 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, 4162 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4163 20, 21, 22, 23, 24, 25, 26, -1, 60, 29, 4164 30, 31, 32, 33, 34, 67, 68, 37, 10, 11, 4165 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4166 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4167 60, -1, -1, -1, -1, 37, -1, 67, 68, -1, 4168 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4169 20, 21, 22, 23, 24, 25, 26, -1, 60, 29, 4170 30, 31, -1, 65, -1, 67, 68, 37, 10, 11, 4171 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4172 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4173 60, -1, -1, -1, -1, 37, -1, 67, 68, -1, 4174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4175 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 4176 -1, -1, -1, -1, -1, 67, 68 4191 4177 }; 4192 4178 … … 4198 4184 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4199 4185 22, 23, 24, 25, 26, 29, 30, 31, 32, 35, 4200 37, 38, 57, 60, 62, 64, 65, 67, 68, 69, 4201 76, 77, 101, 103, 111, 129, 132, 189, 201, 202, 4202 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 4203 213, 214, 215, 216, 217, 218, 220, 221, 222, 223, 4204 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 4205 235, 243, 244, 270, 271, 279, 282, 288, 289, 291, 4206 293, 294, 300, 305, 309, 310, 311, 312, 313, 314, 4207 315, 316, 336, 353, 354, 355, 356, 65, 111, 131, 4208 204, 206, 214, 216, 226, 230, 232, 271, 75, 101, 4209 298, 299, 300, 298, 298, 65, 67, 68, 69, 130, 4210 131, 260, 261, 280, 281, 67, 68, 261, 101, 291, 4211 215, 216, 101, 111, 305, 310, 311, 312, 314, 315, 4212 316, 126, 103, 207, 214, 216, 309, 313, 352, 353, 4213 356, 357, 127, 123, 264, 106, 127, 164, 67, 68, 4214 129, 259, 127, 127, 127, 108, 127, 67, 101, 111, 4215 295, 304, 305, 306, 307, 308, 309, 313, 317, 318, 4216 319, 320, 321, 3, 27, 71, 228, 3, 5, 67, 4217 68, 103, 111, 206, 217, 221, 224, 233, 309, 313, 4218 356, 204, 206, 216, 226, 230, 232, 271, 309, 313, 4219 32, 222, 222, 217, 224, 127, 222, 217, 222, 217, 4220 101, 106, 261, 106, 261, 222, 217, 108, 127, 127, 4221 0, 126, 101, 164, 298, 298, 126, 103, 214, 216, 4222 354, 259, 259, 216, 123, 101, 111, 295, 305, 309, 4223 103, 111, 356, 292, 219, 300, 101, 276, 101, 101, 4224 101, 36, 38, 59, 65, 69, 72, 73, 74, 75, 4225 79, 80, 87, 101, 103, 110, 111, 112, 113, 114, 4226 115, 128, 132, 133, 134, 135, 140, 141, 142, 143, 4227 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 4228 155, 157, 214, 263, 278, 352, 357, 216, 102, 102, 4229 102, 102, 102, 102, 102, 103, 111, 127, 155, 206, 4230 207, 213, 216, 220, 221, 226, 229, 230, 232, 249, 4231 250, 254, 255, 256, 257, 271, 336, 348, 349, 350, 4232 351, 356, 357, 126, 101, 309, 313, 356, 101, 108, 4233 124, 103, 106, 111, 155, 265, 107, 126, 108, 124, 4234 101, 108, 124, 108, 124, 108, 124, 298, 124, 305, 4235 306, 307, 308, 318, 319, 320, 321, 216, 304, 317, 4236 57, 297, 103, 298, 335, 336, 298, 298, 164, 126, 4237 101, 298, 335, 298, 298, 216, 295, 101, 101, 215, 4238 214, 216, 101, 126, 214, 352, 357, 164, 126, 259, 4239 264, 206, 221, 309, 313, 164, 126, 280, 216, 226, 4240 124, 216, 216, 126, 38, 103, 214, 236, 237, 238, 4241 239, 352, 356, 106, 245, 261, 106, 216, 280, 124, 4242 124, 291, 126, 131, 258, 3, 127, 196, 197, 211, 4243 213, 216, 126, 297, 101, 297, 155, 305, 216, 101, 4244 126, 259, 106, 32, 33, 34, 214, 272, 273, 275, 4245 126, 121, 123, 277, 126, 217, 223, 224, 259, 301, 4246 302, 303, 140, 153, 154, 101, 140, 142, 101, 140, 4247 101, 101, 140, 140, 131, 103, 155, 160, 164, 214, 4248 262, 352, 126, 142, 142, 75, 78, 79, 80, 101, 4249 103, 105, 90, 91, 92, 93, 94, 95, 96, 97, 4250 98, 99, 123, 159, 142, 111, 116, 117, 113, 114, 4251 81, 82, 83, 84, 118, 119, 85, 86, 112, 120, 4252 121, 87, 88, 122, 123, 359, 101, 111, 331, 332, 4253 333, 334, 335, 102, 108, 101, 335, 103, 336, 101, 4254 335, 336, 126, 103, 111, 127, 214, 216, 347, 348, 4255 356, 357, 104, 127, 67, 101, 103, 111, 305, 322, 4256 323, 324, 325, 326, 327, 328, 329, 330, 336, 337, 4257 338, 339, 340, 341, 342, 111, 356, 216, 127, 127, 4258 111, 214, 216, 349, 259, 214, 336, 349, 259, 127, 4259 126, 126, 126, 126, 65, 103, 105, 261, 265, 266, 4260 267, 268, 269, 126, 126, 126, 126, 126, 126, 295, 4261 102, 102, 102, 102, 102, 102, 102, 304, 317, 101, 4262 264, 126, 196, 126, 295, 160, 263, 160, 263, 295, 4263 278, 103, 127, 196, 297, 164, 126, 196, 214, 272, 4264 278, 238, 239, 126, 101, 109, 111, 240, 242, 304, 4265 305, 317, 335, 343, 344, 345, 346, 107, 237, 108, 4266 124, 108, 124, 261, 236, 108, 358, 123, 246, 245, 4267 216, 251, 252, 253, 256, 257, 102, 108, 164, 126, 4268 111, 155, 126, 213, 216, 250, 348, 356, 289, 290, 4269 101, 111, 322, 102, 108, 359, 261, 272, 101, 106, 4270 261, 263, 272, 102, 108, 101, 102, 109, 262, 262, 4271 103, 131, 137, 155, 263, 262, 126, 102, 108, 102, 4272 101, 111, 343, 102, 108, 127, 155, 103, 131, 103, 4273 136, 137, 126, 103, 131, 155, 155, 142, 142, 142, 4274 143, 143, 144, 144, 145, 145, 145, 145, 146, 146, 4275 147, 148, 149, 150, 151, 109, 160, 155, 126, 332, 4276 333, 334, 216, 331, 298, 298, 155, 263, 126, 126, 4277 258, 127, 216, 220, 126, 104, 356, 67, 129, 214, 4278 336, 354, 104, 101, 126, 305, 323, 324, 325, 328, 4279 338, 339, 340, 126, 216, 322, 326, 337, 101, 298, 4280 341, 359, 298, 298, 359, 101, 298, 341, 298, 298, 4281 298, 298, 336, 214, 347, 357, 259, 104, 108, 104, 4282 108, 359, 214, 349, 359, 104, 247, 248, 249, 250, 4283 247, 259, 127, 155, 126, 103, 261, 109, 108, 358, 4284 265, 103, 109, 269, 28, 198, 199, 259, 247, 131, 4285 295, 131, 297, 101, 335, 336, 101, 335, 336, 133, 4286 111, 127, 164, 251, 102, 102, 102, 102, 102, 126, 4287 104, 164, 196, 164, 101, 111, 127, 127, 124, 124, 4288 103, 127, 305, 344, 345, 346, 154, 216, 343, 241, 4289 242, 241, 298, 298, 261, 298, 107, 261, 107, 154, 4290 358, 127, 127, 131, 211, 127, 127, 247, 101, 111, 4291 356, 127, 107, 216, 273, 274, 127, 126, 126, 101, 4292 127, 102, 302, 160, 161, 124, 75, 190, 191, 192, 4293 102, 102, 126, 109, 102, 102, 102, 127, 155, 216, 4294 106, 142, 157, 155, 156, 158, 104, 108, 127, 126, 4295 126, 102, 108, 155, 126, 153, 109, 251, 102, 102, 4296 102, 331, 251, 102, 104, 103, 111, 155, 155, 216, 4297 127, 101, 101, 214, 354, 328, 251, 102, 102, 102, 4298 102, 102, 102, 102, 7, 127, 216, 322, 326, 337, 4299 126, 126, 359, 126, 126, 101, 127, 127, 127, 127, 4300 264, 104, 127, 153, 154, 155, 296, 126, 265, 267, 4301 107, 126, 200, 261, 38, 39, 41, 44, 45, 46, 4302 47, 48, 49, 50, 51, 53, 56, 103, 131, 161, 4303 162, 163, 164, 165, 166, 168, 169, 181, 183, 184, 4304 189, 201, 294, 28, 127, 123, 264, 126, 126, 102, 4305 104, 127, 127, 67, 164, 216, 102, 102, 126, 104, 4306 102, 102, 102, 343, 240, 246, 107, 102, 108, 104, 4307 104, 127, 216, 108, 359, 276, 102, 272, 204, 206, 4308 214, 284, 285, 286, 287, 278, 102, 102, 101, 102, 4309 109, 108, 155, 155, 104, 266, 108, 127, 158, 104, 4310 131, 138, 139, 155, 137, 127, 138, 153, 157, 127, 4311 101, 335, 336, 127, 214, 336, 349, 126, 127, 127, 4312 127, 155, 104, 126, 126, 102, 127, 101, 335, 336, 4313 101, 341, 101, 341, 336, 215, 104, 7, 111, 127, 4314 155, 251, 251, 250, 254, 254, 255, 247, 102, 108, 4315 108, 102, 104, 89, 115, 127, 127, 138, 265, 155, 4316 108, 124, 201, 205, 216, 220, 101, 101, 162, 101, 4317 101, 124, 131, 124, 131, 111, 131, 161, 101, 164, 4318 124, 155, 126, 109, 124, 127, 126, 127, 200, 102, 4319 155, 251, 251, 298, 336, 102, 104, 101, 106, 261, 4320 261, 127, 101, 335, 336, 126, 102, 126, 127, 295, 4321 107, 126, 127, 127, 102, 106, 154, 124, 190, 192, 4322 108, 127, 358, 156, 104, 127, 78, 105, 108, 127, 4323 127, 104, 127, 102, 126, 102, 214, 349, 104, 104, 4324 104, 127, 247, 247, 102, 126, 126, 126, 155, 155, 4325 127, 104, 127, 127, 127, 127, 102, 126, 126, 154, 4326 154, 104, 104, 127, 127, 261, 216, 160, 160, 45, 4327 160, 126, 124, 124, 160, 124, 124, 160, 54, 55, 4328 185, 186, 187, 124, 127, 298, 166, 107, 124, 127, 4329 127, 278, 236, 106, 104, 126, 89, 256, 257, 102, 4330 285, 108, 124, 108, 124, 107, 283, 102, 102, 109, 4331 158, 104, 107, 104, 103, 139, 103, 139, 139, 104, 4332 104, 104, 251, 104, 127, 127, 251, 251, 251, 127, 4333 127, 104, 104, 102, 102, 104, 108, 89, 250, 89, 4334 127, 104, 104, 102, 102, 101, 102, 161, 182, 201, 4335 124, 102, 101, 164, 187, 54, 104, 162, 102, 102, 4336 102, 107, 236, 251, 106, 126, 126, 284, 124, 75, 4337 193, 127, 109, 126, 126, 127, 102, 102, 127, 127, 4338 127, 104, 104, 126, 127, 104, 162, 42, 43, 106, 4339 172, 173, 174, 160, 162, 127, 102, 161, 106, 174, 4340 89, 126, 101, 106, 261, 107, 127, 126, 259, 295, 4341 107, 102, 108, 104, 155, 138, 138, 102, 102, 102, 4342 102, 254, 40, 154, 170, 171, 296, 109, 126, 162, 4343 172, 102, 124, 162, 124, 126, 102, 126, 89, 126, 4344 236, 106, 102, 284, 124, 75, 109, 127, 127, 162, 4345 89, 108, 109, 127, 194, 195, 201, 124, 161, 161, 4346 194, 164, 188, 214, 352, 102, 126, 107, 236, 107, 4347 155, 104, 104, 154, 170, 173, 175, 176, 126, 124, 4348 173, 177, 178, 127, 101, 111, 295, 343, 131, 164, 4349 188, 107, 101, 162, 167, 107, 173, 201, 161, 52, 4350 167, 180, 107, 173, 102, 216, 127, 278, 162, 167, 4351 124, 179, 180, 167, 180, 164, 102, 102, 179, 127, 4352 164, 127 4186 37, 38, 57, 60, 65, 67, 68, 69, 76, 77, 4187 101, 103, 111, 129, 132, 189, 201, 202, 203, 204, 4188 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 4189 215, 216, 217, 218, 220, 221, 222, 223, 224, 225, 4190 226, 227, 229, 230, 231, 232, 233, 234, 235, 243, 4191 244, 270, 271, 279, 282, 288, 289, 291, 293, 294, 4192 300, 305, 309, 310, 311, 312, 313, 314, 315, 316, 4193 336, 353, 354, 355, 356, 65, 111, 131, 204, 206, 4194 214, 216, 226, 230, 232, 271, 75, 101, 298, 299, 4195 300, 298, 298, 65, 67, 68, 69, 130, 131, 260, 4196 261, 280, 281, 67, 68, 261, 101, 291, 215, 216, 4197 101, 111, 305, 310, 311, 312, 314, 315, 316, 126, 4198 103, 207, 214, 216, 309, 313, 352, 353, 356, 357, 4199 127, 123, 264, 106, 127, 164, 67, 68, 129, 259, 4200 127, 127, 127, 108, 127, 67, 101, 111, 295, 304, 4201 305, 306, 307, 308, 309, 313, 317, 318, 319, 320, 4202 321, 3, 27, 71, 228, 3, 5, 67, 68, 103, 4203 111, 206, 217, 221, 224, 233, 309, 313, 356, 204, 4204 206, 216, 226, 230, 232, 271, 309, 313, 32, 222, 4205 222, 217, 224, 127, 222, 217, 222, 217, 101, 106, 4206 261, 106, 261, 222, 217, 108, 127, 127, 0, 126, 4207 101, 164, 298, 298, 126, 103, 214, 216, 354, 259, 4208 259, 216, 123, 101, 111, 295, 305, 309, 103, 111, 4209 356, 292, 219, 300, 101, 276, 101, 101, 101, 36, 4210 38, 59, 65, 69, 72, 73, 74, 75, 79, 80, 4211 87, 101, 103, 110, 111, 112, 113, 114, 115, 128, 4212 132, 133, 134, 135, 140, 141, 142, 143, 144, 145, 4213 146, 147, 148, 149, 150, 151, 152, 153, 155, 157, 4214 214, 263, 278, 352, 357, 216, 102, 102, 102, 102, 4215 102, 102, 102, 103, 111, 127, 155, 206, 207, 213, 4216 216, 220, 221, 226, 229, 230, 232, 249, 250, 254, 4217 255, 256, 257, 271, 336, 348, 349, 350, 351, 356, 4218 357, 126, 101, 309, 313, 356, 101, 108, 124, 103, 4219 106, 111, 155, 265, 107, 126, 108, 124, 101, 108, 4220 124, 108, 124, 108, 124, 298, 124, 305, 306, 307, 4221 308, 318, 319, 320, 321, 216, 304, 317, 57, 297, 4222 103, 298, 335, 336, 298, 298, 164, 126, 101, 298, 4223 335, 298, 298, 216, 295, 101, 101, 215, 214, 216, 4224 101, 126, 214, 352, 357, 164, 126, 259, 264, 206, 4225 221, 309, 313, 164, 126, 280, 216, 226, 124, 216, 4226 216, 126, 38, 103, 214, 236, 237, 238, 239, 352, 4227 356, 106, 245, 261, 106, 216, 280, 124, 124, 291, 4228 126, 131, 258, 3, 127, 196, 197, 211, 213, 216, 4229 126, 297, 101, 297, 155, 305, 216, 101, 126, 259, 4230 106, 32, 33, 34, 214, 272, 273, 275, 126, 121, 4231 123, 277, 126, 217, 223, 224, 259, 301, 302, 303, 4232 140, 153, 154, 101, 140, 142, 101, 140, 101, 101, 4233 140, 140, 131, 103, 155, 160, 164, 214, 262, 352, 4234 126, 142, 142, 75, 78, 79, 80, 101, 103, 105, 4235 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 4236 123, 159, 142, 111, 116, 117, 113, 114, 81, 82, 4237 83, 84, 118, 119, 85, 86, 112, 120, 121, 87, 4238 88, 122, 123, 359, 101, 111, 331, 332, 333, 334, 4239 335, 102, 108, 101, 335, 103, 336, 101, 335, 336, 4240 126, 103, 111, 127, 214, 216, 347, 348, 356, 357, 4241 104, 127, 67, 101, 103, 111, 305, 322, 323, 324, 4242 325, 326, 327, 328, 329, 330, 336, 337, 338, 339, 4243 340, 341, 342, 111, 356, 216, 127, 127, 111, 214, 4244 216, 349, 259, 214, 336, 349, 259, 127, 126, 126, 4245 126, 126, 65, 103, 105, 261, 265, 266, 267, 268, 4246 269, 126, 126, 126, 126, 126, 126, 295, 102, 102, 4247 102, 102, 102, 102, 102, 304, 317, 101, 264, 126, 4248 196, 126, 295, 160, 263, 160, 263, 295, 278, 103, 4249 127, 196, 297, 164, 126, 196, 214, 272, 278, 238, 4250 239, 126, 101, 109, 111, 240, 242, 304, 305, 317, 4251 335, 343, 344, 345, 346, 107, 237, 108, 124, 108, 4252 124, 261, 236, 108, 358, 123, 246, 245, 216, 251, 4253 252, 253, 256, 257, 102, 108, 164, 126, 111, 155, 4254 126, 213, 216, 250, 348, 356, 289, 290, 101, 111, 4255 322, 102, 108, 359, 261, 272, 101, 106, 261, 263, 4256 272, 102, 108, 101, 102, 109, 262, 262, 103, 131, 4257 137, 155, 263, 262, 126, 102, 108, 102, 101, 111, 4258 343, 102, 108, 127, 155, 103, 131, 103, 136, 137, 4259 126, 103, 131, 155, 155, 142, 142, 142, 143, 143, 4260 144, 144, 145, 145, 145, 145, 146, 146, 147, 148, 4261 149, 150, 151, 109, 160, 155, 126, 332, 333, 334, 4262 216, 331, 298, 298, 155, 263, 126, 126, 258, 127, 4263 216, 220, 126, 104, 356, 67, 129, 214, 336, 354, 4264 104, 101, 126, 305, 323, 324, 325, 328, 338, 339, 4265 340, 126, 216, 322, 326, 337, 101, 298, 341, 359, 4266 298, 298, 359, 101, 298, 341, 298, 298, 298, 298, 4267 336, 214, 347, 357, 259, 104, 108, 104, 108, 359, 4268 214, 349, 359, 104, 247, 248, 249, 250, 247, 259, 4269 127, 155, 126, 103, 261, 109, 108, 358, 265, 103, 4270 109, 269, 28, 198, 199, 259, 247, 131, 295, 131, 4271 297, 101, 335, 336, 101, 335, 336, 133, 111, 127, 4272 164, 251, 102, 102, 102, 102, 102, 126, 104, 164, 4273 196, 164, 101, 111, 127, 127, 124, 124, 103, 127, 4274 305, 344, 345, 346, 154, 216, 343, 241, 242, 241, 4275 298, 298, 261, 298, 107, 261, 107, 154, 358, 127, 4276 127, 131, 211, 127, 127, 247, 101, 111, 356, 127, 4277 107, 216, 273, 274, 127, 126, 126, 101, 127, 102, 4278 302, 160, 161, 124, 75, 190, 191, 192, 102, 102, 4279 126, 109, 102, 102, 102, 127, 155, 216, 106, 142, 4280 157, 155, 156, 158, 104, 108, 127, 126, 126, 102, 4281 108, 155, 126, 153, 109, 251, 102, 102, 102, 331, 4282 251, 102, 104, 103, 111, 155, 155, 216, 127, 101, 4283 101, 214, 354, 328, 251, 102, 102, 102, 102, 102, 4284 102, 102, 7, 127, 216, 322, 326, 337, 126, 126, 4285 359, 126, 126, 101, 127, 127, 127, 127, 264, 104, 4286 127, 153, 154, 155, 296, 126, 265, 267, 107, 126, 4287 200, 261, 38, 39, 41, 44, 45, 46, 47, 48, 4288 49, 50, 51, 53, 56, 103, 131, 161, 162, 163, 4289 164, 165, 166, 168, 169, 181, 183, 184, 189, 201, 4290 294, 28, 127, 123, 264, 126, 126, 102, 104, 127, 4291 127, 67, 164, 216, 102, 102, 126, 104, 102, 102, 4292 102, 343, 240, 246, 107, 102, 108, 104, 104, 127, 4293 216, 108, 359, 276, 102, 272, 204, 206, 214, 284, 4294 285, 286, 287, 278, 102, 102, 101, 102, 109, 108, 4295 155, 155, 104, 266, 108, 127, 158, 104, 131, 138, 4296 139, 155, 137, 127, 138, 153, 157, 127, 101, 335, 4297 336, 127, 214, 336, 349, 126, 127, 127, 127, 155, 4298 104, 126, 126, 102, 127, 101, 335, 336, 101, 341, 4299 101, 341, 336, 215, 104, 7, 111, 127, 155, 251, 4300 251, 250, 254, 254, 255, 247, 102, 108, 108, 102, 4301 104, 89, 115, 127, 127, 138, 265, 155, 108, 124, 4302 201, 205, 216, 220, 101, 101, 162, 101, 101, 124, 4303 131, 124, 131, 111, 131, 161, 101, 164, 124, 155, 4304 126, 109, 124, 127, 126, 127, 200, 102, 155, 251, 4305 251, 298, 336, 102, 104, 101, 106, 261, 261, 127, 4306 101, 335, 336, 126, 102, 126, 127, 295, 107, 126, 4307 127, 127, 102, 106, 154, 124, 190, 192, 108, 127, 4308 358, 156, 104, 127, 78, 105, 108, 127, 127, 104, 4309 127, 102, 126, 102, 214, 349, 104, 104, 104, 127, 4310 247, 247, 102, 126, 126, 126, 155, 155, 127, 104, 4311 127, 127, 127, 127, 102, 126, 126, 154, 154, 104, 4312 104, 127, 127, 261, 216, 160, 160, 45, 160, 126, 4313 124, 124, 160, 124, 124, 160, 54, 55, 185, 186, 4314 187, 124, 127, 298, 166, 107, 124, 127, 127, 278, 4315 236, 106, 104, 126, 89, 256, 257, 102, 285, 108, 4316 124, 108, 124, 107, 283, 102, 102, 109, 158, 104, 4317 107, 104, 103, 139, 103, 139, 139, 104, 104, 104, 4318 251, 104, 127, 127, 251, 251, 251, 127, 127, 104, 4319 104, 102, 102, 104, 108, 89, 250, 89, 127, 104, 4320 104, 102, 102, 101, 102, 161, 182, 201, 124, 102, 4321 101, 164, 187, 54, 104, 162, 102, 102, 102, 107, 4322 236, 251, 106, 126, 126, 284, 124, 75, 193, 127, 4323 109, 126, 126, 127, 102, 102, 127, 127, 127, 104, 4324 104, 126, 127, 104, 162, 42, 43, 106, 172, 173, 4325 174, 160, 162, 127, 102, 161, 106, 174, 89, 126, 4326 101, 106, 261, 107, 127, 126, 259, 295, 107, 102, 4327 108, 104, 155, 138, 138, 102, 102, 102, 102, 254, 4328 40, 154, 170, 171, 296, 109, 126, 162, 172, 102, 4329 124, 162, 124, 126, 102, 126, 89, 126, 236, 106, 4330 102, 284, 124, 75, 109, 127, 127, 162, 89, 108, 4331 109, 127, 194, 195, 201, 124, 161, 161, 194, 164, 4332 188, 214, 352, 102, 126, 107, 236, 107, 155, 104, 4333 104, 154, 170, 173, 175, 176, 126, 124, 173, 177, 4334 178, 127, 101, 111, 295, 343, 131, 164, 188, 107, 4335 101, 162, 167, 107, 173, 201, 161, 52, 167, 180, 4336 107, 173, 102, 216, 127, 278, 162, 167, 124, 179, 4337 180, 167, 180, 164, 102, 102, 179, 127, 164, 127 4353 4338 }; 4354 4339 … … 6757 6742 6758 6743 /* Line 1806 of yacc.c */ 6759 #line 12 49"parser.yy"6744 #line 1250 "parser.yy" 6760 6745 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6761 6746 break; … … 6764 6749 6765 6750 /* Line 1806 of yacc.c */ 6766 #line 125 1"parser.yy"6751 #line 1252 "parser.yy" 6767 6752 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6768 6753 break; … … 6771 6756 6772 6757 /* Line 1806 of yacc.c */ 6773 #line 125 3"parser.yy"6774 { (yyval.decl) = DeclarationNode::new StorageClass( DeclarationNode::Noreturn); }6758 #line 1257 "parser.yy" 6759 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6775 6760 break; 6776 6761 … … 6778 6763 6779 6764 /* Line 1806 of yacc.c */ 6780 #line 125 5"parser.yy"6781 { (yyval.decl) = DeclarationNode::new StorageClass( DeclarationNode::Threadlocal); }6765 #line 1259 "parser.yy" 6766 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6782 6767 break; 6783 6768 … … 6785 6770 6786 6771 /* Line 1806 of yacc.c */ 6787 #line 126 0"parser.yy"6788 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Char); }6772 #line 1261 "parser.yy" 6773 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6789 6774 break; 6790 6775 … … 6792 6777 6793 6778 /* Line 1806 of yacc.c */ 6794 #line 126 2"parser.yy"6795 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Double); }6779 #line 1263 "parser.yy" 6780 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6796 6781 break; 6797 6782 … … 6799 6784 6800 6785 /* Line 1806 of yacc.c */ 6801 #line 126 4"parser.yy"6802 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Float); }6786 #line 1265 "parser.yy" 6787 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6803 6788 break; 6804 6789 … … 6806 6791 6807 6792 /* Line 1806 of yacc.c */ 6808 #line 126 6"parser.yy"6809 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Int ); }6793 #line 1267 "parser.yy" 6794 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6810 6795 break; 6811 6796 … … 6813 6798 6814 6799 /* Line 1806 of yacc.c */ 6815 #line 126 8"parser.yy"6816 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode:: Long); }6800 #line 1269 "parser.yy" 6801 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6817 6802 break; 6818 6803 … … 6820 6805 6821 6806 /* Line 1806 of yacc.c */ 6822 #line 127 0"parser.yy"6823 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode:: Short); }6807 #line 1271 "parser.yy" 6808 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6824 6809 break; 6825 6810 … … 6827 6812 6828 6813 /* Line 1806 of yacc.c */ 6829 #line 127 2"parser.yy"6830 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Signed ); }6814 #line 1273 "parser.yy" 6815 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6831 6816 break; 6832 6817 … … 6834 6819 6835 6820 /* Line 1806 of yacc.c */ 6836 #line 127 4"parser.yy"6837 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Unsigned); }6821 #line 1275 "parser.yy" 6822 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6838 6823 break; 6839 6824 … … 6841 6826 6842 6827 /* Line 1806 of yacc.c */ 6843 #line 127 6"parser.yy"6844 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Void); }6828 #line 1277 "parser.yy" 6829 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6845 6830 break; 6846 6831 … … 6848 6833 6849 6834 /* Line 1806 of yacc.c */ 6850 #line 1278 "parser.yy" 6851 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6852 break; 6853 6854 case 316: 6855 6856 /* Line 1806 of yacc.c */ 6857 #line 1280 "parser.yy" 6858 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6835 #line 1279 "parser.yy" 6836 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6859 6837 break; 6860 6838 … … 6862 6840 6863 6841 /* Line 1806 of yacc.c */ 6864 #line 1282 "parser.yy" 6865 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6842 #line 1286 "parser.yy" 6843 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6844 break; 6845 6846 case 318: 6847 6848 /* Line 1806 of yacc.c */ 6849 #line 1288 "parser.yy" 6850 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6866 6851 break; 6867 6852 … … 6869 6854 6870 6855 /* Line 1806 of yacc.c */ 6871 #line 1289 "parser.yy" 6856 #line 1290 "parser.yy" 6857 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6858 break; 6859 6860 case 320: 6861 6862 /* Line 1806 of yacc.c */ 6863 #line 1292 "parser.yy" 6864 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6865 break; 6866 6867 case 322: 6868 6869 /* Line 1806 of yacc.c */ 6870 #line 1298 "parser.yy" 6871 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6872 break; 6873 6874 case 324: 6875 6876 /* Line 1806 of yacc.c */ 6877 #line 1305 "parser.yy" 6872 6878 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6873 6879 break; 6874 6880 6875 case 32 0:6876 6877 /* Line 1806 of yacc.c */ 6878 #line 1 291"parser.yy"6881 case 325: 6882 6883 /* Line 1806 of yacc.c */ 6884 #line 1307 "parser.yy" 6879 6885 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6880 6886 break; 6881 6887 6882 case 321: 6883 6884 /* Line 1806 of yacc.c */ 6885 #line 1293 "parser.yy" 6888 case 326: 6889 6890 /* Line 1806 of yacc.c */ 6891 #line 1309 "parser.yy" 6892 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6893 break; 6894 6895 case 327: 6896 6897 /* Line 1806 of yacc.c */ 6898 #line 1314 "parser.yy" 6899 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6900 break; 6901 6902 case 328: 6903 6904 /* Line 1806 of yacc.c */ 6905 #line 1316 "parser.yy" 6906 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6907 break; 6908 6909 case 329: 6910 6911 /* Line 1806 of yacc.c */ 6912 #line 1318 "parser.yy" 6913 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6914 break; 6915 6916 case 330: 6917 6918 /* Line 1806 of yacc.c */ 6919 #line 1320 "parser.yy" 6920 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6921 break; 6922 6923 case 332: 6924 6925 /* Line 1806 of yacc.c */ 6926 #line 1326 "parser.yy" 6927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6928 break; 6929 6930 case 333: 6931 6932 /* Line 1806 of yacc.c */ 6933 #line 1328 "parser.yy" 6934 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6935 break; 6936 6937 case 334: 6938 6939 /* Line 1806 of yacc.c */ 6940 #line 1330 "parser.yy" 6886 6941 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6887 6942 break; 6888 6943 6889 case 322: 6890 6891 /* Line 1806 of yacc.c */ 6892 #line 1295 "parser.yy" 6893 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6894 break; 6895 6896 case 324: 6897 6898 /* Line 1806 of yacc.c */ 6899 #line 1301 "parser.yy" 6900 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6901 break; 6902 6903 case 326: 6904 6905 /* Line 1806 of yacc.c */ 6906 #line 1308 "parser.yy" 6944 case 336: 6945 6946 /* Line 1806 of yacc.c */ 6947 #line 1336 "parser.yy" 6907 6948 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6908 6949 break; 6909 6950 6910 case 3 27:6911 6912 /* Line 1806 of yacc.c */ 6913 #line 13 10"parser.yy"6951 case 337: 6952 6953 /* Line 1806 of yacc.c */ 6954 #line 1338 "parser.yy" 6914 6955 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6915 6956 break; 6916 6957 6917 case 328: 6918 6919 /* Line 1806 of yacc.c */ 6920 #line 1312 "parser.yy" 6921 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6922 break; 6923 6924 case 329: 6925 6926 /* Line 1806 of yacc.c */ 6927 #line 1317 "parser.yy" 6928 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6929 break; 6930 6931 case 330: 6932 6933 /* Line 1806 of yacc.c */ 6934 #line 1319 "parser.yy" 6935 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6936 break; 6937 6938 case 331: 6939 6940 /* Line 1806 of yacc.c */ 6941 #line 1321 "parser.yy" 6942 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6943 break; 6944 6945 case 332: 6946 6947 /* Line 1806 of yacc.c */ 6948 #line 1323 "parser.yy" 6949 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6950 break; 6951 6952 case 334: 6953 6954 /* Line 1806 of yacc.c */ 6955 #line 1329 "parser.yy" 6958 case 339: 6959 6960 /* Line 1806 of yacc.c */ 6961 #line 1344 "parser.yy" 6956 6962 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6957 6963 break; 6958 6964 6959 case 3 35:6960 6961 /* Line 1806 of yacc.c */ 6962 #line 13 31"parser.yy"6965 case 340: 6966 6967 /* Line 1806 of yacc.c */ 6968 #line 1346 "parser.yy" 6963 6969 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6964 6970 break; 6965 6971 6966 case 3 36:6967 6968 /* Line 1806 of yacc.c */ 6969 #line 13 33"parser.yy"6972 case 341: 6973 6974 /* Line 1806 of yacc.c */ 6975 #line 1348 "parser.yy" 6970 6976 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6971 6977 break; 6972 6978 6973 case 338: 6974 6975 /* Line 1806 of yacc.c */ 6976 #line 1339 "parser.yy" 6977 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6978 break; 6979 6980 case 339: 6981 6982 /* Line 1806 of yacc.c */ 6983 #line 1341 "parser.yy" 6979 case 342: 6980 6981 /* Line 1806 of yacc.c */ 6982 #line 1353 "parser.yy" 6983 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6984 break; 6985 6986 case 343: 6987 6988 /* Line 1806 of yacc.c */ 6989 #line 1355 "parser.yy" 6990 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6991 break; 6992 6993 case 344: 6994 6995 /* Line 1806 of yacc.c */ 6996 #line 1357 "parser.yy" 6984 6997 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6985 6998 break; 6986 6999 6987 case 341: 6988 6989 /* Line 1806 of yacc.c */ 6990 #line 1347 "parser.yy" 6991 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6992 break; 6993 6994 case 342: 6995 6996 /* Line 1806 of yacc.c */ 6997 #line 1349 "parser.yy" 6998 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6999 break; 7000 7001 case 343: 7002 7003 /* Line 1806 of yacc.c */ 7004 #line 1351 "parser.yy" 7005 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7006 break; 7007 7008 case 344: 7009 7010 /* Line 1806 of yacc.c */ 7011 #line 1356 "parser.yy" 7012 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7013 break; 7014 7015 case 345: 7016 7017 /* Line 1806 of yacc.c */ 7018 #line 1358 "parser.yy" 7019 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7020 break; 7021 7022 case 346: 7023 7024 /* Line 1806 of yacc.c */ 7025 #line 1360 "parser.yy" 7026 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7000 case 347: 7001 7002 /* Line 1806 of yacc.c */ 7003 #line 1367 "parser.yy" 7004 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, 0, (yyvsp[(3) - (4)].decl) ); } 7005 break; 7006 7007 case 348: 7008 7009 /* Line 1806 of yacc.c */ 7010 #line 1369 "parser.yy" 7011 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, 0 ); } 7027 7012 break; 7028 7013 … … 7030 7015 7031 7016 /* Line 1806 of yacc.c */ 7032 #line 137 0"parser.yy"7033 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 4)].aggKey), 0, 0, 0, (yyvsp[(3) - (4)].decl) ); }7017 #line 1371 "parser.yy" 7018 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, 0, (yyvsp[(4) - (5)].decl) ); } 7034 7019 break; 7035 7020 … … 7037 7022 7038 7023 /* Line 1806 of yacc.c */ 7039 #line 137 2"parser.yy"7040 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, 0); }7024 #line 1373 "parser.yy" 7025 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (9)].aggKey), 0, (yyvsp[(4) - (9)].decl), 0, (yyvsp[(8) - (9)].decl) ); } 7041 7026 break; 7042 7027 … … 7044 7029 7045 7030 /* Line 1806 of yacc.c */ 7046 #line 137 4"parser.yy"7047 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 5)].aggKey), (yyvsp[(2) - (5)].tok), 0, 0, (yyvsp[(4) - (5)].decl)); }7031 #line 1375 "parser.yy" 7032 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), (yyvsp[(4) - (7)].decl), 0, 0 ); } 7048 7033 break; 7049 7034 … … 7051 7036 7052 7037 /* Line 1806 of yacc.c */ 7053 #line 137 6"parser.yy"7054 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 9)].aggKey), 0, (yyvsp[(4) - (9)].decl), 0, (yyvsp[(8) - (9)].decl) ); }7038 #line 1377 "parser.yy" 7039 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (10)].aggKey), (yyvsp[(7) - (10)].tok), (yyvsp[(4) - (10)].decl), 0, (yyvsp[(9) - (10)].decl) ); } 7055 7040 break; 7056 7041 … … 7058 7043 7059 7044 /* Line 1806 of yacc.c */ 7060 #line 137 8"parser.yy"7061 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 7)].aggKey), (yyvsp[(7) - (7)].tok), (yyvsp[(4) - (7)].decl), 0, 0); }7045 #line 1379 "parser.yy" 7046 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (12)].aggKey), 0, (yyvsp[(4) - (12)].decl), (yyvsp[(8) - (12)].en), (yyvsp[(11) - (12)].decl) ); } 7062 7047 break; 7063 7048 … … 7065 7050 7066 7051 /* Line 1806 of yacc.c */ 7067 #line 138 0"parser.yy"7068 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - ( 10)].aggKey), (yyvsp[(7) - (10)].tok), (yyvsp[(4) - (10)].decl), 0, (yyvsp[(9) - (10)].decl)); }7052 #line 1382 "parser.yy" 7053 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), 0, (yyvsp[(4) - (7)].en), 0 ); } 7069 7054 break; 7070 7055 … … 7072 7057 7073 7058 /* Line 1806 of yacc.c */ 7074 #line 138 2"parser.yy"7075 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (1 2)].aggKey), 0, (yyvsp[(4) - (12)].decl), (yyvsp[(8) - (12)].en), (yyvsp[(11) - (12)].decl) ); }7059 #line 1384 "parser.yy" 7060 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (13)].aggKey), (yyvsp[(10) - (13)].tok), (yyvsp[(4) - (13)].decl), (yyvsp[(8) - (13)].en), (yyvsp[(12) - (13)].decl) ); } 7076 7061 break; 7077 7062 … … 7079 7064 7080 7065 /* Line 1806 of yacc.c */ 7081 #line 138 5"parser.yy"7082 { (yyval. decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), 0, (yyvsp[(4) - (7)].en), 0 ); }7066 #line 1389 "parser.yy" 7067 { (yyval.aggKey) = DeclarationNode::Struct; } 7083 7068 break; 7084 7069 … … 7086 7071 7087 7072 /* Line 1806 of yacc.c */ 7088 #line 13 87"parser.yy"7089 { (yyval. decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (13)].aggKey), (yyvsp[(10) - (13)].tok), (yyvsp[(4) - (13)].decl), (yyvsp[(8) - (13)].en), (yyvsp[(12) - (13)].decl) ); }7073 #line 1391 "parser.yy" 7074 { (yyval.aggKey) = DeclarationNode::Union; } 7090 7075 break; 7091 7076 … … 7093 7078 7094 7079 /* Line 1806 of yacc.c */ 7095 #line 139 2"parser.yy"7096 { (yyval. aggKey) = DeclarationNode::Struct; }7080 #line 1396 "parser.yy" 7081 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7097 7082 break; 7098 7083 … … 7100 7085 7101 7086 /* Line 1806 of yacc.c */ 7102 #line 1394 "parser.yy" 7103 { (yyval.aggKey) = DeclarationNode::Union; } 7104 break; 7105 7106 case 360: 7107 7108 /* Line 1806 of yacc.c */ 7109 #line 1399 "parser.yy" 7110 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7087 #line 1398 "parser.yy" 7088 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7111 7089 break; 7112 7090 … … 7114 7092 7115 7093 /* Line 1806 of yacc.c */ 7116 #line 140 1"parser.yy"7117 { (yyval.decl) = (yyvsp[( 1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl)); }7094 #line 1404 "parser.yy" 7095 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7118 7096 break; 7119 7097 … … 7128 7106 7129 7107 /* Line 1806 of yacc.c */ 7130 #line 1410 "parser.yy" 7131 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7108 #line 1413 "parser.yy" 7109 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7110 break; 7111 7112 case 366: 7113 7114 /* Line 1806 of yacc.c */ 7115 #line 1415 "parser.yy" 7116 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7132 7117 break; 7133 7118 … … 7135 7120 7136 7121 /* Line 1806 of yacc.c */ 7137 #line 141 6"parser.yy"7138 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->a ddName( (yyvsp[(2) - (2)].tok) ); }7122 #line 1417 "parser.yy" 7123 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7139 7124 break; 7140 7125 … … 7142 7127 7143 7128 /* Line 1806 of yacc.c */ 7144 #line 14 18"parser.yy"7145 { (yyval.decl) = (yyvsp[( 1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok)) ); }7129 #line 1422 "parser.yy" 7130 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7146 7131 break; 7147 7132 … … 7149 7134 7150 7135 /* Line 1806 of yacc.c */ 7151 #line 142 0"parser.yy"7152 { (yyval.decl) = (yyvsp[(1) - ( 2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0) ); }7136 #line 1424 "parser.yy" 7137 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7153 7138 break; 7154 7139 … … 7156 7141 7157 7142 /* Line 1806 of yacc.c */ 7158 #line 142 5"parser.yy"7159 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );}7143 #line 1429 "parser.yy" 7144 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7160 7145 break; 7161 7146 … … 7163 7148 7164 7149 /* Line 1806 of yacc.c */ 7165 #line 14 27"parser.yy"7166 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl)) ); }7150 #line 1431 "parser.yy" 7151 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7167 7152 break; 7168 7153 … … 7170 7155 7171 7156 /* Line 1806 of yacc.c */ 7172 #line 143 2"parser.yy"7173 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */}7157 #line 1434 "parser.yy" 7158 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7174 7159 break; 7175 7160 7176 7161 case 373: 7177 7178 /* Line 1806 of yacc.c */7179 #line 1434 "parser.yy"7180 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }7181 break;7182 7183 case 374:7184 7162 7185 7163 /* Line 1806 of yacc.c */ … … 7191 7169 7192 7170 /* Line 1806 of yacc.c */ 7193 #line 1440 "parser.yy" 7194 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7171 #line 1443 "parser.yy" 7172 { (yyval.en) = 0; } 7173 break; 7174 7175 case 376: 7176 7177 /* Line 1806 of yacc.c */ 7178 #line 1445 "parser.yy" 7179 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7195 7180 break; 7196 7181 … … 7198 7183 7199 7184 /* Line 1806 of yacc.c */ 7200 #line 1446 "parser.yy" 7185 #line 1450 "parser.yy" 7186 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7187 break; 7188 7189 case 379: 7190 7191 /* Line 1806 of yacc.c */ 7192 #line 1459 "parser.yy" 7193 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7194 break; 7195 7196 case 380: 7197 7198 /* Line 1806 of yacc.c */ 7199 #line 1461 "parser.yy" 7200 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7201 break; 7202 7203 case 381: 7204 7205 /* Line 1806 of yacc.c */ 7206 #line 1463 "parser.yy" 7207 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7208 break; 7209 7210 case 382: 7211 7212 /* Line 1806 of yacc.c */ 7213 #line 1468 "parser.yy" 7214 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7215 break; 7216 7217 case 383: 7218 7219 /* Line 1806 of yacc.c */ 7220 #line 1470 "parser.yy" 7221 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7222 break; 7223 7224 case 384: 7225 7226 /* Line 1806 of yacc.c */ 7227 #line 1475 "parser.yy" 7201 7228 { (yyval.en) = 0; } 7202 7229 break; 7203 7230 7204 case 378: 7205 7206 /* Line 1806 of yacc.c */ 7207 #line 1448 "parser.yy" 7208 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7209 break; 7210 7211 case 379: 7212 7213 /* Line 1806 of yacc.c */ 7214 #line 1453 "parser.yy" 7231 case 385: 7232 7233 /* Line 1806 of yacc.c */ 7234 #line 1477 "parser.yy" 7215 7235 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7216 7236 break; 7217 7237 7218 case 381:7219 7220 /* Line 1806 of yacc.c */7221 #line 1462 "parser.yy"7222 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }7223 break;7224 7225 case 382:7226 7227 /* Line 1806 of yacc.c */7228 #line 1464 "parser.yy"7229 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }7230 break;7231 7232 case 383:7233 7234 /* Line 1806 of yacc.c */7235 #line 1466 "parser.yy"7236 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }7237 break;7238 7239 case 384:7240 7241 /* Line 1806 of yacc.c */7242 #line 1471 "parser.yy"7243 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }7244 break;7245 7246 case 385:7247 7248 /* Line 1806 of yacc.c */7249 #line 1473 "parser.yy"7250 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }7251 break;7252 7253 7238 case 386: 7254 7239 7255 7240 /* Line 1806 of yacc.c */ 7256 #line 1478 "parser.yy" 7257 { (yyval.en) = 0; } 7258 break; 7259 7260 case 387: 7261 7262 /* Line 1806 of yacc.c */ 7263 #line 1480 "parser.yy" 7264 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7265 break; 7266 7267 case 388: 7268 7269 /* Line 1806 of yacc.c */ 7270 #line 1487 "parser.yy" 7241 #line 1484 "parser.yy" 7271 7242 { (yyval.decl) = 0; } 7272 7243 break; 7273 7244 7245 case 390: 7246 7247 /* Line 1806 of yacc.c */ 7248 #line 1492 "parser.yy" 7249 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7250 break; 7251 7252 case 391: 7253 7254 /* Line 1806 of yacc.c */ 7255 #line 1494 "parser.yy" 7256 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7257 break; 7258 7274 7259 case 392: 7275 7260 7276 7261 /* Line 1806 of yacc.c */ 7277 #line 1495 "parser.yy" 7262 #line 1496 "parser.yy" 7263 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7264 break; 7265 7266 case 394: 7267 7268 /* Line 1806 of yacc.c */ 7269 #line 1505 "parser.yy" 7278 7270 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7279 7271 break; 7280 7272 7281 case 393: 7282 7283 /* Line 1806 of yacc.c */ 7284 #line 1497 "parser.yy" 7273 case 395: 7274 7275 /* Line 1806 of yacc.c */ 7276 #line 1507 "parser.yy" 7277 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7278 break; 7279 7280 case 396: 7281 7282 /* Line 1806 of yacc.c */ 7283 #line 1509 "parser.yy" 7284 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7285 break; 7286 7287 case 398: 7288 7289 /* Line 1806 of yacc.c */ 7290 #line 1515 "parser.yy" 7291 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7292 break; 7293 7294 case 399: 7295 7296 /* Line 1806 of yacc.c */ 7297 #line 1520 "parser.yy" 7298 { (yyval.decl) = 0; } 7299 break; 7300 7301 case 402: 7302 7303 /* Line 1806 of yacc.c */ 7304 #line 1527 "parser.yy" 7285 7305 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7286 7306 break; 7287 7307 7288 case 394: 7289 7290 /* Line 1806 of yacc.c */ 7291 #line 1499 "parser.yy" 7292 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7293 break; 7294 7295 case 396: 7296 7297 /* Line 1806 of yacc.c */ 7298 #line 1508 "parser.yy" 7308 case 405: 7309 7310 /* Line 1806 of yacc.c */ 7311 #line 1534 "parser.yy" 7299 7312 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7300 7313 break; 7301 7314 7302 case 397:7303 7304 /* Line 1806 of yacc.c */ 7305 #line 15 10"parser.yy"7315 case 406: 7316 7317 /* Line 1806 of yacc.c */ 7318 #line 1536 "parser.yy" 7306 7319 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7307 7320 break; 7308 7321 7309 case 398:7310 7311 /* Line 1806 of yacc.c */7312 #line 1512 "parser.yy"7313 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }7314 break;7315 7316 case 400:7317 7318 /* Line 1806 of yacc.c */7319 #line 1518 "parser.yy"7320 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7321 break;7322 7323 case 401:7324 7325 /* Line 1806 of yacc.c */7326 #line 1523 "parser.yy"7327 { (yyval.decl) = 0; }7328 break;7329 7330 case 404:7331 7332 /* Line 1806 of yacc.c */7333 #line 1530 "parser.yy"7334 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }7335 break;7336 7337 case 407:7338 7339 /* Line 1806 of yacc.c */7340 #line 1537 "parser.yy"7341 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7342 break;7343 7344 7322 case 408: 7345 7323 7346 7324 /* Line 1806 of yacc.c */ 7347 #line 15 39"parser.yy"7348 { (yyval.decl) = (yyvsp[(1) - ( 5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7349 break; 7350 7351 case 4 10:7325 #line 1546 "parser.yy" 7326 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7327 break; 7328 7329 case 409: 7352 7330 7353 7331 /* Line 1806 of yacc.c */ … … 7356 7334 break; 7357 7335 7358 case 411: 7359 7360 /* Line 1806 of yacc.c */ 7361 #line 1552 "parser.yy" 7362 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7363 break; 7364 7365 case 412: 7366 7367 /* Line 1806 of yacc.c */ 7368 #line 1554 "parser.yy" 7336 case 410: 7337 7338 /* Line 1806 of yacc.c */ 7339 #line 1551 "parser.yy" 7369 7340 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7370 7341 break; 7371 7342 7343 case 415: 7344 7345 /* Line 1806 of yacc.c */ 7346 #line 1561 "parser.yy" 7347 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7348 break; 7349 7372 7350 case 417: 7373 7351 7374 7352 /* Line 1806 of yacc.c */ 7375 #line 1564 "parser.yy" 7376 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7377 break; 7378 7379 case 419: 7380 7381 /* Line 1806 of yacc.c */ 7382 #line 1570 "parser.yy" 7353 #line 1567 "parser.yy" 7383 7354 { 7384 7355 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7387 7358 break; 7388 7359 7389 case 4 20:7390 7391 /* Line 1806 of yacc.c */ 7392 #line 157 5"parser.yy"7360 case 418: 7361 7362 /* Line 1806 of yacc.c */ 7363 #line 1572 "parser.yy" 7393 7364 { 7394 7365 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7397 7368 break; 7398 7369 7370 case 420: 7371 7372 /* Line 1806 of yacc.c */ 7373 #line 1581 "parser.yy" 7374 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7375 break; 7376 7377 case 421: 7378 7379 /* Line 1806 of yacc.c */ 7380 #line 1590 "parser.yy" 7381 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7382 break; 7383 7399 7384 case 422: 7400 7385 7401 7386 /* Line 1806 of yacc.c */ 7402 #line 1584 "parser.yy" 7387 #line 1592 "parser.yy" 7388 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7389 break; 7390 7391 case 434: 7392 7393 /* Line 1806 of yacc.c */ 7394 #line 1617 "parser.yy" 7403 7395 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7404 7396 break; 7405 7397 7406 case 423: 7407 7408 /* Line 1806 of yacc.c */ 7409 #line 1593 "parser.yy" 7410 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7411 break; 7412 7413 case 424: 7414 7415 /* Line 1806 of yacc.c */ 7416 #line 1595 "parser.yy" 7417 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7418 break; 7419 7420 case 436: 7421 7422 /* Line 1806 of yacc.c */ 7423 #line 1620 "parser.yy" 7398 case 438: 7399 7400 /* Line 1806 of yacc.c */ 7401 #line 1625 "parser.yy" 7424 7402 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7425 7403 break; 7426 7404 7405 case 439: 7406 7407 /* Line 1806 of yacc.c */ 7408 #line 1630 "parser.yy" 7409 { (yyval.in) = 0; } 7410 break; 7411 7427 7412 case 440: 7428 7413 7429 7414 /* Line 1806 of yacc.c */ 7430 #line 16 28"parser.yy"7431 { (yyval. decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl)); }7415 #line 1631 "parser.yy" 7416 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7432 7417 break; 7433 7418 … … 7435 7420 7436 7421 /* Line 1806 of yacc.c */ 7437 #line 163 3"parser.yy"7438 { (yyval.in) = 0; }7422 #line 1635 "parser.yy" 7423 { (yyval.in) = new InitializerNode((yyvsp[(1) - (1)].en)); } 7439 7424 break; 7440 7425 … … 7442 7427 7443 7428 /* Line 1806 of yacc.c */ 7444 #line 1634 "parser.yy" 7445 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7446 break; 7447 7448 case 443: 7449 7450 /* Line 1806 of yacc.c */ 7451 #line 1638 "parser.yy" 7452 { (yyval.in) = new InitializerNode((yyvsp[(1) - (1)].en)); } 7429 #line 1636 "parser.yy" 7430 { (yyval.in) = new InitializerNode((yyvsp[(2) - (4)].in), true); } 7453 7431 break; 7454 7432 … … 7456 7434 7457 7435 /* Line 1806 of yacc.c */ 7458 #line 1639 "parser.yy" 7459 { (yyval.in) = new InitializerNode((yyvsp[(2) - (4)].in), true); } 7436 #line 1641 "parser.yy" 7437 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7438 break; 7439 7440 case 445: 7441 7442 /* Line 1806 of yacc.c */ 7443 #line 1642 "parser.yy" 7444 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link((yyvsp[(3) - (3)].in)) ); } 7460 7445 break; 7461 7446 … … 7464 7449 /* Line 1806 of yacc.c */ 7465 7450 #line 1644 "parser.yy" 7466 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7467 break; 7468 7469 case 447: 7470 7471 /* Line 1806 of yacc.c */ 7472 #line 1645 "parser.yy" 7473 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link((yyvsp[(3) - (3)].in)) ); } 7451 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators((yyvsp[(3) - (4)].en)) ) ); } 7474 7452 break; 7475 7453 … … 7477 7455 7478 7456 /* Line 1806 of yacc.c */ 7479 #line 16 47"parser.yy"7480 { (yyval. in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators((yyvsp[(3) - (4)].en))) ); }7457 #line 1660 "parser.yy" 7458 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7481 7459 break; 7482 7460 … … 7484 7462 7485 7463 /* Line 1806 of yacc.c */ 7486 #line 1663 "parser.yy" 7487 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7464 #line 1665 "parser.yy" 7465 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7466 break; 7467 7468 case 451: 7469 7470 /* Line 1806 of yacc.c */ 7471 #line 1670 "parser.yy" 7472 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7488 7473 break; 7489 7474 … … 7491 7476 7492 7477 /* Line 1806 of yacc.c */ 7493 #line 16 68"parser.yy"7494 { (yyval.en) = ( ExpressionNode *)((yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }7478 #line 1674 "parser.yy" 7479 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7495 7480 break; 7496 7481 … … 7498 7483 7499 7484 /* Line 1806 of yacc.c */ 7500 #line 167 3"parser.yy"7501 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok)); }7485 #line 1676 "parser.yy" 7486 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7502 7487 break; 7503 7488 … … 7505 7490 7506 7491 /* Line 1806 of yacc.c */ 7507 #line 167 7"parser.yy"7508 { (yyval.en) = (yyvsp[(3) - (5)].en); }7492 #line 1678 "parser.yy" 7493 { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en)); } 7509 7494 break; 7510 7495 … … 7512 7497 7513 7498 /* Line 1806 of yacc.c */ 7514 #line 1679 "parser.yy" 7515 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7516 break; 7517 7518 case 456: 7519 7520 /* Line 1806 of yacc.c */ 7521 #line 1681 "parser.yy" 7522 { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en)); } 7499 #line 1680 "parser.yy" 7500 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7523 7501 break; 7524 7502 … … 7526 7504 7527 7505 /* Line 1806 of yacc.c */ 7528 #line 1683 "parser.yy" 7529 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7506 #line 1705 "parser.yy" 7507 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7508 break; 7509 7510 case 458: 7511 7512 /* Line 1806 of yacc.c */ 7513 #line 1707 "parser.yy" 7514 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7530 7515 break; 7531 7516 … … 7533 7518 7534 7519 /* Line 1806 of yacc.c */ 7535 #line 170 8"parser.yy"7536 { (yyval.decl) = (yyvsp[( 2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7520 #line 1709 "parser.yy" 7521 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7537 7522 break; 7538 7523 … … 7540 7525 7541 7526 /* Line 1806 of yacc.c */ 7542 #line 1710 "parser.yy" 7527 #line 1714 "parser.yy" 7528 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7529 break; 7530 7531 case 461: 7532 7533 /* Line 1806 of yacc.c */ 7534 #line 1716 "parser.yy" 7535 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); } 7536 break; 7537 7538 case 462: 7539 7540 /* Line 1806 of yacc.c */ 7541 #line 1718 "parser.yy" 7543 7542 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7544 7543 break; 7545 7544 7546 case 461:7547 7548 /* Line 1806 of yacc.c */7549 #line 1712 "parser.yy"7550 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }7551 break;7552 7553 case 462:7554 7555 /* Line 1806 of yacc.c */7556 #line 1717 "parser.yy"7557 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }7558 break;7559 7560 case 463:7561 7562 /* Line 1806 of yacc.c */7563 #line 1719 "parser.yy"7564 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); }7565 break;7566 7567 7545 case 464: 7568 7546 7569 7547 /* Line 1806 of yacc.c */ 7570 #line 1721 "parser.yy" 7571 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7548 #line 1724 "parser.yy" 7549 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7550 break; 7551 7552 case 465: 7553 7554 /* Line 1806 of yacc.c */ 7555 #line 1729 "parser.yy" 7556 { typedefTable.addToEnclosingScope(*((yyvsp[(2) - (2)].tok)), TypedefTable::TD); } 7572 7557 break; 7573 7558 … … 7575 7560 7576 7561 /* Line 1806 of yacc.c */ 7577 #line 1727 "parser.yy" 7578 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7579 break; 7580 7581 case 467: 7582 7583 /* Line 1806 of yacc.c */ 7584 #line 1732 "parser.yy" 7585 { typedefTable.addToEnclosingScope(*((yyvsp[(2) - (2)].tok)), TypedefTable::TD); } 7562 #line 1731 "parser.yy" 7563 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7586 7564 break; 7587 7565 … … 7589 7567 7590 7568 /* Line 1806 of yacc.c */ 7591 #line 1734 "parser.yy" 7592 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7569 #line 1737 "parser.yy" 7570 { (yyval.tclass) = DeclarationNode::Type; } 7571 break; 7572 7573 case 469: 7574 7575 /* Line 1806 of yacc.c */ 7576 #line 1739 "parser.yy" 7577 { (yyval.tclass) = DeclarationNode::Ftype; } 7593 7578 break; 7594 7579 … … 7596 7581 7597 7582 /* Line 1806 of yacc.c */ 7598 #line 174 0"parser.yy"7599 { (yyval.tclass) = DeclarationNode:: Type; }7583 #line 1741 "parser.yy" 7584 { (yyval.tclass) = DeclarationNode::Dtype; } 7600 7585 break; 7601 7586 … … 7603 7588 7604 7589 /* Line 1806 of yacc.c */ 7605 #line 174 2"parser.yy"7606 { (yyval. tclass) = DeclarationNode::Ftype; }7590 #line 1746 "parser.yy" 7591 { (yyval.decl) = 0; } 7607 7592 break; 7608 7593 … … 7610 7595 7611 7596 /* Line 1806 of yacc.c */ 7612 #line 174 4"parser.yy"7613 { (yyval. tclass) = DeclarationNode::Dtype; }7597 #line 1748 "parser.yy" 7598 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7614 7599 break; 7615 7600 … … 7617 7602 7618 7603 /* Line 1806 of yacc.c */ 7619 #line 1749 "parser.yy" 7620 { (yyval.decl) = 0; } 7621 break; 7622 7623 case 474: 7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1751 "parser.yy" 7627 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7628 break; 7629 7630 case 475: 7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1756 "parser.yy" 7604 #line 1753 "parser.yy" 7634 7605 { 7635 7606 typedefTable.openContext( *((yyvsp[(2) - (5)].tok)) ); … … 7638 7609 break; 7639 7610 7611 case 474: 7612 7613 /* Line 1806 of yacc.c */ 7614 #line 1758 "parser.yy" 7615 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7616 break; 7617 7618 case 475: 7619 7620 /* Line 1806 of yacc.c */ 7621 #line 1760 "parser.yy" 7622 { (yyval.decl) = 0; } 7623 break; 7624 7640 7625 case 476: 7641 7626 7642 7627 /* Line 1806 of yacc.c */ 7643 #line 1761 "parser.yy" 7644 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7645 break; 7646 7647 case 477: 7648 7649 /* Line 1806 of yacc.c */ 7650 #line 1763 "parser.yy" 7651 { (yyval.decl) = 0; } 7628 #line 1765 "parser.yy" 7629 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7652 7630 break; 7653 7631 … … 7656 7634 /* Line 1806 of yacc.c */ 7657 7635 #line 1768 "parser.yy" 7658 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7636 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link(new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7637 break; 7638 7639 case 479: 7640 7641 /* Line 1806 of yacc.c */ 7642 #line 1770 "parser.yy" 7643 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link((yyvsp[(3) - (3)].en))); } 7659 7644 break; 7660 7645 … … 7662 7647 7663 7648 /* Line 1806 of yacc.c */ 7664 #line 177 1"parser.yy"7665 { (yyval. en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link(new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }7649 #line 1775 "parser.yy" 7650 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7666 7651 break; 7667 7652 … … 7669 7654 7670 7655 /* Line 1806 of yacc.c */ 7671 #line 177 3"parser.yy"7672 { (yyval. en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link((yyvsp[(3) - (3)].en))); }7656 #line 1777 "parser.yy" 7657 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7673 7658 break; 7674 7659 … … 7676 7661 7677 7662 /* Line 1806 of yacc.c */ 7678 #line 177 8"parser.yy"7679 { (yyval.decl) = (yyvsp[( 2) - (2)].decl); }7663 #line 1779 "parser.yy" 7664 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7680 7665 break; 7681 7666 … … 7683 7668 7684 7669 /* Line 1806 of yacc.c */ 7685 #line 178 0"parser.yy"7686 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }7670 #line 1784 "parser.yy" 7671 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7687 7672 break; 7688 7673 … … 7690 7675 7691 7676 /* Line 1806 of yacc.c */ 7692 #line 178 2"parser.yy"7693 { (yyval.decl) = (yyvsp[(1) - ( 3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl)) ); }7677 #line 1786 "parser.yy" 7678 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7694 7679 break; 7695 7680 … … 7697 7682 7698 7683 /* Line 1806 of yacc.c */ 7699 #line 1787 "parser.yy" 7700 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7701 break; 7702 7703 case 486: 7704 7705 /* Line 1806 of yacc.c */ 7706 #line 1789 "parser.yy" 7707 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7708 break; 7709 7710 case 487: 7711 7712 /* Line 1806 of yacc.c */ 7713 #line 1794 "parser.yy" 7684 #line 1791 "parser.yy" 7714 7685 { 7715 7686 typedefTable.addToEnclosingScope(*((yyvsp[(1) - (1)].tok)), TypedefTable::TD); … … 7718 7689 break; 7719 7690 7720 case 48 8:7721 7722 /* Line 1806 of yacc.c */ 7723 #line 179 9"parser.yy"7691 case 486: 7692 7693 /* Line 1806 of yacc.c */ 7694 #line 1796 "parser.yy" 7724 7695 { 7725 7696 typedefTable.addToEnclosingScope(*((yyvsp[(1) - (6)].tok)), TypedefTable::TG); … … 7728 7699 break; 7729 7700 7730 case 48 9:7731 7732 /* Line 1806 of yacc.c */ 7733 #line 180 7"parser.yy"7701 case 487: 7702 7703 /* Line 1806 of yacc.c */ 7704 #line 1804 "parser.yy" 7734 7705 { 7735 7706 typedefTable.addToEnclosingScope(*((yyvsp[(2) - (9)].tok)), TypedefTable::ID ); … … 7738 7709 break; 7739 7710 7740 case 4 90:7741 7742 /* Line 1806 of yacc.c */ 7743 #line 18 12"parser.yy"7711 case 488: 7712 7713 /* Line 1806 of yacc.c */ 7714 #line 1809 "parser.yy" 7744 7715 { 7745 7716 typedefTable.enterContext( *((yyvsp[(2) - (8)].tok)) ); … … 7748 7719 break; 7749 7720 7750 case 4 91:7751 7752 /* Line 1806 of yacc.c */ 7753 #line 181 7"parser.yy"7721 case 489: 7722 7723 /* Line 1806 of yacc.c */ 7724 #line 1814 "parser.yy" 7754 7725 { 7755 7726 typedefTable.leaveContext(); … … 7759 7730 break; 7760 7731 7761 case 49 3:7762 7763 /* Line 1806 of yacc.c */ 7764 #line 182 7"parser.yy"7732 case 491: 7733 7734 /* Line 1806 of yacc.c */ 7735 #line 1824 "parser.yy" 7765 7736 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7766 7737 break; 7767 7738 7768 case 49 6:7769 7770 /* Line 1806 of yacc.c */ 7771 #line 183 7"parser.yy"7739 case 494: 7740 7741 /* Line 1806 of yacc.c */ 7742 #line 1834 "parser.yy" 7772 7743 { 7773 7744 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7776 7747 break; 7777 7748 7778 case 49 7:7779 7780 /* Line 1806 of yacc.c */ 7781 #line 18 42"parser.yy"7749 case 495: 7750 7751 /* Line 1806 of yacc.c */ 7752 #line 1839 "parser.yy" 7782 7753 { 7783 7754 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7786 7757 break; 7787 7758 7788 case 49 8:7789 7790 /* Line 1806 of yacc.c */ 7791 #line 184 7"parser.yy"7759 case 496: 7760 7761 /* Line 1806 of yacc.c */ 7762 #line 1844 "parser.yy" 7792 7763 { 7793 7764 typedefTable.addToEnclosingScope2( *((yyvsp[(5) - (5)].tok)), TypedefTable::ID ); … … 7796 7767 break; 7797 7768 7798 case 49 9:7799 7800 /* Line 1806 of yacc.c */ 7801 #line 185 5"parser.yy"7769 case 497: 7770 7771 /* Line 1806 of yacc.c */ 7772 #line 1852 "parser.yy" 7802 7773 { 7803 7774 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7806 7777 break; 7807 7778 7808 case 500:7809 7810 /* Line 1806 of yacc.c */ 7811 #line 18 60"parser.yy"7779 case 498: 7780 7781 /* Line 1806 of yacc.c */ 7782 #line 1857 "parser.yy" 7812 7783 { 7813 7784 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7816 7787 break; 7817 7788 7818 case 501:7819 7820 /* Line 1806 of yacc.c */ 7821 #line 18 70"parser.yy"7789 case 499: 7790 7791 /* Line 1806 of yacc.c */ 7792 #line 1867 "parser.yy" 7822 7793 {} 7823 7794 break; 7824 7795 7825 case 50 2:7826 7827 /* Line 1806 of yacc.c */ 7828 #line 18 72"parser.yy"7796 case 500: 7797 7798 /* Line 1806 of yacc.c */ 7799 #line 1869 "parser.yy" 7829 7800 { 7830 7801 if ( theTree ) { … … 7836 7807 break; 7837 7808 7838 case 50 4:7839 7840 /* Line 1806 of yacc.c */ 7841 #line 188 4"parser.yy"7809 case 502: 7810 7811 /* Line 1806 of yacc.c */ 7812 #line 1881 "parser.yy" 7842 7813 { (yyval.decl) = ((yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7843 7814 break; 7844 7815 7845 case 50 5:7846 7847 /* Line 1806 of yacc.c */ 7848 #line 188 9"parser.yy"7816 case 503: 7817 7818 /* Line 1806 of yacc.c */ 7819 #line 1886 "parser.yy" 7849 7820 { (yyval.decl) = 0; } 7850 7821 break; 7851 7822 7852 case 50 9:7853 7854 /* Line 1806 of yacc.c */ 7855 #line 189 7"parser.yy"7823 case 507: 7824 7825 /* Line 1806 of yacc.c */ 7826 #line 1894 "parser.yy" 7856 7827 {} 7857 7828 break; 7858 7829 7859 case 5 10:7860 7861 /* Line 1806 of yacc.c */ 7862 #line 189 9"parser.yy"7830 case 508: 7831 7832 /* Line 1806 of yacc.c */ 7833 #line 1896 "parser.yy" 7863 7834 { 7864 7835 linkageStack.push( linkage ); … … 7867 7838 break; 7868 7839 7869 case 5 11:7870 7871 /* Line 1806 of yacc.c */ 7872 #line 190 4"parser.yy"7840 case 509: 7841 7842 /* Line 1806 of yacc.c */ 7843 #line 1901 "parser.yy" 7873 7844 { 7874 7845 linkage = linkageStack.top(); … … 7878 7849 break; 7879 7850 7851 case 510: 7852 7853 /* Line 1806 of yacc.c */ 7854 #line 1907 "parser.yy" 7855 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7856 break; 7857 7880 7858 case 512: 7881 7859 7882 7860 /* Line 1806 of yacc.c */ 7883 #line 1910 "parser.yy" 7884 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7885 break; 7886 7887 case 514: 7888 7889 /* Line 1806 of yacc.c */ 7890 #line 1922 "parser.yy" 7861 #line 1919 "parser.yy" 7891 7862 { 7892 7863 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7896 7867 break; 7897 7868 7898 case 51 5:7899 7900 /* Line 1806 of yacc.c */ 7901 #line 192 8"parser.yy"7869 case 513: 7870 7871 /* Line 1806 of yacc.c */ 7872 #line 1925 "parser.yy" 7902 7873 { 7903 7874 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7907 7878 break; 7908 7879 7909 case 51 6:7910 7911 /* Line 1806 of yacc.c */ 7912 #line 193 7"parser.yy"7880 case 514: 7881 7882 /* Line 1806 of yacc.c */ 7883 #line 1934 "parser.yy" 7913 7884 { 7914 7885 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7918 7889 break; 7919 7890 7920 case 51 7:7921 7922 /* Line 1806 of yacc.c */ 7923 #line 194 3"parser.yy"7891 case 515: 7892 7893 /* Line 1806 of yacc.c */ 7894 #line 1940 "parser.yy" 7924 7895 { 7925 7896 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7929 7900 break; 7930 7901 7931 case 51 8:7932 7933 /* Line 1806 of yacc.c */ 7934 #line 194 9"parser.yy"7902 case 516: 7903 7904 /* Line 1806 of yacc.c */ 7905 #line 1946 "parser.yy" 7935 7906 { 7936 7907 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7940 7911 break; 7941 7912 7942 case 51 9:7943 7944 /* Line 1806 of yacc.c */ 7945 #line 195 5"parser.yy"7913 case 517: 7914 7915 /* Line 1806 of yacc.c */ 7916 #line 1952 "parser.yy" 7946 7917 { 7947 7918 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7951 7922 break; 7952 7923 7953 case 5 20:7954 7955 /* Line 1806 of yacc.c */ 7956 #line 19 61"parser.yy"7924 case 518: 7925 7926 /* Line 1806 of yacc.c */ 7927 #line 1958 "parser.yy" 7957 7928 { 7958 7929 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7962 7933 break; 7963 7934 7964 case 5 21:7965 7966 /* Line 1806 of yacc.c */ 7967 #line 196 9"parser.yy"7935 case 519: 7936 7937 /* Line 1806 of yacc.c */ 7938 #line 1966 "parser.yy" 7968 7939 { 7969 7940 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7973 7944 break; 7974 7945 7975 case 52 2:7976 7977 /* Line 1806 of yacc.c */ 7978 #line 197 5"parser.yy"7946 case 520: 7947 7948 /* Line 1806 of yacc.c */ 7949 #line 1972 "parser.yy" 7979 7950 { 7980 7951 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7984 7955 break; 7985 7956 7986 case 52 3:7987 7988 /* Line 1806 of yacc.c */ 7989 #line 198 3"parser.yy"7957 case 521: 7958 7959 /* Line 1806 of yacc.c */ 7960 #line 1980 "parser.yy" 7990 7961 { 7991 7962 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7995 7966 break; 7996 7967 7997 case 52 4:7998 7999 /* Line 1806 of yacc.c */ 8000 #line 198 9"parser.yy"7968 case 522: 7969 7970 /* Line 1806 of yacc.c */ 7971 #line 1986 "parser.yy" 8001 7972 { 8002 7973 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8006 7977 break; 8007 7978 8008 case 52 8:8009 8010 /* Line 1806 of yacc.c */ 8011 #line 200 4"parser.yy"7979 case 526: 7980 7981 /* Line 1806 of yacc.c */ 7982 #line 2001 "parser.yy" 8012 7983 { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en)); } 8013 7984 break; 8014 7985 7986 case 539: 7987 7988 /* Line 1806 of yacc.c */ 7989 #line 2035 "parser.yy" 7990 {} 7991 break; 7992 7993 case 540: 7994 7995 /* Line 1806 of yacc.c */ 7996 #line 2036 "parser.yy" 7997 {} 7998 break; 7999 8015 8000 case 541: 8001 8002 /* Line 1806 of yacc.c */ 8003 #line 2037 "parser.yy" 8004 {} 8005 break; 8006 8007 case 542: 8016 8008 8017 8009 /* Line 1806 of yacc.c */ … … 8020 8012 break; 8021 8013 8022 case 542: 8023 8024 /* Line 1806 of yacc.c */ 8025 #line 2039 "parser.yy" 8026 {} 8027 break; 8028 8029 case 543: 8030 8031 /* Line 1806 of yacc.c */ 8032 #line 2040 "parser.yy" 8033 {} 8034 break; 8035 8036 case 544: 8037 8038 /* Line 1806 of yacc.c */ 8039 #line 2041 "parser.yy" 8040 {} 8041 break; 8042 8043 case 549: 8044 8045 /* Line 1806 of yacc.c */ 8046 #line 2084 "parser.yy" 8014 case 547: 8015 8016 /* Line 1806 of yacc.c */ 8017 #line 2081 "parser.yy" 8047 8018 { 8048 8019 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8051 8022 break; 8052 8023 8024 case 548: 8025 8026 /* Line 1806 of yacc.c */ 8027 #line 2086 "parser.yy" 8028 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8029 break; 8030 8031 case 549: 8032 8033 /* Line 1806 of yacc.c */ 8034 #line 2091 "parser.yy" 8035 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8036 break; 8037 8053 8038 case 550: 8054 8039 8055 8040 /* Line 1806 of yacc.c */ 8056 #line 2089 "parser.yy" 8041 #line 2093 "parser.yy" 8042 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8043 break; 8044 8045 case 551: 8046 8047 /* Line 1806 of yacc.c */ 8048 #line 2095 "parser.yy" 8057 8049 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8058 8050 break; 8059 8051 8060 case 551: 8061 8062 /* Line 1806 of yacc.c */ 8063 #line 2094 "parser.yy" 8052 case 552: 8053 8054 /* Line 1806 of yacc.c */ 8055 #line 2100 "parser.yy" 8056 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8057 break; 8058 8059 case 553: 8060 8061 /* Line 1806 of yacc.c */ 8062 #line 2102 "parser.yy" 8063 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8064 break; 8065 8066 case 554: 8067 8068 /* Line 1806 of yacc.c */ 8069 #line 2104 "parser.yy" 8070 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8071 break; 8072 8073 case 555: 8074 8075 /* Line 1806 of yacc.c */ 8076 #line 2106 "parser.yy" 8077 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8078 break; 8079 8080 case 556: 8081 8082 /* Line 1806 of yacc.c */ 8083 #line 2111 "parser.yy" 8084 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8085 break; 8086 8087 case 557: 8088 8089 /* Line 1806 of yacc.c */ 8090 #line 2113 "parser.yy" 8091 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8092 break; 8093 8094 case 561: 8095 8096 /* Line 1806 of yacc.c */ 8097 #line 2129 "parser.yy" 8098 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8099 break; 8100 8101 case 562: 8102 8103 /* Line 1806 of yacc.c */ 8104 #line 2131 "parser.yy" 8105 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8106 break; 8107 8108 case 563: 8109 8110 /* Line 1806 of yacc.c */ 8111 #line 2133 "parser.yy" 8112 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8113 break; 8114 8115 case 564: 8116 8117 /* Line 1806 of yacc.c */ 8118 #line 2138 "parser.yy" 8064 8119 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8065 8120 break; 8066 8121 8067 case 5 52:8068 8069 /* Line 1806 of yacc.c */ 8070 #line 2 096"parser.yy"8122 case 565: 8123 8124 /* Line 1806 of yacc.c */ 8125 #line 2140 "parser.yy" 8071 8126 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8072 8127 break; 8073 8128 8074 case 5 53:8075 8076 /* Line 1806 of yacc.c */ 8077 #line 2 098"parser.yy"8129 case 566: 8130 8131 /* Line 1806 of yacc.c */ 8132 #line 2142 "parser.yy" 8078 8133 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8079 8134 break; 8080 8135 8081 case 554: 8082 8083 /* Line 1806 of yacc.c */ 8084 #line 2103 "parser.yy" 8085 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8086 break; 8087 8088 case 555: 8089 8090 /* Line 1806 of yacc.c */ 8091 #line 2105 "parser.yy" 8136 case 567: 8137 8138 /* Line 1806 of yacc.c */ 8139 #line 2147 "parser.yy" 8092 8140 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8093 8141 break; 8094 8142 8095 case 5 56:8096 8097 /* Line 1806 of yacc.c */ 8098 #line 21 07"parser.yy"8143 case 568: 8144 8145 /* Line 1806 of yacc.c */ 8146 #line 2149 "parser.yy" 8099 8147 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8100 8148 break; 8101 8149 8102 case 5 57:8103 8104 /* Line 1806 of yacc.c */ 8105 #line 21 09"parser.yy"8150 case 569: 8151 8152 /* Line 1806 of yacc.c */ 8153 #line 2151 "parser.yy" 8106 8154 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8107 8155 break; 8108 8156 8109 case 558: 8110 8111 /* Line 1806 of yacc.c */ 8112 #line 2114 "parser.yy" 8113 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8114 break; 8115 8116 case 559: 8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2116 "parser.yy" 8157 case 573: 8158 8159 /* Line 1806 of yacc.c */ 8160 #line 2166 "parser.yy" 8161 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8162 break; 8163 8164 case 574: 8165 8166 /* Line 1806 of yacc.c */ 8167 #line 2168 "parser.yy" 8168 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8169 break; 8170 8171 case 575: 8172 8173 /* Line 1806 of yacc.c */ 8174 #line 2170 "parser.yy" 8120 8175 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8121 8176 break; 8122 8177 8123 case 5 63:8124 8125 /* Line 1806 of yacc.c */ 8126 #line 21 32"parser.yy"8127 { (yyval.decl) = (yyvsp[( 1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8128 break; 8129 8130 case 5 64:8131 8132 /* Line 1806 of yacc.c */ 8133 #line 21 34"parser.yy"8134 { (yyval.decl) = (yyvsp[( 2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8135 break; 8136 8137 case 5 65:8138 8139 /* Line 1806 of yacc.c */ 8140 #line 21 36"parser.yy"8178 case 576: 8179 8180 /* Line 1806 of yacc.c */ 8181 #line 2175 "parser.yy" 8182 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8183 break; 8184 8185 case 577: 8186 8187 /* Line 1806 of yacc.c */ 8188 #line 2177 "parser.yy" 8189 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8190 break; 8191 8192 case 578: 8193 8194 /* Line 1806 of yacc.c */ 8195 #line 2179 "parser.yy" 8141 8196 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8142 8197 break; 8143 8198 8144 case 5 66:8145 8146 /* Line 1806 of yacc.c */ 8147 #line 21 41"parser.yy"8148 { (yyval.decl) = (yyvsp[(2) - ( 2)].decl)->addPointer( DeclarationNode::newPointer( 0) ); }8149 break; 8150 8151 case 5 67:8152 8153 /* Line 1806 of yacc.c */ 8154 #line 21 43"parser.yy"8155 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl)) ); }8156 break; 8157 8158 case 5 68:8159 8160 /* Line 1806 of yacc.c */ 8161 #line 21 45"parser.yy"8199 case 579: 8200 8201 /* Line 1806 of yacc.c */ 8202 #line 2184 "parser.yy" 8203 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8204 break; 8205 8206 case 580: 8207 8208 /* Line 1806 of yacc.c */ 8209 #line 2186 "parser.yy" 8210 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8211 break; 8212 8213 case 581: 8214 8215 /* Line 1806 of yacc.c */ 8216 #line 2188 "parser.yy" 8162 8217 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8163 8218 break; 8164 8219 8165 case 569: 8166 8167 /* Line 1806 of yacc.c */ 8168 #line 2150 "parser.yy" 8169 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8170 break; 8171 8172 case 570: 8173 8174 /* Line 1806 of yacc.c */ 8175 #line 2152 "parser.yy" 8176 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8177 break; 8178 8179 case 571: 8180 8181 /* Line 1806 of yacc.c */ 8182 #line 2154 "parser.yy" 8183 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8184 break; 8185 8186 case 575: 8187 8188 /* Line 1806 of yacc.c */ 8189 #line 2169 "parser.yy" 8190 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8191 break; 8192 8193 case 576: 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2171 "parser.yy" 8197 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8198 break; 8199 8200 case 577: 8201 8202 /* Line 1806 of yacc.c */ 8203 #line 2173 "parser.yy" 8204 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8205 break; 8206 8207 case 578: 8208 8209 /* Line 1806 of yacc.c */ 8210 #line 2178 "parser.yy" 8211 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8212 break; 8213 8214 case 579: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2180 "parser.yy" 8218 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8219 break; 8220 8221 case 580: 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2182 "parser.yy" 8225 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8226 break; 8227 8228 case 581: 8229 8230 /* Line 1806 of yacc.c */ 8231 #line 2187 "parser.yy" 8232 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8233 break; 8234 8235 case 582: 8236 8237 /* Line 1806 of yacc.c */ 8238 #line 2189 "parser.yy" 8239 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8240 break; 8241 8242 case 583: 8243 8244 /* Line 1806 of yacc.c */ 8245 #line 2191 "parser.yy" 8246 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8247 break; 8248 8249 case 588: 8250 8251 /* Line 1806 of yacc.c */ 8252 #line 2213 "parser.yy" 8220 case 586: 8221 8222 /* Line 1806 of yacc.c */ 8223 #line 2210 "parser.yy" 8253 8224 { 8254 8225 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8257 8228 break; 8258 8229 8230 case 587: 8231 8232 /* Line 1806 of yacc.c */ 8233 #line 2215 "parser.yy" 8234 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8235 break; 8236 8237 case 588: 8238 8239 /* Line 1806 of yacc.c */ 8240 #line 2220 "parser.yy" 8241 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8242 break; 8243 8259 8244 case 589: 8260 8245 8261 8246 /* Line 1806 of yacc.c */ 8262 #line 2218 "parser.yy" 8247 #line 2222 "parser.yy" 8248 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8249 break; 8250 8251 case 590: 8252 8253 /* Line 1806 of yacc.c */ 8254 #line 2224 "parser.yy" 8263 8255 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8264 8256 break; 8265 8257 8266 case 590: 8267 8268 /* Line 1806 of yacc.c */ 8269 #line 2223 "parser.yy" 8258 case 591: 8259 8260 /* Line 1806 of yacc.c */ 8261 #line 2229 "parser.yy" 8262 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8263 break; 8264 8265 case 592: 8266 8267 /* Line 1806 of yacc.c */ 8268 #line 2231 "parser.yy" 8269 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8270 break; 8271 8272 case 593: 8273 8274 /* Line 1806 of yacc.c */ 8275 #line 2233 "parser.yy" 8276 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8277 break; 8278 8279 case 594: 8280 8281 /* Line 1806 of yacc.c */ 8282 #line 2235 "parser.yy" 8283 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8284 break; 8285 8286 case 595: 8287 8288 /* Line 1806 of yacc.c */ 8289 #line 2240 "parser.yy" 8290 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8291 break; 8292 8293 case 596: 8294 8295 /* Line 1806 of yacc.c */ 8296 #line 2242 "parser.yy" 8297 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8298 break; 8299 8300 case 597: 8301 8302 /* Line 1806 of yacc.c */ 8303 #line 2244 "parser.yy" 8304 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8305 break; 8306 8307 case 602: 8308 8309 /* Line 1806 of yacc.c */ 8310 #line 2261 "parser.yy" 8270 8311 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8271 8312 break; 8272 8313 8273 case 591:8274 8275 /* Line 1806 of yacc.c */ 8276 #line 22 25"parser.yy"8314 case 603: 8315 8316 /* Line 1806 of yacc.c */ 8317 #line 2263 "parser.yy" 8277 8318 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8278 8319 break; 8279 8320 8280 case 592:8281 8282 /* Line 1806 of yacc.c */ 8283 #line 22 27"parser.yy"8321 case 604: 8322 8323 /* Line 1806 of yacc.c */ 8324 #line 2265 "parser.yy" 8284 8325 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8285 8326 break; 8286 8327 8287 case 593:8288 8289 /* Line 1806 of yacc.c */ 8290 #line 22 32"parser.yy"8328 case 605: 8329 8330 /* Line 1806 of yacc.c */ 8331 #line 2270 "parser.yy" 8291 8332 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8292 8333 break; 8293 8334 8294 case 594:8295 8296 /* Line 1806 of yacc.c */ 8297 #line 22 34"parser.yy"8335 case 606: 8336 8337 /* Line 1806 of yacc.c */ 8338 #line 2272 "parser.yy" 8298 8339 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8299 8340 break; 8300 8341 8301 case 595:8302 8303 /* Line 1806 of yacc.c */ 8304 #line 22 36"parser.yy"8342 case 607: 8343 8344 /* Line 1806 of yacc.c */ 8345 #line 2274 "parser.yy" 8305 8346 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8306 8347 break; 8307 8348 8308 case 596:8309 8310 /* Line 1806 of yacc.c */ 8311 #line 22 38"parser.yy"8349 case 608: 8350 8351 /* Line 1806 of yacc.c */ 8352 #line 2276 "parser.yy" 8312 8353 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8313 8354 break; 8314 8355 8315 case 597:8316 8317 /* Line 1806 of yacc.c */ 8318 #line 22 43"parser.yy"8356 case 609: 8357 8358 /* Line 1806 of yacc.c */ 8359 #line 2281 "parser.yy" 8319 8360 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8320 8361 break; 8321 8362 8322 case 598:8323 8324 /* Line 1806 of yacc.c */ 8325 #line 22 45"parser.yy"8363 case 610: 8364 8365 /* Line 1806 of yacc.c */ 8366 #line 2283 "parser.yy" 8326 8367 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8327 8368 break; 8328 8369 8329 case 599:8330 8331 /* Line 1806 of yacc.c */ 8332 #line 22 47"parser.yy"8370 case 611: 8371 8372 /* Line 1806 of yacc.c */ 8373 #line 2285 "parser.yy" 8333 8374 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8334 8375 break; 8335 8376 8336 case 604: 8337 8338 /* Line 1806 of yacc.c */ 8339 #line 2264 "parser.yy" 8340 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8341 break; 8342 8343 case 605: 8344 8345 /* Line 1806 of yacc.c */ 8346 #line 2266 "parser.yy" 8347 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8348 break; 8349 8350 case 606: 8351 8352 /* Line 1806 of yacc.c */ 8353 #line 2268 "parser.yy" 8354 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8355 break; 8356 8357 case 607: 8358 8359 /* Line 1806 of yacc.c */ 8360 #line 2273 "parser.yy" 8361 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8362 break; 8363 8364 case 608: 8365 8366 /* Line 1806 of yacc.c */ 8367 #line 2275 "parser.yy" 8368 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8369 break; 8370 8371 case 609: 8372 8373 /* Line 1806 of yacc.c */ 8374 #line 2277 "parser.yy" 8375 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8376 break; 8377 8378 case 610: 8379 8380 /* Line 1806 of yacc.c */ 8381 #line 2279 "parser.yy" 8382 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8383 break; 8384 8385 case 611: 8386 8387 /* Line 1806 of yacc.c */ 8388 #line 2284 "parser.yy" 8389 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8390 break; 8391 8392 case 612: 8393 8394 /* Line 1806 of yacc.c */ 8395 #line 2286 "parser.yy" 8396 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8397 break; 8398 8399 case 613: 8400 8401 /* Line 1806 of yacc.c */ 8402 #line 2288 "parser.yy" 8403 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8404 break; 8405 8406 case 618: 8407 8408 /* Line 1806 of yacc.c */ 8409 #line 2326 "parser.yy" 8377 case 616: 8378 8379 /* Line 1806 of yacc.c */ 8380 #line 2323 "parser.yy" 8410 8381 { 8411 8382 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8414 8385 break; 8415 8386 8387 case 617: 8388 8389 /* Line 1806 of yacc.c */ 8390 #line 2331 "parser.yy" 8391 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8392 break; 8393 8394 case 618: 8395 8396 /* Line 1806 of yacc.c */ 8397 #line 2333 "parser.yy" 8398 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8399 break; 8400 8416 8401 case 619: 8417 8402 8418 8403 /* Line 1806 of yacc.c */ 8419 #line 2334 "parser.yy" 8404 #line 2335 "parser.yy" 8405 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8406 break; 8407 8408 case 620: 8409 8410 /* Line 1806 of yacc.c */ 8411 #line 2340 "parser.yy" 8412 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8413 break; 8414 8415 case 621: 8416 8417 /* Line 1806 of yacc.c */ 8418 #line 2342 "parser.yy" 8419 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8420 break; 8421 8422 case 622: 8423 8424 /* Line 1806 of yacc.c */ 8425 #line 2347 "parser.yy" 8426 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8427 break; 8428 8429 case 623: 8430 8431 /* Line 1806 of yacc.c */ 8432 #line 2349 "parser.yy" 8433 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8434 break; 8435 8436 case 627: 8437 8438 /* Line 1806 of yacc.c */ 8439 #line 2369 "parser.yy" 8440 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8441 break; 8442 8443 case 628: 8444 8445 /* Line 1806 of yacc.c */ 8446 #line 2371 "parser.yy" 8447 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8448 break; 8449 8450 case 629: 8451 8452 /* Line 1806 of yacc.c */ 8453 #line 2373 "parser.yy" 8420 8454 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8421 8455 break; 8422 8456 8423 case 6 20:8424 8425 /* Line 1806 of yacc.c */ 8426 #line 23 36"parser.yy"8457 case 630: 8458 8459 /* Line 1806 of yacc.c */ 8460 #line 2375 "parser.yy" 8427 8461 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8428 8462 break; 8429 8463 8430 case 6 21:8431 8432 /* Line 1806 of yacc.c */ 8433 #line 23 38"parser.yy"8464 case 631: 8465 8466 /* Line 1806 of yacc.c */ 8467 #line 2377 "parser.yy" 8434 8468 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8435 8469 break; 8436 8470 8437 case 622: 8438 8439 /* Line 1806 of yacc.c */ 8440 #line 2343 "parser.yy" 8471 case 633: 8472 8473 /* Line 1806 of yacc.c */ 8474 #line 2383 "parser.yy" 8475 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8476 break; 8477 8478 case 634: 8479 8480 /* Line 1806 of yacc.c */ 8481 #line 2385 "parser.yy" 8482 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8483 break; 8484 8485 case 635: 8486 8487 /* Line 1806 of yacc.c */ 8488 #line 2387 "parser.yy" 8489 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8490 break; 8491 8492 case 636: 8493 8494 /* Line 1806 of yacc.c */ 8495 #line 2392 "parser.yy" 8496 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8497 break; 8498 8499 case 637: 8500 8501 /* Line 1806 of yacc.c */ 8502 #line 2394 "parser.yy" 8503 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8504 break; 8505 8506 case 638: 8507 8508 /* Line 1806 of yacc.c */ 8509 #line 2396 "parser.yy" 8510 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8511 break; 8512 8513 case 639: 8514 8515 /* Line 1806 of yacc.c */ 8516 #line 2402 "parser.yy" 8517 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8518 break; 8519 8520 case 640: 8521 8522 /* Line 1806 of yacc.c */ 8523 #line 2404 "parser.yy" 8524 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); } 8525 break; 8526 8527 case 642: 8528 8529 /* Line 1806 of yacc.c */ 8530 #line 2410 "parser.yy" 8531 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8532 break; 8533 8534 case 643: 8535 8536 /* Line 1806 of yacc.c */ 8537 #line 2412 "parser.yy" 8538 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8539 break; 8540 8541 case 644: 8542 8543 /* Line 1806 of yacc.c */ 8544 #line 2414 "parser.yy" 8545 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8546 break; 8547 8548 case 645: 8549 8550 /* Line 1806 of yacc.c */ 8551 #line 2416 "parser.yy" 8552 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8553 break; 8554 8555 case 649: 8556 8557 /* Line 1806 of yacc.c */ 8558 #line 2436 "parser.yy" 8559 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8560 break; 8561 8562 case 650: 8563 8564 /* Line 1806 of yacc.c */ 8565 #line 2438 "parser.yy" 8566 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8567 break; 8568 8569 case 651: 8570 8571 /* Line 1806 of yacc.c */ 8572 #line 2440 "parser.yy" 8573 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8574 break; 8575 8576 case 652: 8577 8578 /* Line 1806 of yacc.c */ 8579 #line 2442 "parser.yy" 8580 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8581 break; 8582 8583 case 653: 8584 8585 /* Line 1806 of yacc.c */ 8586 #line 2444 "parser.yy" 8587 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8588 break; 8589 8590 case 655: 8591 8592 /* Line 1806 of yacc.c */ 8593 #line 2450 "parser.yy" 8594 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8595 break; 8596 8597 case 656: 8598 8599 /* Line 1806 of yacc.c */ 8600 #line 2452 "parser.yy" 8601 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8602 break; 8603 8604 case 657: 8605 8606 /* Line 1806 of yacc.c */ 8607 #line 2454 "parser.yy" 8608 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8609 break; 8610 8611 case 658: 8612 8613 /* Line 1806 of yacc.c */ 8614 #line 2459 "parser.yy" 8615 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8616 break; 8617 8618 case 659: 8619 8620 /* Line 1806 of yacc.c */ 8621 #line 2461 "parser.yy" 8622 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8623 break; 8624 8625 case 660: 8626 8627 /* Line 1806 of yacc.c */ 8628 #line 2463 "parser.yy" 8629 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8630 break; 8631 8632 case 662: 8633 8634 /* Line 1806 of yacc.c */ 8635 #line 2470 "parser.yy" 8441 8636 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8442 8637 break; 8443 8638 8444 case 623: 8445 8446 /* Line 1806 of yacc.c */ 8447 #line 2345 "parser.yy" 8639 case 664: 8640 8641 /* Line 1806 of yacc.c */ 8642 #line 2482 "parser.yy" 8643 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8644 break; 8645 8646 case 665: 8647 8648 /* Line 1806 of yacc.c */ 8649 #line 2485 "parser.yy" 8650 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8651 break; 8652 8653 case 666: 8654 8655 /* Line 1806 of yacc.c */ 8656 #line 2487 "parser.yy" 8657 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8658 break; 8659 8660 case 667: 8661 8662 /* Line 1806 of yacc.c */ 8663 #line 2490 "parser.yy" 8664 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8665 break; 8666 8667 case 668: 8668 8669 /* Line 1806 of yacc.c */ 8670 #line 2492 "parser.yy" 8671 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8672 break; 8673 8674 case 669: 8675 8676 /* Line 1806 of yacc.c */ 8677 #line 2494 "parser.yy" 8678 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8679 break; 8680 8681 case 673: 8682 8683 /* Line 1806 of yacc.c */ 8684 #line 2513 "parser.yy" 8685 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8686 break; 8687 8688 case 674: 8689 8690 /* Line 1806 of yacc.c */ 8691 #line 2515 "parser.yy" 8692 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8693 break; 8694 8695 case 675: 8696 8697 /* Line 1806 of yacc.c */ 8698 #line 2517 "parser.yy" 8699 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8700 break; 8701 8702 case 676: 8703 8704 /* Line 1806 of yacc.c */ 8705 #line 2519 "parser.yy" 8706 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8707 break; 8708 8709 case 677: 8710 8711 /* Line 1806 of yacc.c */ 8712 #line 2521 "parser.yy" 8713 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8714 break; 8715 8716 case 679: 8717 8718 /* Line 1806 of yacc.c */ 8719 #line 2527 "parser.yy" 8448 8720 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8449 8721 break; 8450 8722 8451 case 624: 8452 8453 /* Line 1806 of yacc.c */ 8454 #line 2350 "parser.yy" 8455 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8456 break; 8457 8458 case 625: 8459 8460 /* Line 1806 of yacc.c */ 8461 #line 2352 "parser.yy" 8723 case 680: 8724 8725 /* Line 1806 of yacc.c */ 8726 #line 2529 "parser.yy" 8727 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8728 break; 8729 8730 case 681: 8731 8732 /* Line 1806 of yacc.c */ 8733 #line 2531 "parser.yy" 8734 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8735 break; 8736 8737 case 682: 8738 8739 /* Line 1806 of yacc.c */ 8740 #line 2536 "parser.yy" 8462 8741 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8463 8742 break; 8464 8743 8465 case 629: 8466 8467 /* Line 1806 of yacc.c */ 8468 #line 2372 "parser.yy" 8469 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8470 break; 8471 8472 case 630: 8473 8474 /* Line 1806 of yacc.c */ 8475 #line 2374 "parser.yy" 8476 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8477 break; 8478 8479 case 631: 8480 8481 /* Line 1806 of yacc.c */ 8482 #line 2376 "parser.yy" 8483 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8484 break; 8485 8486 case 632: 8487 8488 /* Line 1806 of yacc.c */ 8489 #line 2378 "parser.yy" 8490 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8491 break; 8492 8493 case 633: 8494 8495 /* Line 1806 of yacc.c */ 8496 #line 2380 "parser.yy" 8744 case 683: 8745 8746 /* Line 1806 of yacc.c */ 8747 #line 2538 "parser.yy" 8497 8748 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8498 8749 break; 8499 8750 8500 case 635: 8501 8502 /* Line 1806 of yacc.c */ 8503 #line 2386 "parser.yy" 8504 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8505 break; 8506 8507 case 636: 8508 8509 /* Line 1806 of yacc.c */ 8510 #line 2388 "parser.yy" 8511 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8512 break; 8513 8514 case 637: 8515 8516 /* Line 1806 of yacc.c */ 8517 #line 2390 "parser.yy" 8518 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8519 break; 8520 8521 case 638: 8522 8523 /* Line 1806 of yacc.c */ 8524 #line 2395 "parser.yy" 8525 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8526 break; 8527 8528 case 639: 8529 8530 /* Line 1806 of yacc.c */ 8531 #line 2397 "parser.yy" 8532 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8533 break; 8534 8535 case 640: 8536 8537 /* Line 1806 of yacc.c */ 8538 #line 2399 "parser.yy" 8539 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8540 break; 8541 8542 case 641: 8543 8544 /* Line 1806 of yacc.c */ 8545 #line 2405 "parser.yy" 8546 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8547 break; 8548 8549 case 642: 8550 8551 /* Line 1806 of yacc.c */ 8552 #line 2407 "parser.yy" 8553 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); } 8554 break; 8555 8556 case 644: 8557 8558 /* Line 1806 of yacc.c */ 8559 #line 2413 "parser.yy" 8560 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8561 break; 8562 8563 case 645: 8564 8565 /* Line 1806 of yacc.c */ 8566 #line 2415 "parser.yy" 8567 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8568 break; 8569 8570 case 646: 8571 8572 /* Line 1806 of yacc.c */ 8573 #line 2417 "parser.yy" 8574 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8575 break; 8576 8577 case 647: 8578 8579 /* Line 1806 of yacc.c */ 8580 #line 2419 "parser.yy" 8581 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8582 break; 8583 8584 case 651: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2439 "parser.yy" 8588 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8589 break; 8590 8591 case 652: 8592 8593 /* Line 1806 of yacc.c */ 8594 #line 2441 "parser.yy" 8595 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8596 break; 8597 8598 case 653: 8599 8600 /* Line 1806 of yacc.c */ 8601 #line 2443 "parser.yy" 8602 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8603 break; 8604 8605 case 654: 8606 8607 /* Line 1806 of yacc.c */ 8608 #line 2445 "parser.yy" 8609 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8610 break; 8611 8612 case 655: 8613 8614 /* Line 1806 of yacc.c */ 8615 #line 2447 "parser.yy" 8616 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8617 break; 8618 8619 case 657: 8620 8621 /* Line 1806 of yacc.c */ 8622 #line 2453 "parser.yy" 8623 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8624 break; 8625 8626 case 658: 8627 8628 /* Line 1806 of yacc.c */ 8629 #line 2455 "parser.yy" 8630 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8631 break; 8632 8633 case 659: 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2457 "parser.yy" 8637 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8638 break; 8639 8640 case 660: 8641 8642 /* Line 1806 of yacc.c */ 8643 #line 2462 "parser.yy" 8644 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8645 break; 8646 8647 case 661: 8648 8649 /* Line 1806 of yacc.c */ 8650 #line 2464 "parser.yy" 8651 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8652 break; 8653 8654 case 662: 8655 8656 /* Line 1806 of yacc.c */ 8657 #line 2466 "parser.yy" 8658 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8659 break; 8660 8661 case 664: 8662 8663 /* Line 1806 of yacc.c */ 8664 #line 2473 "parser.yy" 8665 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8666 break; 8667 8668 case 666: 8669 8670 /* Line 1806 of yacc.c */ 8671 #line 2485 "parser.yy" 8672 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8673 break; 8674 8675 case 667: 8676 8677 /* Line 1806 of yacc.c */ 8678 #line 2488 "parser.yy" 8751 case 686: 8752 8753 /* Line 1806 of yacc.c */ 8754 #line 2548 "parser.yy" 8755 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8756 break; 8757 8758 case 689: 8759 8760 /* Line 1806 of yacc.c */ 8761 #line 2558 "parser.yy" 8762 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8763 break; 8764 8765 case 690: 8766 8767 /* Line 1806 of yacc.c */ 8768 #line 2560 "parser.yy" 8769 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8770 break; 8771 8772 case 691: 8773 8774 /* Line 1806 of yacc.c */ 8775 #line 2562 "parser.yy" 8776 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8777 break; 8778 8779 case 692: 8780 8781 /* Line 1806 of yacc.c */ 8782 #line 2564 "parser.yy" 8783 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8784 break; 8785 8786 case 693: 8787 8788 /* Line 1806 of yacc.c */ 8789 #line 2566 "parser.yy" 8790 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8791 break; 8792 8793 case 694: 8794 8795 /* Line 1806 of yacc.c */ 8796 #line 2568 "parser.yy" 8797 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8798 break; 8799 8800 case 695: 8801 8802 /* Line 1806 of yacc.c */ 8803 #line 2575 "parser.yy" 8804 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8805 break; 8806 8807 case 696: 8808 8809 /* Line 1806 of yacc.c */ 8810 #line 2577 "parser.yy" 8811 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8812 break; 8813 8814 case 697: 8815 8816 /* Line 1806 of yacc.c */ 8817 #line 2579 "parser.yy" 8818 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8819 break; 8820 8821 case 698: 8822 8823 /* Line 1806 of yacc.c */ 8824 #line 2581 "parser.yy" 8825 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8826 break; 8827 8828 case 699: 8829 8830 /* Line 1806 of yacc.c */ 8831 #line 2583 "parser.yy" 8832 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8833 break; 8834 8835 case 700: 8836 8837 /* Line 1806 of yacc.c */ 8838 #line 2585 "parser.yy" 8839 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8840 break; 8841 8842 case 701: 8843 8844 /* Line 1806 of yacc.c */ 8845 #line 2587 "parser.yy" 8846 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8847 break; 8848 8849 case 702: 8850 8851 /* Line 1806 of yacc.c */ 8852 #line 2589 "parser.yy" 8853 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8854 break; 8855 8856 case 703: 8857 8858 /* Line 1806 of yacc.c */ 8859 #line 2591 "parser.yy" 8860 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8861 break; 8862 8863 case 704: 8864 8865 /* Line 1806 of yacc.c */ 8866 #line 2593 "parser.yy" 8867 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8868 break; 8869 8870 case 705: 8871 8872 /* Line 1806 of yacc.c */ 8873 #line 2598 "parser.yy" 8679 8874 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8680 8875 break; 8681 8876 8682 case 668: 8683 8684 /* Line 1806 of yacc.c */ 8685 #line 2490 "parser.yy" 8686 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8687 break; 8688 8689 case 669: 8690 8691 /* Line 1806 of yacc.c */ 8692 #line 2493 "parser.yy" 8877 case 706: 8878 8879 /* Line 1806 of yacc.c */ 8880 #line 2600 "parser.yy" 8693 8881 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8694 8882 break; 8695 8883 8696 case 670: 8697 8698 /* Line 1806 of yacc.c */ 8699 #line 2495 "parser.yy" 8700 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8701 break; 8702 8703 case 671: 8704 8705 /* Line 1806 of yacc.c */ 8706 #line 2497 "parser.yy" 8707 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8708 break; 8709 8710 case 675: 8711 8712 /* Line 1806 of yacc.c */ 8713 #line 2516 "parser.yy" 8714 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8715 break; 8716 8717 case 676: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2518 "parser.yy" 8721 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8722 break; 8723 8724 case 677: 8725 8726 /* Line 1806 of yacc.c */ 8727 #line 2520 "parser.yy" 8728 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8729 break; 8730 8731 case 678: 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2522 "parser.yy" 8735 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8736 break; 8737 8738 case 679: 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2524 "parser.yy" 8742 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8743 break; 8744 8745 case 681: 8746 8747 /* Line 1806 of yacc.c */ 8748 #line 2530 "parser.yy" 8749 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8750 break; 8751 8752 case 682: 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2532 "parser.yy" 8756 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8757 break; 8758 8759 case 683: 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2534 "parser.yy" 8763 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8764 break; 8765 8766 case 684: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2539 "parser.yy" 8770 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8771 break; 8772 8773 case 685: 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2541 "parser.yy" 8777 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8778 break; 8779 8780 case 688: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2551 "parser.yy" 8884 case 707: 8885 8886 /* Line 1806 of yacc.c */ 8887 #line 2605 "parser.yy" 8888 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8889 break; 8890 8891 case 708: 8892 8893 /* Line 1806 of yacc.c */ 8894 #line 2607 "parser.yy" 8895 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8896 break; 8897 8898 case 710: 8899 8900 /* Line 1806 of yacc.c */ 8901 #line 2634 "parser.yy" 8784 8902 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8785 8903 break; 8786 8904 8787 case 691:8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2 561"parser.yy"8905 case 714: 8906 8907 /* Line 1806 of yacc.c */ 8908 #line 2645 "parser.yy" 8791 8909 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8792 8910 break; 8793 8911 8794 case 692:8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2 563"parser.yy"8912 case 715: 8913 8914 /* Line 1806 of yacc.c */ 8915 #line 2647 "parser.yy" 8798 8916 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8799 8917 break; 8800 8918 8801 case 693:8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2 565"parser.yy"8919 case 716: 8920 8921 /* Line 1806 of yacc.c */ 8922 #line 2649 "parser.yy" 8805 8923 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8806 8924 break; 8807 8925 8808 case 694:8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2 567"parser.yy"8926 case 717: 8927 8928 /* Line 1806 of yacc.c */ 8929 #line 2651 "parser.yy" 8812 8930 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8813 8931 break; 8814 8932 8815 case 695:8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2 569"parser.yy"8933 case 718: 8934 8935 /* Line 1806 of yacc.c */ 8936 #line 2653 "parser.yy" 8819 8937 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8820 8938 break; 8821 8939 8822 case 696:8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2 571"parser.yy"8940 case 719: 8941 8942 /* Line 1806 of yacc.c */ 8943 #line 2655 "parser.yy" 8826 8944 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8827 8945 break; 8828 8946 8829 case 697:8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2 578"parser.yy"8947 case 720: 8948 8949 /* Line 1806 of yacc.c */ 8950 #line 2662 "parser.yy" 8833 8951 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8834 8952 break; 8835 8953 8836 case 698: 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2580 "parser.yy" 8954 case 721: 8955 8956 /* Line 1806 of yacc.c */ 8957 #line 2664 "parser.yy" 8958 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8959 break; 8960 8961 case 722: 8962 8963 /* Line 1806 of yacc.c */ 8964 #line 2666 "parser.yy" 8840 8965 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8841 8966 break; 8842 8967 8843 case 699: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2582 "parser.yy" 8968 case 723: 8969 8970 /* Line 1806 of yacc.c */ 8971 #line 2668 "parser.yy" 8972 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8973 break; 8974 8975 case 724: 8976 8977 /* Line 1806 of yacc.c */ 8978 #line 2670 "parser.yy" 8847 8979 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8848 8980 break; 8849 8981 8850 case 700: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2584 "parser.yy" 8854 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8855 break; 8856 8857 case 701: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2586 "parser.yy" 8982 case 725: 8983 8984 /* Line 1806 of yacc.c */ 8985 #line 2672 "parser.yy" 8861 8986 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8862 8987 break; 8863 8988 8864 case 702:8865 8866 /* Line 1806 of yacc.c */8867 #line 2588 "parser.yy"8868 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8869 break;8870 8871 case 703:8872 8873 /* Line 1806 of yacc.c */8874 #line 2590 "parser.yy"8875 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8876 break;8877 8878 case 704:8879 8880 /* Line 1806 of yacc.c */8881 #line 2592 "parser.yy"8882 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8883 break;8884 8885 case 705:8886 8887 /* Line 1806 of yacc.c */8888 #line 2594 "parser.yy"8889 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8890 break;8891 8892 case 706:8893 8894 /* Line 1806 of yacc.c */8895 #line 2596 "parser.yy"8896 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8897 break;8898 8899 case 707:8900 8901 /* Line 1806 of yacc.c */8902 #line 2601 "parser.yy"8903 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }8904 break;8905 8906 case 708:8907 8908 /* Line 1806 of yacc.c */8909 #line 2603 "parser.yy"8910 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }8911 break;8912 8913 case 709:8914 8915 /* Line 1806 of yacc.c */8916 #line 2608 "parser.yy"8917 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }8918 break;8919 8920 case 710:8921 8922 /* Line 1806 of yacc.c */8923 #line 2610 "parser.yy"8924 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }8925 break;8926 8927 case 712:8928 8929 /* Line 1806 of yacc.c */8930 #line 2637 "parser.yy"8931 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }8932 break;8933 8934 case 716:8935 8936 /* Line 1806 of yacc.c */8937 #line 2648 "parser.yy"8938 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8939 break;8940 8941 case 717:8942 8943 /* Line 1806 of yacc.c */8944 #line 2650 "parser.yy"8945 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8946 break;8947 8948 case 718:8949 8950 /* Line 1806 of yacc.c */8951 #line 2652 "parser.yy"8952 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8953 break;8954 8955 case 719:8956 8957 /* Line 1806 of yacc.c */8958 #line 2654 "parser.yy"8959 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8960 break;8961 8962 case 720:8963 8964 /* Line 1806 of yacc.c */8965 #line 2656 "parser.yy"8966 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8967 break;8968 8969 case 721:8970 8971 /* Line 1806 of yacc.c */8972 #line 2658 "parser.yy"8973 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8974 break;8975 8976 case 722:8977 8978 /* Line 1806 of yacc.c */8979 #line 2665 "parser.yy"8980 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8981 break;8982 8983 case 723:8984 8985 /* Line 1806 of yacc.c */8986 #line 2667 "parser.yy"8987 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8988 break;8989 8990 case 724:8991 8992 /* Line 1806 of yacc.c */8993 #line 2669 "parser.yy"8994 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8995 break;8996 8997 case 725:8998 8999 /* Line 1806 of yacc.c */9000 #line 2671 "parser.yy"9001 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9002 break;9003 9004 8989 case 726: 9005 8990 9006 8991 /* Line 1806 of yacc.c */ 9007 #line 267 3"parser.yy"9008 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false) ); }8992 #line 2677 "parser.yy" 8993 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9009 8994 break; 9010 8995 … … 9012 8997 9013 8998 /* Line 1806 of yacc.c */ 9014 #line 26 75"parser.yy"9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl)); }8999 #line 2682 "parser.yy" 9000 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); } 9016 9001 break; 9017 9002 … … 9019 9004 9020 9005 /* Line 1806 of yacc.c */ 9021 #line 268 0"parser.yy"9022 { (yyval.decl) = DeclarationNode::new Tuple( (yyvsp[(3) - (5)].decl)); }9006 #line 2684 "parser.yy" 9007 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9023 9008 break; 9024 9009 … … 9026 9011 9027 9012 /* Line 1806 of yacc.c */ 9028 #line 2685 "parser.yy" 9029 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); } 9030 break; 9031 9032 case 730: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2687 "parser.yy" 9013 #line 2686 "parser.yy" 9036 9014 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9037 9015 break; 9038 9016 9039 case 731: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2689 "parser.yy" 9043 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9044 break; 9045 9046 case 734: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2715 "parser.yy" 9017 case 732: 9018 9019 /* Line 1806 of yacc.c */ 9020 #line 2712 "parser.yy" 9050 9021 { (yyval.en) = 0; } 9051 9022 break; 9052 9023 9053 case 73 5:9054 9055 /* Line 1806 of yacc.c */ 9056 #line 271 7"parser.yy"9024 case 733: 9025 9026 /* Line 1806 of yacc.c */ 9027 #line 2714 "parser.yy" 9057 9028 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9058 9029 break; … … 9061 9032 9062 9033 /* Line 1806 of yacc.c */ 9063 #line 90 64"Parser/parser.cc"9034 #line 9035 "Parser/parser.cc" 9064 9035 default: break; 9065 9036 } … … 9292 9263 9293 9264 /* Line 2067 of yacc.c */ 9294 #line 27 20"parser.yy"9265 #line 2717 "parser.yy" 9295 9266 9296 9267 // ----end of grammar---- -
src/Parser/parser.h
rb5b0907 rea9b9d3 252 252 ExpressionNode *en; 253 253 DeclarationNode *decl; 254 DeclarationNode:: AggregateaggKey;254 DeclarationNode::TyCon aggKey; 255 255 DeclarationNode::TypeClass tclass; 256 256 StatementNode *sn; -
src/Parser/parser.yy
rb5b0907 rea9b9d3 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 07:21:45201513 // Update Count : 104 812 // Last Modified On : Wed Jun 10 20:31:54 2015 13 // Update Count : 1040 14 14 // 15 15 … … 111 111 ExpressionNode *en; 112 112 DeclarationNode *decl; 113 DeclarationNode:: AggregateaggKey;113 DeclarationNode::TyCon aggKey; 114 114 DeclarationNode::TypeClass tclass; 115 115 StatementNode *sn; … … 887 887 888 888 asm_operand: // GCC 889 STRINGliteral '(' constant_expression ')' {}889 STRINGliteral '(' constant_expression ')' {} 890 890 ; 891 891 … … 1247 1247 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 1248 1248 | INLINE // C99 1249 // INLINE is essentially a storage class specifier for functions, and hence, belongs here. 1249 1250 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1250 1251 | FORTRAN // C99 1251 1252 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 1252 | NORETURN // C111253 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }1254 | THREADLOCAL // C111255 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }1256 1253 ; 1257 1254 -
src/SymTab/Validate.cc
rb5b0907 rea9b9d3 10 10 // Created On : Sun May 17 21:50:04 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:06:13201513 // Update Count : 2 612 // Last Modified On : Mon Jun 8 17:19:35 2015 13 // Update Count : 22 14 14 // 15 15 … … 45 45 #include "SynTree/Type.h" 46 46 #include "SynTree/Statement.h" 47 #include "Indexer.h" 47 48 #include "SynTree/TypeSubstitution.h" 48 #include "Indexer.h"49 49 #include "FixFunction.h" 50 50 #include "ImplementationType.h" … … 506 506 if ( ! array->get_dimension() ) return; 507 507 508 ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration Node::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );508 ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ); 509 509 *out++ = new DeclStmt( noLabels, index ); 510 510 … … 544 544 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 545 545 546 ObjectDecl *returnVal = new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );546 ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 547 547 assignType->get_returnVals().push_back( returnVal ); 548 548 549 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );549 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 ); 550 550 assignType->get_parameters().push_back( dstParam ); 551 551 552 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );552 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 ); 553 553 assignType->get_parameters().push_back( srcParam ); 554 554 555 555 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 556 556 // because each unit generates copies of the default routines for each aggregate. 557 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration Node::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );557 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true ); 558 558 assignDecl->fixUniqueId(); 559 559 … … 587 587 FunctionType *assignType = new FunctionType( Type::Qualifiers(), false ); 588 588 589 ObjectDecl *returnVal = new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );589 ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 590 590 assignType->get_returnVals().push_back( returnVal ); 591 591 592 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );592 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 ); 593 593 assignType->get_parameters().push_back( dstParam ); 594 594 595 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );595 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 ); 596 596 assignType->get_parameters().push_back( srcParam ); 597 597 598 598 // Routines at global scope marked "static" to prevent multiple definitions is separate translation units 599 599 // because each unit generates copies of the default routines for each aggregate. 600 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration Node::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );600 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true ); 601 601 assignDecl->fixUniqueId(); 602 602 … … 633 633 TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false ); 634 634 typeInst->set_baseType( typeDecl ); 635 ObjectDecl *src = new ObjectDecl( "_src", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );636 ObjectDecl *dst = new ObjectDecl( "_dst", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );635 ObjectDecl *src = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 ); 636 ObjectDecl *dst = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 ); 637 637 if ( typeDecl->get_base() ) { 638 638 stmts = new CompoundStmt( std::list< Label >() ); … … 643 643 } // if 644 644 FunctionType *type = new FunctionType( Type::Qualifiers(), false ); 645 type->get_returnVals().push_back( new ObjectDecl( "", Declaration Node::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );645 type->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) ); 646 646 type->get_parameters().push_back( dst ); 647 647 type->get_parameters().push_back( src ); 648 FunctionDecl *func = new FunctionDecl( "?=?", Declaration Node::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );648 FunctionDecl *func = new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false ); 649 649 declsToAdd.push_back( func ); 650 650 } -
src/SynTree/AggregateDecl.cc
rb5b0907 rea9b9d3 10 10 // Created On : Sun May 17 23:56:39 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:12:49201513 // Update Count : 612 // Last Modified On : Tue May 19 16:52:08 2015 13 // Update Count : 5 14 14 // 15 15 … … 19 19 20 20 21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration Node::NoStorageClass, LinkageSpec::Cforall ) {21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration::NoStorageClass, LinkageSpec::Cforall ) { 22 22 } 23 23 -
src/SynTree/Declaration.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:07:20201513 // Update Count : 912 // Last Modified On : Mon May 18 08:18:35 2015 13 // Update Count : 2 14 14 // 15 15 … … 22 22 #include "utility.h" 23 23 24 const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" }; 25 24 26 static UniqueId lastUniqueId = 0; 25 27 typedef std::map< UniqueId, Declaration* > IdMapType; 26 28 static IdMapType idMap; 27 29 28 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )29 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {30 Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage ) 31 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) { 30 32 } 31 33 32 34 Declaration::Declaration( const Declaration &other ) 33 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {35 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) { 34 36 } 35 37 … … 42 44 } 43 45 46 /* static class method */ 44 47 Declaration *Declaration::declFromId( UniqueId id ) { 45 48 IdMapType::const_iterator i = idMap.find( id ); 46 return i != idMap.end() ? i->second : 0; 49 if ( i != idMap.end() ) { 50 return i->second; 51 } else { 52 return 0; 53 } // if 47 54 } 48 55 56 /* static class method */ 49 57 void Declaration::dumpIds( std::ostream &os ) { 50 58 for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) { -
src/SynTree/Declaration.h
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jun 12 23:55:26201513 // Update Count : 2412 // Last Modified On : Sun Jun 7 22:03:43 2015 13 // Update Count : 7 14 14 // 15 15 … … 21 21 #include "Mutator.h" 22 22 #include "Parser/LinkageSpec.h" 23 #include "Parser/ParseNode.h"24 23 25 24 class Declaration { 26 25 public: 27 Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ); 26 enum StorageClass { 27 NoStorageClass, 28 Extern, 29 Static, 30 Auto, 31 Register, 32 Inline, 33 Fortran, 34 }; 35 36 Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage ); 28 37 Declaration( const Declaration &other ); 29 38 virtual ~Declaration(); … … 31 40 const std::string &get_name() const { return name; } 32 41 void set_name( std::string newValue ) { name = newValue; } 33 DeclarationNode::StorageClass get_storageClass() const { return storageClass; }34 void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }42 StorageClass get_storageClass() const { return storageClass; } 43 void set_storageClass( StorageClass newValue ) { storageClass = newValue; } 35 44 LinkageSpec::Type get_linkage() const { return linkage; } 36 45 void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; } … … 44 53 virtual void printShort( std::ostream &os, int indent = 0 ) const = 0; 45 54 55 static const char* storageClassName[]; 56 46 57 static void dumpIds( std::ostream &os ); 47 58 static Declaration *declFromId( UniqueId id ); 48 59 private: 49 60 std::string name; 50 DeclarationNode::StorageClass storageClass;61 StorageClass storageClass; 51 62 LinkageSpec::Type linkage; 52 63 UniqueId uniqueId; … … 55 66 class DeclarationWithType : public Declaration { 56 67 public: 57 DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );68 DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage ); 58 69 DeclarationWithType( const DeclarationWithType &other ); 59 70 virtual ~DeclarationWithType(); … … 75 86 typedef DeclarationWithType Parent; 76 87 public: 77 ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );88 ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init ); 78 89 ObjectDecl( const ObjectDecl &other ); 79 90 virtual ~ObjectDecl(); … … 101 112 typedef DeclarationWithType Parent; 102 113 public: 103 FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );114 FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline ); 104 115 FunctionDecl( const FunctionDecl &other ); 105 116 virtual ~FunctionDecl(); … … 133 144 typedef Declaration Parent; 134 145 public: 135 NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );146 NamedTypeDecl( const std::string &name, StorageClass sc, Type *type ); 136 147 NamedTypeDecl( const TypeDecl &other ); 137 148 virtual ~NamedTypeDecl(); … … 158 169 enum Kind { Any, Dtype, Ftype }; 159 170 160 TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );171 TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ); 161 172 TypeDecl( const TypeDecl &other ); 162 173 … … 174 185 typedef NamedTypeDecl Parent; 175 186 public: 176 TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}187 TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {} 177 188 TypedefDecl( const TypedefDecl &other ) : Parent( other ) {} 178 189 -
src/SynTree/DeclarationWithType.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:08:07201513 // Update Count : 312 // Last Modified On : Mon May 18 08:20:23 2015 13 // Update Count : 2 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )20 DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage ) 21 21 : Declaration( name, sc, linkage ) { 22 22 } -
src/SynTree/FunctionDecl.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 13 08:12:20201513 // Update Count : 1 412 // Last Modified On : Sun Jun 7 08:36:44 2015 13 // Update Count : 12 14 14 // 15 15 … … 21 21 #include "utility.h" 22 22 23 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline )23 FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline ) 24 24 : Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ) { 25 25 // this is a brazen hack to force the function "main" to have C linkage … … 60 60 os << "inline "; 61 61 } // if 62 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {63 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';62 if ( get_storageClass() != NoStorageClass ) { 63 os << storageClassName[ get_storageClass() ] << ' '; 64 64 } // if 65 65 if ( get_type() ) { … … 96 96 os << "inline "; 97 97 } // if 98 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {99 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';98 if ( get_storageClass() != NoStorageClass ) { 99 os << storageClassName[ get_storageClass() ] << ' '; 100 100 } // if 101 101 if ( get_type() ) { -
src/SynTree/NamedTypeDecl.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 13 08:13:55201513 // Update Count : 312 // Last Modified On : Sun Jun 7 08:36:09 2015 13 // Update Count : 2 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base )20 NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base ) 21 21 : Parent( name, sc, LinkageSpec::Cforall ), base( base ) {} 22 22 … … 39 39 os << get_name() << ": "; 40 40 } // if 41 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {42 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';41 if ( get_storageClass() != NoStorageClass ) { 42 os << storageClassName[ get_storageClass() ] << ' '; 43 43 } // if 44 44 os << typeString(); … … 63 63 os << get_name() << ": "; 64 64 } // if 65 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {66 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';65 if ( get_storageClass() != NoStorageClass ) { 66 os << storageClassName[ get_storageClass() ] << ' '; 67 67 } // if 68 68 os << typeString(); -
src/SynTree/ObjectDecl.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:10:16201513 // Update Count : 1 512 // Last Modified On : Thu Jun 4 21:21:12 2015 13 // Update Count : 10 14 14 // 15 15 … … 20 20 #include "utility.h" 21 21 22 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )22 ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init ) 23 23 : Parent( name, sc, linkage ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) { 24 24 } … … 43 43 } // if 44 44 45 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {46 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';45 if ( get_storageClass() != NoStorageClass ) { 46 os << storageClassName[ get_storageClass() ] << ' '; 47 47 } // if 48 48 … … 74 74 } // if 75 75 76 if ( get_storageClass() != DeclarationNode::NoStorageClass ) {77 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';76 if ( get_storageClass() != NoStorageClass ) { 77 os << storageClassName[ get_storageClass() ] << ' '; 78 78 } // if 79 79 -
src/SynTree/TypeDecl.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:14:35201513 // Update Count : 212 // Last Modified On : Mon May 18 11:02:11 2015 13 // Update Count : 1 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {20 TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) { 21 21 } 22 22 -
src/Tests/Attributes.c
rb5b0907 rea9b9d3 1 // I Compile-time resolution2 // =========================3 //4 // 1. an isolated name, where the argument is implicitly determined by the result context5 //6 // @max7 //8 // 2. a direct application to a manifest type9 //10 // @max( int )11 //12 // 3. constraining a type variable; the application is implicitly performed at the call site as in (2)13 //14 // forall( type T | { T @max( T ); } ) T x( T t );15 //16 //17 // II Run-time resolution18 // ======================19 //20 // 1. an indirect reference, where the argument is implicitly determined by the result context21 //22 // attr_var = &@max;23 // x = (*attr_var);24 //25 // 2. an indirect application to a manifest type26 //27 // (*attr_var)( int )28 //29 // 3. a direct application to a type variable30 //31 // @max( T )32 //33 // Under what circumstances can this be done at compile/link time?34 //35 //36 // III Declaration forms37 // =====================38 //39 // 1. monomorphic with implicit argument40 //41 // int @max;42 //43 // 2. monomorphic with explicit argument44 //45 // int @max( int );46 //47 // 3. polymorphic48 //49 // forall( type T | constraint( T ) ) int @attr( T );50 51 1 int @max = 3; 52 2 53 3 int main() { 54 4 int x; 55 type @type(type t); // compiler intrinsic5 type @type(type t); // compiler intrinsic 56 6 type @widest(type t); 57 @type(x) *y; // gcc: typeof(x) *y;58 const @widest(double) *w; // gcc: const typeof(x) *w;59 * @type(3 + 4) z; // cfa declaration syntax7 @type(x) *y; // gcc: typeof(x) *y; 8 const @widest(double) *w; // gcc: const typeof(x) *w; 9 * @type(3 + 4) z; // cfa declaration syntax 60 10 y = @max; 61 11 z = @max(x) + @size(int); -
src/Tests/Expect-a/AsmName.txt
rb5b0907 rea9b9d3 1 x: externsigned int1 x: auto signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-a/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-a/Context.txt
rb5b0907 rea9b9d3 52 52 53 53 54 Declaration of x: externtype55 Declaration of y: externtype54 Declaration of x: auto type 55 Declaration of y: auto type 56 56 with assertions 57 57 instance of context has_r -
src/Tests/Expect-a/Functions.txt
rb5b0907 rea9b9d3 173 173 CompoundStmt 174 174 175 fII3: externfunction176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: externfunction175 fII3: auto function 176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: auto function 184 184 with parameters 185 185 i: signed int … … 257 257 CompoundStmt 258 258 259 fO4: externfunction259 fO4: auto function 260 260 accepting unspecified arguments 261 261 returning … … 268 268 CompoundStmt 269 269 270 fO5: externfunction270 fO5: auto function 271 271 accepting unspecified arguments 272 272 returning -
src/Tests/Expect-a/TypeGenerator.txt
rb5b0907 rea9b9d3 65 65 signed int 66 66 67 struct S1 68 with parameters 69 T: type 70 71 struct S1 72 with parameters 73 T: type 74 75 with members 76 i: instance of type T (not function type) 77 78 v1: instance of struct S1 79 with parameters 80 signed int 81 82 p: pointer to instance of struct S1 83 with parameters 84 signed int 85 67 86 struct S2 68 87 with parameters … … 72 91 i: instance of type T (not function type) 73 92 74 v1: instance of struct S3 75 with parameters 76 signed int 77 78 p: pointer to instance of struct S3 79 with parameters 80 signed int 81 82 struct S24 83 with parameters 84 T: type 85 86 with members 87 i: instance of type T (not function type) 88 89 v2: instance of struct S24 93 v2: instance of struct S2 90 94 with parameters 91 95 signed int -
src/Tests/Expect-e/AsmName.txt
rb5b0907 rea9b9d3 1 x: externsigned int1 x: auto signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-e/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-e/Context.txt
rb5b0907 rea9b9d3 54 54 55 55 56 Declaration of x: externtype56 Declaration of x: auto type 57 57 Declaration of ?=?: automatically generated function 58 58 with parameters … … 62 62 instance of type x (not function type) 63 63 64 Declaration of y: externtype64 Declaration of y: auto type 65 65 with assertions 66 66 instance of context has_r -
src/Tests/Expect-e/Function.txt
rb5b0907 rea9b9d3 245 245 246 246 247 cfa-cpp: GenPoly/Box.cc: 401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.247 cfa-cpp: GenPoly/Box.cc:398: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed. 248 248 Aborted (core dumped) -
src/Tests/Expect-e/TypeGenerator.txt
rb5b0907 rea9b9d3 53 53 Name: *? 54 54 ...to: 55 Variable Expression: _dst: pointer to instance of struct S 255 Variable Expression: _dst: pointer to instance of struct S1 56 56 Member Expression, with field: 57 57 i: instance of type T (not function type) 58 58 from aggregate: 59 Variable Expression: _src: instance of struct S 259 Variable Expression: _src: instance of struct S1 60 60 61 61 Error: No reasonable alternatives for expression Applying untyped: … … 69 69 Name: *? 70 70 ...to: 71 Variable Expression: _dst: pointer to instance of struct S2 471 Variable Expression: _dst: pointer to instance of struct S2 72 72 Member Expression, with field: 73 73 i: instance of type T (not function type) 74 74 from aggregate: 75 Variable Expression: _src: instance of struct S2 475 Variable Expression: _src: instance of struct S2 76 76 77 77 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-f/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-f/TypeGenerator.txt
rb5b0907 rea9b9d3 47 47 Name: *? 48 48 ...to: 49 Variable Expression: _dst: pointer to instance of struct S 249 Variable Expression: _dst: pointer to instance of struct S1 50 50 Member Expression, with field: 51 51 i: instance of type T (not function type) 52 52 from aggregate: 53 Variable Expression: _src: instance of struct S 253 Variable Expression: _src: instance of struct S1 54 54 55 55 Error: No reasonable alternatives for expression Applying untyped: … … 63 63 Name: *? 64 64 ...to: 65 Variable Expression: _dst: pointer to instance of struct S2 465 Variable Expression: _dst: pointer to instance of struct S2 66 66 Member Expression, with field: 67 67 i: instance of type T (not function type) 68 68 from aggregate: 69 Variable Expression: _src: instance of struct S2 469 Variable Expression: _src: instance of struct S2 70 70 71 71 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-r/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-r/Function.txt
rb5b0907 rea9b9d3 4954 4954 there are 1 alternatives before elimination 4955 4955 there are 1 alternatives after elimination 4956 cfa-cpp: GenPoly/Box.cc: 401: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.4956 cfa-cpp: GenPoly/Box.cc:398: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed. 4957 4957 Aborted (core dumped) -
src/Tests/Expect-r/TypeGenerator.txt
rb5b0907 rea9b9d3 610 610 decl is ?=?: automatically generated inline static function 611 611 with parameters 612 _dst: pointer to instance of struct S 2613 _src: instance of struct S 2612 _dst: pointer to instance of struct S1 613 _src: instance of struct S1 614 614 returning 615 instance of struct S 2615 instance of struct S1 616 616 with body 617 617 CompoundStmt … … 627 627 Name: *? 628 628 ...to: 629 Variable Expression: _dst: pointer to instance of struct S 2629 Variable Expression: _dst: pointer to instance of struct S1 630 630 Member Expression, with field: 631 631 i: instance of type T (not function type) 632 632 from aggregate: 633 Variable Expression: _src: instance of struct S 2634 635 Return Statement, returning: Variable Expression: _src: instance of struct S 2633 Variable Expression: _src: instance of struct S1 634 635 Return Statement, returning: Variable Expression: _src: instance of struct S1 636 636 637 637 … … 639 639 newExpr is Variable Expression: ?=?: inline static function 640 640 with parameters 641 _dst: pointer to instance of struct S 2642 _src: instance of struct S 2643 returning 644 instance of struct S 2641 _dst: pointer to instance of struct S1 642 _src: instance of struct S1 643 returning 644 instance of struct S1 645 645 646 646 … … 698 698 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 699 699 with parameters 700 _dst: pointer to instance of struct S1 701 _src: instance of struct S1 702 returning 703 instance of struct S1 704 705 (types: 706 pointer to function 707 with parameters 708 _dst: pointer to instance of struct S1 709 _src: instance of struct S1 710 returning 711 instance of struct S1 712 713 ) 714 Environment: 715 716 Cost ( 0, 0, 0 ): Variable Expression: ?=?: function 717 with parameters 718 _dst: pointer to instance of type List1 (not function type) 719 _src: instance of type List1 (not function type) 720 returning 721 instance of type List1 (not function type) 722 723 (types: 724 pointer to function 725 with parameters 726 _dst: pointer to instance of type List1 (not function type) 727 _src: instance of type List1 (not function type) 728 returning 729 instance of type List1 (not function type) 730 731 ) 732 Environment: 733 734 there are 3 alternatives before elimination 735 there are 3 alternatives after elimination 736 alternatives before prune: 737 Cost ( 0, 0, 0 ): Member Expression, with field: 738 i: instance of type T (not function type) 739 from aggregate: 740 Applying untyped: 741 Name: *? 742 ...to: 743 Variable Expression: _dst: pointer to instance of struct S1 744 (types: 745 lvalue instance of type T (not function type) 746 ) 747 Environment: 748 749 there are 1 alternatives before elimination 750 there are 1 alternatives after elimination 751 alternatives before prune: 752 Cost ( 0, 0, 0 ): Address of: 753 Member Expression, with field: 754 i: instance of type T (not function type) 755 from aggregate: 756 Applying untyped: 757 Name: *? 758 ...to: 759 Variable Expression: _dst: pointer to instance of struct S1 760 (types: 761 pointer to instance of type T (not function type) 762 ) 763 Environment: 764 765 there are 1 alternatives before elimination 766 there are 1 alternatives after elimination 767 findSubExprs 768 Cost ( 0, 0, 0 ): Address of: 769 Member Expression, with field: 770 i: instance of type T (not function type) 771 from aggregate: 772 Applying untyped: 773 Name: *? 774 ...to: 775 Variable Expression: _dst: pointer to instance of struct S1 776 (types: 777 pointer to instance of type T (not function type) 778 ) 779 Environment: 780 781 alternatives before prune: 782 Cost ( 0, 0, 0 ): Member Expression, with field: 783 i: instance of type T (not function type) 784 from aggregate: 785 Variable Expression: _src: instance of struct S1 786 (types: 787 lvalue instance of type T (not function type) 788 ) 789 Environment: 790 791 there are 1 alternatives before elimination 792 there are 1 alternatives after elimination 793 findSubExprs 794 Cost ( 0, 0, 0 ): Member Expression, with field: 795 i: instance of type T (not function type) 796 from aggregate: 797 Variable Expression: _src: instance of struct S1 798 (types: 799 lvalue instance of type T (not function type) 800 ) 801 Environment: 802 803 working on alternative: 804 Cost ( 0, 0, 0 ): Variable Expression: ?=?: function 805 with parameters 806 _dst: pointer to instance of type List1 (not function type) 807 _src: instance of type List1 (not function type) 808 returning 809 instance of type List1 (not function type) 810 811 (types: 812 pointer to function 813 with parameters 814 _dst: pointer to instance of type List1 (not function type) 815 _src: instance of type List1 (not function type) 816 returning 817 instance of type List1 (not function type) 818 819 ) 820 Environment: 821 formal type is pointer to instance of type List1 (not function type) 822 actual type is pointer to instance of type T (not function type) 823 working on alternative: 824 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 825 with parameters 826 _dst: pointer to instance of struct S1 827 _src: instance of struct S1 828 returning 829 instance of struct S1 830 831 (types: 832 pointer to function 833 with parameters 834 _dst: pointer to instance of struct S1 835 _src: instance of struct S1 836 returning 837 instance of struct S1 838 839 ) 840 Environment: 841 formal type is pointer to instance of struct S1 842 actual type is pointer to instance of type T (not function type) 843 working on alternative: 844 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 845 with parameters 846 _dst: pointer to instance of struct __anonymous0 847 _src: instance of struct __anonymous0 848 returning 849 instance of struct __anonymous0 850 851 (types: 852 pointer to function 853 with parameters 854 _dst: pointer to instance of struct __anonymous0 855 _src: instance of struct __anonymous0 856 returning 857 instance of struct __anonymous0 858 859 ) 860 Environment: 861 formal type is pointer to instance of struct __anonymous0 862 actual type is pointer to instance of type T (not function type) 863 alternatives before prune: 864 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S1 865 (types: 866 lvalue instance of struct S1 867 ) 868 Environment: 869 870 there are 1 alternatives before elimination 871 there are 1 alternatives after elimination 872 alternatives before prune: 873 Cost ( 0, 0, 0 ): Cast of: 874 Variable Expression: _src: instance of struct S1 875 876 to: 877 instance of struct S1 878 (types: 879 instance of struct S1 880 ) 881 Environment: 882 883 there are 1 alternatives before elimination 884 there are 1 alternatives after elimination 885 nameExpr is ?=? 886 decl is ?=?: automatically generated inline static function 887 with parameters 888 _dst: pointer to instance of struct __anonymous0 889 _src: instance of struct __anonymous0 890 returning 891 instance of struct __anonymous0 892 with body 893 CompoundStmt 894 Expression Statement: 895 Applying untyped: 896 Name: ?=? 897 ...to: 898 Address of: 899 Member Expression, with field: 900 data: instance of type T (not function type) 901 from aggregate: 902 Applying untyped: 903 Name: *? 904 ...to: 905 Variable Expression: _dst: pointer to instance of struct __anonymous0 906 Member Expression, with field: 907 data: instance of type T (not function type) 908 from aggregate: 909 Variable Expression: _src: instance of struct __anonymous0 910 911 Expression Statement: 912 Applying untyped: 913 Name: ?=? 914 ...to: 915 Address of: 916 Member Expression, with field: 917 next: pointer to instance of type List1 (not function type) 918 with parameters 919 instance of type T (not function type) 920 921 from aggregate: 922 Applying untyped: 923 Name: *? 924 ...to: 925 Variable Expression: _dst: pointer to instance of struct __anonymous0 926 Member Expression, with field: 927 next: pointer to instance of type List1 (not function type) 928 with parameters 929 instance of type T (not function type) 930 931 from aggregate: 932 Variable Expression: _src: instance of struct __anonymous0 933 934 Return Statement, returning: Cast of: 935 Variable Expression: _src: instance of struct __anonymous0 936 937 to: 938 instance of struct __anonymous0 939 with environment: 940 Types: 941 Non-types: 942 943 944 945 newExpr is Variable Expression: ?=?: inline static function 946 with parameters 947 _dst: pointer to instance of struct __anonymous0 948 _src: instance of struct __anonymous0 949 returning 950 instance of struct __anonymous0 951 952 953 decl is ?=?: automatically generated inline static function 954 with parameters 955 _dst: pointer to instance of struct S1 956 _src: instance of struct S1 957 returning 958 instance of struct S1 959 with body 960 CompoundStmt 961 Expression Statement: 962 Applying untyped: 963 Name: ?=? 964 ...to: 965 Address of: 966 Member Expression, with field: 967 i: instance of type T (not function type) 968 from aggregate: 969 Applying untyped: 970 Name: *? 971 ...to: 972 Variable Expression: _dst: pointer to instance of struct S1 973 Member Expression, with field: 974 i: instance of type T (not function type) 975 from aggregate: 976 Variable Expression: _src: instance of struct S1 977 978 Return Statement, returning: Cast of: 979 Variable Expression: _src: instance of struct S1 980 981 to: 982 instance of struct S1 983 with environment: 984 Types: 985 Non-types: 986 987 988 989 newExpr is Variable Expression: ?=?: inline static function 990 with parameters 991 _dst: pointer to instance of struct S1 992 _src: instance of struct S1 993 returning 994 instance of struct S1 995 996 997 decl is ?=?: automatically generated inline static function 998 with parameters 999 _dst: pointer to instance of struct S2 1000 _src: instance of struct S2 1001 returning 1002 instance of struct S2 1003 with body 1004 CompoundStmt 1005 Expression Statement: 1006 Applying untyped: 1007 Name: ?=? 1008 ...to: 1009 Address of: 1010 Member Expression, with field: 1011 i: instance of type T (not function type) 1012 from aggregate: 1013 Applying untyped: 1014 Name: *? 1015 ...to: 1016 Variable Expression: _dst: pointer to instance of struct S2 1017 Member Expression, with field: 1018 i: instance of type T (not function type) 1019 from aggregate: 1020 Variable Expression: _src: instance of struct S2 1021 1022 Return Statement, returning: Variable Expression: _src: instance of struct S2 1023 1024 1025 1026 newExpr is Variable Expression: ?=?: inline static function 1027 with parameters 1028 _dst: pointer to instance of struct S2 1029 _src: instance of struct S2 1030 returning 1031 instance of struct S2 1032 1033 1034 decl is ?=?: automatically generated function 1035 with parameters 1036 _dst: pointer to instance of type List1 (not function type) 1037 _src: instance of type List1 (not function type) 1038 returning 1039 instance of type List1 (not function type) 1040 with body 1041 CompoundStmt 1042 Return Statement, returning: Applying untyped: 1043 Name: ?=? 1044 ...to: 1045 Cast of: 1046 Variable Expression: _dst: pointer to instance of type List1 (not function type) 1047 1048 to: 1049 pointer to pointer to instance of struct __anonymous0 1050 Cast of: 1051 Variable Expression: _src: instance of type List1 (not function type) 1052 1053 to: 1054 pointer to instance of struct __anonymous0 1055 1056 1057 1058 newExpr is Variable Expression: ?=?: function 1059 with parameters 1060 _dst: pointer to instance of type List1 (not function type) 1061 _src: instance of type List1 (not function type) 1062 returning 1063 instance of type List1 (not function type) 1064 1065 1066 alternatives before prune: 1067 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1068 with parameters 1069 _dst: pointer to instance of struct __anonymous0 1070 _src: instance of struct __anonymous0 1071 returning 1072 instance of struct __anonymous0 1073 1074 (types: 1075 pointer to function 1076 with parameters 1077 _dst: pointer to instance of struct __anonymous0 1078 _src: instance of struct __anonymous0 1079 returning 1080 instance of struct __anonymous0 1081 1082 ) 1083 Environment: 1084 1085 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1086 with parameters 1087 _dst: pointer to instance of struct S1 1088 _src: instance of struct S1 1089 returning 1090 instance of struct S1 1091 1092 (types: 1093 pointer to function 1094 with parameters 1095 _dst: pointer to instance of struct S1 1096 _src: instance of struct S1 1097 returning 1098 instance of struct S1 1099 1100 ) 1101 Environment: 1102 1103 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1104 with parameters 700 1105 _dst: pointer to instance of struct S2 701 1106 _src: instance of struct S2 … … 732 1137 Environment: 733 1138 734 there are 3alternatives before elimination735 there are 3alternatives after elimination1139 there are 4 alternatives before elimination 1140 there are 4 alternatives after elimination 736 1141 alternatives before prune: 737 1142 Cost ( 0, 0, 0 ): Member Expression, with field: … … 844 1249 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 845 1250 with parameters 1251 _dst: pointer to instance of struct S1 1252 _src: instance of struct S1 1253 returning 1254 instance of struct S1 1255 1256 (types: 1257 pointer to function 1258 with parameters 1259 _dst: pointer to instance of struct S1 1260 _src: instance of struct S1 1261 returning 1262 instance of struct S1 1263 1264 ) 1265 Environment: 1266 formal type is pointer to instance of struct S1 1267 actual type is pointer to instance of type T (not function type) 1268 working on alternative: 1269 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1270 with parameters 846 1271 _dst: pointer to instance of struct __anonymous0 847 1272 _src: instance of struct __anonymous0 … … 953 1378 decl is ?=?: automatically generated inline static function 954 1379 with parameters 1380 _dst: pointer to instance of struct __anonymous1 1381 _src: instance of struct __anonymous1 1382 returning 1383 instance of struct __anonymous1 1384 with body 1385 CompoundStmt 1386 Expression Statement: 1387 Applying untyped: 1388 Name: ?=? 1389 ...to: 1390 Address of: 1391 Member Expression, with field: 1392 i: instance of type T (not function type) 1393 from aggregate: 1394 Applying untyped: 1395 Name: *? 1396 ...to: 1397 Variable Expression: _dst: pointer to instance of struct __anonymous1 1398 Member Expression, with field: 1399 i: instance of type T (not function type) 1400 from aggregate: 1401 Variable Expression: _src: instance of struct __anonymous1 1402 1403 Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 1404 1405 1406 1407 newExpr is Variable Expression: ?=?: inline static function 1408 with parameters 1409 _dst: pointer to instance of struct __anonymous1 1410 _src: instance of struct __anonymous1 1411 returning 1412 instance of struct __anonymous1 1413 1414 1415 decl is ?=?: automatically generated inline static function 1416 with parameters 1417 _dst: pointer to instance of struct S1 1418 _src: instance of struct S1 1419 returning 1420 instance of struct S1 1421 with body 1422 CompoundStmt 1423 Expression Statement: 1424 Applying untyped: 1425 Name: ?=? 1426 ...to: 1427 Address of: 1428 Member Expression, with field: 1429 i: instance of type T (not function type) 1430 from aggregate: 1431 Applying untyped: 1432 Name: *? 1433 ...to: 1434 Variable Expression: _dst: pointer to instance of struct S1 1435 Member Expression, with field: 1436 i: instance of type T (not function type) 1437 from aggregate: 1438 Variable Expression: _src: instance of struct S1 1439 1440 Return Statement, returning: Cast of: 1441 Variable Expression: _src: instance of struct S1 1442 1443 to: 1444 instance of struct S1 1445 with environment: 1446 Types: 1447 Non-types: 1448 1449 1450 1451 newExpr is Variable Expression: ?=?: inline static function 1452 with parameters 1453 _dst: pointer to instance of struct S1 1454 _src: instance of struct S1 1455 returning 1456 instance of struct S1 1457 1458 1459 decl is ?=?: automatically generated inline static function 1460 with parameters 955 1461 _dst: pointer to instance of struct S2 956 1462 _src: instance of struct S2 … … 993 1499 returning 994 1500 instance of struct S2 995 996 997 decl is ?=?: automatically generated inline static function998 with parameters999 _dst: pointer to instance of struct S241000 _src: instance of struct S241001 returning1002 instance of struct S241003 with body1004 CompoundStmt1005 Expression Statement:1006 Applying untyped:1007 Name: ?=?1008 ...to:1009 Address of:1010 Member Expression, with field:1011 i: instance of type T (not function type)1012 from aggregate:1013 Applying untyped:1014 Name: *?1015 ...to:1016 Variable Expression: _dst: pointer to instance of struct S241017 Member Expression, with field:1018 i: instance of type T (not function type)1019 from aggregate:1020 Variable Expression: _src: instance of struct S241021 1022 Return Statement, returning: Variable Expression: _src: instance of struct S241023 1024 1025 1026 newExpr is Variable Expression: ?=?: inline static function1027 with parameters1028 _dst: pointer to instance of struct S241029 _src: instance of struct S241030 returning1031 instance of struct S241032 1501 1033 1502 … … 1085 1554 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1086 1555 with parameters 1556 _dst: pointer to instance of struct __anonymous1 1557 _src: instance of struct __anonymous1 1558 returning 1559 instance of struct __anonymous1 1560 1561 (types: 1562 pointer to function 1563 with parameters 1564 _dst: pointer to instance of struct __anonymous1 1565 _src: instance of struct __anonymous1 1566 returning 1567 instance of struct __anonymous1 1568 1569 ) 1570 Environment: 1571 1572 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1573 with parameters 1574 _dst: pointer to instance of struct S1 1575 _src: instance of struct S1 1576 returning 1577 instance of struct S1 1578 1579 (types: 1580 pointer to function 1581 with parameters 1582 _dst: pointer to instance of struct S1 1583 _src: instance of struct S1 1584 returning 1585 instance of struct S1 1586 1587 ) 1588 Environment: 1589 1590 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1591 with parameters 1087 1592 _dst: pointer to instance of struct S2 1088 1593 _src: instance of struct S2 … … 1101 1606 Environment: 1102 1607 1103 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function1104 with parameters1105 _dst: pointer to instance of struct S241106 _src: instance of struct S241107 returning1108 instance of struct S241109 1110 (types:1111 pointer to function1112 with parameters1113 _dst: pointer to instance of struct S241114 _src: instance of struct S241115 returning1116 instance of struct S241117 1118 )1119 Environment:1120 1121 1608 Cost ( 0, 0, 0 ): Variable Expression: ?=?: function 1122 1609 with parameters … … 1137 1624 Environment: 1138 1625 1139 there are 4alternatives before elimination1140 there are 4alternatives after elimination1626 there are 5 alternatives before elimination 1627 there are 5 alternatives after elimination 1141 1628 alternatives before prune: 1142 1629 Cost ( 0, 0, 0 ): Member Expression, with field: … … 1146 1633 Name: *? 1147 1634 ...to: 1148 Variable Expression: _dst: pointer to instance of struct S241635 Variable Expression: _dst: pointer to instance of struct __anonymous1 1149 1636 (types: 1150 1637 lvalue instance of type T (not function type) … … 1162 1649 Name: *? 1163 1650 ...to: 1164 Variable Expression: _dst: pointer to instance of struct S241651 Variable Expression: _dst: pointer to instance of struct __anonymous1 1165 1652 (types: 1166 1653 pointer to instance of type T (not function type) … … 1178 1665 Name: *? 1179 1666 ...to: 1180 Variable Expression: _dst: pointer to instance of struct S241667 Variable Expression: _dst: pointer to instance of struct __anonymous1 1181 1668 (types: 1182 1669 pointer to instance of type T (not function type) … … 1188 1675 i: instance of type T (not function type) 1189 1676 from aggregate: 1190 Variable Expression: _src: instance of struct S241677 Variable Expression: _src: instance of struct __anonymous1 1191 1678 (types: 1192 1679 lvalue instance of type T (not function type) … … 1200 1687 i: instance of type T (not function type) 1201 1688 from aggregate: 1202 Variable Expression: _src: instance of struct S241689 Variable Expression: _src: instance of struct __anonymous1 1203 1690 (types: 1204 1691 lvalue instance of type T (not function type) … … 1225 1712 Environment: 1226 1713 formal type is pointer to instance of type List1 (not function type) 1227 actual type is pointer to instance of type T (not function type)1228 working on alternative:1229 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function1230 with parameters1231 _dst: pointer to instance of struct S241232 _src: instance of struct S241233 returning1234 instance of struct S241235 1236 (types:1237 pointer to function1238 with parameters1239 _dst: pointer to instance of struct S241240 _src: instance of struct S241241 returning1242 instance of struct S241243 1244 )1245 Environment:1246 formal type is pointer to instance of struct S241247 1714 actual type is pointer to instance of type T (not function type) 1248 1715 working on alternative: … … 1269 1736 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1270 1737 with parameters 1738 _dst: pointer to instance of struct S1 1739 _src: instance of struct S1 1740 returning 1741 instance of struct S1 1742 1743 (types: 1744 pointer to function 1745 with parameters 1746 _dst: pointer to instance of struct S1 1747 _src: instance of struct S1 1748 returning 1749 instance of struct S1 1750 1751 ) 1752 Environment: 1753 formal type is pointer to instance of struct S1 1754 actual type is pointer to instance of type T (not function type) 1755 working on alternative: 1756 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1757 with parameters 1758 _dst: pointer to instance of struct __anonymous1 1759 _src: instance of struct __anonymous1 1760 returning 1761 instance of struct __anonymous1 1762 1763 (types: 1764 pointer to function 1765 with parameters 1766 _dst: pointer to instance of struct __anonymous1 1767 _src: instance of struct __anonymous1 1768 returning 1769 instance of struct __anonymous1 1770 1771 ) 1772 Environment: 1773 formal type is pointer to instance of struct __anonymous1 1774 actual type is pointer to instance of type T (not function type) 1775 working on alternative: 1776 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1777 with parameters 1271 1778 _dst: pointer to instance of struct __anonymous0 1272 1779 _src: instance of struct __anonymous0 … … 1287 1794 actual type is pointer to instance of type T (not function type) 1288 1795 alternatives before prune: 1289 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S241290 (types: 1291 lvalue instance of struct S241796 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 1797 (types: 1798 lvalue instance of struct __anonymous1 1292 1799 ) 1293 1800 Environment: … … 1297 1804 alternatives before prune: 1298 1805 Cost ( 0, 0, 0 ): Cast of: 1299 Variable Expression: _src: instance of struct S241806 Variable Expression: _src: instance of struct __anonymous1 1300 1807 1301 1808 to: 1302 instance of struct S241303 (types: 1304 instance of struct S241809 instance of struct __anonymous1 1810 (types: 1811 instance of struct __anonymous1 1305 1812 ) 1306 1813 Environment: … … 1401 1908 Variable Expression: _src: instance of struct __anonymous1 1402 1909 1403 Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 1910 Return Statement, returning: Cast of: 1911 Variable Expression: _src: instance of struct __anonymous1 1912 1913 to: 1914 instance of struct __anonymous1 1915 with environment: 1916 Types: 1917 Non-types: 1404 1918 1405 1919 … … 1411 1925 returning 1412 1926 instance of struct __anonymous1 1927 1928 1929 decl is ?=?: automatically generated inline static function 1930 with parameters 1931 _dst: pointer to instance of struct S1 1932 _src: instance of struct S1 1933 returning 1934 instance of struct S1 1935 with body 1936 CompoundStmt 1937 Expression Statement: 1938 Applying untyped: 1939 Name: ?=? 1940 ...to: 1941 Address of: 1942 Member Expression, with field: 1943 i: instance of type T (not function type) 1944 from aggregate: 1945 Applying untyped: 1946 Name: *? 1947 ...to: 1948 Variable Expression: _dst: pointer to instance of struct S1 1949 Member Expression, with field: 1950 i: instance of type T (not function type) 1951 from aggregate: 1952 Variable Expression: _src: instance of struct S1 1953 1954 Return Statement, returning: Cast of: 1955 Variable Expression: _src: instance of struct S1 1956 1957 to: 1958 instance of struct S1 1959 with environment: 1960 Types: 1961 Non-types: 1962 1963 1964 1965 newExpr is Variable Expression: ?=?: inline static function 1966 with parameters 1967 _dst: pointer to instance of struct S1 1968 _src: instance of struct S1 1969 returning 1970 instance of struct S1 1413 1971 1414 1972 … … 1459 2017 decl is ?=?: automatically generated inline static function 1460 2018 with parameters 1461 _dst: pointer to instance of struct S241462 _src: instance of struct S242019 _dst: pointer to instance of struct node 2020 _src: instance of struct node 1463 2021 returning 1464 instance of struct S242022 instance of struct node 1465 2023 with body 1466 2024 CompoundStmt … … 1471 2029 Address of: 1472 2030 Member Expression, with field: 1473 i: instance of type T (not function type) 1474 from aggregate: 1475 Applying untyped: 1476 Name: *? 1477 ...to: 1478 Variable Expression: _dst: pointer to instance of struct S24 1479 Member Expression, with field: 1480 i: instance of type T (not function type) 1481 from aggregate: 1482 Variable Expression: _src: instance of struct S24 1483 1484 Return Statement, returning: Cast of: 1485 Variable Expression: _src: instance of struct S24 1486 1487 to: 1488 instance of struct S24 1489 with environment: 1490 Types: 1491 Non-types: 2031 data: instance of type T (not function type) 2032 from aggregate: 2033 Applying untyped: 2034 Name: *? 2035 ...to: 2036 Variable Expression: _dst: pointer to instance of struct node 2037 Member Expression, with field: 2038 data: instance of type T (not function type) 2039 from aggregate: 2040 Variable Expression: _src: instance of struct node 2041 2042 Expression Statement: 2043 Applying untyped: 2044 Name: ?=? 2045 ...to: 2046 Address of: 2047 Member Expression, with field: 2048 next: pointer to instance of struct node 2049 with parameters 2050 instance of type T (not function type) 2051 2052 from aggregate: 2053 Applying untyped: 2054 Name: *? 2055 ...to: 2056 Variable Expression: _dst: pointer to instance of struct node 2057 Member Expression, with field: 2058 next: pointer to instance of struct node 2059 with parameters 2060 instance of type T (not function type) 2061 2062 from aggregate: 2063 Variable Expression: _src: instance of struct node 2064 2065 Return Statement, returning: Variable Expression: _src: instance of struct node 1492 2066 1493 2067 … … 1495 2069 newExpr is Variable Expression: ?=?: inline static function 1496 2070 with parameters 1497 _dst: pointer to instance of struct S241498 _src: instance of struct S241499 returning 1500 instance of struct S242071 _dst: pointer to instance of struct node 2072 _src: instance of struct node 2073 returning 2074 instance of struct node 1501 2075 1502 2076 … … 1572 2146 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1573 2147 with parameters 2148 _dst: pointer to instance of struct S1 2149 _src: instance of struct S1 2150 returning 2151 instance of struct S1 2152 2153 (types: 2154 pointer to function 2155 with parameters 2156 _dst: pointer to instance of struct S1 2157 _src: instance of struct S1 2158 returning 2159 instance of struct S1 2160 2161 ) 2162 Environment: 2163 2164 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2165 with parameters 1574 2166 _dst: pointer to instance of struct S2 1575 2167 _src: instance of struct S2 … … 1590 2182 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1591 2183 with parameters 1592 _dst: pointer to instance of struct S241593 _src: instance of struct S241594 returning 1595 instance of struct S242184 _dst: pointer to instance of struct node 2185 _src: instance of struct node 2186 returning 2187 instance of struct node 1596 2188 1597 2189 (types: 1598 2190 pointer to function 1599 2191 with parameters 1600 _dst: pointer to instance of struct S241601 _src: instance of struct S242192 _dst: pointer to instance of struct node 2193 _src: instance of struct node 1602 2194 returning 1603 instance of struct S242195 instance of struct node 1604 2196 1605 2197 ) … … 1624 2216 Environment: 1625 2217 1626 there are 5alternatives before elimination1627 there are 5alternatives after elimination2218 there are 6 alternatives before elimination 2219 there are 6 alternatives after elimination 1628 2220 alternatives before prune: 1629 2221 Cost ( 0, 0, 0 ): Member Expression, with field: 1630 i: instance of type T (not function type)2222 data: instance of type T (not function type) 1631 2223 from aggregate: 1632 2224 Applying untyped: 1633 2225 Name: *? 1634 2226 ...to: 1635 Variable Expression: _dst: pointer to instance of struct __anonymous12227 Variable Expression: _dst: pointer to instance of struct node 1636 2228 (types: 1637 2229 lvalue instance of type T (not function type) … … 1644 2236 Cost ( 0, 0, 0 ): Address of: 1645 2237 Member Expression, with field: 1646 i: instance of type T (not function type)2238 data: instance of type T (not function type) 1647 2239 from aggregate: 1648 2240 Applying untyped: 1649 2241 Name: *? 1650 2242 ...to: 1651 Variable Expression: _dst: pointer to instance of struct __anonymous12243 Variable Expression: _dst: pointer to instance of struct node 1652 2244 (types: 1653 2245 pointer to instance of type T (not function type) … … 1660 2252 Cost ( 0, 0, 0 ): Address of: 1661 2253 Member Expression, with field: 1662 i: instance of type T (not function type)2254 data: instance of type T (not function type) 1663 2255 from aggregate: 1664 2256 Applying untyped: 1665 2257 Name: *? 1666 2258 ...to: 1667 Variable Expression: _dst: pointer to instance of struct __anonymous12259 Variable Expression: _dst: pointer to instance of struct node 1668 2260 (types: 1669 2261 pointer to instance of type T (not function type) … … 1673 2265 alternatives before prune: 1674 2266 Cost ( 0, 0, 0 ): Member Expression, with field: 1675 i: instance of type T (not function type)2267 data: instance of type T (not function type) 1676 2268 from aggregate: 1677 Variable Expression: _src: instance of struct __anonymous12269 Variable Expression: _src: instance of struct node 1678 2270 (types: 1679 2271 lvalue instance of type T (not function type) … … 1685 2277 findSubExprs 1686 2278 Cost ( 0, 0, 0 ): Member Expression, with field: 1687 i: instance of type T (not function type)2279 data: instance of type T (not function type) 1688 2280 from aggregate: 1689 Variable Expression: _src: instance of struct __anonymous12281 Variable Expression: _src: instance of struct node 1690 2282 (types: 1691 2283 lvalue instance of type T (not function type) … … 1716 2308 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1717 2309 with parameters 1718 _dst: pointer to instance of struct S241719 _src: instance of struct S242310 _dst: pointer to instance of struct node 2311 _src: instance of struct node 1720 2312 returning 1721 instance of struct S242313 instance of struct node 1722 2314 1723 2315 (types: 1724 2316 pointer to function 1725 2317 with parameters 1726 _dst: pointer to instance of struct S241727 _src: instance of struct S242318 _dst: pointer to instance of struct node 2319 _src: instance of struct node 1728 2320 returning 1729 instance of struct S242321 instance of struct node 1730 2322 1731 2323 ) 1732 2324 Environment: 1733 formal type is pointer to instance of struct S242325 formal type is pointer to instance of struct node 1734 2326 actual type is pointer to instance of type T (not function type) 1735 2327 working on alternative: … … 1752 2344 Environment: 1753 2345 formal type is pointer to instance of struct S2 2346 actual type is pointer to instance of type T (not function type) 2347 working on alternative: 2348 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2349 with parameters 2350 _dst: pointer to instance of struct S1 2351 _src: instance of struct S1 2352 returning 2353 instance of struct S1 2354 2355 (types: 2356 pointer to function 2357 with parameters 2358 _dst: pointer to instance of struct S1 2359 _src: instance of struct S1 2360 returning 2361 instance of struct S1 2362 2363 ) 2364 Environment: 2365 formal type is pointer to instance of struct S1 1754 2366 actual type is pointer to instance of type T (not function type) 1755 2367 working on alternative: … … 1793 2405 formal type is pointer to instance of struct __anonymous0 1794 2406 actual type is pointer to instance of type T (not function type) 1795 alternatives before prune:1796 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous11797 (types:1798 lvalue instance of struct __anonymous11799 )1800 Environment:1801 1802 there are 1 alternatives before elimination1803 there are 1 alternatives after elimination1804 alternatives before prune:1805 Cost ( 0, 0, 0 ): Cast of:1806 Variable Expression: _src: instance of struct __anonymous11807 1808 to:1809 instance of struct __anonymous11810 (types:1811 instance of struct __anonymous11812 )1813 Environment:1814 1815 there are 1 alternatives before elimination1816 there are 1 alternatives after elimination1817 2407 nameExpr is ?=? 1818 2408 decl is ?=?: automatically generated inline static function … … 1929 2519 decl is ?=?: automatically generated inline static function 1930 2520 with parameters 2521 _dst: pointer to instance of struct S1 2522 _src: instance of struct S1 2523 returning 2524 instance of struct S1 2525 with body 2526 CompoundStmt 2527 Expression Statement: 2528 Applying untyped: 2529 Name: ?=? 2530 ...to: 2531 Address of: 2532 Member Expression, with field: 2533 i: instance of type T (not function type) 2534 from aggregate: 2535 Applying untyped: 2536 Name: *? 2537 ...to: 2538 Variable Expression: _dst: pointer to instance of struct S1 2539 Member Expression, with field: 2540 i: instance of type T (not function type) 2541 from aggregate: 2542 Variable Expression: _src: instance of struct S1 2543 2544 Return Statement, returning: Cast of: 2545 Variable Expression: _src: instance of struct S1 2546 2547 to: 2548 instance of struct S1 2549 with environment: 2550 Types: 2551 Non-types: 2552 2553 2554 2555 newExpr is Variable Expression: ?=?: inline static function 2556 with parameters 2557 _dst: pointer to instance of struct S1 2558 _src: instance of struct S1 2559 returning 2560 instance of struct S1 2561 2562 2563 decl is ?=?: automatically generated inline static function 2564 with parameters 1931 2565 _dst: pointer to instance of struct S2 1932 2566 _src: instance of struct S2 … … 1969 2603 returning 1970 2604 instance of struct S2 1971 1972 1973 decl is ?=?: automatically generated inline static function1974 with parameters1975 _dst: pointer to instance of struct S241976 _src: instance of struct S241977 returning1978 instance of struct S241979 with body1980 CompoundStmt1981 Expression Statement:1982 Applying untyped:1983 Name: ?=?1984 ...to:1985 Address of:1986 Member Expression, with field:1987 i: instance of type T (not function type)1988 from aggregate:1989 Applying untyped:1990 Name: *?1991 ...to:1992 Variable Expression: _dst: pointer to instance of struct S241993 Member Expression, with field:1994 i: instance of type T (not function type)1995 from aggregate:1996 Variable Expression: _src: instance of struct S241997 1998 Return Statement, returning: Cast of:1999 Variable Expression: _src: instance of struct S242000 2001 to:2002 instance of struct S242003 with environment:2004 Types:2005 Non-types:2006 2007 2008 2009 newExpr is Variable Expression: ?=?: inline static function2010 with parameters2011 _dst: pointer to instance of struct S242012 _src: instance of struct S242013 returning2014 instance of struct S242015 2605 2016 2606 … … 2146 2736 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2147 2737 with parameters 2738 _dst: pointer to instance of struct S1 2739 _src: instance of struct S1 2740 returning 2741 instance of struct S1 2742 2743 (types: 2744 pointer to function 2745 with parameters 2746 _dst: pointer to instance of struct S1 2747 _src: instance of struct S1 2748 returning 2749 instance of struct S1 2750 2751 ) 2752 Environment: 2753 2754 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2755 with parameters 2148 2756 _dst: pointer to instance of struct S2 2149 2757 _src: instance of struct S2 … … 2164 2772 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2165 2773 with parameters 2166 _dst: pointer to instance of struct S242167 _src: instance of struct S242168 returning2169 instance of struct S242170 2171 (types:2172 pointer to function2173 with parameters2174 _dst: pointer to instance of struct S242175 _src: instance of struct S242176 returning2177 instance of struct S242178 2179 )2180 Environment:2181 2182 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2183 with parameters2184 2774 _dst: pointer to instance of struct node 2185 2775 _src: instance of struct node … … 2220 2810 alternatives before prune: 2221 2811 Cost ( 0, 0, 0 ): Member Expression, with field: 2222 data: instance of type T (not function type) 2812 next: pointer to instance of struct node 2813 with parameters 2814 instance of type T (not function type) 2815 2223 2816 from aggregate: 2224 2817 Applying untyped: … … 2227 2820 Variable Expression: _dst: pointer to instance of struct node 2228 2821 (types: 2229 lvalue instance of type T (not function type) 2822 lvalue pointer to instance of struct node 2823 with parameters 2824 instance of type T (not function type) 2825 2230 2826 ) 2231 2827 Environment: … … 2236 2832 Cost ( 0, 0, 0 ): Address of: 2237 2833 Member Expression, with field: 2238 data: instance of type T (not function type) 2834 next: pointer to instance of struct node 2835 with parameters 2836 instance of type T (not function type) 2837 2239 2838 from aggregate: 2240 2839 Applying untyped: … … 2243 2842 Variable Expression: _dst: pointer to instance of struct node 2244 2843 (types: 2245 pointer to instance of type T (not function type) 2844 pointer to pointer to instance of struct node 2845 with parameters 2846 instance of type T (not function type) 2847 2246 2848 ) 2247 2849 Environment: … … 2252 2854 Cost ( 0, 0, 0 ): Address of: 2253 2855 Member Expression, with field: 2254 data: instance of type T (not function type) 2856 next: pointer to instance of struct node 2857 with parameters 2858 instance of type T (not function type) 2859 2255 2860 from aggregate: 2256 2861 Applying untyped: … … 2259 2864 Variable Expression: _dst: pointer to instance of struct node 2260 2865 (types: 2261 pointer to instance of type T (not function type) 2866 pointer to pointer to instance of struct node 2867 with parameters 2868 instance of type T (not function type) 2869 2262 2870 ) 2263 2871 Environment: … … 2265 2873 alternatives before prune: 2266 2874 Cost ( 0, 0, 0 ): Member Expression, with field: 2267 data: instance of type T (not function type) 2875 next: pointer to instance of struct node 2876 with parameters 2877 instance of type T (not function type) 2878 2268 2879 from aggregate: 2269 2880 Variable Expression: _src: instance of struct node 2270 2881 (types: 2271 lvalue instance of type T (not function type) 2882 lvalue pointer to instance of struct node 2883 with parameters 2884 instance of type T (not function type) 2885 2272 2886 ) 2273 2887 Environment: … … 2277 2891 findSubExprs 2278 2892 Cost ( 0, 0, 0 ): Member Expression, with field: 2279 data: instance of type T (not function type) 2893 next: pointer to instance of struct node 2894 with parameters 2895 instance of type T (not function type) 2896 2280 2897 from aggregate: 2281 2898 Variable Expression: _src: instance of struct node 2282 2899 (types: 2283 lvalue instance of type T (not function type) 2900 lvalue pointer to instance of struct node 2901 with parameters 2902 instance of type T (not function type) 2903 2284 2904 ) 2285 2905 Environment: … … 2304 2924 Environment: 2305 2925 formal type is pointer to instance of type List1 (not function type) 2306 actual type is pointer to instance of type T (not function type) 2926 actual type is pointer to pointer to instance of struct node 2927 with parameters 2928 instance of type T (not function type) 2929 2307 2930 working on alternative: 2308 2931 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function … … 2324 2947 Environment: 2325 2948 formal type is pointer to instance of struct node 2326 actual type is pointer to instance of type T (not function type) 2327 working on alternative: 2328 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2329 with parameters 2330 _dst: pointer to instance of struct S24 2331 _src: instance of struct S24 2332 returning 2333 instance of struct S24 2334 2335 (types: 2336 pointer to function 2337 with parameters 2338 _dst: pointer to instance of struct S24 2339 _src: instance of struct S24 2340 returning 2341 instance of struct S24 2342 2343 ) 2344 Environment: 2345 formal type is pointer to instance of struct S24 2346 actual type is pointer to instance of type T (not function type) 2949 actual type is pointer to pointer to instance of struct node 2950 with parameters 2951 instance of type T (not function type) 2952 2347 2953 working on alternative: 2348 2954 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function … … 2364 2970 Environment: 2365 2971 formal type is pointer to instance of struct S2 2366 actual type is pointer to instance of type T (not function type) 2972 actual type is pointer to pointer to instance of struct node 2973 with parameters 2974 instance of type T (not function type) 2975 2976 working on alternative: 2977 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2978 with parameters 2979 _dst: pointer to instance of struct S1 2980 _src: instance of struct S1 2981 returning 2982 instance of struct S1 2983 2984 (types: 2985 pointer to function 2986 with parameters 2987 _dst: pointer to instance of struct S1 2988 _src: instance of struct S1 2989 returning 2990 instance of struct S1 2991 2992 ) 2993 Environment: 2994 formal type is pointer to instance of struct S1 2995 actual type is pointer to pointer to instance of struct node 2996 with parameters 2997 instance of type T (not function type) 2998 2367 2999 working on alternative: 2368 3000 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function … … 2384 3016 Environment: 2385 3017 formal type is pointer to instance of struct __anonymous1 2386 actual type is pointer to instance of type T (not function type) 3018 actual type is pointer to pointer to instance of struct node 3019 with parameters 3020 instance of type T (not function type) 3021 2387 3022 working on alternative: 2388 3023 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function … … 2404 3039 Environment: 2405 3040 formal type is pointer to instance of struct __anonymous0 2406 actual type is pointer to instance of type T (not function type) 3041 actual type is pointer to pointer to instance of struct node 3042 with parameters 3043 instance of type T (not function type) 3044 3045 alternatives before prune: 3046 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct node 3047 (types: 3048 lvalue instance of struct node 3049 ) 3050 Environment: 3051 3052 there are 1 alternatives before elimination 3053 there are 1 alternatives after elimination 3054 alternatives before prune: 3055 Cost ( 0, 0, 0 ): Cast of: 3056 Variable Expression: _src: instance of struct node 3057 3058 to: 3059 instance of struct node 3060 (types: 3061 instance of struct node 3062 ) 3063 Environment: 3064 3065 there are 1 alternatives before elimination 3066 there are 1 alternatives after elimination 2407 3067 nameExpr is ?=? 2408 3068 decl is ?=?: automatically generated inline static function … … 2519 3179 decl is ?=?: automatically generated inline static function 2520 3180 with parameters 3181 _dst: pointer to instance of struct S1 3182 _src: instance of struct S1 3183 returning 3184 instance of struct S1 3185 with body 3186 CompoundStmt 3187 Expression Statement: 3188 Applying untyped: 3189 Name: ?=? 3190 ...to: 3191 Address of: 3192 Member Expression, with field: 3193 i: instance of type T (not function type) 3194 from aggregate: 3195 Applying untyped: 3196 Name: *? 3197 ...to: 3198 Variable Expression: _dst: pointer to instance of struct S1 3199 Member Expression, with field: 3200 i: instance of type T (not function type) 3201 from aggregate: 3202 Variable Expression: _src: instance of struct S1 3203 3204 Return Statement, returning: Cast of: 3205 Variable Expression: _src: instance of struct S1 3206 3207 to: 3208 instance of struct S1 3209 with environment: 3210 Types: 3211 Non-types: 3212 3213 3214 3215 newExpr is Variable Expression: ?=?: inline static function 3216 with parameters 3217 _dst: pointer to instance of struct S1 3218 _src: instance of struct S1 3219 returning 3220 instance of struct S1 3221 3222 3223 decl is ?=?: automatically generated inline static function 3224 with parameters 2521 3225 _dst: pointer to instance of struct S2 2522 3226 _src: instance of struct S2 … … 2563 3267 decl is ?=?: automatically generated inline static function 2564 3268 with parameters 2565 _dst: pointer to instance of struct S242566 _src: instance of struct S242567 returning2568 instance of struct S242569 with body2570 CompoundStmt2571 Expression Statement:2572 Applying untyped:2573 Name: ?=?2574 ...to:2575 Address of:2576 Member Expression, with field:2577 i: instance of type T (not function type)2578 from aggregate:2579 Applying untyped:2580 Name: *?2581 ...to:2582 Variable Expression: _dst: pointer to instance of struct S242583 Member Expression, with field:2584 i: instance of type T (not function type)2585 from aggregate:2586 Variable Expression: _src: instance of struct S242587 2588 Return Statement, returning: Cast of:2589 Variable Expression: _src: instance of struct S242590 2591 to:2592 instance of struct S242593 with environment:2594 Types:2595 Non-types:2596 2597 2598 2599 newExpr is Variable Expression: ?=?: inline static function2600 with parameters2601 _dst: pointer to instance of struct S242602 _src: instance of struct S242603 returning2604 instance of struct S242605 2606 2607 decl is ?=?: automatically generated inline static function2608 with parameters2609 3269 _dst: pointer to instance of struct node 2610 3270 _src: instance of struct node … … 2653 3313 Variable Expression: _src: instance of struct node 2654 3314 2655 Return Statement, returning: Variable Expression: _src: instance of struct node 3315 Return Statement, returning: Cast of: 3316 Variable Expression: _src: instance of struct node 3317 3318 to: 3319 instance of struct node 3320 with environment: 3321 Types: 3322 Non-types: 2656 3323 2657 3324 … … 2663 3330 returning 2664 3331 instance of struct node 3332 3333 3334 decl is ?=?: automatically generated function 3335 with parameters 3336 _dst: pointer to instance of type List (not function type) 3337 _src: instance of type List (not function type) 3338 returning 3339 instance of type List (not function type) 3340 with body 3341 CompoundStmt 3342 Return Statement, returning: Applying untyped: 3343 Name: ?=? 3344 ...to: 3345 Cast of: 3346 Variable Expression: _dst: pointer to instance of type List (not function type) 3347 3348 to: 3349 pointer to pointer to instance of struct node 3350 with parameters 3351 instance of type T (not function type) 3352 3353 Cast of: 3354 Variable Expression: _src: instance of type List (not function type) 3355 3356 to: 3357 pointer to instance of struct node 3358 with parameters 3359 instance of type T (not function type) 3360 3361 3362 3363 3364 newExpr is Variable Expression: ?=?: function 3365 with parameters 3366 _dst: pointer to instance of type List (not function type) 3367 _src: instance of type List (not function type) 3368 returning 3369 instance of type List (not function type) 2665 3370 2666 3371 … … 2736 3441 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2737 3442 with parameters 3443 _dst: pointer to instance of struct S1 3444 _src: instance of struct S1 3445 returning 3446 instance of struct S1 3447 3448 (types: 3449 pointer to function 3450 with parameters 3451 _dst: pointer to instance of struct S1 3452 _src: instance of struct S1 3453 returning 3454 instance of struct S1 3455 3456 ) 3457 Environment: 3458 3459 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 3460 with parameters 2738 3461 _dst: pointer to instance of struct S2 2739 3462 _src: instance of struct S2 … … 2748 3471 returning 2749 3472 instance of struct S2 2750 2751 )2752 Environment:2753 2754 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2755 with parameters2756 _dst: pointer to instance of struct S242757 _src: instance of struct S242758 returning2759 instance of struct S242760 2761 (types:2762 pointer to function2763 with parameters2764 _dst: pointer to instance of struct S242765 _src: instance of struct S242766 returning2767 instance of struct S242768 2769 )2770 Environment:2771 2772 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2773 with parameters2774 _dst: pointer to instance of struct node2775 _src: instance of struct node2776 returning2777 instance of struct node2778 2779 (types:2780 pointer to function2781 with parameters2782 _dst: pointer to instance of struct node2783 _src: instance of struct node2784 returning2785 instance of struct node2786 2787 )2788 Environment:2789 2790 Cost ( 0, 0, 0 ): Variable Expression: ?=?: function2791 with parameters2792 _dst: pointer to instance of type List1 (not function type)2793 _src: instance of type List1 (not function type)2794 returning2795 instance of type List1 (not function type)2796 2797 (types:2798 pointer to function2799 with parameters2800 _dst: pointer to instance of type List1 (not function type)2801 _src: instance of type List1 (not function type)2802 returning2803 instance of type List1 (not function type)2804 2805 )2806 Environment:2807 2808 there are 6 alternatives before elimination2809 there are 6 alternatives after elimination2810 alternatives before prune:2811 Cost ( 0, 0, 0 ): Member Expression, with field:2812 next: pointer to instance of struct node2813 with parameters2814 instance of type T (not function type)2815 2816 from aggregate:2817 Applying untyped:2818 Name: *?2819 ...to:2820 Variable Expression: _dst: pointer to instance of struct node2821 (types:2822 lvalue pointer to instance of struct node2823 with parameters2824 instance of type T (not function type)2825 2826 )2827 Environment:2828 2829 there are 1 alternatives before elimination2830 there are 1 alternatives after elimination2831 alternatives before prune:2832 Cost ( 0, 0, 0 ): Address of:2833 Member Expression, with field:2834 next: pointer to instance of struct node2835 with parameters2836 instance of type T (not function type)2837 2838 from aggregate:2839 Applying untyped:2840 Name: *?2841 ...to:2842 Variable Expression: _dst: pointer to instance of struct node2843 (types:2844 pointer to pointer to instance of struct node2845 with parameters2846 instance of type T (not function type)2847 2848 )2849 Environment:2850 2851 there are 1 alternatives before elimination2852 there are 1 alternatives after elimination2853 findSubExprs2854 Cost ( 0, 0, 0 ): Address of:2855 Member Expression, with field:2856 next: pointer to instance of struct node2857 with parameters2858 instance of type T (not function type)2859 2860 from aggregate:2861 Applying untyped:2862 Name: *?2863 ...to:2864 Variable Expression: _dst: pointer to instance of struct node2865 (types:2866 pointer to pointer to instance of struct node2867 with parameters2868 instance of type T (not function type)2869 2870 )2871 Environment:2872 2873 alternatives before prune:2874 Cost ( 0, 0, 0 ): Member Expression, with field:2875 next: pointer to instance of struct node2876 with parameters2877 instance of type T (not function type)2878 2879 from aggregate:2880 Variable Expression: _src: instance of struct node2881 (types:2882 lvalue pointer to instance of struct node2883 with parameters2884 instance of type T (not function type)2885 2886 )2887 Environment:2888 2889 there are 1 alternatives before elimination2890 there are 1 alternatives after elimination2891 findSubExprs2892 Cost ( 0, 0, 0 ): Member Expression, with field:2893 next: pointer to instance of struct node2894 with parameters2895 instance of type T (not function type)2896 2897 from aggregate:2898 Variable Expression: _src: instance of struct node2899 (types:2900 lvalue pointer to instance of struct node2901 with parameters2902 instance of type T (not function type)2903 2904 )2905 Environment:2906 2907 working on alternative:2908 Cost ( 0, 0, 0 ): Variable Expression: ?=?: function2909 with parameters2910 _dst: pointer to instance of type List1 (not function type)2911 _src: instance of type List1 (not function type)2912 returning2913 instance of type List1 (not function type)2914 2915 (types:2916 pointer to function2917 with parameters2918 _dst: pointer to instance of type List1 (not function type)2919 _src: instance of type List1 (not function type)2920 returning2921 instance of type List1 (not function type)2922 2923 )2924 Environment:2925 formal type is pointer to instance of type List1 (not function type)2926 actual type is pointer to pointer to instance of struct node2927 with parameters2928 instance of type T (not function type)2929 2930 working on alternative:2931 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2932 with parameters2933 _dst: pointer to instance of struct node2934 _src: instance of struct node2935 returning2936 instance of struct node2937 2938 (types:2939 pointer to function2940 with parameters2941 _dst: pointer to instance of struct node2942 _src: instance of struct node2943 returning2944 instance of struct node2945 2946 )2947 Environment:2948 formal type is pointer to instance of struct node2949 actual type is pointer to pointer to instance of struct node2950 with parameters2951 instance of type T (not function type)2952 2953 working on alternative:2954 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2955 with parameters2956 _dst: pointer to instance of struct S242957 _src: instance of struct S242958 returning2959 instance of struct S242960 2961 (types:2962 pointer to function2963 with parameters2964 _dst: pointer to instance of struct S242965 _src: instance of struct S242966 returning2967 instance of struct S242968 2969 )2970 Environment:2971 formal type is pointer to instance of struct S242972 actual type is pointer to pointer to instance of struct node2973 with parameters2974 instance of type T (not function type)2975 2976 working on alternative:2977 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2978 with parameters2979 _dst: pointer to instance of struct S22980 _src: instance of struct S22981 returning2982 instance of struct S22983 2984 (types:2985 pointer to function2986 with parameters2987 _dst: pointer to instance of struct S22988 _src: instance of struct S22989 returning2990 instance of struct S22991 2992 )2993 Environment:2994 formal type is pointer to instance of struct S22995 actual type is pointer to pointer to instance of struct node2996 with parameters2997 instance of type T (not function type)2998 2999 working on alternative:3000 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3001 with parameters3002 _dst: pointer to instance of struct __anonymous13003 _src: instance of struct __anonymous13004 returning3005 instance of struct __anonymous13006 3007 (types:3008 pointer to function3009 with parameters3010 _dst: pointer to instance of struct __anonymous13011 _src: instance of struct __anonymous13012 returning3013 instance of struct __anonymous13014 3015 )3016 Environment:3017 formal type is pointer to instance of struct __anonymous13018 actual type is pointer to pointer to instance of struct node3019 with parameters3020 instance of type T (not function type)3021 3022 working on alternative:3023 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3024 with parameters3025 _dst: pointer to instance of struct __anonymous03026 _src: instance of struct __anonymous03027 returning3028 instance of struct __anonymous03029 3030 (types:3031 pointer to function3032 with parameters3033 _dst: pointer to instance of struct __anonymous03034 _src: instance of struct __anonymous03035 returning3036 instance of struct __anonymous03037 3038 )3039 Environment:3040 formal type is pointer to instance of struct __anonymous03041 actual type is pointer to pointer to instance of struct node3042 with parameters3043 instance of type T (not function type)3044 3045 alternatives before prune:3046 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct node3047 (types:3048 lvalue instance of struct node3049 )3050 Environment:3051 3052 there are 1 alternatives before elimination3053 there are 1 alternatives after elimination3054 alternatives before prune:3055 Cost ( 0, 0, 0 ): Cast of:3056 Variable Expression: _src: instance of struct node3057 3058 to:3059 instance of struct node3060 (types:3061 instance of struct node3062 )3063 Environment:3064 3065 there are 1 alternatives before elimination3066 there are 1 alternatives after elimination3067 nameExpr is ?=?3068 decl is ?=?: automatically generated inline static function3069 with parameters3070 _dst: pointer to instance of struct __anonymous03071 _src: instance of struct __anonymous03072 returning3073 instance of struct __anonymous03074 with body3075 CompoundStmt3076 Expression Statement:3077 Applying untyped:3078 Name: ?=?3079 ...to:3080 Address of:3081 Member Expression, with field:3082 data: instance of type T (not function type)3083 from aggregate:3084 Applying untyped:3085 Name: *?3086 ...to:3087 Variable Expression: _dst: pointer to instance of struct __anonymous03088 Member Expression, with field:3089 data: instance of type T (not function type)3090 from aggregate:3091 Variable Expression: _src: instance of struct __anonymous03092 3093 Expression Statement:3094 Applying untyped:3095 Name: ?=?3096 ...to:3097 Address of:3098 Member Expression, with field:3099 next: pointer to instance of type List1 (not function type)3100 with parameters3101 instance of type T (not function type)3102 3103 from aggregate:3104 Applying untyped:3105 Name: *?3106 ...to:3107 Variable Expression: _dst: pointer to instance of struct __anonymous03108 Member Expression, with field:3109 next: pointer to instance of type List1 (not function type)3110 with parameters3111 instance of type T (not function type)3112 3113 from aggregate:3114 Variable Expression: _src: instance of struct __anonymous03115 3116 Return Statement, returning: Cast of:3117 Variable Expression: _src: instance of struct __anonymous03118 3119 to:3120 instance of struct __anonymous03121 with environment:3122 Types:3123 Non-types:3124 3125 3126 3127 newExpr is Variable Expression: ?=?: inline static function3128 with parameters3129 _dst: pointer to instance of struct __anonymous03130 _src: instance of struct __anonymous03131 returning3132 instance of struct __anonymous03133 3134 3135 decl is ?=?: automatically generated inline static function3136 with parameters3137 _dst: pointer to instance of struct __anonymous13138 _src: instance of struct __anonymous13139 returning3140 instance of struct __anonymous13141 with body3142 CompoundStmt3143 Expression Statement:3144 Applying untyped:3145 Name: ?=?3146 ...to:3147 Address of:3148 Member Expression, with field:3149 i: instance of type T (not function type)3150 from aggregate:3151 Applying untyped:3152 Name: *?3153 ...to:3154 Variable Expression: _dst: pointer to instance of struct __anonymous13155 Member Expression, with field:3156 i: instance of type T (not function type)3157 from aggregate:3158 Variable Expression: _src: instance of struct __anonymous13159 3160 Return Statement, returning: Cast of:3161 Variable Expression: _src: instance of struct __anonymous13162 3163 to:3164 instance of struct __anonymous13165 with environment:3166 Types:3167 Non-types:3168 3169 3170 3171 newExpr is Variable Expression: ?=?: inline static function3172 with parameters3173 _dst: pointer to instance of struct __anonymous13174 _src: instance of struct __anonymous13175 returning3176 instance of struct __anonymous13177 3178 3179 decl is ?=?: automatically generated inline static function3180 with parameters3181 _dst: pointer to instance of struct S23182 _src: instance of struct S23183 returning3184 instance of struct S23185 with body3186 CompoundStmt3187 Expression Statement:3188 Applying untyped:3189 Name: ?=?3190 ...to:3191 Address of:3192 Member Expression, with field:3193 i: instance of type T (not function type)3194 from aggregate:3195 Applying untyped:3196 Name: *?3197 ...to:3198 Variable Expression: _dst: pointer to instance of struct S23199 Member Expression, with field:3200 i: instance of type T (not function type)3201 from aggregate:3202 Variable Expression: _src: instance of struct S23203 3204 Return Statement, returning: Cast of:3205 Variable Expression: _src: instance of struct S23206 3207 to:3208 instance of struct S23209 with environment:3210 Types:3211 Non-types:3212 3213 3214 3215 newExpr is Variable Expression: ?=?: inline static function3216 with parameters3217 _dst: pointer to instance of struct S23218 _src: instance of struct S23219 returning3220 instance of struct S23221 3222 3223 decl is ?=?: automatically generated inline static function3224 with parameters3225 _dst: pointer to instance of struct S243226 _src: instance of struct S243227 returning3228 instance of struct S243229 with body3230 CompoundStmt3231 Expression Statement:3232 Applying untyped:3233 Name: ?=?3234 ...to:3235 Address of:3236 Member Expression, with field:3237 i: instance of type T (not function type)3238 from aggregate:3239 Applying untyped:3240 Name: *?3241 ...to:3242 Variable Expression: _dst: pointer to instance of struct S243243 Member Expression, with field:3244 i: instance of type T (not function type)3245 from aggregate:3246 Variable Expression: _src: instance of struct S243247 3248 Return Statement, returning: Cast of:3249 Variable Expression: _src: instance of struct S243250 3251 to:3252 instance of struct S243253 with environment:3254 Types:3255 Non-types:3256 3257 3258 3259 newExpr is Variable Expression: ?=?: inline static function3260 with parameters3261 _dst: pointer to instance of struct S243262 _src: instance of struct S243263 returning3264 instance of struct S243265 3266 3267 decl is ?=?: automatically generated inline static function3268 with parameters3269 _dst: pointer to instance of struct node3270 _src: instance of struct node3271 returning3272 instance of struct node3273 with body3274 CompoundStmt3275 Expression Statement:3276 Applying untyped:3277 Name: ?=?3278 ...to:3279 Address of:3280 Member Expression, with field:3281 data: instance of type T (not function type)3282 from aggregate:3283 Applying untyped:3284 Name: *?3285 ...to:3286 Variable Expression: _dst: pointer to instance of struct node3287 Member Expression, with field:3288 data: instance of type T (not function type)3289 from aggregate:3290 Variable Expression: _src: instance of struct node3291 3292 Expression Statement:3293 Applying untyped:3294 Name: ?=?3295 ...to:3296 Address of:3297 Member Expression, with field:3298 next: pointer to instance of struct node3299 with parameters3300 instance of type T (not function type)3301 3302 from aggregate:3303 Applying untyped:3304 Name: *?3305 ...to:3306 Variable Expression: _dst: pointer to instance of struct node3307 Member Expression, with field:3308 next: pointer to instance of struct node3309 with parameters3310 instance of type T (not function type)3311 3312 from aggregate:3313 Variable Expression: _src: instance of struct node3314 3315 Return Statement, returning: Cast of:3316 Variable Expression: _src: instance of struct node3317 3318 to:3319 instance of struct node3320 with environment:3321 Types:3322 Non-types:3323 3324 3325 3326 newExpr is Variable Expression: ?=?: inline static function3327 with parameters3328 _dst: pointer to instance of struct node3329 _src: instance of struct node3330 returning3331 instance of struct node3332 3333 3334 decl is ?=?: automatically generated function3335 with parameters3336 _dst: pointer to instance of type List (not function type)3337 _src: instance of type List (not function type)3338 returning3339 instance of type List (not function type)3340 with body3341 CompoundStmt3342 Return Statement, returning: Applying untyped:3343 Name: ?=?3344 ...to:3345 Cast of:3346 Variable Expression: _dst: pointer to instance of type List (not function type)3347 3348 to:3349 pointer to pointer to instance of struct node3350 with parameters3351 instance of type T (not function type)3352 3353 Cast of:3354 Variable Expression: _src: instance of type List (not function type)3355 3356 to:3357 pointer to instance of struct node3358 with parameters3359 instance of type T (not function type)3360 3361 3362 3363 3364 newExpr is Variable Expression: ?=?: function3365 with parameters3366 _dst: pointer to instance of type List (not function type)3367 _src: instance of type List (not function type)3368 returning3369 instance of type List (not function type)3370 3371 3372 decl is ?=?: automatically generated function3373 with parameters3374 _dst: pointer to instance of type List1 (not function type)3375 _src: instance of type List1 (not function type)3376 returning3377 instance of type List1 (not function type)3378 with body3379 CompoundStmt3380 Return Statement, returning: Applying untyped:3381 Name: ?=?3382 ...to:3383 Cast of:3384 Variable Expression: _dst: pointer to instance of type List1 (not function type)3385 3386 to:3387 pointer to pointer to instance of struct __anonymous03388 Cast of:3389 Variable Expression: _src: instance of type List1 (not function type)3390 3391 to:3392 pointer to instance of struct __anonymous03393 3394 3395 3396 newExpr is Variable Expression: ?=?: function3397 with parameters3398 _dst: pointer to instance of type List1 (not function type)3399 _src: instance of type List1 (not function type)3400 returning3401 instance of type List1 (not function type)3402 3403 3404 alternatives before prune:3405 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3406 with parameters3407 _dst: pointer to instance of struct __anonymous03408 _src: instance of struct __anonymous03409 returning3410 instance of struct __anonymous03411 3412 (types:3413 pointer to function3414 with parameters3415 _dst: pointer to instance of struct __anonymous03416 _src: instance of struct __anonymous03417 returning3418 instance of struct __anonymous03419 3420 )3421 Environment:3422 3423 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3424 with parameters3425 _dst: pointer to instance of struct __anonymous13426 _src: instance of struct __anonymous13427 returning3428 instance of struct __anonymous13429 3430 (types:3431 pointer to function3432 with parameters3433 _dst: pointer to instance of struct __anonymous13434 _src: instance of struct __anonymous13435 returning3436 instance of struct __anonymous13437 3438 )3439 Environment:3440 3441 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3442 with parameters3443 _dst: pointer to instance of struct S23444 _src: instance of struct S23445 returning3446 instance of struct S23447 3448 (types:3449 pointer to function3450 with parameters3451 _dst: pointer to instance of struct S23452 _src: instance of struct S23453 returning3454 instance of struct S23455 3456 )3457 Environment:3458 3459 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3460 with parameters3461 _dst: pointer to instance of struct S243462 _src: instance of struct S243463 returning3464 instance of struct S243465 3466 (types:3467 pointer to function3468 with parameters3469 _dst: pointer to instance of struct S243470 _src: instance of struct S243471 returning3472 instance of struct S243473 3473 3474 3474 ) … … 3619 3619 Name: *? 3620 3620 ...to: 3621 Variable Expression: _dst: pointer to instance of struct S 23621 Variable Expression: _dst: pointer to instance of struct S1 3622 3622 Member Expression, with field: 3623 3623 i: instance of type T (not function type) 3624 3624 from aggregate: 3625 Variable Expression: _src: instance of struct S 23625 Variable Expression: _src: instance of struct S1 3626 3626 3627 3627 Error: No reasonable alternatives for expression Applying untyped: … … 3635 3635 Name: *? 3636 3636 ...to: 3637 Variable Expression: _dst: pointer to instance of struct S2 43637 Variable Expression: _dst: pointer to instance of struct S2 3638 3638 Member Expression, with field: 3639 3639 i: instance of type T (not function type) 3640 3640 from aggregate: 3641 Variable Expression: _src: instance of struct S2 43641 Variable Expression: _src: instance of struct S2 3642 3642 3643 3643 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-s/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-s/TypeGenerator.txt
rb5b0907 rea9b9d3 4 4 Adding type T 5 5 Adding function ?+? 6 --- Entering scope7 --- Leaving scope containing8 Adding function ?=?9 6 --- Entering scope 10 7 --- Leaving scope containing … … 36 33 Adding object p 37 34 --- Leaving scope containing 35 Adding fwd decl for struct S1 36 --- Entering scope 37 --- Entering scope 38 --- Leaving scope containing 39 Adding type T 40 --- Leaving scope containing 41 T 42 Adding struct S1 43 Adding fwd decl for struct S1 44 --- Entering scope 45 --- Entering scope 46 --- Leaving scope containing 47 Adding type T 48 Adding object i 49 --- Leaving scope containing 50 T 51 Adding struct S1 52 --- Entering scope 53 --- Leaving scope containing 54 Adding object v1 55 --- Entering scope 56 --- Leaving scope containing 57 Adding object p 38 58 Adding fwd decl for struct S2 39 59 --- Entering scope … … 45 65 T 46 66 Adding struct S2 47 Adding struct S3 from implicit forward declaration48 --- Entering scope49 --- Leaving scope containing50 Adding object v151 --- Entering scope52 --- Leaving scope containing53 Adding object p54 Adding fwd decl for struct S2455 --- Entering scope56 --- Entering scope57 --- Leaving scope containing58 Adding type T59 Adding object i60 --- Leaving scope containing61 T62 Adding struct S2463 67 --- Entering scope 64 68 --- Leaving scope containing -
src/Tests/Expect-v/AsmName.txt
rb5b0907 rea9b9d3 1 x: externsigned int1 x: auto signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-v/Attributes.txt
rb5b0907 rea9b9d3 1 Error at line 58 reading token "*"1 Error at line 8 reading token "*" -
src/Tests/Expect-v/Context.txt
rb5b0907 rea9b9d3 54 54 55 55 56 Declaration of x: externtype56 Declaration of x: auto type 57 57 Declaration of ?=?: automatically generated function 58 58 with parameters … … 62 62 instance of type x (not function type) 63 63 64 Declaration of y: externtype64 Declaration of y: auto type 65 65 with assertions 66 66 instance of context has_r -
src/Tests/Expect-v/Functions.txt
rb5b0907 rea9b9d3 165 165 CompoundStmt 166 166 167 fII3: externfunction168 with parameters 169 i: signed int 170 returning 171 signed int 172 with body 173 CompoundStmt 174 175 fII4: externfunction167 fII3: auto function 168 with parameters 169 i: signed int 170 returning 171 signed int 172 with body 173 CompoundStmt 174 175 fII4: auto function 176 176 with parameters 177 177 i: signed int … … 249 249 CompoundStmt 250 250 251 fO4: externfunction251 fO4: auto function 252 252 accepting unspecified arguments 253 253 returning … … 260 260 CompoundStmt 261 261 262 fO5: externfunction262 fO5: auto function 263 263 accepting unspecified arguments 264 264 returning -
src/Tests/Expect-v/TypeGenerator.txt
rb5b0907 rea9b9d3 140 140 signed int 141 141 142 struct S1 143 with parameters 144 T: type 145 146 struct S1 147 with parameters 148 T: type 149 150 with members 151 i: instance of type T (not function type) 152 153 ?=?: automatically generated inline static function 154 with parameters 155 _dst: pointer to instance of struct S1 156 _src: instance of struct S1 157 returning 158 instance of struct S1 159 with body 160 CompoundStmt 161 Expression Statement: 162 Applying untyped: 163 Name: ?=? 164 ...to: 165 Address of: 166 Member Expression, with field: 167 i: instance of type T (not function type) 168 from aggregate: 169 Applying untyped: 170 Name: *? 171 ...to: 172 Variable Expression: _dst: pointer to instance of struct S1 173 Member Expression, with field: 174 i: instance of type T (not function type) 175 from aggregate: 176 Variable Expression: _src: instance of struct S1 177 178 Return Statement, returning: Variable Expression: _src: instance of struct S1 179 180 181 182 v1: instance of struct S1 183 with parameters 184 signed int 185 186 p: pointer to instance of struct S1 187 with parameters 188 signed int 189 142 190 struct S2 143 191 with parameters … … 176 224 177 225 178 v1: instance of struct S3 179 with parameters 180 signed int 181 182 p: pointer to instance of struct S3 183 with parameters 184 signed int 185 186 struct S24 187 with parameters 188 T: type 189 190 with members 191 i: instance of type T (not function type) 192 193 ?=?: automatically generated inline static function 194 with parameters 195 _dst: pointer to instance of struct S24 196 _src: instance of struct S24 197 returning 198 instance of struct S24 199 with body 200 CompoundStmt 201 Expression Statement: 202 Applying untyped: 203 Name: ?=? 204 ...to: 205 Address of: 206 Member Expression, with field: 207 i: instance of type T (not function type) 208 from aggregate: 209 Applying untyped: 210 Name: *? 211 ...to: 212 Variable Expression: _dst: pointer to instance of struct S24 213 Member Expression, with field: 214 i: instance of type T (not function type) 215 from aggregate: 216 Variable Expression: _src: instance of struct S24 217 218 Return Statement, returning: Variable Expression: _src: instance of struct S24 219 220 221 222 v2: instance of struct S24 226 v2: instance of struct S2 223 227 with parameters 224 228 signed int -
src/Tests/TypeGenerator.c
rb5b0907 rea9b9d3 11 11 [int] h( * List1( int ) p ); // new declaration syntax 12 12 13 struct( type T ) S2 { T i; }; // actual definition 14 struct( int ) S3 v1, *p; // expansion and instantiation 15 struct( type T )( int ) S24 { T i; } v2; // actual definition, expansion and instantiation 13 struct( type T ) S1; // forward definition 14 struct( type T ) S1 { T i; }; // actual definition 15 struct( int ) S1 v1, *p; // expansion and instantiation 16 struct( type T )( int ) S2 { T i; } v2; // actual definition, expansion and instantiation 16 17 struct( type T )( int ) { T i; } v2; // anonymous actual definition, expansion and instantiation 17 18 -
src/Tuples/AssignExpand.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:16:39201513 // Update Count : 412 // Last Modified On : Mon May 18 11:24:47 2015 13 // Update Count : 2 14 14 // 15 15 … … 23 23 #include "AssignExpand.h" 24 24 25 #include "Parser/ParseNode.h"26 27 25 #include "SynTree/Type.h" 26 #include "SynTree/Statement.h" 27 #include "SynTree/Expression.h" 28 28 #include "SynTree/Declaration.h" 29 #include "SynTree/Expression.h"30 #include "SynTree/Statement.h"31 29 32 30 namespace Tuples { … … 102 100 assert( rhsT->get_results().size() == 1 ); 103 101 // declare temporaries 104 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration Node::NoStorageClass, LinkageSpec::Intrinsic, 0,102 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0, 105 103 lhsT->get_results().front(), 0 ); 106 104 decls.push_back( new DeclStmt( std::list< Label >(), lhs ) ); 107 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration Node::NoStorageClass, LinkageSpec::Intrinsic, 0,105 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0, 108 106 rhsT->get_results().front(), 0); 109 107 decls.push_back( new DeclStmt( std::list< Label >(), rhs )); -
src/Tuples/FunctionChecker.cc
rb5b0907 rea9b9d3 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jun 13 08:17:19201513 // Update Count : 412 // Last Modified On : Mon May 18 11:59:55 2015 13 // Update Count : 3 14 14 // 15 15 … … 75 75 if ( applicationExpr->get_results().size() > 1 ) { 76 76 for ( std::list< Type *>::iterator res = applicationExpr->get_results().begin(); res != applicationExpr->get_results().end(); res++ ) 77 temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );77 temporaries.push_back( new ObjectDecl( nameGen->newName(),Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) ); 78 78 79 79 assert( ! temporaries.empty() ); -
src/main.cc
rb5b0907 rea9b9d3 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jun 12 06:56:40201513 // Update Count : 7012 // Last Modified On : Thu Jun 11 11:06:04 2015 13 // Update Count : 69 14 14 // 15 15 … … 54 54 if ( errorp ) std::cerr << x << std::endl; 55 55 56 void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false );56 void parse(FILE * input, LinkageSpec::Type t, bool shouldExit = false ); 57 57 58 58 bool … … 277 277 delete output; 278 278 } // if 279 279 280 } catch ( SemanticError &e ) { 280 281 if ( errorp ) { … … 304 305 } // main 305 306 306 void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit) {307 void parse(FILE * input, LinkageSpec::Type linkage, bool shouldExit) { 307 308 Parser::get_parser().set_linkage( linkage ); 308 309 Parser::get_parser().parse( input );
Note:
See TracChangeset
for help on using the changeset viewer.