Changeset b5b0907
- Timestamp:
- Jun 15, 2015, 12:45:26 PM (10 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 94b4364
- Parents:
- ea9b9d3 (diff), a1d5d2a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src
- Files:
-
- 5 deleted
- 50 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Jun 11 13:22:39201513 // Update Count : 13 712 // Last Modified On : Mon Jun 15 12:43:21 2015 13 // Update Count : 138 14 14 // 15 15 … … 19 19 #include <list> 20 20 21 #include "Parser/ParseNode.h" 22 21 23 #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" 26 27 27 28 #include "utility.h" … … 628 629 void CodeGenerator::handleStorageClass( Declaration *decl ) { 629 630 switch ( decl->get_storageClass() ) { 630 case Declaration::NoStorageClass: 631 break; 632 case Declaration::Extern: 631 case DeclarationNode::Extern: 633 632 output << "extern "; 634 633 break; 635 case Declaration ::Static:634 case DeclarationNode::Static: 636 635 output << "static "; 637 636 break; 638 case Declaration ::Auto:637 case DeclarationNode::Auto: 639 638 // silently drop storage class 640 639 break; 641 case Declaration ::Register:640 case DeclarationNode::Register: 642 641 output << "register "; 643 642 break; 644 case Declaration ::Inline:643 case DeclarationNode::Inline: 645 644 // handled as special via isInline flag (FIX) 646 645 break; 647 case Declaration ::Fortran:646 case DeclarationNode::Fortran: 648 647 // not handled 648 output << "fortran "; 649 break; 650 case DeclarationNode::Noreturn: 651 // not handled 652 output << "_Noreturn "; 653 break; 654 case DeclarationNode::Threadlocal: 655 // not handled 656 output << "_Thread_local "; 657 break; 658 case DeclarationNode::NoStorageClass: 649 659 break; 650 660 } // switch -
src/GenPoly/Box.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:31:41201513 // Update Count : 112 // Last Modified On : Sat Jun 13 07:13:46 2015 13 // Update Count : 3 14 14 // 15 15 … … 26 26 #include "ScrubTyVars.h" 27 27 28 #include "SynTree/Declaration.h" 28 #include "Parser/ParseNode.h" 29 29 30 #include "SynTree/Type.h" 30 31 #include "SynTree/Expression.h" … … 32 33 #include "SynTree/Statement.h" 33 34 #include "SynTree/Mutator.h" 35 34 36 #include "ResolvExpr/TypeEnvironment.h" 37 35 38 #include "SymTab/Mangler.h" 36 39 … … 282 285 283 286 ObjectDecl *Pass1::makeTemporary( Type *type ) { 284 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, 0, type, 0 );287 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, type, 0 ); 285 288 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); 286 289 return newObj; … … 362 365 arg = new AddressExpr( arg ); 363 366 } else { 364 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );367 ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 ); 365 368 newObj->get_type()->get_qualifiers() = Type::Qualifiers(); 366 369 stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) ); … … 433 436 makeRetParm( adapter ); 434 437 } // if 435 adapter->get_parameters().push_front( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );438 adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) ); 436 439 return adapter; 437 440 } … … 521 524 adapterBody->get_kids().push_back( bodyStmt ); 522 525 std::string adapterName = makeAdapterName( mangleName ); 523 return new FunctionDecl( adapterName, Declaration ::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );526 return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false ); 524 527 } 525 528 … … 902 905 if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) { 903 906 std::string adapterName = makeAdapterName( mangleName ); 904 paramList.push_front( new ObjectDecl( adapterName, Declaration ::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );907 paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) ); 905 908 adaptersDone.insert( adaptersDone.begin(), mangleName ); 906 909 } … … 961 964 std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin(); 962 965 std::list< DeclarationWithType *> inferredParams; 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 );966 ObjectDecl *newObj = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 ); 967 /// ObjectDecl *newFunPtr = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ); 965 968 for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) { 966 969 ObjectDecl *thisParm; -
src/GenPoly/Specialize.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 07:55:09201513 // Update Count : 412 // Last Modified On : Sat Jun 13 07:14:42 2015 13 // Update Count : 5 14 14 // 15 15 … … 19 19 #include "PolyMutator.h" 20 20 21 #include "SynTree/Declaration.h" 21 #include "Parser/ParseNode.h" 22 23 #include "SynTree/Expression.h" 22 24 #include "SynTree/Statement.h" 23 #include "SynTree/Expression.h"24 25 #include "SynTree/Type.h" 25 26 #include "SynTree/TypeSubstitution.h" … … 96 97 newEnv.applyFree( newType ); 97 98 } // if 98 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration ::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );99 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false ); 99 100 thunkFunc->fixUniqueId(); 100 101 -
src/Makefile.am
rea9b9d3 rb5b0907 11 11 ## Created On : Sun May 31 08:51:46 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Thu Jun 4 21:01:59201514 ## Update Count : 1 513 ## Last Modified On : Sat Jun 13 08:22:14 2015 14 ## Update Count : 17 15 15 ############################################################################### 16 16 … … 38 38 cfa_cpplib_PROGRAMS = cfa-cpp 39 39 cfa_cpp_SOURCES = ${SRC} 40 # need files Common/utility.h and Parser/lex.h41 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common -I${srcdir}/Parser40 # need files Common/utility.h 41 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common 42 42 43 43 CXXFLAGS = -g # remove default -O2 to allow better debugging -
src/Makefile.in
rea9b9d3 rb5b0907 392 392 cfa_cpplibdir = ${libdir} 393 393 cfa_cpp_SOURCES = ${SRC} 394 # need files Common/utility.h and Parser/lex.h395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common -I${srcdir}/Parser394 # need files Common/utility.h 395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common 396 396 all: $(BUILT_SOURCES) 397 397 $(MAKE) $(AM_MAKEFLAGS) all-am -
src/Parser/DeclarationNode.cc
rea9b9d3 rb5b0907 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 6 23:29:13 201513 // Update Count : 2312 // Last Modified On : Sat Jun 13 08:02:03 2015 13 // Update Count : 58 14 14 // 15 15 … … 21 21 22 22 #include "TypeData.h" 23 24 #include "SynTree/Declaration.h" 23 25 #include "SynTree/Expression.h" 24 26 25 26 27 using namespace std; 27 28 28 29 // 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", "" }; 29 31 const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" }; 30 32 const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" }; 31 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };32 const char *DeclarationNode:: tyConName[] = { "struct", "union", "context" };33 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" }; 34 const char *DeclarationNode::aggregateName[] = { "struct", "union", "context" }; 33 35 const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" }; 34 36 … … 63 65 } 64 66 65 const char *storageClassName[] = {66 // order must correspond with DeclarationNode::StorageClass67 "extern",68 "static",69 "auto",70 "register",71 "inline",72 "fortran",73 };74 75 67 void DeclarationNode::print( std::ostream &os, int indent ) const { 76 68 os << string( indent, ' ' ); … … 79 71 } else { 80 72 os << name << ": "; 81 } 73 } // if 82 74 83 75 if ( linkage != LinkageSpec::Cforall ) { 84 76 os << LinkageSpec::toString( linkage ) << " "; 85 } 86 87 printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os );77 } // if 78 79 printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os ); 88 80 if ( type ) { 89 81 type->print( os, indent ); 90 82 } else { 91 83 os << "untyped entity "; 92 } 84 } // if 93 85 94 86 if ( bitfieldWidth ) { 95 87 os << endl << string( indent + 2, ' ' ) << "with bitfield width "; 96 88 bitfieldWidth->printOneLine( os ); 97 } 89 } // if 98 90 99 91 if ( initializer != 0 ) { 100 92 os << endl << string( indent + 2, ' ' ) << "with initializer "; 101 93 initializer->printOneLine( os ); 102 } 94 } // if 103 95 104 96 os << endl; … … 109 101 if ( hasEllipsis ) { 110 102 os << string( indent, ' ' ) << "and a variable number of other arguments" << endl; 111 } 103 } // if 112 104 } 113 105 … … 123 115 if ( body ) { 124 116 newnode->type->function->hasBody = true; 125 } 117 } // if 126 118 127 119 if ( ret ) { … … 129 121 ret->type = 0; 130 122 delete ret; 131 } 123 } // if 132 124 133 125 return newnode; … … 141 133 } 142 134 143 DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) {135 DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) { 144 136 DeclarationNode *newnode = new DeclarationNode; 145 137 newnode->storageClasses.push_back( sc ); … … 177 169 } 178 170 179 DeclarationNode *DeclarationNode::newAggregate( TyConkind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {171 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) { 180 172 DeclarationNode *newnode = new DeclarationNode; 181 173 newnode->type = new TypeData( TypeData::Aggregate ); … … 184 176 if ( newnode->type->aggregate->name == "" ) { 185 177 newnode->type->aggregate->name = DeclarationNode::anonymous.newName(); 186 } 178 } // if 187 179 newnode->type->aggregate->params = formals; 188 180 newnode->type->aggregate->actuals = actuals; … … 198 190 if ( newnode->type->enumeration->name == "" ) { 199 191 newnode->type->enumeration->name = DeclarationNode::anonymous.newName(); 200 } 192 } // if 201 193 newnode->type->enumeration->constants = constants; 202 194 return newnode; … … 331 323 } else { 332 324 dst->forall = src->forall; 333 } 325 } // if 334 326 src->forall = 0; 335 } 327 } // if 336 328 if ( dst->base ) { 337 329 addQualifiersToType( src, dst->base ); … … 341 333 } else { 342 334 dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers ); 343 } 344 } 335 } // if 336 } // if 345 337 } 346 338 … … 351 343 if ( ! type ) { 352 344 type = new TypeData; 353 } 345 } // if 354 346 addQualifiersToType( q->type, type ); 355 347 if ( q->type && q->type->forall ) { … … 357 349 type->forall->appendList( q->type->forall ); 358 350 } else { 359 type->forall = q->type->forall; 360 } 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 361 357 q->type->forall = 0; 362 } 363 } 364 } 358 } // if 359 } // if 360 } // if 365 361 delete q; 366 362 return this; … … 379 375 } else { 380 376 dst->forall = src->forall; 381 } 377 } // if 382 378 src->forall = 0; 383 } 379 } // if 384 380 if ( dst->base ) { 385 381 addTypeToType( src, dst->base ); … … 398 394 dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers ); 399 395 dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec ); 400 } 396 } // if 401 397 break; 402 398 … … 409 405 if ( src->kind == TypeData::Aggregate ) { 410 406 dst->base->aggInst->params = maybeClone( src->aggregate->actuals ); 411 } 407 } // if 412 408 dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers ); 413 409 src = 0; … … 419 415 } else { 420 416 dst->forall = src->forall; 421 } 417 } // if 422 418 src->forall = 0; 423 419 dst->base = src; 424 420 src = 0; 425 } 426 } 427 } 428 } 421 } // switch 422 } // switch 423 } // if 424 } // if 429 425 } 430 426 … … 439 435 if ( o->type->kind == TypeData::Aggregate ) { 440 436 type->aggInst->params = maybeClone( o->type->aggregate->actuals ); 441 } 437 } // if 442 438 type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers ); 443 439 } else { 444 440 type = o->type; 445 } 441 } // if 446 442 o->type = 0; 447 443 } else { 448 444 addTypeToType( o->type, type ); 449 } 450 } 445 } // if 446 } // if 451 447 if ( o->bitfieldWidth ) { 452 448 bitfieldWidth = o->bitfieldWidth; 453 } 454 } 449 } // if 450 } // if 455 451 delete o; 456 452 return this; … … 475 471 } else { 476 472 type->symbolic->assertions = assertions; 477 } 473 } // if 478 474 break; 479 480 475 case TypeData::Variable: 481 476 if ( type->variable->assertions ) { … … 483 478 } else { 484 479 type->variable->assertions = assertions; 485 } 480 } // if 486 481 break; 487 488 482 default: 489 483 assert( false ); 490 } 484 } // switch 491 485 492 486 return this; … … 526 520 } 527 521 528 static void 529 setBase( TypeData *&type, TypeData *newType ) { 522 static void setBase( TypeData *&type, TypeData *newType ) { 530 523 if ( type ) { 531 524 TypeData *prevBase = type; … … 534 527 prevBase = curBase; 535 528 curBase = curBase->base; 536 } 529 } // while 537 530 prevBase->base = newType; 538 531 } else { 539 532 type = newType; 540 } 533 } // if 541 534 } 542 535 … … 547 540 p->type = 0; 548 541 delete p; 549 } 542 } // if 550 543 return this; 551 544 } … … 557 550 a->type = 0; 558 551 delete a; 559 } 552 } // if 560 553 return this; 561 554 } … … 572 565 if ( type->kind == TypeData::Aggregate ) { 573 566 p->type->base->aggInst->params = maybeClone( type->aggregate->actuals ); 574 } 567 } // if 575 568 p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers ); 576 569 break; … … 578 571 default: 579 572 p->type->base = type; 580 } 573 } // switch 581 574 type = 0; 582 } 575 } // if 583 576 delete this; 584 577 return p; 585 578 } else { 586 579 return this; 587 } 580 } // if 588 581 } 589 582 … … 593 586 while ( cur->base ) { 594 587 cur = cur->base; 595 } 588 } // while 596 589 return cur; 597 590 } … … 609 602 if ( type->kind == TypeData::Aggregate ) { 610 603 lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals ); 611 } 604 } // if 612 605 lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers ); 613 606 break; 614 607 default: 615 608 lastArray->base = type; 616 } 609 } // switch 617 610 type = 0; 618 } 611 } // if 619 612 delete this; 620 613 return a; 621 614 } else { 622 615 return this; 623 } 616 } // if 624 617 } 625 618 … … 637 630 } else { 638 631 type->function->idList = ids; 639 } 632 } // if 640 633 return type; 641 634 } else { … … 643 636 newtype->function->idList = ids; 644 637 return newtype; 645 } 638 } // if 646 639 } 647 640 … … 662 655 while ( srcType->base ) { 663 656 srcType = srcType->base; 664 } 657 } // while 665 658 newnode->type = maybeClone( srcType ); 666 659 if ( newnode->type->kind == TypeData::AggregateInst ) { … … 673 666 delete newnode->type->aggInst->aggregate->aggregate->members; 674 667 newnode->type->aggInst->aggregate->aggregate->members = 0; 675 } 676 } 668 } // if 669 } // if 677 670 newnode->type->forall = maybeClone( type->forall ); 678 671 newnode->storageClasses = storageClasses; … … 688 681 while ( srcType->base ) { 689 682 srcType = srcType->base; 690 } 683 } // while 691 684 TypeData *newType = srcType->clone(); 692 685 if ( newType->kind == TypeData::AggregateInst ) { … … 699 692 delete newType->aggInst->aggregate->aggregate->members; 700 693 newType->aggInst->aggregate->aggregate->members = 0; 701 } 702 } 694 } // if 695 } // if 703 696 newType->forall = maybeClone( type->forall ); 704 697 if ( ! o->type ) { … … 707 700 addTypeToType( newType, o->type ); 708 701 delete newType; 709 } 710 } 711 } 702 } // if 703 } // if 704 } // if 712 705 return o; 713 706 } … … 731 724 addTypeToType( newType, o->type ); 732 725 delete newType; 733 } 734 } 735 } 726 } // if 727 } // if 728 } // if 736 729 return o; 737 730 } … … 740 733 if ( node != 0 ) { 741 734 set_link( node ); 742 } 735 } // if 743 736 return this; 744 737 } … … 803 796 } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) { 804 797 StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() ); 805 *out++ = new ObjectDecl( "", Declaration ::NoStorageClass, linkage, 0, inst, 0 );798 *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 ); 806 799 delete agg; 807 800 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) { 808 801 UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() ); 809 *out++ = new ObjectDecl( "", Declaration ::NoStorageClass, linkage, 0, inst, 0 );802 *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 ); 810 803 } // if 811 804 } // if … … 882 875 } 883 876 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 ) { 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 ? 899 883 throw SemanticError( "invalid combination of storage classes in declaration of ", this ); 900 } 901 ret = scMap[ *i ];902 } 884 } // if 885 ret = *i; 886 } // for 903 887 return ret; 904 888 } 905 889 906 890 bool DeclarationNode::buildInline() const { 907 std::list< StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(),Inline );891 std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), DeclarationNode::Inline ); 908 892 if ( first == storageClasses.end() ) return false; 909 std::list< StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(),Inline );893 std::list< DeclarationNode::StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), DeclarationNode::Inline ); 910 894 if ( next == storageClasses.end() ) return true; 911 895 throw SemanticError( "duplicate inline specification in declaration of ", this ); -
src/Parser/ParseNode.h
rea9b9d3 rb5b0907 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S un Jun 7 22:02:00201513 // Update Count : 6512 // Last Modified On : Sat Jun 13 07:24:22 2015 13 // Update Count : 79 14 14 // 15 15 … … 22 22 23 23 #include "utility.h" 24 #include "Parser/LinkageSpec.h" 24 25 #include "SynTree/Type.h" 25 #include "SynTree/Declaration.h"26 //#include "SynTree/Declaration.h" 26 27 #include "UniqueName.h" 27 28 … … 265 266 public: 266 267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute }; 267 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };268 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 268 269 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; 269 enum Modifier { Signed, Unsigned, Short, Long };270 enum TyCon{ Struct, Union, Context };270 enum Modifier { Signed, Unsigned, Short, Long }; 271 enum Aggregate { Struct, Union, Context }; 271 272 enum TypeClass { Type, Dtype, Ftype }; 272 273 274 static const char *storageName[]; 273 275 static const char *qualifierName[]; 274 276 static const char *basicTypeName[]; 275 277 static const char *modifierName[]; 276 static const char * tyConName[];278 static const char *aggregateName[]; 277 279 static const char *typeClassName[]; 278 280 … … 285 287 static DeclarationNode *newForall( DeclarationNode *); 286 288 static DeclarationNode *newFromTypedef( std::string *); 287 static DeclarationNode *newAggregate( TyConkind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );289 static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ); 288 290 static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants ); 289 291 static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant ); … … 344 346 ~DeclarationNode(); 345 347 private: 346 Declaration::StorageClass buildStorageClass() const;348 StorageClass buildStorageClass() const; 347 349 bool buildInline() const; 348 350 -
src/Parser/TypeData.cc
rea9b9d3 rb5b0907 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 6 12:26:02201513 // Update Count : 812 // Last Modified On : Sat Jun 13 08:03:20 2015 13 // Update Count : 15 14 14 // 15 15 … … 89 89 attr->type = 0; 90 90 break; 91 } 91 } // switch 92 92 } 93 93 … … 155 155 delete attr; 156 156 break; 157 } 157 } // switch 158 158 } 159 159 … … 225 225 newtype->attr->type = maybeClone( attr->type ); 226 226 break; 227 } 227 } // switch 228 228 return newtype; 229 229 } … … 238 238 os << "forall " << endl; 239 239 forall->printList( os, indent+4 ); 240 } 240 } // if 241 241 242 242 switch ( kind ) { … … 249 249 os << "to "; 250 250 base->print( os, indent ); 251 } 251 } // if 252 252 break; 253 253 case EnumConstant: … … 261 261 if ( array->isStatic ) { 262 262 os << "static "; 263 } 263 } // if 264 264 if ( array->dimension ) { 265 265 os << "array of "; … … 269 269 } else { 270 270 os << "open array of "; 271 } 271 } // if 272 272 if ( base ) { 273 273 base->print( os, indent ); 274 } 274 } // if 275 275 break; 276 276 case Function: … … 281 281 } else { 282 282 os << string( indent+2, ' ' ) << "with no parameters " << endl; 283 } 283 } // if 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 } 287 } // if 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 } 291 } // if 292 292 os << string( indent+2, ' ' ) << "returning "; 293 293 if ( base ) { … … 295 295 } else { 296 296 os << "nothing "; 297 } 297 } // if 298 298 os << endl; 299 299 if ( function->hasBody ) { 300 300 os << string( indent+2, ' ' ) << "with body " << endl; 301 } 301 } // if 302 302 if ( function->body ) { 303 303 function->body->printList( os, indent+2 ); 304 } 304 } // if 305 305 break; 306 306 case Aggregate: 307 os << DeclarationNode:: tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl;307 os << DeclarationNode::aggregateName[ 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 } 311 } // if 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 } 315 } // if 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 } 321 } // if 322 322 break; 323 323 case AggregateInst: … … 327 327 } else { 328 328 os << "instance of an unspecified aggregate "; 329 } 329 } // if 330 330 if ( aggInst->params ) { 331 331 os << string( indent+2, ' ' ) << "with parameters " << endl; 332 332 aggInst->params->printList( os, indent+2 ); 333 } 333 } // if 334 334 break; 335 335 case Enum: … … 338 338 os << "with constants" << endl; 339 339 enumeration->constants->printList( os, indent+2 ); 340 } 340 } // if 341 341 break; 342 342 case SymbolicInst: … … 345 345 os << " with parameters" << endl; 346 346 symbolic->actuals->printList( os, indent + 2 ); 347 } 347 } // if 348 348 break; 349 349 case Symbolic: … … 352 352 } else { 353 353 os << "type definition "; 354 } 354 } // if 355 355 if ( symbolic->params ) { 356 356 os << endl << string( indent+2, ' ' ) << "with parameters" << endl; 357 357 symbolic->params->printList( os, indent + 2 ); 358 } 358 } // if 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 } 363 } // if 364 364 if ( base ) { 365 365 os << "for "; 366 366 base->print( os, indent + 2 ); 367 } 367 } // if 368 368 break; 369 369 case Variable: … … 373 373 variable->assertions->printList( os, indent + 4 ); 374 374 os << string( indent+2, ' ' ); 375 } 375 } // if 376 376 break; 377 377 case Tuple: … … 380 380 os << "with members " << endl; 381 381 tuple->members->printList( os, indent + 2 ); 382 } 382 } // if 383 383 break; 384 384 case Typeof: … … 386 386 if ( typeexpr->expr ) { 387 387 typeexpr->expr->print( os, indent + 2 ); 388 } 388 } // if 389 389 break; 390 390 case Attr: … … 392 392 if ( attr->expr ) { 393 393 attr->expr->print( os, indent + 2 ); 394 } 394 } // if 395 395 if ( attr->type ) { 396 396 attr->type->print( os, indent + 2 ); 397 } 398 break; 399 } 397 } // if 398 break; 399 } // switch 400 400 } 401 401 … … 408 408 ret = clone(); 409 409 ret->qualifiers.clear(); 410 } 410 } // if 411 411 break; 412 412 case Enum: … … 414 414 ret = clone(); 415 415 ret->qualifiers.clear(); 416 } 416 } // if 417 417 break; 418 418 case AggregateInst: 419 419 if ( aggInst->aggregate ) { 420 420 ret = aggInst->aggregate->extractAggregate( false ); 421 } 421 } // if 422 422 break; 423 423 default: 424 424 if ( base ) { 425 425 ret = base->extractAggregate( false ); 426 } 427 } 426 } // if 427 } // switch 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 ::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 {436 assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::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( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 438 assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) ); 439 (*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) ); 440 } // if 441 } // for 442 } 443 444 Declaration *TypeData::buildDecl( std::string name, DeclarationNode::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 } 456 } // if 457 457 } else { 458 458 decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline ); 459 } 459 } // if 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 } 464 } 463 } // if 464 } // for 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 } 481 } 480 } // if 481 } // if 482 482 return 0; 483 483 } … … 514 514 case Variable: 515 515 assert( false ); 516 } 516 } // switch 517 517 518 518 return 0; … … 541 541 q.isAttribute = true; 542 542 break; 543 } 544 } 543 } // switch 544 } // for 545 545 return q; 546 546 } … … 563 563 } else { 564 564 return new VoidType( buildQualifiers() ); 565 } 565 } // if 566 566 } else { 567 567 ret = kindMap[ *i ]; 568 } 568 } // if 569 569 } else { 570 570 switch ( *i ) { … … 582 582 default: 583 583 throw SemanticError( "invalid type specifier \"float\" in type: ", this ); 584 } 585 } 584 } // switch 585 } // if 586 586 break; 587 587 case DeclarationNode::Double: … … 595 595 default: 596 596 throw SemanticError( "invalid type specifier \"double\" in type: ", this ); 597 } 598 } 597 } // switch 598 } // if 599 599 break; 600 600 … … 609 609 default: 610 610 throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this ); 611 } 611 } // switch 612 612 break; 613 613 case DeclarationNode::Imaginary: … … 621 621 default: 622 622 throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this ); 623 } 623 } // switch 624 624 break; 625 625 default: 626 626 throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this ); 627 } 628 } 627 } // switch 628 } // if 629 629 if ( *i == DeclarationNode::Double ) { 630 630 sawDouble = true; 631 } 632 } 631 } // if 632 } // for 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 } 666 } 665 } // switch 666 } // if 667 667 break; 668 668 case DeclarationNode::Short: … … 680 680 default: 681 681 throw SemanticError( "invalid type modifier \"short\" in type: ", this ); 682 } 683 } 682 } // switch 683 } // if 684 684 break; 685 685 case DeclarationNode::Signed: … … 705 705 default: 706 706 throw SemanticError( "invalid type modifer \"signed\" in type: ", this ); 707 } 708 } 707 } // switch 708 } // if 709 709 break; 710 710 case DeclarationNode::Unsigned: … … 733 733 default: 734 734 throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this ); 735 } 736 } 737 break; 738 } 735 } // switch 736 } // if 737 break; 738 } // switch 739 739 740 740 if ( *i == DeclarationNode::Signed ) { 741 741 sawSigned = true; 742 } 743 } 742 } // if 743 } // for 744 744 745 745 BasicType *bt; … … 748 748 } else { 749 749 bt = new BasicType( buildQualifiers(), ret ); 750 } 750 } // if 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 } 762 } // if 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 } 775 } // if 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 ::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );794 } 793 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) ); 794 } // switch 795 795 } else { 796 ft->get_returnVals().push_back( new ObjectDecl( "", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );797 } 796 ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) ); 797 } // if 798 798 return ft; 799 799 } … … 817 817 default: 818 818 assert( false ); 819 } 819 } // switch 820 820 buildList( aggregate->params, at->get_parameters() ); 821 821 buildList( aggregate->members, at->get_members() ); … … 857 857 default: 858 858 assert( false ); 859 } 860 } 859 } // switch 860 } // if 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 ::StorageClass sc ) const {866 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, DeclarationNode::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 } 873 } // if 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 ::NoStorageClass, 0, kindMap[ variable->tyClass ] );883 TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::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 } 933 } // if 934 934 935 935 return ret; -
src/Parser/TypeData.h
rea9b9d3 rb5b0907 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat May 16 15:20:00201513 // Update Count : 212 // Last Modified On : Sat Jun 13 07:26:16 2015 13 // Update Count : 5 14 14 // 15 15 … … 44 44 45 45 struct Aggregate_t { 46 DeclarationNode:: TyConkind;46 DeclarationNode::Aggregate 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 ::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;122 Declaration * buildDecl( std::string name, DeclarationNode::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 ::StorageClass sc ) const;130 NamedTypeDecl * buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const; 131 131 TypeDecl* buildVariable() const; 132 132 EnumDecl* buildEnum() const; -
src/Parser/lex.cc
rea9b9d3 rb5b0907 1390 1390 * Created On : Sat Sep 22 08:58:10 2001 1391 1391 * Last Modified By : Peter A. Buhr 1392 * Last Modified On : Mon Jun 8 20:24:15 20151393 * Update Count : 38 11392 * Last Modified On : Thu Jun 11 21:52:35 2015 1393 * Update Count : 382 1394 1394 */ 1395 1395 #line 20 "lex.ll" -
src/Parser/lex.ll
rea9b9d3 rb5b0907 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Mon Jun 8 20:24:15 201513 * Update Count : 38 112 * Last Modified On : Thu Jun 11 21:52:35 2015 13 * Update Count : 382 14 14 */ 15 15 -
src/Parser/parser.cc
rea9b9d3 rb5b0907 330 330 ExpressionNode *en; 331 331 DeclarationNode *decl; 332 DeclarationNode:: TyConaggKey;332 DeclarationNode::Aggregate 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 38570 #define YYFINAL 240 571 571 /* YYLAST -- Last index in YYTABLE. */ 572 #define YYLAST 12 086572 #define YYLAST 12141 573 573 574 574 /* YYNTOKENS -- Number of terminals. */ … … 577 577 #define YYNNTS 235 578 578 /* YYNRULES -- Number of rules. */ 579 #define YYNRULES 73 3579 #define YYNRULES 735 580 580 /* YYNRULES -- Number of states. */ 581 #define YYNSTATES 155 0581 #define YYNSTATES 1552 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 4, 1127,668 11 31, 1135, 1137, 1141, 1143, 1146, 1149, 1152, 1157, 1162,669 116 7, 1172, 1174, 1177, 1180, 1184, 1186, 1189, 1192, 1194,670 119 7, 1200, 1204, 1206, 1209, 1212, 1214, 1216, 1221, 1224,671 12 30, 1240, 1248, 1259, 1272, 1280, 1294, 1297, 1300, 1302,672 130 5, 1308, 1312, 1315, 1319, 1321, 1324, 1328, 1331, 1334,673 133 9, 1340, 1342, 1345, 1348, 1350, 1351, 1353, 1356, 1359,674 136 5, 1372, 1375, 1378, 1383, 1384, 1387, 1388, 1390, 1392,675 1394, 1 400, 1406, 1412, 1414, 1420, 1426, 1436, 1438, 1444,676 144 5, 1447, 1449, 1455, 1457, 1459, 1465, 1471, 1473, 1477,677 14 81, 1486, 1488, 1490, 1492, 1494, 1497, 1499, 1503, 1507,678 150 9, 1512, 1514, 1518, 1520, 1522, 1524, 1526, 1528, 1530,679 1532, 1534, 1536, 1538, 1540, 154 3, 1545, 1547, 1549, 1552,680 1553, 1556, 155 8, 1563, 1565, 1568, 1572, 1577, 1580, 1583,681 158 5, 1588, 1591, 1597, 1603, 1611, 1618, 1620, 1623, 1626,682 16 30, 1635, 1641, 1644, 1647, 1652, 1653, 1658, 1661, 1663,683 1665, 1667, 166 8, 1671, 1677, 1683, 1697, 1699, 1701, 1705,684 170 9, 1712, 1716, 1720, 1723, 1728, 1730, 1737, 1747, 1748,685 17 60, 1762, 1766, 1770, 1774, 1776, 1778, 1784, 1787, 1793,686 179 4, 1796, 1798, 1802, 1803, 1805, 1807, 1809, 1811, 1812,687 181 9, 1822, 1824, 1827, 1832, 1835, 1839, 1843, 1847, 1852,688 185 8, 1864, 1870, 1877, 1879, 1881, 1883, 1887, 1888, 1894,689 189 5, 1897, 1899, 1902, 1909, 1911, 1915, 1916, 1918, 1923,690 192 5, 1927, 1929, 1931, 1934, 1936, 1939, 1942, 1944, 1948,691 19 51, 1955, 1959, 1962, 1967, 1972, 1976, 1985, 1989, 1992,692 199 4, 1997, 2004, 2013, 2017, 2020, 2024, 2028, 2033, 2038,693 20 42, 2044, 2046, 2048, 2053, 2060, 2064, 2067, 2071, 2075,694 20 80, 2085, 2089, 2092, 2094, 2097, 2100, 2102, 2106, 2109,695 211 3, 2117, 2120, 2125, 2130, 2134, 2141, 2150, 2154, 2157,696 215 9, 2162, 2165, 2168, 2172, 2176, 2179, 2184, 2189, 2193,697 2 200, 2209, 2213, 2216, 2218, 2221, 2224, 2226, 2229, 2233,698 223 7, 2240, 2245, 2252, 2261, 2263, 2266, 2269, 2271, 2274,699 227 7, 2281, 2285, 2287, 2292, 2297, 2301, 2307, 2316, 2320,700 232 5, 2331, 2333, 2339, 2345, 2352, 2359, 2361, 2364, 2367,701 236 9, 2372, 2375, 2379, 2383, 2385, 2390, 2395, 2399, 2405,702 24 14, 2418, 2420, 2423, 2425, 2430, 2437, 2443, 2450, 2458,703 24 66, 2468, 2471, 2474, 2476, 2479, 2482, 2486, 2490, 2492,704 249 7, 2502, 2506, 2515, 2519, 2521, 2523, 2526, 2528, 2530,705 253 3, 2537, 2540, 2544, 2547, 2551, 2557, 2560, 2567, 2571,706 257 4, 2580, 2583, 2590, 2594, 2597, 2604, 2611, 2618, 2626,707 262 8, 2631, 2633, 2635, 2637, 2640, 2644, 2647, 2651, 2654,708 265 8, 2664, 2671, 2674, 2680, 2687, 2690, 2696, 2704, 2711,709 27 18, 2719, 2721, 2722667 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125, 668 1128, 1131, 1135, 1139, 1141, 1145, 1147, 1150, 1153, 1156, 669 1161, 1166, 1171, 1176, 1178, 1181, 1184, 1188, 1190, 1193, 670 1196, 1198, 1201, 1204, 1208, 1210, 1213, 1216, 1218, 1220, 671 1225, 1228, 1234, 1244, 1252, 1263, 1276, 1284, 1298, 1301, 672 1304, 1306, 1309, 1312, 1316, 1319, 1323, 1325, 1328, 1332, 673 1335, 1338, 1343, 1344, 1346, 1349, 1352, 1354, 1355, 1357, 674 1360, 1363, 1369, 1376, 1379, 1382, 1387, 1388, 1391, 1392, 675 1394, 1396, 1398, 1404, 1410, 1416, 1418, 1424, 1430, 1440, 676 1442, 1448, 1449, 1451, 1453, 1459, 1461, 1463, 1469, 1475, 677 1477, 1481, 1485, 1490, 1492, 1494, 1496, 1498, 1501, 1503, 678 1507, 1511, 1513, 1516, 1518, 1522, 1524, 1526, 1528, 1530, 679 1532, 1534, 1536, 1538, 1540, 1542, 1544, 1547, 1549, 1551, 680 1553, 1556, 1557, 1560, 1562, 1567, 1569, 1572, 1576, 1581, 681 1584, 1587, 1589, 1592, 1595, 1601, 1607, 1615, 1622, 1624, 682 1627, 1630, 1634, 1639, 1645, 1648, 1651, 1656, 1657, 1662, 683 1665, 1667, 1669, 1671, 1672, 1675, 1681, 1687, 1701, 1703, 684 1705, 1709, 1713, 1716, 1720, 1724, 1727, 1732, 1734, 1741, 685 1751, 1752, 1764, 1766, 1770, 1774, 1778, 1780, 1782, 1788, 686 1791, 1797, 1798, 1800, 1802, 1806, 1807, 1809, 1811, 1813, 687 1815, 1816, 1823, 1826, 1828, 1831, 1836, 1839, 1843, 1847, 688 1851, 1856, 1862, 1868, 1874, 1881, 1883, 1885, 1887, 1891, 689 1892, 1898, 1899, 1901, 1903, 1906, 1913, 1915, 1919, 1920, 690 1922, 1927, 1929, 1931, 1933, 1935, 1938, 1940, 1943, 1946, 691 1948, 1952, 1955, 1959, 1963, 1966, 1971, 1976, 1980, 1989, 692 1993, 1996, 1998, 2001, 2008, 2017, 2021, 2024, 2028, 2032, 693 2037, 2042, 2046, 2048, 2050, 2052, 2057, 2064, 2068, 2071, 694 2075, 2079, 2084, 2089, 2093, 2096, 2098, 2101, 2104, 2106, 695 2110, 2113, 2117, 2121, 2124, 2129, 2134, 2138, 2145, 2154, 696 2158, 2161, 2163, 2166, 2169, 2172, 2176, 2180, 2183, 2188, 697 2193, 2197, 2204, 2213, 2217, 2220, 2222, 2225, 2228, 2230, 698 2233, 2237, 2241, 2244, 2249, 2256, 2265, 2267, 2270, 2273, 699 2275, 2278, 2281, 2285, 2289, 2291, 2296, 2301, 2305, 2311, 700 2320, 2324, 2329, 2335, 2337, 2343, 2349, 2356, 2363, 2365, 701 2368, 2371, 2373, 2376, 2379, 2383, 2387, 2389, 2394, 2399, 702 2403, 2409, 2418, 2422, 2424, 2427, 2429, 2434, 2441, 2447, 703 2454, 2462, 2470, 2472, 2475, 2478, 2480, 2483, 2486, 2490, 704 2494, 2496, 2501, 2506, 2510, 2519, 2523, 2525, 2527, 2530, 705 2532, 2534, 2537, 2541, 2544, 2548, 2551, 2555, 2561, 2564, 706 2571, 2575, 2578, 2584, 2587, 2594, 2598, 2601, 2608, 2615, 707 2622, 2630, 2632, 2635, 2637, 2639, 2641, 2644, 2648, 2651, 708 2655, 2658, 2662, 2668, 2675, 2678, 2684, 2691, 2694, 2700, 709 2708, 2715, 2722, 2723, 2725, 2726 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, 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, 2 26, -1, 227, -1, 215, 228, 215,829 -1, 2 24, -1, 216, 224, -1, 227, 217, -1, 227,830 22 4, -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 21 7, -1, 232, -1, 220, 232, -1, 231, 222, -1,835 231, 222, 216, -1, 67, -1, 216, 67, -1, 232,836 21 7, -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 10 6, 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 2 42, -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 2 61, 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 2 50, 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, 26 7, 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, 2 78, 108, 263, -1, 278, 108, 155, -1, 32,886 280, -1, 221, 32, 280, -1, 279, 108, 280, -1,887 2 81, 276, -1, 281, 276, 123, 263, -1, 261, -1,888 26 0, 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 28 5, -1, 284, 126, 285, -1, 286, 127, 124, -1,892 28 7, 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 29 1, -1, 294, -1, 309, 164, -1, 313, 126, 196,898 164, -1, 205, 164, -1, 213, 309, 164, -1, 216,899 309, 164, -1, 2 20, 309, 164, -1, 220, 216, 309,900 164, -1, 213, 313, 126, 196, 164, -1, 216, 313,901 1 26, 196, 164, -1, 220, 313, 126, 196, 164, -1,902 220, 216, 313, 126, 196, 164, -1, 304, -1, 309,903 -1, 3 17, -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 3 35, -1, 101, 306, 102, 335, -1, 101, 307, 102,912 336, -1, 101, 307, 102, -1, 101, 306, 102, 101,913 1 26, 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 1 27, 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, 1 01, 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, 1 01, 323, 102, -1, 305, 341, -1, 101,933 3 23, 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 10 2, -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, 1 01, 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 10 3, 126, 127, 104, -1, 103, 126, 127, 104, 336,948 -1, 336, -1, 103, 126, 155, 127, 104, -1, 103,949 12 6, 111, 127, 104, -1, 336, 103, 126, 155, 127,950 10 4, -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 1 03, 126, 216, 111, 127, 104, -1, 103, 126, 216,959 127, 104, -1, 103, 126, 216, 155, 127, 104, -1,960 1 03, 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 1 26, 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, 3 36, 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 1 03, 126, 127, 104, 336, 354, -1, 336, 354, -1,984 103, 126, 250, 127, 104, -1, 103, 126, 127, 104,985 10 1, 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, -1824 -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, 216, -1, 225, 222, 226, -1, 227, 829 -1, 215, 228, 215, -1, 224, -1, 216, 224, -1, 830 227, 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 216, 233, -1, 230, 217, -1, 232, -1, 220, 232, 835 -1, 231, 222, -1, 231, 222, 216, -1, 67, -1, 836 216, 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 101, 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 298, 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 246, -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 249, 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, 265, -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, 263, -1, 155, -1, 278, 108, 263, -1, 278, 886 108, 155, -1, 32, 280, -1, 221, 32, 280, -1, 887 279, 108, 280, -1, 281, 276, -1, 281, 276, 123, 888 263, -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 283, 284, 107, -1, 285, -1, 284, 126, 285, -1, 892 286, 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 290, 107, -1, 38, 291, -1, 294, -1, 309, 164, 898 -1, 313, 126, 196, 164, -1, 205, 164, -1, 213, 899 309, 164, -1, 216, 309, 164, -1, 220, 309, 164, 900 -1, 220, 216, 309, 164, -1, 213, 313, 126, 196, 901 164, -1, 216, 313, 126, 196, 164, -1, 220, 313, 902 126, 196, 164, -1, 220, 216, 313, 126, 196, 164, 903 -1, 304, -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 306, 102, -1, 305, 335, -1, 101, 306, 102, 335, 912 -1, 101, 307, 102, 336, -1, 101, 307, 102, -1, 913 101, 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 102, 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, 111, 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, 111, 216, 322, -1, 101, 323, 102, -1, 933 305, 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 101, 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, 111, 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 101, 334, 102, -1, 103, 126, 127, 104, -1, 103, 948 126, 127, 104, 336, -1, 336, -1, 103, 126, 155, 949 127, 104, -1, 103, 126, 111, 127, 104, -1, 336, 950 103, 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 126, 127, 104, -1, 103, 126, 216, 111, 127, 104, 959 -1, 103, 126, 216, 127, 104, -1, 103, 126, 216, 960 155, 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 101, 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, 351, 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 127, 104, 354, -1, 103, 126, 127, 104, 336, 354, 984 -1, 336, 354, -1, 103, 126, 250, 127, 104, -1, 985 103, 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, -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 1, 1256, 1258, 1260, 1262, 1264, 1266,1024 126 8, 1270, 1272, 1274, 1276, 1278, 1284, 1285, 1287, 1289,1025 129 1, 1296, 1297, 1303, 1304, 1306, 1308, 1313, 1315, 1317,1026 131 9, 1324, 1325, 1327, 1329, 1334, 1335, 1337, 1342, 1343,1027 1345, 134 7, 1352, 1354, 1356, 1361, 1362, 1366, 1368, 1370,1028 137 2, 1374, 1376, 1378, 1380, 1383, 1388, 1390, 1395, 1397,1029 1 402, 1403, 1405, 1406, 1411, 1412, 1414, 1416, 1421, 1423,1030 142 9, 1430, 1432, 1435, 1438, 1443, 1444, 1449, 1454, 1458,1031 14 60, 1462, 1467, 1469, 1475, 1476, 1484, 1485, 1489, 1490,1032 149 1, 1493, 1495, 1503, 1504, 1506, 1508, 1513, 1514, 1520,1033 15 21, 1525, 1526, 1531, 1532, 1533, 1535, 1544, 1545, 1547,1034 15 50, 1552, 1556, 1557, 1558, 1560, 1562, 1566, 1571, 1579,1035 15 80, 1589, 1591, 1596, 1597, 1598, 1602, 1603, 1604, 1608,1036 160 9, 1610, 1614, 1615, 1616, 1621, 1622, 1623, 1624, 1630,1037 16 31, 1635, 1636, 1640, 1641, 1642, 1643, 1658, 1659, 1664,1038 166 5, 1669, 1671, 1675, 1677, 1679, 1703, 1704, 1706, 1708,1039 17 13, 1715, 1717, 1722, 1723, 1729, 1728, 1732, 1736, 1738,1040 17 40, 1746, 1747, 1752, 1757, 1759, 1764, 1766, 1767, 1769,1041 177 4, 1776, 1778, 1783, 1785, 1790, 1795, 1803, 1809, 1808,1042 18 22, 1823, 1828, 1829, 1833, 1838, 1843, 1851, 1856, 1867,1043 18 68, 1879, 1880, 1886, 1887, 1891, 1892, 1893, 1896, 1895,1044 1 906, 1911, 1918, 1924, 1933, 1939, 1945, 1951, 1957, 1965,1045 19 71, 1979, 1985, 1994, 1995, 1996, 2000, 2004, 2006, 2009,1046 20 11, 2015, 2016, 2020, 2024, 2025, 2028, 2030, 2031, 2035,1047 203 6, 2037, 2038, 2073, 2074, 2075, 2076, 2080, 2085, 2090,1048 20 92, 2094, 2099, 2101, 2103, 2105, 2110, 2112, 2122, 2123,1049 212 4, 2128, 2130, 2132, 2137, 2139, 2141, 2146, 2148, 2150,1050 215 9, 2160, 2161, 2165, 2167, 2169, 2174, 2176, 2178, 2183,1051 218 5, 2187, 2202, 2203, 2204, 2205, 2209, 2214, 2219, 2221,1052 222 3, 2228, 2230, 2232, 2234, 2239, 2241, 2243, 2253, 2254,1053 225 5, 2256, 2260, 2262, 2264, 2269, 2271, 2273, 2275, 2280,1054 22 82, 2284, 2315, 2316, 2317, 2318, 2322, 2330, 2332, 2334,1055 233 9, 2341, 2346, 2348, 2362, 2363, 2364, 2368, 2370, 2372,1056 237 4, 2376, 2381, 2382, 2384, 2386, 2391, 2393, 2395, 2401,1057 2 403, 2405, 2409, 2411, 2413, 2415, 2429, 2430, 2431, 2435,1058 243 7, 2439, 2441, 2443, 2448, 2449, 2451, 2453, 2458, 2460,1059 246 2, 2468, 2469, 2471, 2481, 2484, 2486, 2489, 2491, 2493,1060 2 506, 2507, 2508, 2512, 2514, 2516, 2518, 2520, 2525, 2526,1061 2528, 25 30, 2535, 2537, 2545, 2546, 2547, 2552, 2553, 2557,1062 255 9, 2561, 2563, 2565, 2567, 2574, 2576, 2578, 2580, 2582,1063 258 4, 2586, 2588, 2590, 2592, 2597, 2599, 2601, 2606, 2632,1064 26 33, 2635, 2639, 2640, 2644, 2646, 2648, 2650, 2652, 2654,1065 26 61, 2663, 2665, 2667, 2669, 2671, 2676, 2681, 2683, 2685,1066 2 705, 2707, 2712, 27131023 1244, 1246, 1248, 1250, 1252, 1254, 1259, 1261, 1263, 1265, 1024 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1287, 1288, 1025 1290, 1292, 1294, 1299, 1300, 1306, 1307, 1309, 1311, 1316, 1026 1318, 1320, 1322, 1327, 1328, 1330, 1332, 1337, 1338, 1340, 1027 1345, 1346, 1348, 1350, 1355, 1357, 1359, 1364, 1365, 1369, 1028 1371, 1373, 1375, 1377, 1379, 1381, 1383, 1386, 1391, 1393, 1029 1398, 1400, 1405, 1406, 1408, 1409, 1414, 1415, 1417, 1419, 1030 1424, 1426, 1432, 1433, 1435, 1438, 1441, 1446, 1447, 1452, 1031 1457, 1461, 1463, 1465, 1470, 1472, 1478, 1479, 1487, 1488, 1032 1492, 1493, 1494, 1496, 1498, 1506, 1507, 1509, 1511, 1516, 1033 1517, 1523, 1524, 1528, 1529, 1534, 1535, 1536, 1538, 1547, 1034 1548, 1550, 1553, 1555, 1559, 1560, 1561, 1563, 1565, 1569, 1035 1574, 1582, 1583, 1592, 1594, 1599, 1600, 1601, 1605, 1606, 1036 1607, 1611, 1612, 1613, 1617, 1618, 1619, 1624, 1625, 1626, 1037 1627, 1633, 1634, 1638, 1639, 1643, 1644, 1645, 1646, 1661, 1038 1662, 1667, 1668, 1672, 1674, 1678, 1680, 1682, 1706, 1707, 1039 1709, 1711, 1716, 1718, 1720, 1725, 1726, 1732, 1731, 1735, 1040 1739, 1741, 1743, 1749, 1750, 1755, 1760, 1762, 1767, 1769, 1041 1770, 1772, 1777, 1779, 1781, 1786, 1788, 1793, 1798, 1806, 1042 1812, 1811, 1825, 1826, 1831, 1832, 1836, 1841, 1846, 1854, 1043 1859, 1870, 1871, 1882, 1883, 1889, 1890, 1894, 1895, 1896, 1044 1899, 1898, 1909, 1914, 1921, 1927, 1936, 1942, 1948, 1954, 1045 1960, 1968, 1974, 1982, 1988, 1997, 1998, 1999, 2003, 2007, 1046 2009, 2012, 2014, 2018, 2019, 2023, 2027, 2028, 2031, 2033, 1047 2034, 2038, 2039, 2040, 2041, 2076, 2077, 2078, 2079, 2083, 1048 2088, 2093, 2095, 2097, 2102, 2104, 2106, 2108, 2113, 2115, 1049 2125, 2126, 2127, 2131, 2133, 2135, 2140, 2142, 2144, 2149, 1050 2151, 2153, 2162, 2163, 2164, 2168, 2170, 2172, 2177, 2179, 1051 2181, 2186, 2188, 2190, 2205, 2206, 2207, 2208, 2212, 2217, 1052 2222, 2224, 2226, 2231, 2233, 2235, 2237, 2242, 2244, 2246, 1053 2256, 2257, 2258, 2259, 2263, 2265, 2267, 2272, 2274, 2276, 1054 2278, 2283, 2285, 2287, 2318, 2319, 2320, 2321, 2325, 2333, 1055 2335, 2337, 2342, 2344, 2349, 2351, 2365, 2366, 2367, 2371, 1056 2373, 2375, 2377, 2379, 2384, 2385, 2387, 2389, 2394, 2396, 1057 2398, 2404, 2406, 2408, 2412, 2414, 2416, 2418, 2432, 2433, 1058 2434, 2438, 2440, 2442, 2444, 2446, 2451, 2452, 2454, 2456, 1059 2461, 2463, 2465, 2471, 2472, 2474, 2484, 2487, 2489, 2492, 1060 2494, 2496, 2509, 2510, 2511, 2515, 2517, 2519, 2521, 2523, 1061 2528, 2529, 2531, 2533, 2538, 2540, 2548, 2549, 2550, 2555, 1062 2556, 2560, 2562, 2564, 2566, 2568, 2570, 2577, 2579, 2581, 1063 2583, 2585, 2587, 2589, 2591, 2593, 2595, 2600, 2602, 2604, 1064 2609, 2635, 2636, 2638, 2642, 2643, 2647, 2649, 2651, 2653, 1065 2655, 2657, 2664, 2666, 2668, 2670, 2672, 2674, 2679, 2684, 1066 2686, 2688, 2708, 2710, 2715, 2716 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 4, 224, 224, 224, 224, 224,1237 224, 224, 224, 224, 224, 224, 22 5, 225, 225, 225,1238 225, 22 6, 226, 227, 227, 227, 227, 228, 228, 228,1239 228, 22 9, 229, 229, 229, 230, 230, 230, 231, 231,1240 231, 231, 23 2, 232, 232, 233, 233, 234, 234, 234,1241 234, 234, 234, 234, 234, 234, 23 5, 235, 236, 236,1242 23 7, 237, 237, 237, 238, 238, 238, 238, 239, 239,1243 2 40, 240, 240, 240, 240, 241, 241, 242, 243, 244,1244 24 4, 244, 245, 245, 246, 246, 247, 247, 248, 248,1245 248, 248, 248, 24 9, 249, 249, 249, 250, 250, 251,1246 25 1, 252, 252, 253, 253, 253, 253, 254, 254, 254,1247 254, 254, 25 5, 255, 255, 255, 255, 256, 256, 257,1248 25 7, 258, 258, 259, 259, 259, 260, 260, 260, 261,1249 26 1, 261, 262, 262, 262, 263, 263, 263, 263, 264,1250 26 4, 265, 265, 266, 266, 266, 266, 267, 267, 268,1251 26 8, 269, 269, 269, 269, 269, 270, 270, 270, 270,1252 27 1, 271, 271, 272, 272, 274, 273, 273, 275, 275,1253 275, 27 6, 276, 277, 277, 277, 278, 278, 278, 278,1254 27 9, 279, 279, 280, 280, 281, 281, 282, 283, 282,1255 28 4, 284, 285, 285, 286, 286, 286, 287, 287, 288,1256 28 8, 289, 289, 290, 290, 291, 291, 291, 292, 291,1257 29 1, 293, 293, 293, 294, 294, 294, 294, 294, 294,1258 294, 294, 294, 29 5, 295, 295, 296, 297, 297, 298,1259 29 8, 299, 299, 300, 301, 301, 302, 302, 302, 303,1260 30 3, 303, 303, 304, 304, 304, 304, 305, 305, 306,1261 30 6, 306, 307, 307, 307, 307, 308, 308, 309, 309,1262 309, 3 10, 310, 310, 311, 311, 311, 312, 312, 312,1263 31 3, 313, 313, 314, 314, 314, 315, 315, 315, 316,1264 31 6, 316, 317, 317, 317, 317, 318, 318, 319, 319,1265 319, 3 20, 320, 320, 320, 321, 321, 321, 322, 322,1266 322, 322, 32 3, 323, 323, 324, 324, 324, 324, 325,1267 32 5, 325, 326, 326, 326, 326, 327, 328, 328, 328,1268 32 9, 329, 330, 330, 331, 331, 331, 332, 332, 332,1269 332, 332, 33 3, 333, 333, 333, 334, 334, 334, 335,1270 33 5, 335, 336, 336, 336, 336, 337, 337, 337, 338,1271 33 8, 338, 338, 338, 339, 339, 339, 339, 340, 340,1272 340, 34 1, 341, 341, 342, 342, 342, 342, 342, 342,1273 34 3, 343, 343, 344, 344, 344, 344, 344, 345, 345,1274 345, 345, 34 6, 346, 347, 347, 347, 348, 348, 349,1275 34 9, 349, 349, 349, 349, 350, 350, 350, 350, 350,1276 350, 350, 350, 350, 350, 35 1, 351, 351, 351, 352,1277 35 2, 352, 353, 353, 354, 354, 354, 354, 354, 354,1278 35 5, 355, 355, 355, 355, 355, 356, 357, 357, 357,1279 35 8, 358, 359, 3591236 223, 223, 223, 223, 223, 223, 224, 224, 224, 224, 1237 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 1238 225, 225, 225, 226, 226, 227, 227, 227, 227, 228, 1239 228, 228, 228, 229, 229, 229, 229, 230, 230, 230, 1240 231, 231, 231, 231, 232, 232, 232, 233, 233, 234, 1241 234, 234, 234, 234, 234, 234, 234, 234, 235, 235, 1242 236, 236, 237, 237, 237, 237, 238, 238, 238, 238, 1243 239, 239, 240, 240, 240, 240, 240, 241, 241, 242, 1244 243, 244, 244, 244, 245, 245, 246, 246, 247, 247, 1245 248, 248, 248, 248, 248, 249, 249, 249, 249, 250, 1246 250, 251, 251, 252, 252, 253, 253, 253, 253, 254, 1247 254, 254, 254, 254, 255, 255, 255, 255, 255, 256, 1248 256, 257, 257, 258, 258, 259, 259, 259, 260, 260, 1249 260, 261, 261, 261, 262, 262, 262, 263, 263, 263, 1250 263, 264, 264, 265, 265, 266, 266, 266, 266, 267, 1251 267, 268, 268, 269, 269, 269, 269, 269, 270, 270, 1252 270, 270, 271, 271, 271, 272, 272, 274, 273, 273, 1253 275, 275, 275, 276, 276, 277, 277, 277, 278, 278, 1254 278, 278, 279, 279, 279, 280, 280, 281, 281, 282, 1255 283, 282, 284, 284, 285, 285, 286, 286, 286, 287, 1256 287, 288, 288, 289, 289, 290, 290, 291, 291, 291, 1257 292, 291, 291, 293, 293, 293, 294, 294, 294, 294, 1258 294, 294, 294, 294, 294, 295, 295, 295, 296, 297, 1259 297, 298, 298, 299, 299, 300, 301, 301, 302, 302, 1260 302, 303, 303, 303, 303, 304, 304, 304, 304, 305, 1261 305, 306, 306, 306, 307, 307, 307, 307, 308, 308, 1262 309, 309, 309, 310, 310, 310, 311, 311, 311, 312, 1263 312, 312, 313, 313, 313, 314, 314, 314, 315, 315, 1264 315, 316, 316, 316, 317, 317, 317, 317, 318, 318, 1265 319, 319, 319, 320, 320, 320, 320, 321, 321, 321, 1266 322, 322, 322, 322, 323, 323, 323, 324, 324, 324, 1267 324, 325, 325, 325, 326, 326, 326, 326, 327, 328, 1268 328, 328, 329, 329, 330, 330, 331, 331, 331, 332, 1269 332, 332, 332, 332, 333, 333, 333, 333, 334, 334, 1270 334, 335, 335, 335, 336, 336, 336, 336, 337, 337, 1271 337, 338, 338, 338, 338, 338, 339, 339, 339, 339, 1272 340, 340, 340, 341, 341, 341, 342, 342, 342, 342, 1273 342, 342, 343, 343, 343, 344, 344, 344, 344, 344, 1274 345, 345, 345, 345, 346, 346, 347, 347, 347, 348, 1275 348, 349, 349, 349, 349, 349, 349, 350, 350, 350, 1276 350, 350, 350, 350, 350, 350, 350, 351, 351, 351, 1277 351, 352, 352, 352, 353, 353, 354, 354, 354, 354, 1278 354, 354, 355, 355, 355, 355, 355, 355, 356, 357, 1279 357, 357, 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, 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, 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, 1350 1348 2, 2, 3, 3, 1, 4, 4, 3, 5, 8, 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 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 1359 1359 }; 1360 1360 … … 1365 1365 { 1366 1366 279, 279, 300, 298, 301, 299, 302, 303, 285, 287, 1367 286, 0, 288, 31 2, 304, 309, 307, 308, 306, 305,1368 31 0, 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 3 16, 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 4 85, 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, 5 44, 529, 529, 524, 2, 525, 529, 583, 529,1385 5 29, 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 4 37, 476, 0, 435, 436, 0, 548, 563, 566, 569,1398 5 75, 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 2 94, 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 2 79, 421, 0, 279, 221, 0, 2, 223, 0, 280,1412 0, 2 41, 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,1367 286, 0, 288, 314, 306, 311, 309, 310, 308, 307, 1368 312, 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 325, 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 431, 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, 525, 531, 546, 531, 531, 526, 2, 527, 531, 1385 585, 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 479, 734, 439, 478, 0, 437, 438, 0, 550, 565, 1398 568, 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 239, 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 237, 504, 279, 423, 0, 279, 221, 0, 2, 223, 1412 0, 280, 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, 1420 1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 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 1521 1522 }; 1522 1523 … … 1524 1525 static const yytype_int16 yydefgoto[] = 1525 1526 { 1526 -1, 81 2, 454, 289, 43, 127, 128, 290, 291, 292,1527 29 3, 758, 740, 1129, 1130, 294, 295, 296, 297, 298,1528 299, 300, 301, 302, 303, 304, 305, 306, 307, 1032,1529 50 4, 972, 309, 973, 531, 951, 1057, 1521, 1059, 1060,1530 106 1, 1062, 1522, 1063, 1064, 1452, 1453, 1418, 1419, 1420,1531 150 4, 1505, 1509, 1510, 1539, 1540, 1065, 1376, 1066, 1067,1532 13 08, 1309, 1310, 1490, 1068, 955, 956, 957, 1398, 1482,1533 148 3, 455, 456, 873, 874, 1040, 46, 47, 48, 49,1534 5 0, 327, 151, 53, 54, 55, 56, 57, 329, 59,1535 6 0, 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 44 2, 696, 854, 855, 337, 338, 699, 700, 701, 339,1539 34 0, 341, 342, 452, 169, 129, 130, 508, 311, 162,1540 62 6, 627, 628, 629, 630, 81, 115, 475, 476, 943,1541 47 7, 265, 481, 312, 83, 131, 132, 84, 1334, 1109,1542 111 0, 1111, 1112, 85, 86, 717, 87, 261, 88, 89,1543 1 78, 1034, 662, 391, 119, 90, 487, 488, 489, 179,1544 25 6, 181, 182, 183, 257, 93, 94, 95, 96, 97,1545 98, 99, 186, 187, 188, 189, 190, 823, 588, 589,1546 59 0, 591, 592, 593, 594, 595, 556, 557, 558, 559,1547 68 0, 100, 597, 598, 599, 600, 601, 602, 916, 682,1548 68 3, 684, 576, 345, 346, 347, 348, 439, 157, 102,1549 10 3, 349, 350, 694, 5531527 -1, 814, 456, 291, 45, 129, 130, 292, 293, 294, 1528 295, 760, 742, 1131, 1132, 296, 297, 298, 299, 300, 1529 301, 302, 303, 304, 305, 306, 307, 308, 309, 1034, 1530 506, 974, 311, 975, 533, 953, 1059, 1523, 1061, 1062, 1531 1063, 1064, 1524, 1065, 1066, 1454, 1455, 1420, 1421, 1422, 1532 1506, 1507, 1511, 1512, 1541, 1542, 1067, 1378, 1068, 1069, 1533 1310, 1311, 1312, 1492, 1070, 957, 958, 959, 1400, 1484, 1534 1485, 457, 458, 875, 876, 1042, 48, 49, 50, 51, 1535 52, 329, 153, 55, 56, 57, 58, 59, 331, 61, 1536 62, 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 444, 698, 856, 857, 339, 340, 701, 702, 703, 341, 1540 342, 343, 344, 454, 171, 131, 132, 510, 313, 164, 1541 628, 629, 630, 631, 632, 83, 117, 477, 478, 945, 1542 479, 267, 483, 314, 85, 133, 134, 86, 1336, 1111, 1543 1112, 1113, 1114, 87, 88, 719, 89, 263, 90, 91, 1544 180, 1036, 664, 393, 121, 92, 489, 490, 491, 181, 1545 258, 183, 184, 185, 259, 95, 96, 97, 98, 99, 1546 100, 101, 188, 189, 190, 191, 192, 825, 590, 591, 1547 592, 593, 594, 595, 596, 597, 558, 559, 560, 561, 1548 682, 102, 599, 600, 601, 602, 603, 604, 918, 684, 1549 685, 686, 578, 347, 348, 349, 350, 441, 159, 104, 1550 105, 351, 352, 696, 555 1550 1551 }; 1551 1552 1552 1553 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1553 1554 STATE-NUM. */ 1554 #define YYPACT_NINF -1 2911555 #define YYPACT_NINF -1306 1555 1556 static const yytype_int16 yypact[] = 1556 1557 { 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 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 1712 1714 }; 1713 1715 … … 1715 1717 static const yytype_int16 yypgoto[] = 1716 1718 { 1717 -1 291, 4245, 3306, -1291, 1116, -1291, -1, 2, 896, -1291,1718 -1 291, -1291, -495, -897, -137, 5431, -1291, 913, 541, 551,1719 480, 578, 1002, 1004, 1001, 1005, 1006, -1291, 40, -196,1720 50 36, 426, -670, -935, -1291, 410, -536, 405, -1291, 215,1721 -1 291, 338, -1139, -1291, -1291, 76, -1291, -1286, -974, 178,1722 -1 291, -1291, -1291, -1291, 21, -1264, -1291, -1291, -1291, -1291,1723 -1 291, -1291, 251, 72, 70, 452, -1291, 461, -1291, 108,1724 -1 291, -221, -1291, -1291, -1291, 510, -756, -1291, -1291, 0,1725 -9 11, 123, 2941, -1291, -1291, -1291, -4, -1291, 104, 656,1726 -2 3, 1441, 3190, -1291, -1291, 57, 83, 545, -242, 1645,1727 -1 291, 1583, -1291, -1291, 105, 2213, -1291, 2417, 430, -1291,1728 -1 291, -424, -392, 1159, 1162, 665, 908, 386, -1291, -1291,1729 11 51, 667, -582, -1291, -560, 393, -622, -1291, -1291, -913,1730 -9 44, -339, 625, 1039, -8, -1291, 220, 304, -284, -197,1731 -1 41, 644, 727, -1291, 986, -1291, 2799, -407, 895, -1291,1732 -1 291, 677, -1291, -399, -1291, -84, -1291, -1291, -1291, -1255,1733 3 88, -1291, -1291, -1291, 1154, -1291, 85, -1291, -1291, -787,1734 -10 2, -1290, -38, 1983, -1291, 2958, -1291, 894, -1291, -164,1735 127, -169, -166, -161, 4, -37, -35, -34, 791, 51,1736 5 5, 59, -101, -155, -153, -140, -138, -299, -486, -465,1737 -4 54, -533, -1291, -528, -1291, -1291, -539, -526, -507, -477,1738 1 502, 4608, -529, -535, -530, -514, -525, -1291, -360, -646,1739 -6 41, -638, -576, -285, -303, -1291, -1291, 1288, 18, -86,1740 -1 291, 339, 120, -577, -3821719 -1306, 4178, 3354, -1306, 1595, -1306, -1, 2, 839, -1306, 1720 -1306, -1306, -497, -915, -215, 4919, -1306, 975, 537, 542, 1721 346, 554, 941, 943, 950, 945, 949, -1306, 17, -251, 1722 5020, 377, -700, -894, -1306, -198, -684, -459, -1306, 77, 1723 -1306, 290, -1062, -1306, -1306, 40, -1306, -1305, -1076, 127, 1724 -1306, -1306, -1306, -1306, -21, -1283, -1306, -1306, -1306, -1306, 1725 -1306, -1306, 216, 31, 14, 408, -1306, 414, -1306, 76, 1726 -1306, -305, -1306, -1306, -1306, 467, -851, -1306, -1306, 8, 1727 -929, 10, 2660, -1306, -1306, -1306, -110, -1306, 299, 597, 1728 -29, 1428, 4046, -1306, -1306, 55, 49, 79, -229, 1809, 1729 -1306, 1752, -1306, -1306, 66, 2021, -1306, 2437, 1677, -1306, 1730 -1306, -412, -376, 1122, 1124, 625, 871, -270, -1306, -1306, 1731 1105, 627, -558, -1306, -460, -395, 48, -1306, -1306, -855, 1732 -990, 470, 652, 990, -16, -1306, 727, -5, -244, -195, 1733 -127, 583, 692, -1306, 930, -1306, 2734, -373, 841, -1306, 1734 -1306, 619, -1306, -405, -1306, 85, -1306, -1306, -1306, -1245, 1735 327, -1306, -1306, -1306, 1097, -1306, 28, -1306, -1306, -832, 1736 -104, -1279, -133, 2533, -1306, 3317, -1306, 836, -1306, -122, 1737 1439, -163, -160, -157, 4, -41, -37, -36, 587, 42, 1738 51, 90, -121, -155, -152, -151, -149, -294, -486, -446, 1739 -427, -545, -1306, -531, -1306, -1306, -525, -485, -484, -477, 1740 1927, 4727, -549, -504, -503, -475, -461, -1306, -386, -662, 1741 -654, -649, -575, -248, -333, -1306, -1306, 226, 125, -50, 1742 -1306, 339, 169, -590, -241 1741 1743 }; 1742 1744 … … 1744 1746 positive, shift that token. If negative, reduce the rule which 1745 1747 number is the opposite. If YYTABLE_NINF, syntax error. */ 1746 #define YYTABLE_NINF -50 51748 #define YYTABLE_NINF -507 1747 1749 static const yytype_int16 yytable[] = 1748 1750 { 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, 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, 1977 1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1978 70, 0, 560, 333, 247, 0, 0, 8, 9, 10, 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, 1970 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, 2025 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, 2070 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, 2078 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, 2130 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2131 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, 2144 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, 2155 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, 2243 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, 2273 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, 2293 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, 1979 2407 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, 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, 2418 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2419 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2420 27, 0, 0, 0, 0, 271, 30, 272, 0, 0, 2004 2421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2422 0, 0, 0, 0, 0, 0, 0, 0, 273, 33, 2423 0, 34, 0, 35, 274, 0, 37, 38, 275, 0, 2424 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2425 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427 283, 0, 325, -3, 0, 0, 0, 754, 0, 285, 2428 326, 287, 288, 289, 290, 2, 198, 4, 5, 6, 2429 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2430 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2431 25, 26, 27, 0, 0, 0, 0, 271, 30, 272, 2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434 273, 33, 0, 34, 0, 35, 274, 0, 37, 38, 2435 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2436 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2438 0, 0, 283, 0, 910, -3, 0, 0, 0, 754, 2439 0, 285, 326, 287, 288, 289, 290, 2, 198, 4, 2440 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2441 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2442 0, 0, 25, 26, 27, 0, 0, 0, 0, 271, 2443 30, 272, 0, 0, 0, 0, 0, 0, 0, 0, 2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445 0, 0, 273, 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 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449 0, 0, 0, 0, 283, 0, 910, -3, 0, 0, 2450 0, 754, 0, 285, 574, 287, 288, 289, 290, 2, 2451 198, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2452 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2453 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2454 0, 271, 30, 272, 0, 0, 0, 0, 0, 0, 2455 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, 2463 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2464 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2465 0, 0, 0, 271, 30, 272, 0, 0, 0, 0, 2466 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, 2474 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2475 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, 2018 2532 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, 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, 2040 2539 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, 2540 0, 0, 0, 0, 0, 0, 0, 42, 0, 201, 2541 0, 0, 0, 0, 0, 0, 0, 202, 2, 198, 2542 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2543 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2544 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2545 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2045 2546 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, 2547 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2548 0, 37, 38, 2, 198, 4, 5, 6, 7, 8, 2549 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2550 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2551 27, 0, 0, 0, 0, 0, 30, 661, -3, 0, 2552 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 2553 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, 2556 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2557 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, 2082 2562 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, 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, 2567 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2568 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2569 0, 30, 8, 9, 10, 11, 12, 13, 14, 15, 2570 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, 2117 2573 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, 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, 2578 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2579 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, 2127 2584 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, 2134 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 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, 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, 2153 2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 2160 2617 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, 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, 2163 2621 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, 2282 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 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, 2622 0, 0, 0, 283, 0, 505, 0, 0, 165, 0, 2623 0, 0, 285, 286, 287, 288, 289, 290, 8, 9, 2335 2624 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2336 2625 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, 2626 0, 0, 0, 0, 271, 30, 272, 0, 0, 0, 2357 2627 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, 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, 2645 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2646 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, 2372 2667 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2373 0, 25, 26, 27, 0, 0, 754, 0, 0, 30, 2668 0, 25, 26, 27, 0, 0, 0, 0, 271, 30, 2669 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2374 2670 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, 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, 2379 2741 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, 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, 2394 2776 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2395 2777 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2396 27, 28, 0, 490, 29, 269, 30, 270, 0, 0,2397 0, 0, 0, 0, 0, 0, 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,2402 0, 0, 0, 0, 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,2778 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, 37, 38, 8, 9, 2782 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2783 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2784 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2785 1025, 0, 567, 0, 0, 0, 0, 0, 0, 0, 2786 108, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2787 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2788 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2789 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, 2792 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2793 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, 2794 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2795 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2796 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2797 247, 0, 0, 0, 0, 0, 0, 0, 108, 0, 2798 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2799 0, 0, 0, 37, 38, 8, 9, 10, 11, 12, 2418 2800 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2419 2801 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2420 0, 269, 30, 270, 0, 0, 0, 0, 0, 0, 2421 0, 0, 0, 0, 0, 0, 0, 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, 2802 0, 0, 30, 0, 0, 0, 0, 0, 0, 152, 2803 0, 0, 0, 0, 0, 0, 0, 108, 0, 0, 2804 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2805 0, 0, 199, 200, 8, 9, 10, 11, 12, 13, 2806 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2807 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, 2810 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, 2835 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2836 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2837 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, 2429 2841 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2430 2842 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2431 0, 0, 0, 0, 269, 30, 270, 0, 0, 0, 2432 0, 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, 2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2452 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2453 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2454 27, 0, 0, 0, 0, 269, 30, 270, 0, 0, 2455 0, 0, 0, 0, 0, 0, 0, 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, 2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461 281, 0, 323, -3, 0, 0, 0, 0, 0, 283, 2462 324, 285, 286, 287, 288, 2, 196, 4, 5, 6, 2463 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2464 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2465 25, 26, 27, 0, 0, 0, 0, 269, 30, 270, 2466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472 0, 0, 281, 0, 908, -3, 0, 0, 0, 0, 2473 0, 283, 324, 285, 286, 287, 288, 2, 196, 4, 2474 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2475 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2476 0, 0, 25, 26, 27, 0, 0, 0, 0, 269, 2477 30, 270, 0, 0, 0, 0, 0, 0, 0, 0, 2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2486 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2487 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2488 0, 269, 30, 270, 0, 0, 0, 0, 0, 0, 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2843 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, 2508 2847 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2509 2848 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2510 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, 2511 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 2532 2877 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2533 2878 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, 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, 2539 2888 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, 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, 2546 2896 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, 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, 2553 2939 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,2584 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,2585 19, 20, 21, 22, 23, 24, 0, 0, 25, 26,2586 27, 0, 0, 0, 0, 0, 30, 258, 0, 0,2587 0, 0, 0, 0, 0, 603, 0, 0, 0, 0,2588 2940 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2589 0, 0, 0, 0, 0, 0, 35, 36, 2, 196, 2941 0, 34, 0, 35, 36, 0, 168, 169, 39, 0, 2942 0, 0, 0, 0, 0, 40, 41, 197, 2, 198, 2590 2943 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2591 2944 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2592 2945 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 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, 2597 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2598 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2599 27, 0, 0, 0, 0, 0, 30, 659, 0, 0, 2600 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 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, 2946 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 2617 2947 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, 2635 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2636 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2637 0, 0, 269, 30, 270, 0, 0, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2667 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2668 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 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, 2688 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2689 0, 25, 26, 27, 40, 0, 41, 0, 0, 30, 2690 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2773 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2774 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 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, 2948 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2949 0, 199, 200, 455, 2, 198, 4, 5, 6, 7, 2784 2950 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2785 2951 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2786 2952 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, 2790 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2791 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2792 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 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, 2796 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2797 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2798 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 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, 2802 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2803 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2804 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2805 0, 258, 0, 0, 0, 0, 0, 0, 0, 603, 2806 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2807 0, 0, 0, 0, 35, 36, 8, 9, 10, 11, 2808 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2809 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2810 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2811 571, 0, 0, 0, 0, 0, 0, 0, 608, 0, 2812 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2813 0, 0, 0, 35, 36, 8, 9, 10, 11, 12, 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, 2814 2957 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2815 2958 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2816 0, 0, 30, 0, 0, 0, 0, 0, 0, 41, 2817 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 2818 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2819 0, 0, 35, 36, 8, 9, 10, 11, 12, 13, 2820 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2821 24, 0, 0, 25, 26, 27, 0, 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, 2824 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2825 0, 197, 198, 2, 196, 4, 5, 6, 7, 8, 2826 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2827 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2828 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 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, 2959 0, 0, 30, 8, 9, 10, 11, 12, 13, 14, 2934 2960 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,2961 0, 0, 25, 26, 27, 33, 0, 34, 0, 35, 2962 30, 0, 199, 200, 0, 0, 0, 0, 0, 0, 2937 2963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2938 2964 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2939 35, 36, 2, 196, 4, 5, 6, 7, 8, 9, 2940 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2941 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2942 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 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, 2946 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2947 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 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, 2955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2956 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2957 0, 0, 0, 0, 0, 197, 198 2965 199, 200 2958 2966 }; 2959 2967 2960 2968 #define yypact_value_is_default(yystate) \ 2961 ((yystate) == (-1 291))2969 ((yystate) == (-1306)) 2962 2970 2963 2971 #define yytable_value_is_error(yytable_value) \ … … 2966 2974 static const yytype_int16 yycheck[] = 2967 2975 { 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, 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, 3196 3188 -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, 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, 3223 3195 -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, 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, 3259 3295 -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, 3456 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3457 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 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, 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, 3501 3303 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, 3590 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 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, 3598 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 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, 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, 3612 3354 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3613 3355 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3614 3356 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3615 31, 32, -1, 1042, 35, 36, 37, 38, -1, -1, 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, 3616 3369 -1, -1, -1, -1, -1, -1, -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, 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, 3621 3380 -1, -1, -1, -1, -1, -1, -1, -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, 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, 3404 -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, 3461 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3462 -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, 3468 -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, 3636 3619 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3637 3620 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,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, 3643 3626 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3644 -1, -1, 87, -1, -1, -1, -1, -1, -1, -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, 3654 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3655 -1, -1, -1, -1, -1, 87, -1, -1, -1, -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, 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, 3660 3632 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,3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3664 -1, -1, -1, -1, -1, -1, 59, 60, -1, -1,3665 -1, -1, 65, -1, 67, 68, 69, -1, -1, 72,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, 3666 3638 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 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,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, 3670 3642 113, 114, 115, 4, 5, 6, 7, 8, 9, 10, 3671 3643 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, … … 3674 3646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3675 3647 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3676 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1,3648 -1, 62, -1, 64, 65, -1, 67, 68, 69, -1, 3677 3649 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3678 3650 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3679 3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3680 101, -1, 103, 104, -1, -1, -1, -1, -1, 110,3652 101, -1, 103, 104, -1, -1, -1, 108, -1, 110, 3681 3653 111, 112, 113, 114, 115, 4, 5, 6, 7, 8, 3682 3654 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … … 3685 3657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3686 3658 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3687 59, 60, -1, -1, -1, -1, 65, -1, 67, 68,3659 59, 60, -1, 62, -1, 64, 65, -1, 67, 68, 3688 3660 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3689 3661 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3690 3662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3691 -1, -1, 101, -1, 103, 104, -1, -1, -1, -1,3663 -1, -1, 101, -1, 103, 104, -1, -1, -1, 108, 3692 3664 -1, 110, 111, 112, 113, 114, 115, 4, 5, 6, 3693 3665 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, … … 3696 3668 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 3697 3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3698 -1, -1, 59, 60, -1, -1, -1, -1, 65, -1,3670 -1, -1, 59, 60, -1, 62, -1, 64, 65, -1, 3699 3671 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3700 3672 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3701 3673 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3702 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1,3703 -1, -1, -1, 110, 111, 112, 113, 114, 115, 4,3674 -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, 3675 -1, 108, -1, 110, 111, 112, 113, 114, 115, 4, 3704 3676 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3705 3677 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, … … 3707 3679 -1, 36, 37, 38, -1, -1, -1, -1, -1, -1, 3708 3680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3709 -1, -1, -1, -1, 59, 60, -1, -1, -1, -1,3681 -1, -1, -1, -1, 59, 60, -1, 62, -1, 64, 3710 3682 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3711 3683 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3712 3684 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3713 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1,3685 -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, 3714 3686 -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 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, 3687 115, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3727 3688 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3728 3689 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3729 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1,3690 -1, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3730 3691 -1, -1, -1, -1, -1, -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, 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, 3696 -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 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3700 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3701 31, -1, -1, -1, -1, 36, 37, 38, -1, -1, 3734 3702 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3735 -1, -1, -1, -1, -1, -1, -1, -1, 101, -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, 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, 3741 3707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3742 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3743 -1, -1, -1, 67, 68, -1, 3, 4, 5, 6, 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, 3744 3732 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3745 3733 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3746 -1, -1, 29, 30, 31, -1, -1, -1, -1, 103,3747 37, -1, -1, -1, -1, -1, -1, 111, -1, -1,3734 -1, -1, 29, 30, 31, 32, -1, -1, 35, -1, 3735 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 3748 3736 -1, -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, 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, 3758 3740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3759 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3760 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 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, 3761 3756 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3762 3757 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3763 3758 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3764 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3759 -1, -1, -1, 37, 103, -1, -1, -1, -1, -1, 3760 -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, 3765 3764 -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 1 9, 20, 21, 22, 23, 24, 25, 26, -1, -1,3770 2 9, 30, 31, -1, -1, -1, -1, -1, 37, 103,3771 104, -1, -1, -1, -1, -1, -1, 111, -1, -1,3765 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3766 -1, -1, -1, -1, -1, -1, -1, 111, 4, 5, 3767 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3768 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3769 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3770 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, 3772 3771 -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, 3778 -1, -1, 111, -1, -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, 3781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, 3772 -1, -1, -1, -1, 60, -1, 62, -1, 64, -1, 3773 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 3774 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3775 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3776 31, -1, -1, -1, -1, -1, 37, 103, 104, -1, 3777 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3778 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3779 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3785 3780 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3786 3781 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3787 3782 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,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, 3792 3787 -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, 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, 3809 3791 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3810 3792 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3811 3793 26, -1, -1, 29, 30, 31, -1, -1, -1, -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, 3815 -1, 67, 68, 4, 5, 6, 7, 8, 9, 10, 3816 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3817 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3818 31, -1, -1, -1, -1, -1, 37, 103, -1, -1, 3819 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3820 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3821 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 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, 3822 3849 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3823 3850 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3824 3851 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3825 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1,3826 111, -1, -1, -1, -1, -1, -1, 59, 60, -1,3852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3853 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3827 3854 -1, -1, -1, 65, -1, 67, 68, 69, -1, -1, 3828 3855 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3829 3856 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3830 3857 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3831 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111,3858 -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 3832 3859 112, 113, 114, 115, 10, 11, 12, 13, 14, 15, 3833 3860 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, … … 3839 3866 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3840 3867 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3841 -1, -1, -1, -1, -1, 101, -1, 103, 104, -1,3868 -1, -1, -1, -1, -1, 101, 102, 103, -1, -1, 3842 3869 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3843 3870 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, … … 3850 3877 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3851 3878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3852 -1, 101, 102, 103, -1, -1, -1, -1, -1, -1,3879 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1, 3853 3880 110, 111, 112, 113, 114, 115, 10, 11, 12, 13, 3854 3881 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 3883 3910 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3884 3911 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 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, 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, 3889 3919 -1, -1, -1, -1, -1, -1, -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, 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, 3903 3930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, 3931 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3932 69, 103, -1, -1, -1, -1, -1, 76, 77, 111, 3913 3933 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3914 3934 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3915 30, 31, -1, 101, -1, 103, -1, 37, -1, -1,3916 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,3935 30, 31, 101, -1, 103, -1, -1, 37, -1, -1, 3936 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3917 3937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3918 3938 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3919 3939 -1, -1, -1, -1, -1, -1, 76, 77, 10, 11, 3920 3940 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3921 22, 23, 24, 25, 26, 27, -1, 29, 30, 31,3941 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3922 3942 -1, 101, -1, 103, -1, 37, -1, -1, -1, -1, 3923 3943 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, 3924 3944 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3925 -1, -1, -1, -1, -1, 67, 68, -1, -1, 71, 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, 3950 -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, 3926 3995 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3927 3996 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,3930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3997 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, 3931 4000 60, -1, -1, -1, -1, -1, -1, 67, 68, 10, 3932 4001 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3933 4002 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, 3944 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3945 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3946 30, 31, -1, -1, -1, -1, -1, 37, 38, -1, 3947 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3949 60, -1, -1, -1, -1, -1, -1, 67, 68, 10, 3950 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3951 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3952 31, -1, -1, -1, -1, -1, 37, 38, -1, -1, 3953 -1, -1, -1, 103, -1, -1, -1, 107, -1, -1, 4003 31, -1, -1, -1, -1, -1, 37, -1, -1, -1, 4004 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, 3954 4005 -1, 111, -1, -1, -1, -1, -1, -1, -1, 60, 3955 4006 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 3956 4007 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3957 4008 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3958 -1, -1, -1, -1, -1, 37, 38, -1, -1, -1,3959 -1, -1, 103, -1, -1, -1, 107, -1, -1, -1,4009 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, 4010 101, -1, 103, -1, -1, -1, -1, -1, -1, -1, 3960 4011 111, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3961 4012 -1, -1, -1, -1, -1, 67, 68, 10, 11, 12, 3962 4013 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3963 4014 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3964 -1, -1, -1, -1, 37, 38, -1, -1, -1, -1,3965 -1, 103, -1, -1, -1, 107, -1, -1, -1, 111,4015 -1, -1, -1, -1, 37, -1, -1, -1, -1, 101, 4016 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3966 4017 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 3967 4018 -1, -1, -1, -1, 67, 68, 10, 11, 12, 13, … … 3969 4020 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3970 4021 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3971 103, -1, -1, -1, 107, -1, -1, -1, 111, -1,4022 103, -1, -1, -1, -1, -1, -1, -1, 111, -1, 3972 4023 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3973 4024 -1, -1, -1, 67, 68, 10, 11, 12, 13, 14, 3974 4025 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3975 4026 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 3976 -1, -1, 37, -1, -1, -1, -1, 101, -1, 103,4027 -1, -1, 37, -1, -1, -1, -1, -1, -1, 103, 3977 4028 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3978 4029 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, … … 3980 4031 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3981 4032 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3982 -1, 37, -1, -1, -1, -1, 101, -1, 103, -1,4033 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1, 3983 4034 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3984 4035 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, … … 4024 4075 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 4025 4076 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 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, 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, 4058 4086 -1, -1, 56, 57, -1, 59, -1, -1, -1, -1, 4059 -1, 65, -1, -1, -1, 69, -1, -1, 72, 73,4087 -1, 65, -1, -1, 102, 69, -1, -1, 72, 73, 4060 4088 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 4061 4089 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 4062 4090 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 4063 4091 -1, -1, 106, -1, -1, -1, 110, 111, 112, 113, 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, 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, 4110 4127 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 4111 4128 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 4112 4129 -1, -1, -1, -1, -1, 36, -1, 38, -1, -1, 4113 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1,4130 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 4114 4131 -1, -1, 110, 111, 112, 113, 114, 115, 59, -1, 4115 4132 -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, … … 4117 4134 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 4118 4135 -1, -1, 36, -1, 38, -1, -1, -1, -1, -1, 4119 101, -1, -1, -1, -1, -1, -1, -1, -1, 110,4136 101, -1, 103, -1, -1, -1, -1, -1, -1, 110, 4120 4137 111, 112, 113, 114, 115, 59, -1, -1, -1, -1, 4121 4138 -1, 65, -1, -1, -1, 69, -1, -1, 72, 73, … … 4133 4150 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 4134 4151 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 4152 -1, -1, -1, 36, -1, 38, -1, -1, -1, -1, 4153 -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, 4135 4164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4136 -1, 101, -1, -1, -1, -1, -1, -1, -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, 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, 4141 4178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4142 4179 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, 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, 4153 4185 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4154 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1,4155 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,4186 -1, -1, 29, 30, 31, 60, -1, 62, -1, 64, 4187 37, -1, 67, 68, -1, -1, -1, -1, -1, -1, 4156 4188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4157 4189 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 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 4190 67, 68 4177 4191 }; 4178 4192 … … 4184 4198 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4185 4199 22, 23, 24, 25, 26, 29, 30, 31, 32, 35, 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 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 4338 4353 }; 4339 4354 … … 6742 6757 6743 6758 /* Line 1806 of yacc.c */ 6744 #line 12 50"parser.yy"6759 #line 1249 "parser.yy" 6745 6760 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6746 6761 break; … … 6749 6764 6750 6765 /* Line 1806 of yacc.c */ 6751 #line 125 2"parser.yy"6766 #line 1251 "parser.yy" 6752 6767 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6753 6768 break; … … 6756 6771 6757 6772 /* Line 1806 of yacc.c */ 6758 #line 1257 "parser.yy" 6773 #line 1253 "parser.yy" 6774 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6775 break; 6776 6777 case 305: 6778 6779 /* Line 1806 of yacc.c */ 6780 #line 1255 "parser.yy" 6781 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6782 break; 6783 6784 case 306: 6785 6786 /* Line 1806 of yacc.c */ 6787 #line 1260 "parser.yy" 6759 6788 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6760 6789 break; 6761 6790 6762 case 30 5:6763 6764 /* Line 1806 of yacc.c */ 6765 #line 12 59"parser.yy"6791 case 307: 6792 6793 /* Line 1806 of yacc.c */ 6794 #line 1262 "parser.yy" 6766 6795 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6767 6796 break; 6768 6797 6769 case 30 6:6770 6771 /* Line 1806 of yacc.c */ 6772 #line 126 1"parser.yy"6798 case 308: 6799 6800 /* Line 1806 of yacc.c */ 6801 #line 1264 "parser.yy" 6773 6802 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6774 6803 break; 6775 6804 6776 case 30 7:6777 6778 /* Line 1806 of yacc.c */ 6779 #line 126 3"parser.yy"6805 case 309: 6806 6807 /* Line 1806 of yacc.c */ 6808 #line 1266 "parser.yy" 6780 6809 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6781 6810 break; 6782 6811 6783 case 3 08:6784 6785 /* Line 1806 of yacc.c */ 6786 #line 126 5"parser.yy"6812 case 310: 6813 6814 /* Line 1806 of yacc.c */ 6815 #line 1268 "parser.yy" 6787 6816 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6788 6817 break; 6789 6818 6790 case 3 09:6791 6792 /* Line 1806 of yacc.c */ 6793 #line 12 67"parser.yy"6819 case 311: 6820 6821 /* Line 1806 of yacc.c */ 6822 #line 1270 "parser.yy" 6794 6823 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6795 6824 break; 6796 6825 6797 case 31 0:6798 6799 /* Line 1806 of yacc.c */ 6800 #line 12 69"parser.yy"6826 case 312: 6827 6828 /* Line 1806 of yacc.c */ 6829 #line 1272 "parser.yy" 6801 6830 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6802 6831 break; 6803 6832 6804 case 31 1:6805 6806 /* Line 1806 of yacc.c */ 6807 #line 127 1"parser.yy"6833 case 313: 6834 6835 /* Line 1806 of yacc.c */ 6836 #line 1274 "parser.yy" 6808 6837 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6809 6838 break; 6810 6839 6811 case 31 2:6812 6813 /* Line 1806 of yacc.c */ 6814 #line 127 3"parser.yy"6840 case 314: 6841 6842 /* Line 1806 of yacc.c */ 6843 #line 1276 "parser.yy" 6815 6844 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6816 6845 break; 6817 6846 6818 case 31 3:6819 6820 /* Line 1806 of yacc.c */ 6821 #line 127 5"parser.yy"6847 case 315: 6848 6849 /* Line 1806 of yacc.c */ 6850 #line 1278 "parser.yy" 6822 6851 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6823 6852 break; 6824 6853 6825 case 31 4:6826 6827 /* Line 1806 of yacc.c */ 6828 #line 12 77"parser.yy"6854 case 316: 6855 6856 /* Line 1806 of yacc.c */ 6857 #line 1280 "parser.yy" 6829 6858 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6830 6859 break; 6831 6860 6832 case 31 5:6833 6834 /* Line 1806 of yacc.c */ 6835 #line 12 79"parser.yy"6861 case 317: 6862 6863 /* Line 1806 of yacc.c */ 6864 #line 1282 "parser.yy" 6836 6865 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6837 6866 break; 6838 6867 6839 case 31 7:6840 6841 /* Line 1806 of yacc.c */ 6842 #line 128 6"parser.yy"6868 case 319: 6869 6870 /* Line 1806 of yacc.c */ 6871 #line 1289 "parser.yy" 6843 6872 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6844 6873 break; 6845 6874 6846 case 3 18:6847 6848 /* Line 1806 of yacc.c */ 6849 #line 12 88"parser.yy"6875 case 320: 6876 6877 /* Line 1806 of yacc.c */ 6878 #line 1291 "parser.yy" 6850 6879 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6851 6880 break; 6852 6881 6853 case 3 19:6854 6855 /* Line 1806 of yacc.c */ 6856 #line 129 0"parser.yy"6882 case 321: 6883 6884 /* Line 1806 of yacc.c */ 6885 #line 1293 "parser.yy" 6857 6886 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6858 6887 break; 6859 6888 6860 case 32 0:6861 6862 /* Line 1806 of yacc.c */ 6863 #line 129 2"parser.yy"6889 case 322: 6890 6891 /* Line 1806 of yacc.c */ 6892 #line 1295 "parser.yy" 6864 6893 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6865 6894 break; 6866 6895 6867 case 32 2:6868 6869 /* Line 1806 of yacc.c */ 6870 #line 1 298"parser.yy"6896 case 324: 6897 6898 /* Line 1806 of yacc.c */ 6899 #line 1301 "parser.yy" 6871 6900 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6872 6901 break; 6873 6902 6874 case 32 4:6875 6876 /* Line 1806 of yacc.c */ 6877 #line 130 5"parser.yy"6903 case 326: 6904 6905 /* Line 1806 of yacc.c */ 6906 #line 1308 "parser.yy" 6878 6907 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6879 6908 break; 6880 6909 6881 case 32 5:6882 6883 /* Line 1806 of yacc.c */ 6884 #line 13 07"parser.yy"6910 case 327: 6911 6912 /* Line 1806 of yacc.c */ 6913 #line 1310 "parser.yy" 6885 6914 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6886 6915 break; 6887 6916 6888 case 32 6:6889 6890 /* Line 1806 of yacc.c */ 6891 #line 13 09"parser.yy"6917 case 328: 6918 6919 /* Line 1806 of yacc.c */ 6920 #line 1312 "parser.yy" 6892 6921 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6893 6922 break; 6894 6923 6895 case 32 7:6896 6897 /* Line 1806 of yacc.c */ 6898 #line 131 4"parser.yy"6924 case 329: 6925 6926 /* Line 1806 of yacc.c */ 6927 #line 1317 "parser.yy" 6899 6928 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6900 6929 break; 6901 6930 6902 case 3 28:6903 6904 /* Line 1806 of yacc.c */ 6905 #line 131 6"parser.yy"6931 case 330: 6932 6933 /* Line 1806 of yacc.c */ 6934 #line 1319 "parser.yy" 6906 6935 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6907 6936 break; 6908 6937 6909 case 3 29:6910 6911 /* Line 1806 of yacc.c */ 6912 #line 13 18"parser.yy"6938 case 331: 6939 6940 /* Line 1806 of yacc.c */ 6941 #line 1321 "parser.yy" 6913 6942 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6914 6943 break; 6915 6944 6916 case 33 0:6917 6918 /* Line 1806 of yacc.c */ 6919 #line 132 0"parser.yy"6945 case 332: 6946 6947 /* Line 1806 of yacc.c */ 6948 #line 1323 "parser.yy" 6920 6949 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6921 6950 break; 6922 6951 6923 case 33 2:6924 6925 /* Line 1806 of yacc.c */ 6926 #line 132 6"parser.yy"6952 case 334: 6953 6954 /* Line 1806 of yacc.c */ 6955 #line 1329 "parser.yy" 6927 6956 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6928 6957 break; 6929 6958 6930 case 33 3:6931 6932 /* Line 1806 of yacc.c */ 6933 #line 13 28"parser.yy"6959 case 335: 6960 6961 /* Line 1806 of yacc.c */ 6962 #line 1331 "parser.yy" 6934 6963 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6935 6964 break; 6936 6965 6937 case 33 4:6938 6939 /* Line 1806 of yacc.c */ 6940 #line 133 0"parser.yy"6966 case 336: 6967 6968 /* Line 1806 of yacc.c */ 6969 #line 1333 "parser.yy" 6941 6970 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6942 6971 break; 6943 6972 6944 case 33 6:6945 6946 /* Line 1806 of yacc.c */ 6947 #line 133 6"parser.yy"6973 case 338: 6974 6975 /* Line 1806 of yacc.c */ 6976 #line 1339 "parser.yy" 6948 6977 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6949 6978 break; 6950 6979 6951 case 33 7:6952 6953 /* Line 1806 of yacc.c */ 6954 #line 13 38"parser.yy"6980 case 339: 6981 6982 /* Line 1806 of yacc.c */ 6983 #line 1341 "parser.yy" 6955 6984 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6956 6985 break; 6957 6986 6958 case 3 39:6959 6960 /* Line 1806 of yacc.c */ 6961 #line 134 4"parser.yy"6987 case 341: 6988 6989 /* Line 1806 of yacc.c */ 6990 #line 1347 "parser.yy" 6962 6991 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6963 6992 break; 6964 6993 6965 case 34 0:6966 6967 /* Line 1806 of yacc.c */ 6968 #line 134 6"parser.yy"6994 case 342: 6995 6996 /* Line 1806 of yacc.c */ 6997 #line 1349 "parser.yy" 6969 6998 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6970 6999 break; 6971 7000 6972 case 34 1:6973 6974 /* Line 1806 of yacc.c */ 6975 #line 13 48"parser.yy"7001 case 343: 7002 7003 /* Line 1806 of yacc.c */ 7004 #line 1351 "parser.yy" 6976 7005 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6977 7006 break; 6978 7007 6979 case 34 2:6980 6981 /* Line 1806 of yacc.c */ 6982 #line 135 3"parser.yy"7008 case 344: 7009 7010 /* Line 1806 of yacc.c */ 7011 #line 1356 "parser.yy" 6983 7012 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6984 7013 break; 6985 7014 6986 case 34 3:6987 6988 /* Line 1806 of yacc.c */ 6989 #line 135 5"parser.yy"7015 case 345: 7016 7017 /* Line 1806 of yacc.c */ 7018 #line 1358 "parser.yy" 6990 7019 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6991 7020 break; 6992 7021 6993 case 34 4:6994 6995 /* Line 1806 of yacc.c */ 6996 #line 13 57"parser.yy"7022 case 346: 7023 7024 /* Line 1806 of yacc.c */ 7025 #line 1360 "parser.yy" 6997 7026 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6998 7027 break; 6999 7028 7000 case 34 7:7001 7002 /* Line 1806 of yacc.c */ 7003 #line 13 67"parser.yy"7029 case 349: 7030 7031 /* Line 1806 of yacc.c */ 7032 #line 1370 "parser.yy" 7004 7033 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, 0, (yyvsp[(3) - (4)].decl) ); } 7005 7034 break; 7006 7035 7007 case 3 48:7008 7009 /* Line 1806 of yacc.c */ 7010 #line 13 69"parser.yy"7036 case 350: 7037 7038 /* Line 1806 of yacc.c */ 7039 #line 1372 "parser.yy" 7011 7040 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, 0 ); } 7012 7041 break; 7013 7042 7014 case 3 49:7015 7016 /* Line 1806 of yacc.c */ 7017 #line 137 1"parser.yy"7043 case 351: 7044 7045 /* Line 1806 of yacc.c */ 7046 #line 1374 "parser.yy" 7018 7047 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, 0, (yyvsp[(4) - (5)].decl) ); } 7019 7048 break; 7020 7049 7021 case 35 0:7022 7023 /* Line 1806 of yacc.c */ 7024 #line 137 3"parser.yy"7050 case 352: 7051 7052 /* Line 1806 of yacc.c */ 7053 #line 1376 "parser.yy" 7025 7054 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (9)].aggKey), 0, (yyvsp[(4) - (9)].decl), 0, (yyvsp[(8) - (9)].decl) ); } 7026 7055 break; 7027 7056 7028 case 35 1:7029 7030 /* Line 1806 of yacc.c */ 7031 #line 137 5"parser.yy"7057 case 353: 7058 7059 /* Line 1806 of yacc.c */ 7060 #line 1378 "parser.yy" 7032 7061 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), (yyvsp[(4) - (7)].decl), 0, 0 ); } 7033 7062 break; 7034 7063 7035 case 35 2:7036 7037 /* Line 1806 of yacc.c */ 7038 #line 13 77"parser.yy"7064 case 354: 7065 7066 /* Line 1806 of yacc.c */ 7067 #line 1380 "parser.yy" 7039 7068 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (10)].aggKey), (yyvsp[(7) - (10)].tok), (yyvsp[(4) - (10)].decl), 0, (yyvsp[(9) - (10)].decl) ); } 7040 7069 break; 7041 7070 7042 case 35 3:7043 7044 /* Line 1806 of yacc.c */ 7045 #line 13 79"parser.yy"7071 case 355: 7072 7073 /* Line 1806 of yacc.c */ 7074 #line 1382 "parser.yy" 7046 7075 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (12)].aggKey), 0, (yyvsp[(4) - (12)].decl), (yyvsp[(8) - (12)].en), (yyvsp[(11) - (12)].decl) ); } 7047 7076 break; 7048 7077 7049 case 35 4:7050 7051 /* Line 1806 of yacc.c */ 7052 #line 138 2"parser.yy"7078 case 356: 7079 7080 /* Line 1806 of yacc.c */ 7081 #line 1385 "parser.yy" 7053 7082 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), 0, (yyvsp[(4) - (7)].en), 0 ); } 7054 7083 break; 7055 7084 7056 case 35 5:7057 7058 /* Line 1806 of yacc.c */ 7059 #line 138 4"parser.yy"7085 case 357: 7086 7087 /* Line 1806 of yacc.c */ 7088 #line 1387 "parser.yy" 7060 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) ); } 7061 7090 break; 7062 7091 7063 case 35 6:7064 7065 /* Line 1806 of yacc.c */ 7066 #line 13 89"parser.yy"7092 case 358: 7093 7094 /* Line 1806 of yacc.c */ 7095 #line 1392 "parser.yy" 7067 7096 { (yyval.aggKey) = DeclarationNode::Struct; } 7068 7097 break; 7069 7098 7070 case 35 7:7071 7072 /* Line 1806 of yacc.c */ 7073 #line 139 1"parser.yy"7099 case 359: 7100 7101 /* Line 1806 of yacc.c */ 7102 #line 1394 "parser.yy" 7074 7103 { (yyval.aggKey) = DeclarationNode::Union; } 7075 7104 break; 7076 7105 7077 case 3 58:7078 7079 /* Line 1806 of yacc.c */ 7080 #line 139 6"parser.yy"7106 case 360: 7107 7108 /* Line 1806 of yacc.c */ 7109 #line 1399 "parser.yy" 7081 7110 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7082 7111 break; 7083 7112 7084 case 3 59:7085 7086 /* Line 1806 of yacc.c */ 7087 #line 1 398"parser.yy"7113 case 361: 7114 7115 /* Line 1806 of yacc.c */ 7116 #line 1401 "parser.yy" 7088 7117 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7089 break;7090 7091 case 361:7092 7093 /* Line 1806 of yacc.c */7094 #line 1404 "parser.yy"7095 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }7096 7118 break; 7097 7119 … … 7106 7128 7107 7129 /* Line 1806 of yacc.c */ 7108 #line 1413 "parser.yy" 7130 #line 1410 "parser.yy" 7131 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7132 break; 7133 7134 case 367: 7135 7136 /* Line 1806 of yacc.c */ 7137 #line 1416 "parser.yy" 7109 7138 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7110 7139 break; 7111 7140 7112 case 36 6:7113 7114 /* Line 1806 of yacc.c */ 7115 #line 141 5"parser.yy"7141 case 368: 7142 7143 /* Line 1806 of yacc.c */ 7144 #line 1418 "parser.yy" 7116 7145 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7117 7146 break; 7118 7147 7119 case 36 7:7120 7121 /* Line 1806 of yacc.c */ 7122 #line 14 17"parser.yy"7148 case 369: 7149 7150 /* Line 1806 of yacc.c */ 7151 #line 1420 "parser.yy" 7123 7152 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7124 7153 break; 7125 7154 7126 case 3 68:7127 7128 /* Line 1806 of yacc.c */ 7129 #line 142 2"parser.yy"7155 case 370: 7156 7157 /* Line 1806 of yacc.c */ 7158 #line 1425 "parser.yy" 7130 7159 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7131 7160 break; 7132 7161 7133 case 3 69:7134 7135 /* Line 1806 of yacc.c */ 7136 #line 142 4"parser.yy"7162 case 371: 7163 7164 /* Line 1806 of yacc.c */ 7165 #line 1427 "parser.yy" 7137 7166 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7138 7167 break; 7139 7168 7140 case 37 0:7141 7142 /* Line 1806 of yacc.c */ 7143 #line 14 29"parser.yy"7169 case 372: 7170 7171 /* Line 1806 of yacc.c */ 7172 #line 1432 "parser.yy" 7144 7173 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7145 7174 break; 7146 7175 7147 case 37 1:7148 7149 /* Line 1806 of yacc.c */ 7150 #line 143 1"parser.yy"7176 case 373: 7177 7178 /* Line 1806 of yacc.c */ 7179 #line 1434 "parser.yy" 7151 7180 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7152 7181 break; 7153 7182 7154 case 372: 7155 7156 /* Line 1806 of yacc.c */ 7157 #line 1434 "parser.yy" 7158 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7159 break; 7160 7161 case 373: 7183 case 374: 7162 7184 7163 7185 /* Line 1806 of yacc.c */ … … 7169 7191 7170 7192 /* Line 1806 of yacc.c */ 7171 #line 1443 "parser.yy" 7193 #line 1440 "parser.yy" 7194 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7195 break; 7196 7197 case 377: 7198 7199 /* Line 1806 of yacc.c */ 7200 #line 1446 "parser.yy" 7172 7201 { (yyval.en) = 0; } 7173 7202 break; 7174 7203 7175 case 37 6:7176 7177 /* Line 1806 of yacc.c */ 7178 #line 144 5"parser.yy"7204 case 378: 7205 7206 /* Line 1806 of yacc.c */ 7207 #line 1448 "parser.yy" 7179 7208 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7180 7209 break; 7181 7210 7182 case 37 7:7183 7184 /* Line 1806 of yacc.c */ 7185 #line 145 0"parser.yy"7211 case 379: 7212 7213 /* Line 1806 of yacc.c */ 7214 #line 1453 "parser.yy" 7186 7215 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7187 7216 break; 7188 7217 7189 case 3 79:7190 7191 /* Line 1806 of yacc.c */ 7192 #line 14 59"parser.yy"7218 case 381: 7219 7220 /* Line 1806 of yacc.c */ 7221 #line 1462 "parser.yy" 7193 7222 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7194 7223 break; 7195 7224 7196 case 38 0:7197 7198 /* Line 1806 of yacc.c */ 7199 #line 146 1"parser.yy"7225 case 382: 7226 7227 /* Line 1806 of yacc.c */ 7228 #line 1464 "parser.yy" 7200 7229 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7201 7230 break; 7202 7231 7203 case 38 1:7204 7205 /* Line 1806 of yacc.c */ 7206 #line 146 3"parser.yy"7232 case 383: 7233 7234 /* Line 1806 of yacc.c */ 7235 #line 1466 "parser.yy" 7207 7236 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7208 7237 break; 7209 7238 7210 case 38 2:7211 7212 /* Line 1806 of yacc.c */ 7213 #line 14 68"parser.yy"7239 case 384: 7240 7241 /* Line 1806 of yacc.c */ 7242 #line 1471 "parser.yy" 7214 7243 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7215 7244 break; 7216 7245 7217 case 38 3:7218 7219 /* Line 1806 of yacc.c */ 7220 #line 147 0"parser.yy"7246 case 385: 7247 7248 /* Line 1806 of yacc.c */ 7249 #line 1473 "parser.yy" 7221 7250 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7222 7251 break; 7223 7252 7224 case 38 4:7225 7226 /* Line 1806 of yacc.c */ 7227 #line 147 5"parser.yy"7253 case 386: 7254 7255 /* Line 1806 of yacc.c */ 7256 #line 1478 "parser.yy" 7228 7257 { (yyval.en) = 0; } 7229 7258 break; 7230 7259 7231 case 38 5:7232 7233 /* Line 1806 of yacc.c */ 7234 #line 14 77"parser.yy"7260 case 387: 7261 7262 /* Line 1806 of yacc.c */ 7263 #line 1480 "parser.yy" 7235 7264 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7236 7265 break; 7237 7266 7238 case 38 6:7239 7240 /* Line 1806 of yacc.c */ 7241 #line 148 4"parser.yy"7267 case 388: 7268 7269 /* Line 1806 of yacc.c */ 7270 #line 1487 "parser.yy" 7242 7271 { (yyval.decl) = 0; } 7243 7272 break; 7244 7273 7245 case 39 0:7246 7247 /* Line 1806 of yacc.c */ 7248 #line 149 2"parser.yy"7274 case 392: 7275 7276 /* Line 1806 of yacc.c */ 7277 #line 1495 "parser.yy" 7249 7278 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7250 7279 break; 7251 7280 7252 case 39 1:7253 7254 /* Line 1806 of yacc.c */ 7255 #line 149 4"parser.yy"7281 case 393: 7282 7283 /* Line 1806 of yacc.c */ 7284 #line 1497 "parser.yy" 7256 7285 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7257 7286 break; 7258 7287 7259 case 39 2:7260 7261 /* Line 1806 of yacc.c */ 7262 #line 149 6"parser.yy"7288 case 394: 7289 7290 /* Line 1806 of yacc.c */ 7291 #line 1499 "parser.yy" 7263 7292 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7264 7293 break; 7265 7294 7266 case 39 4:7267 7268 /* Line 1806 of yacc.c */ 7269 #line 150 5"parser.yy"7295 case 396: 7296 7297 /* Line 1806 of yacc.c */ 7298 #line 1508 "parser.yy" 7270 7299 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7271 7300 break; 7272 7301 7273 case 39 5:7274 7275 /* Line 1806 of yacc.c */ 7276 #line 15 07"parser.yy"7302 case 397: 7303 7304 /* Line 1806 of yacc.c */ 7305 #line 1510 "parser.yy" 7277 7306 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7278 7307 break; 7279 7308 7280 case 39 6:7281 7282 /* Line 1806 of yacc.c */ 7283 #line 15 09"parser.yy"7309 case 398: 7310 7311 /* Line 1806 of yacc.c */ 7312 #line 1512 "parser.yy" 7284 7313 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7285 7314 break; 7286 7315 7287 case 398:7288 7289 /* Line 1806 of yacc.c */ 7290 #line 151 5"parser.yy"7316 case 400: 7317 7318 /* Line 1806 of yacc.c */ 7319 #line 1518 "parser.yy" 7291 7320 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7292 7321 break; 7293 7322 7294 case 399:7295 7296 /* Line 1806 of yacc.c */ 7297 #line 152 0"parser.yy"7323 case 401: 7324 7325 /* Line 1806 of yacc.c */ 7326 #line 1523 "parser.yy" 7298 7327 { (yyval.decl) = 0; } 7299 7328 break; 7300 7329 7301 case 40 2:7302 7303 /* Line 1806 of yacc.c */ 7304 #line 15 27"parser.yy"7330 case 404: 7331 7332 /* Line 1806 of yacc.c */ 7333 #line 1530 "parser.yy" 7305 7334 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7306 7335 break; 7307 7336 7308 case 40 5:7309 7310 /* Line 1806 of yacc.c */ 7311 #line 153 4"parser.yy"7337 case 407: 7338 7339 /* Line 1806 of yacc.c */ 7340 #line 1537 "parser.yy" 7312 7341 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7313 7342 break; 7314 7343 7315 case 40 6:7316 7317 /* Line 1806 of yacc.c */ 7318 #line 153 6"parser.yy"7344 case 408: 7345 7346 /* Line 1806 of yacc.c */ 7347 #line 1539 "parser.yy" 7319 7348 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7320 7349 break; 7321 7350 7322 case 408: 7323 7324 /* Line 1806 of yacc.c */ 7325 #line 1546 "parser.yy" 7326 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7327 break; 7328 7329 case 409: 7351 case 410: 7330 7352 7331 7353 /* Line 1806 of yacc.c */ … … 7334 7356 break; 7335 7357 7336 case 410: 7337 7338 /* Line 1806 of yacc.c */ 7339 #line 1551 "parser.yy" 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" 7340 7369 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7341 7370 break; 7342 7371 7343 case 41 5:7344 7345 /* Line 1806 of yacc.c */ 7346 #line 156 1"parser.yy"7372 case 417: 7373 7374 /* Line 1806 of yacc.c */ 7375 #line 1564 "parser.yy" 7347 7376 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7348 7377 break; 7349 7378 7350 case 41 7:7351 7352 /* Line 1806 of yacc.c */ 7353 #line 15 67"parser.yy"7379 case 419: 7380 7381 /* Line 1806 of yacc.c */ 7382 #line 1570 "parser.yy" 7354 7383 { 7355 7384 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7358 7387 break; 7359 7388 7360 case 4 18:7361 7362 /* Line 1806 of yacc.c */ 7363 #line 157 2"parser.yy"7389 case 420: 7390 7391 /* Line 1806 of yacc.c */ 7392 #line 1575 "parser.yy" 7364 7393 { 7365 7394 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7368 7397 break; 7369 7398 7370 case 42 0:7371 7372 /* Line 1806 of yacc.c */ 7373 #line 158 1"parser.yy"7399 case 422: 7400 7401 /* Line 1806 of yacc.c */ 7402 #line 1584 "parser.yy" 7374 7403 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7375 7404 break; 7376 7405 7377 case 42 1:7378 7379 /* Line 1806 of yacc.c */ 7380 #line 159 0"parser.yy"7406 case 423: 7407 7408 /* Line 1806 of yacc.c */ 7409 #line 1593 "parser.yy" 7381 7410 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7382 7411 break; 7383 7412 7384 case 42 2:7385 7386 /* Line 1806 of yacc.c */ 7387 #line 159 2"parser.yy"7413 case 424: 7414 7415 /* Line 1806 of yacc.c */ 7416 #line 1595 "parser.yy" 7388 7417 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7389 7418 break; 7390 7419 7391 case 43 4:7392 7393 /* Line 1806 of yacc.c */ 7394 #line 16 17"parser.yy"7420 case 436: 7421 7422 /* Line 1806 of yacc.c */ 7423 #line 1620 "parser.yy" 7395 7424 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7396 7425 break; 7397 7426 7398 case 4 38:7399 7400 /* Line 1806 of yacc.c */ 7401 #line 162 5"parser.yy"7427 case 440: 7428 7429 /* Line 1806 of yacc.c */ 7430 #line 1628 "parser.yy" 7402 7431 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7403 7432 break; 7404 7433 7405 case 4 39:7406 7407 /* Line 1806 of yacc.c */ 7408 #line 163 0"parser.yy"7434 case 441: 7435 7436 /* Line 1806 of yacc.c */ 7437 #line 1633 "parser.yy" 7409 7438 { (yyval.in) = 0; } 7410 7439 break; 7411 7440 7412 case 44 0:7413 7414 /* Line 1806 of yacc.c */ 7415 #line 163 1"parser.yy"7441 case 442: 7442 7443 /* Line 1806 of yacc.c */ 7444 #line 1634 "parser.yy" 7416 7445 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7417 7446 break; 7418 7447 7419 case 44 1:7420 7421 /* Line 1806 of yacc.c */ 7422 #line 163 5"parser.yy"7448 case 443: 7449 7450 /* Line 1806 of yacc.c */ 7451 #line 1638 "parser.yy" 7423 7452 { (yyval.in) = new InitializerNode((yyvsp[(1) - (1)].en)); } 7424 7453 break; 7425 7454 7426 case 44 2:7427 7428 /* Line 1806 of yacc.c */ 7429 #line 163 6"parser.yy"7455 case 444: 7456 7457 /* Line 1806 of yacc.c */ 7458 #line 1639 "parser.yy" 7430 7459 { (yyval.in) = new InitializerNode((yyvsp[(2) - (4)].in), true); } 7431 7460 break; 7432 7461 7433 case 44 4:7434 7435 /* Line 1806 of yacc.c */ 7436 #line 164 1"parser.yy"7462 case 446: 7463 7464 /* Line 1806 of yacc.c */ 7465 #line 1644 "parser.yy" 7437 7466 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7438 7467 break; 7439 7468 7440 case 44 5:7441 7442 /* Line 1806 of yacc.c */ 7443 #line 164 2"parser.yy"7469 case 447: 7470 7471 /* Line 1806 of yacc.c */ 7472 #line 1645 "parser.yy" 7444 7473 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link((yyvsp[(3) - (3)].in)) ); } 7445 7474 break; 7446 7475 7447 case 44 6:7448 7449 /* Line 1806 of yacc.c */ 7450 #line 164 4"parser.yy"7476 case 448: 7477 7478 /* Line 1806 of yacc.c */ 7479 #line 1647 "parser.yy" 7451 7480 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators((yyvsp[(3) - (4)].en)) ) ); } 7452 7481 break; 7453 7482 7454 case 4 48:7455 7456 /* Line 1806 of yacc.c */ 7457 #line 166 0"parser.yy"7483 case 450: 7484 7485 /* Line 1806 of yacc.c */ 7486 #line 1663 "parser.yy" 7458 7487 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7459 7488 break; 7460 7489 7461 case 45 0:7462 7463 /* Line 1806 of yacc.c */ 7464 #line 166 5"parser.yy"7490 case 452: 7491 7492 /* Line 1806 of yacc.c */ 7493 #line 1668 "parser.yy" 7465 7494 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7466 7495 break; 7467 7496 7468 case 45 1:7469 7470 /* Line 1806 of yacc.c */ 7471 #line 167 0"parser.yy"7497 case 453: 7498 7499 /* Line 1806 of yacc.c */ 7500 #line 1673 "parser.yy" 7472 7501 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7473 7502 break; 7474 7503 7475 case 45 2:7476 7477 /* Line 1806 of yacc.c */ 7478 #line 167 4"parser.yy"7504 case 454: 7505 7506 /* Line 1806 of yacc.c */ 7507 #line 1677 "parser.yy" 7479 7508 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7480 7509 break; 7481 7510 7482 case 45 3:7483 7484 /* Line 1806 of yacc.c */ 7485 #line 167 6"parser.yy"7511 case 455: 7512 7513 /* Line 1806 of yacc.c */ 7514 #line 1679 "parser.yy" 7486 7515 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7487 7516 break; 7488 7517 7489 case 45 4:7490 7491 /* Line 1806 of yacc.c */ 7492 #line 16 78"parser.yy"7518 case 456: 7519 7520 /* Line 1806 of yacc.c */ 7521 #line 1681 "parser.yy" 7493 7522 { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en)); } 7494 7523 break; 7495 7524 7496 case 45 5:7497 7498 /* Line 1806 of yacc.c */ 7499 #line 168 0"parser.yy"7525 case 457: 7526 7527 /* Line 1806 of yacc.c */ 7528 #line 1683 "parser.yy" 7500 7529 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7501 7530 break; 7502 7531 7503 case 45 7:7504 7505 /* Line 1806 of yacc.c */ 7506 #line 170 5"parser.yy"7532 case 459: 7533 7534 /* Line 1806 of yacc.c */ 7535 #line 1708 "parser.yy" 7507 7536 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7508 7537 break; 7509 7538 7510 case 4 58:7511 7512 /* Line 1806 of yacc.c */ 7513 #line 17 07"parser.yy"7539 case 460: 7540 7541 /* Line 1806 of yacc.c */ 7542 #line 1710 "parser.yy" 7514 7543 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7515 7544 break; 7516 7545 7517 case 4 59:7518 7519 /* Line 1806 of yacc.c */ 7520 #line 17 09"parser.yy"7546 case 461: 7547 7548 /* Line 1806 of yacc.c */ 7549 #line 1712 "parser.yy" 7521 7550 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7522 7551 break; 7523 7552 7524 case 46 0:7525 7526 /* Line 1806 of yacc.c */ 7527 #line 171 4"parser.yy"7553 case 462: 7554 7555 /* Line 1806 of yacc.c */ 7556 #line 1717 "parser.yy" 7528 7557 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7529 7558 break; 7530 7559 7531 case 46 1:7532 7533 /* Line 1806 of yacc.c */ 7534 #line 171 6"parser.yy"7560 case 463: 7561 7562 /* Line 1806 of yacc.c */ 7563 #line 1719 "parser.yy" 7535 7564 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); } 7536 7565 break; 7537 7566 7538 case 46 2:7539 7540 /* Line 1806 of yacc.c */ 7541 #line 17 18"parser.yy"7567 case 464: 7568 7569 /* Line 1806 of yacc.c */ 7570 #line 1721 "parser.yy" 7542 7571 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7543 7572 break; 7544 7573 7545 case 46 4:7546 7547 /* Line 1806 of yacc.c */ 7548 #line 172 4"parser.yy"7574 case 466: 7575 7576 /* Line 1806 of yacc.c */ 7577 #line 1727 "parser.yy" 7549 7578 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7550 7579 break; 7551 7580 7552 case 46 5:7553 7554 /* Line 1806 of yacc.c */ 7555 #line 17 29"parser.yy"7581 case 467: 7582 7583 /* Line 1806 of yacc.c */ 7584 #line 1732 "parser.yy" 7556 7585 { typedefTable.addToEnclosingScope(*((yyvsp[(2) - (2)].tok)), TypedefTable::TD); } 7557 7586 break; 7558 7587 7559 case 46 6:7560 7561 /* Line 1806 of yacc.c */ 7562 #line 173 1"parser.yy"7588 case 468: 7589 7590 /* Line 1806 of yacc.c */ 7591 #line 1734 "parser.yy" 7563 7592 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7564 7593 break; 7565 7594 7566 case 4 68:7567 7568 /* Line 1806 of yacc.c */ 7569 #line 17 37"parser.yy"7595 case 470: 7596 7597 /* Line 1806 of yacc.c */ 7598 #line 1740 "parser.yy" 7570 7599 { (yyval.tclass) = DeclarationNode::Type; } 7571 7600 break; 7572 7601 7573 case 4 69:7574 7575 /* Line 1806 of yacc.c */ 7576 #line 17 39"parser.yy"7602 case 471: 7603 7604 /* Line 1806 of yacc.c */ 7605 #line 1742 "parser.yy" 7577 7606 { (yyval.tclass) = DeclarationNode::Ftype; } 7578 7607 break; 7579 7608 7580 case 47 0:7581 7582 /* Line 1806 of yacc.c */ 7583 #line 174 1"parser.yy"7609 case 472: 7610 7611 /* Line 1806 of yacc.c */ 7612 #line 1744 "parser.yy" 7584 7613 { (yyval.tclass) = DeclarationNode::Dtype; } 7585 7614 break; 7586 7615 7587 case 47 1:7588 7589 /* Line 1806 of yacc.c */ 7590 #line 174 6"parser.yy"7616 case 473: 7617 7618 /* Line 1806 of yacc.c */ 7619 #line 1749 "parser.yy" 7591 7620 { (yyval.decl) = 0; } 7592 7621 break; 7593 7622 7594 case 47 2:7595 7596 /* Line 1806 of yacc.c */ 7597 #line 17 48"parser.yy"7623 case 474: 7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1751 "parser.yy" 7598 7627 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7599 7628 break; 7600 7629 7601 case 47 3:7602 7603 /* Line 1806 of yacc.c */ 7604 #line 175 3"parser.yy"7630 case 475: 7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1756 "parser.yy" 7605 7634 { 7606 7635 typedefTable.openContext( *((yyvsp[(2) - (5)].tok)) ); … … 7609 7638 break; 7610 7639 7611 case 47 4:7612 7613 /* Line 1806 of yacc.c */ 7614 #line 17 58"parser.yy"7640 case 476: 7641 7642 /* Line 1806 of yacc.c */ 7643 #line 1761 "parser.yy" 7615 7644 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7616 7645 break; 7617 7646 7618 case 47 5:7619 7620 /* Line 1806 of yacc.c */ 7621 #line 176 0"parser.yy"7647 case 477: 7648 7649 /* Line 1806 of yacc.c */ 7650 #line 1763 "parser.yy" 7622 7651 { (yyval.decl) = 0; } 7623 7652 break; 7624 7653 7625 case 47 6:7626 7627 /* Line 1806 of yacc.c */ 7628 #line 176 5"parser.yy"7654 case 478: 7655 7656 /* Line 1806 of yacc.c */ 7657 #line 1768 "parser.yy" 7629 7658 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7630 7659 break; 7631 7660 7632 case 4 78:7633 7634 /* Line 1806 of yacc.c */ 7635 #line 17 68"parser.yy"7661 case 480: 7662 7663 /* Line 1806 of yacc.c */ 7664 #line 1771 "parser.yy" 7636 7665 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link(new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7637 7666 break; 7638 7667 7639 case 4 79:7640 7641 /* Line 1806 of yacc.c */ 7642 #line 177 0"parser.yy"7668 case 481: 7669 7670 /* Line 1806 of yacc.c */ 7671 #line 1773 "parser.yy" 7643 7672 { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link((yyvsp[(3) - (3)].en))); } 7644 7673 break; 7645 7674 7646 case 48 0:7647 7648 /* Line 1806 of yacc.c */ 7649 #line 177 5"parser.yy"7675 case 482: 7676 7677 /* Line 1806 of yacc.c */ 7678 #line 1778 "parser.yy" 7650 7679 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7651 7680 break; 7652 7681 7653 case 48 1:7654 7655 /* Line 1806 of yacc.c */ 7656 #line 17 77"parser.yy"7682 case 483: 7683 7684 /* Line 1806 of yacc.c */ 7685 #line 1780 "parser.yy" 7657 7686 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7658 7687 break; 7659 7688 7660 case 48 2:7661 7662 /* Line 1806 of yacc.c */ 7663 #line 17 79"parser.yy"7689 case 484: 7690 7691 /* Line 1806 of yacc.c */ 7692 #line 1782 "parser.yy" 7664 7693 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7665 7694 break; 7666 7695 7667 case 48 3:7668 7669 /* Line 1806 of yacc.c */ 7670 #line 178 4"parser.yy"7696 case 485: 7697 7698 /* Line 1806 of yacc.c */ 7699 #line 1787 "parser.yy" 7671 7700 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7672 7701 break; 7673 7702 7674 case 48 4:7675 7676 /* Line 1806 of yacc.c */ 7677 #line 178 6"parser.yy"7703 case 486: 7704 7705 /* Line 1806 of yacc.c */ 7706 #line 1789 "parser.yy" 7678 7707 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7679 7708 break; 7680 7709 7681 case 48 5:7682 7683 /* Line 1806 of yacc.c */ 7684 #line 179 1"parser.yy"7710 case 487: 7711 7712 /* Line 1806 of yacc.c */ 7713 #line 1794 "parser.yy" 7685 7714 { 7686 7715 typedefTable.addToEnclosingScope(*((yyvsp[(1) - (1)].tok)), TypedefTable::TD); … … 7689 7718 break; 7690 7719 7691 case 48 6:7692 7693 /* Line 1806 of yacc.c */ 7694 #line 179 6"parser.yy"7720 case 488: 7721 7722 /* Line 1806 of yacc.c */ 7723 #line 1799 "parser.yy" 7695 7724 { 7696 7725 typedefTable.addToEnclosingScope(*((yyvsp[(1) - (6)].tok)), TypedefTable::TG); … … 7699 7728 break; 7700 7729 7701 case 48 7:7702 7703 /* Line 1806 of yacc.c */ 7704 #line 180 4"parser.yy"7730 case 489: 7731 7732 /* Line 1806 of yacc.c */ 7733 #line 1807 "parser.yy" 7705 7734 { 7706 7735 typedefTable.addToEnclosingScope(*((yyvsp[(2) - (9)].tok)), TypedefTable::ID ); … … 7709 7738 break; 7710 7739 7711 case 4 88:7712 7713 /* Line 1806 of yacc.c */ 7714 #line 18 09"parser.yy"7740 case 490: 7741 7742 /* Line 1806 of yacc.c */ 7743 #line 1812 "parser.yy" 7715 7744 { 7716 7745 typedefTable.enterContext( *((yyvsp[(2) - (8)].tok)) ); … … 7719 7748 break; 7720 7749 7721 case 4 89:7722 7723 /* Line 1806 of yacc.c */ 7724 #line 181 4"parser.yy"7750 case 491: 7751 7752 /* Line 1806 of yacc.c */ 7753 #line 1817 "parser.yy" 7725 7754 { 7726 7755 typedefTable.leaveContext(); … … 7730 7759 break; 7731 7760 7732 case 49 1:7733 7734 /* Line 1806 of yacc.c */ 7735 #line 182 4"parser.yy"7761 case 493: 7762 7763 /* Line 1806 of yacc.c */ 7764 #line 1827 "parser.yy" 7736 7765 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7737 7766 break; 7738 7767 7739 case 49 4:7740 7741 /* Line 1806 of yacc.c */ 7742 #line 183 4"parser.yy"7768 case 496: 7769 7770 /* Line 1806 of yacc.c */ 7771 #line 1837 "parser.yy" 7743 7772 { 7744 7773 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7747 7776 break; 7748 7777 7749 case 49 5:7750 7751 /* Line 1806 of yacc.c */ 7752 #line 18 39"parser.yy"7778 case 497: 7779 7780 /* Line 1806 of yacc.c */ 7781 #line 1842 "parser.yy" 7753 7782 { 7754 7783 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7757 7786 break; 7758 7787 7759 case 49 6:7760 7761 /* Line 1806 of yacc.c */ 7762 #line 184 4"parser.yy"7788 case 498: 7789 7790 /* Line 1806 of yacc.c */ 7791 #line 1847 "parser.yy" 7763 7792 { 7764 7793 typedefTable.addToEnclosingScope2( *((yyvsp[(5) - (5)].tok)), TypedefTable::ID ); … … 7767 7796 break; 7768 7797 7769 case 49 7:7770 7771 /* Line 1806 of yacc.c */ 7772 #line 185 2"parser.yy"7798 case 499: 7799 7800 /* Line 1806 of yacc.c */ 7801 #line 1855 "parser.yy" 7773 7802 { 7774 7803 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7777 7806 break; 7778 7807 7779 case 498:7780 7781 /* Line 1806 of yacc.c */ 7782 #line 18 57"parser.yy"7808 case 500: 7809 7810 /* Line 1806 of yacc.c */ 7811 #line 1860 "parser.yy" 7783 7812 { 7784 7813 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7787 7816 break; 7788 7817 7789 case 499:7790 7791 /* Line 1806 of yacc.c */ 7792 #line 18 67"parser.yy"7818 case 501: 7819 7820 /* Line 1806 of yacc.c */ 7821 #line 1870 "parser.yy" 7793 7822 {} 7794 7823 break; 7795 7824 7796 case 50 0:7797 7798 /* Line 1806 of yacc.c */ 7799 #line 18 69"parser.yy"7825 case 502: 7826 7827 /* Line 1806 of yacc.c */ 7828 #line 1872 "parser.yy" 7800 7829 { 7801 7830 if ( theTree ) { … … 7807 7836 break; 7808 7837 7809 case 50 2:7810 7811 /* Line 1806 of yacc.c */ 7812 #line 188 1"parser.yy"7838 case 504: 7839 7840 /* Line 1806 of yacc.c */ 7841 #line 1884 "parser.yy" 7813 7842 { (yyval.decl) = ((yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7814 7843 break; 7815 7844 7816 case 50 3:7817 7818 /* Line 1806 of yacc.c */ 7819 #line 188 6"parser.yy"7845 case 505: 7846 7847 /* Line 1806 of yacc.c */ 7848 #line 1889 "parser.yy" 7820 7849 { (yyval.decl) = 0; } 7821 7850 break; 7822 7851 7823 case 50 7:7824 7825 /* Line 1806 of yacc.c */ 7826 #line 189 4"parser.yy"7852 case 509: 7853 7854 /* Line 1806 of yacc.c */ 7855 #line 1897 "parser.yy" 7827 7856 {} 7828 7857 break; 7829 7858 7830 case 5 08:7831 7832 /* Line 1806 of yacc.c */ 7833 #line 189 6"parser.yy"7859 case 510: 7860 7861 /* Line 1806 of yacc.c */ 7862 #line 1899 "parser.yy" 7834 7863 { 7835 7864 linkageStack.push( linkage ); … … 7838 7867 break; 7839 7868 7840 case 5 09:7841 7842 /* Line 1806 of yacc.c */ 7843 #line 190 1"parser.yy"7869 case 511: 7870 7871 /* Line 1806 of yacc.c */ 7872 #line 1904 "parser.yy" 7844 7873 { 7845 7874 linkage = linkageStack.top(); … … 7849 7878 break; 7850 7879 7851 case 51 0:7852 7853 /* Line 1806 of yacc.c */ 7854 #line 19 07"parser.yy"7880 case 512: 7881 7882 /* Line 1806 of yacc.c */ 7883 #line 1910 "parser.yy" 7855 7884 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7856 7885 break; 7857 7886 7858 case 51 2:7859 7860 /* Line 1806 of yacc.c */ 7861 #line 19 19"parser.yy"7887 case 514: 7888 7889 /* Line 1806 of yacc.c */ 7890 #line 1922 "parser.yy" 7862 7891 { 7863 7892 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7867 7896 break; 7868 7897 7869 case 51 3:7870 7871 /* Line 1806 of yacc.c */ 7872 #line 192 5"parser.yy"7898 case 515: 7899 7900 /* Line 1806 of yacc.c */ 7901 #line 1928 "parser.yy" 7873 7902 { 7874 7903 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7878 7907 break; 7879 7908 7880 case 51 4:7881 7882 /* Line 1806 of yacc.c */ 7883 #line 193 4"parser.yy"7909 case 516: 7910 7911 /* Line 1806 of yacc.c */ 7912 #line 1937 "parser.yy" 7884 7913 { 7885 7914 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7889 7918 break; 7890 7919 7891 case 51 5:7892 7893 /* Line 1806 of yacc.c */ 7894 #line 194 0"parser.yy"7920 case 517: 7921 7922 /* Line 1806 of yacc.c */ 7923 #line 1943 "parser.yy" 7895 7924 { 7896 7925 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7900 7929 break; 7901 7930 7902 case 51 6:7903 7904 /* Line 1806 of yacc.c */ 7905 #line 194 6"parser.yy"7931 case 518: 7932 7933 /* Line 1806 of yacc.c */ 7934 #line 1949 "parser.yy" 7906 7935 { 7907 7936 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7911 7940 break; 7912 7941 7913 case 51 7:7914 7915 /* Line 1806 of yacc.c */ 7916 #line 195 2"parser.yy"7942 case 519: 7943 7944 /* Line 1806 of yacc.c */ 7945 #line 1955 "parser.yy" 7917 7946 { 7918 7947 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7922 7951 break; 7923 7952 7924 case 5 18:7925 7926 /* Line 1806 of yacc.c */ 7927 #line 19 58"parser.yy"7953 case 520: 7954 7955 /* Line 1806 of yacc.c */ 7956 #line 1961 "parser.yy" 7928 7957 { 7929 7958 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7933 7962 break; 7934 7963 7935 case 5 19:7936 7937 /* Line 1806 of yacc.c */ 7938 #line 196 6"parser.yy"7964 case 521: 7965 7966 /* Line 1806 of yacc.c */ 7967 #line 1969 "parser.yy" 7939 7968 { 7940 7969 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7944 7973 break; 7945 7974 7946 case 52 0:7947 7948 /* Line 1806 of yacc.c */ 7949 #line 197 2"parser.yy"7975 case 522: 7976 7977 /* Line 1806 of yacc.c */ 7978 #line 1975 "parser.yy" 7950 7979 { 7951 7980 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7955 7984 break; 7956 7985 7957 case 52 1:7958 7959 /* Line 1806 of yacc.c */ 7960 #line 198 0"parser.yy"7986 case 523: 7987 7988 /* Line 1806 of yacc.c */ 7989 #line 1983 "parser.yy" 7961 7990 { 7962 7991 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7966 7995 break; 7967 7996 7968 case 52 2:7969 7970 /* Line 1806 of yacc.c */ 7971 #line 198 6"parser.yy"7997 case 524: 7998 7999 /* Line 1806 of yacc.c */ 8000 #line 1989 "parser.yy" 7972 8001 { 7973 8002 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7977 8006 break; 7978 8007 7979 case 52 6:7980 7981 /* Line 1806 of yacc.c */ 7982 #line 200 1"parser.yy"8008 case 528: 8009 8010 /* Line 1806 of yacc.c */ 8011 #line 2004 "parser.yy" 7983 8012 { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en)); } 7984 8013 break; 7985 8014 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 8000 8015 case 541: 8001 8002 /* Line 1806 of yacc.c */8003 #line 2037 "parser.yy"8004 {}8005 break;8006 8007 case 542:8008 8016 8009 8017 /* Line 1806 of yacc.c */ … … 8012 8020 break; 8013 8021 8014 case 547: 8015 8016 /* Line 1806 of yacc.c */ 8017 #line 2081 "parser.yy" 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" 8018 8047 { 8019 8048 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8022 8051 break; 8023 8052 8024 case 5 48:8025 8026 /* Line 1806 of yacc.c */ 8027 #line 208 6"parser.yy"8053 case 550: 8054 8055 /* Line 1806 of yacc.c */ 8056 #line 2089 "parser.yy" 8028 8057 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8029 8058 break; 8030 8059 8031 case 5 49:8032 8033 /* Line 1806 of yacc.c */ 8034 #line 209 1"parser.yy"8060 case 551: 8061 8062 /* Line 1806 of yacc.c */ 8063 #line 2094 "parser.yy" 8035 8064 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8036 8065 break; 8037 8066 8038 case 55 0:8039 8040 /* Line 1806 of yacc.c */ 8041 #line 209 3"parser.yy"8067 case 552: 8068 8069 /* Line 1806 of yacc.c */ 8070 #line 2096 "parser.yy" 8042 8071 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8043 8072 break; 8044 8073 8045 case 55 1:8046 8047 /* Line 1806 of yacc.c */ 8048 #line 209 5"parser.yy"8074 case 553: 8075 8076 /* Line 1806 of yacc.c */ 8077 #line 2098 "parser.yy" 8049 8078 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8050 8079 break; 8051 8080 8052 case 55 2:8053 8054 /* Line 1806 of yacc.c */ 8055 #line 210 0"parser.yy"8081 case 554: 8082 8083 /* Line 1806 of yacc.c */ 8084 #line 2103 "parser.yy" 8056 8085 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8057 8086 break; 8058 8087 8059 case 55 3:8060 8061 /* Line 1806 of yacc.c */ 8062 #line 210 2"parser.yy"8088 case 555: 8089 8090 /* Line 1806 of yacc.c */ 8091 #line 2105 "parser.yy" 8063 8092 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8064 8093 break; 8065 8094 8066 case 55 4:8067 8068 /* Line 1806 of yacc.c */ 8069 #line 210 4"parser.yy"8095 case 556: 8096 8097 /* Line 1806 of yacc.c */ 8098 #line 2107 "parser.yy" 8070 8099 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8071 8100 break; 8072 8101 8073 case 55 5:8074 8075 /* Line 1806 of yacc.c */ 8076 #line 210 6"parser.yy"8102 case 557: 8103 8104 /* Line 1806 of yacc.c */ 8105 #line 2109 "parser.yy" 8077 8106 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8078 8107 break; 8079 8108 8080 case 55 6:8081 8082 /* Line 1806 of yacc.c */ 8083 #line 211 1"parser.yy"8109 case 558: 8110 8111 /* Line 1806 of yacc.c */ 8112 #line 2114 "parser.yy" 8084 8113 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8085 8114 break; 8086 8115 8087 case 55 7:8088 8089 /* Line 1806 of yacc.c */ 8090 #line 211 3"parser.yy"8116 case 559: 8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2116 "parser.yy" 8091 8120 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8092 8121 break; 8093 8122 8094 case 56 1:8095 8096 /* Line 1806 of yacc.c */ 8097 #line 21 29"parser.yy"8123 case 563: 8124 8125 /* Line 1806 of yacc.c */ 8126 #line 2132 "parser.yy" 8098 8127 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8099 8128 break; 8100 8129 8101 case 56 2:8102 8103 /* Line 1806 of yacc.c */ 8104 #line 213 1"parser.yy"8130 case 564: 8131 8132 /* Line 1806 of yacc.c */ 8133 #line 2134 "parser.yy" 8105 8134 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8106 8135 break; 8107 8136 8108 case 56 3:8109 8110 /* Line 1806 of yacc.c */ 8111 #line 213 3"parser.yy"8137 case 565: 8138 8139 /* Line 1806 of yacc.c */ 8140 #line 2136 "parser.yy" 8112 8141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8113 8142 break; 8114 8143 8115 case 56 4:8116 8117 /* Line 1806 of yacc.c */ 8118 #line 21 38"parser.yy"8144 case 566: 8145 8146 /* Line 1806 of yacc.c */ 8147 #line 2141 "parser.yy" 8119 8148 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8120 8149 break; 8121 8150 8122 case 56 5:8123 8124 /* Line 1806 of yacc.c */ 8125 #line 214 0"parser.yy"8151 case 567: 8152 8153 /* Line 1806 of yacc.c */ 8154 #line 2143 "parser.yy" 8126 8155 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8127 8156 break; 8128 8157 8129 case 56 6:8130 8131 /* Line 1806 of yacc.c */ 8132 #line 214 2"parser.yy"8158 case 568: 8159 8160 /* Line 1806 of yacc.c */ 8161 #line 2145 "parser.yy" 8133 8162 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8134 8163 break; 8135 8164 8136 case 56 7:8137 8138 /* Line 1806 of yacc.c */ 8139 #line 21 47"parser.yy"8165 case 569: 8166 8167 /* Line 1806 of yacc.c */ 8168 #line 2150 "parser.yy" 8140 8169 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8141 8170 break; 8142 8171 8143 case 5 68:8144 8145 /* Line 1806 of yacc.c */ 8146 #line 21 49"parser.yy"8172 case 570: 8173 8174 /* Line 1806 of yacc.c */ 8175 #line 2152 "parser.yy" 8147 8176 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8148 8177 break; 8149 8178 8150 case 5 69:8151 8152 /* Line 1806 of yacc.c */ 8153 #line 215 1"parser.yy"8179 case 571: 8180 8181 /* Line 1806 of yacc.c */ 8182 #line 2154 "parser.yy" 8154 8183 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8155 8184 break; 8156 8185 8157 case 57 3:8158 8159 /* Line 1806 of yacc.c */ 8160 #line 216 6"parser.yy"8186 case 575: 8187 8188 /* Line 1806 of yacc.c */ 8189 #line 2169 "parser.yy" 8161 8190 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8162 8191 break; 8163 8192 8164 case 57 4:8165 8166 /* Line 1806 of yacc.c */ 8167 #line 21 68"parser.yy"8193 case 576: 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2171 "parser.yy" 8168 8197 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8169 8198 break; 8170 8199 8171 case 57 5:8172 8173 /* Line 1806 of yacc.c */ 8174 #line 217 0"parser.yy"8200 case 577: 8201 8202 /* Line 1806 of yacc.c */ 8203 #line 2173 "parser.yy" 8175 8204 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8176 8205 break; 8177 8206 8178 case 57 6:8179 8180 /* Line 1806 of yacc.c */ 8181 #line 217 5"parser.yy"8207 case 578: 8208 8209 /* Line 1806 of yacc.c */ 8210 #line 2178 "parser.yy" 8182 8211 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8183 8212 break; 8184 8213 8185 case 57 7:8186 8187 /* Line 1806 of yacc.c */ 8188 #line 21 77"parser.yy"8214 case 579: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2180 "parser.yy" 8189 8218 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8190 8219 break; 8191 8220 8192 case 5 78:8193 8194 /* Line 1806 of yacc.c */ 8195 #line 21 79"parser.yy"8221 case 580: 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2182 "parser.yy" 8196 8225 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8197 8226 break; 8198 8227 8199 case 5 79:8200 8201 /* Line 1806 of yacc.c */ 8202 #line 218 4"parser.yy"8228 case 581: 8229 8230 /* Line 1806 of yacc.c */ 8231 #line 2187 "parser.yy" 8203 8232 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8204 8233 break; 8205 8234 8206 case 58 0:8207 8208 /* Line 1806 of yacc.c */ 8209 #line 218 6"parser.yy"8235 case 582: 8236 8237 /* Line 1806 of yacc.c */ 8238 #line 2189 "parser.yy" 8210 8239 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8211 8240 break; 8212 8241 8213 case 58 1:8214 8215 /* Line 1806 of yacc.c */ 8216 #line 21 88"parser.yy"8242 case 583: 8243 8244 /* Line 1806 of yacc.c */ 8245 #line 2191 "parser.yy" 8217 8246 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8218 8247 break; 8219 8248 8220 case 58 6:8221 8222 /* Line 1806 of yacc.c */ 8223 #line 221 0"parser.yy"8249 case 588: 8250 8251 /* Line 1806 of yacc.c */ 8252 #line 2213 "parser.yy" 8224 8253 { 8225 8254 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8228 8257 break; 8229 8258 8230 case 58 7:8231 8232 /* Line 1806 of yacc.c */ 8233 #line 221 5"parser.yy"8259 case 589: 8260 8261 /* Line 1806 of yacc.c */ 8262 #line 2218 "parser.yy" 8234 8263 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8235 8264 break; 8236 8265 8237 case 5 88:8238 8239 /* Line 1806 of yacc.c */ 8240 #line 222 0"parser.yy"8266 case 590: 8267 8268 /* Line 1806 of yacc.c */ 8269 #line 2223 "parser.yy" 8241 8270 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8242 8271 break; 8243 8272 8244 case 5 89:8245 8246 /* Line 1806 of yacc.c */ 8247 #line 222 2"parser.yy"8273 case 591: 8274 8275 /* Line 1806 of yacc.c */ 8276 #line 2225 "parser.yy" 8248 8277 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8249 8278 break; 8250 8279 8251 case 59 0:8252 8253 /* Line 1806 of yacc.c */ 8254 #line 222 4"parser.yy"8280 case 592: 8281 8282 /* Line 1806 of yacc.c */ 8283 #line 2227 "parser.yy" 8255 8284 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8256 8285 break; 8257 8286 8258 case 59 1:8259 8260 /* Line 1806 of yacc.c */ 8261 #line 22 29"parser.yy"8287 case 593: 8288 8289 /* Line 1806 of yacc.c */ 8290 #line 2232 "parser.yy" 8262 8291 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8263 8292 break; 8264 8293 8265 case 59 2:8266 8267 /* Line 1806 of yacc.c */ 8268 #line 223 1"parser.yy"8294 case 594: 8295 8296 /* Line 1806 of yacc.c */ 8297 #line 2234 "parser.yy" 8269 8298 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8270 8299 break; 8271 8300 8272 case 59 3:8273 8274 /* Line 1806 of yacc.c */ 8275 #line 223 3"parser.yy"8301 case 595: 8302 8303 /* Line 1806 of yacc.c */ 8304 #line 2236 "parser.yy" 8276 8305 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8277 8306 break; 8278 8307 8279 case 59 4:8280 8281 /* Line 1806 of yacc.c */ 8282 #line 223 5"parser.yy"8308 case 596: 8309 8310 /* Line 1806 of yacc.c */ 8311 #line 2238 "parser.yy" 8283 8312 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8284 8313 break; 8285 8314 8286 case 59 5:8287 8288 /* Line 1806 of yacc.c */ 8289 #line 224 0"parser.yy"8315 case 597: 8316 8317 /* Line 1806 of yacc.c */ 8318 #line 2243 "parser.yy" 8290 8319 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8291 8320 break; 8292 8321 8293 case 59 6:8294 8295 /* Line 1806 of yacc.c */ 8296 #line 224 2"parser.yy"8322 case 598: 8323 8324 /* Line 1806 of yacc.c */ 8325 #line 2245 "parser.yy" 8297 8326 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8298 8327 break; 8299 8328 8300 case 59 7:8301 8302 /* Line 1806 of yacc.c */ 8303 #line 224 4"parser.yy"8329 case 599: 8330 8331 /* Line 1806 of yacc.c */ 8332 #line 2247 "parser.yy" 8304 8333 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8305 8334 break; 8306 8335 8307 case 60 2:8308 8309 /* Line 1806 of yacc.c */ 8310 #line 226 1"parser.yy"8336 case 604: 8337 8338 /* Line 1806 of yacc.c */ 8339 #line 2264 "parser.yy" 8311 8340 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8312 8341 break; 8313 8342 8314 case 60 3:8315 8316 /* Line 1806 of yacc.c */ 8317 #line 226 3"parser.yy"8343 case 605: 8344 8345 /* Line 1806 of yacc.c */ 8346 #line 2266 "parser.yy" 8318 8347 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8319 8348 break; 8320 8349 8321 case 60 4:8322 8323 /* Line 1806 of yacc.c */ 8324 #line 226 5"parser.yy"8350 case 606: 8351 8352 /* Line 1806 of yacc.c */ 8353 #line 2268 "parser.yy" 8325 8354 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8326 8355 break; 8327 8356 8328 case 60 5:8329 8330 /* Line 1806 of yacc.c */ 8331 #line 227 0"parser.yy"8357 case 607: 8358 8359 /* Line 1806 of yacc.c */ 8360 #line 2273 "parser.yy" 8332 8361 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8333 8362 break; 8334 8363 8335 case 60 6:8336 8337 /* Line 1806 of yacc.c */ 8338 #line 227 2"parser.yy"8364 case 608: 8365 8366 /* Line 1806 of yacc.c */ 8367 #line 2275 "parser.yy" 8339 8368 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8340 8369 break; 8341 8370 8342 case 60 7:8343 8344 /* Line 1806 of yacc.c */ 8345 #line 227 4"parser.yy"8371 case 609: 8372 8373 /* Line 1806 of yacc.c */ 8374 #line 2277 "parser.yy" 8346 8375 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8347 8376 break; 8348 8377 8349 case 6 08:8350 8351 /* Line 1806 of yacc.c */ 8352 #line 227 6"parser.yy"8378 case 610: 8379 8380 /* Line 1806 of yacc.c */ 8381 #line 2279 "parser.yy" 8353 8382 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8354 8383 break; 8355 8384 8356 case 6 09:8357 8358 /* Line 1806 of yacc.c */ 8359 #line 228 1"parser.yy"8385 case 611: 8386 8387 /* Line 1806 of yacc.c */ 8388 #line 2284 "parser.yy" 8360 8389 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8361 8390 break; 8362 8391 8363 case 61 0:8364 8365 /* Line 1806 of yacc.c */ 8366 #line 228 3"parser.yy"8392 case 612: 8393 8394 /* Line 1806 of yacc.c */ 8395 #line 2286 "parser.yy" 8367 8396 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8368 8397 break; 8369 8398 8370 case 61 1:8371 8372 /* Line 1806 of yacc.c */ 8373 #line 228 5"parser.yy"8399 case 613: 8400 8401 /* Line 1806 of yacc.c */ 8402 #line 2288 "parser.yy" 8374 8403 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8375 8404 break; 8376 8405 8377 case 61 6:8378 8379 /* Line 1806 of yacc.c */ 8380 #line 232 3"parser.yy"8406 case 618: 8407 8408 /* Line 1806 of yacc.c */ 8409 #line 2326 "parser.yy" 8381 8410 { 8382 8411 typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) ); … … 8385 8414 break; 8386 8415 8387 case 61 7:8388 8389 /* Line 1806 of yacc.c */ 8390 #line 233 1"parser.yy"8416 case 619: 8417 8418 /* Line 1806 of yacc.c */ 8419 #line 2334 "parser.yy" 8391 8420 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8392 8421 break; 8393 8422 8394 case 6 18:8395 8396 /* Line 1806 of yacc.c */ 8397 #line 233 3"parser.yy"8423 case 620: 8424 8425 /* Line 1806 of yacc.c */ 8426 #line 2336 "parser.yy" 8398 8427 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8399 8428 break; 8400 8429 8401 case 6 19:8402 8403 /* Line 1806 of yacc.c */ 8404 #line 233 5"parser.yy"8430 case 621: 8431 8432 /* Line 1806 of yacc.c */ 8433 #line 2338 "parser.yy" 8405 8434 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8406 8435 break; 8407 8436 8408 case 62 0:8409 8410 /* Line 1806 of yacc.c */ 8411 #line 234 0"parser.yy"8437 case 622: 8438 8439 /* Line 1806 of yacc.c */ 8440 #line 2343 "parser.yy" 8412 8441 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8413 8442 break; 8414 8443 8415 case 62 1:8416 8417 /* Line 1806 of yacc.c */ 8418 #line 234 2"parser.yy"8444 case 623: 8445 8446 /* Line 1806 of yacc.c */ 8447 #line 2345 "parser.yy" 8419 8448 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8420 8449 break; 8421 8450 8422 case 62 2:8423 8424 /* Line 1806 of yacc.c */ 8425 #line 23 47"parser.yy"8451 case 624: 8452 8453 /* Line 1806 of yacc.c */ 8454 #line 2350 "parser.yy" 8426 8455 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8427 8456 break; 8428 8457 8429 case 62 3:8430 8431 /* Line 1806 of yacc.c */ 8432 #line 23 49"parser.yy"8458 case 625: 8459 8460 /* Line 1806 of yacc.c */ 8461 #line 2352 "parser.yy" 8433 8462 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8434 8463 break; 8435 8464 8436 case 62 7:8437 8438 /* Line 1806 of yacc.c */ 8439 #line 23 69"parser.yy"8465 case 629: 8466 8467 /* Line 1806 of yacc.c */ 8468 #line 2372 "parser.yy" 8440 8469 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8441 8470 break; 8442 8471 8443 case 6 28:8444 8445 /* Line 1806 of yacc.c */ 8446 #line 237 1"parser.yy"8472 case 630: 8473 8474 /* Line 1806 of yacc.c */ 8475 #line 2374 "parser.yy" 8447 8476 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8448 8477 break; 8449 8478 8450 case 6 29:8451 8452 /* Line 1806 of yacc.c */ 8453 #line 237 3"parser.yy"8479 case 631: 8480 8481 /* Line 1806 of yacc.c */ 8482 #line 2376 "parser.yy" 8454 8483 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8455 8484 break; 8456 8485 8457 case 63 0:8458 8459 /* Line 1806 of yacc.c */ 8460 #line 237 5"parser.yy"8486 case 632: 8487 8488 /* Line 1806 of yacc.c */ 8489 #line 2378 "parser.yy" 8461 8490 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8462 8491 break; 8463 8492 8464 case 63 1:8465 8466 /* Line 1806 of yacc.c */ 8467 #line 23 77"parser.yy"8493 case 633: 8494 8495 /* Line 1806 of yacc.c */ 8496 #line 2380 "parser.yy" 8468 8497 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8469 8498 break; 8470 8499 8471 case 63 3:8472 8473 /* Line 1806 of yacc.c */ 8474 #line 238 3"parser.yy"8500 case 635: 8501 8502 /* Line 1806 of yacc.c */ 8503 #line 2386 "parser.yy" 8475 8504 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8476 8505 break; 8477 8506 8478 case 63 4:8479 8480 /* Line 1806 of yacc.c */ 8481 #line 238 5"parser.yy"8507 case 636: 8508 8509 /* Line 1806 of yacc.c */ 8510 #line 2388 "parser.yy" 8482 8511 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8483 8512 break; 8484 8513 8485 case 63 5:8486 8487 /* Line 1806 of yacc.c */ 8488 #line 23 87"parser.yy"8514 case 637: 8515 8516 /* Line 1806 of yacc.c */ 8517 #line 2390 "parser.yy" 8489 8518 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8490 8519 break; 8491 8520 8492 case 63 6:8493 8494 /* Line 1806 of yacc.c */ 8495 #line 239 2"parser.yy"8521 case 638: 8522 8523 /* Line 1806 of yacc.c */ 8524 #line 2395 "parser.yy" 8496 8525 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8497 8526 break; 8498 8527 8499 case 63 7:8500 8501 /* Line 1806 of yacc.c */ 8502 #line 239 4"parser.yy"8528 case 639: 8529 8530 /* Line 1806 of yacc.c */ 8531 #line 2397 "parser.yy" 8503 8532 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8504 8533 break; 8505 8534 8506 case 6 38:8507 8508 /* Line 1806 of yacc.c */ 8509 #line 239 6"parser.yy"8535 case 640: 8536 8537 /* Line 1806 of yacc.c */ 8538 #line 2399 "parser.yy" 8510 8539 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8511 8540 break; 8512 8541 8513 case 6 39:8514 8515 /* Line 1806 of yacc.c */ 8516 #line 240 2"parser.yy"8542 case 641: 8543 8544 /* Line 1806 of yacc.c */ 8545 #line 2405 "parser.yy" 8517 8546 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8518 8547 break; 8519 8548 8520 case 64 0:8521 8522 /* Line 1806 of yacc.c */ 8523 #line 240 4"parser.yy"8549 case 642: 8550 8551 /* Line 1806 of yacc.c */ 8552 #line 2407 "parser.yy" 8524 8553 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); } 8525 8554 break; 8526 8555 8527 case 64 2:8528 8529 /* Line 1806 of yacc.c */ 8530 #line 241 0"parser.yy"8556 case 644: 8557 8558 /* Line 1806 of yacc.c */ 8559 #line 2413 "parser.yy" 8531 8560 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8532 8561 break; 8533 8562 8534 case 64 3:8535 8536 /* Line 1806 of yacc.c */ 8537 #line 241 2"parser.yy"8563 case 645: 8564 8565 /* Line 1806 of yacc.c */ 8566 #line 2415 "parser.yy" 8538 8567 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8539 8568 break; 8540 8569 8541 case 64 4:8542 8543 /* Line 1806 of yacc.c */ 8544 #line 241 4"parser.yy"8570 case 646: 8571 8572 /* Line 1806 of yacc.c */ 8573 #line 2417 "parser.yy" 8545 8574 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8546 8575 break; 8547 8576 8548 case 64 5:8549 8550 /* Line 1806 of yacc.c */ 8551 #line 241 6"parser.yy"8577 case 647: 8578 8579 /* Line 1806 of yacc.c */ 8580 #line 2419 "parser.yy" 8552 8581 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8553 8582 break; 8554 8583 8555 case 6 49:8556 8557 /* Line 1806 of yacc.c */ 8558 #line 243 6"parser.yy"8584 case 651: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2439 "parser.yy" 8559 8588 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8560 8589 break; 8561 8590 8562 case 65 0:8563 8564 /* Line 1806 of yacc.c */ 8565 #line 24 38"parser.yy"8591 case 652: 8592 8593 /* Line 1806 of yacc.c */ 8594 #line 2441 "parser.yy" 8566 8595 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8567 8596 break; 8568 8597 8569 case 65 1:8570 8571 /* Line 1806 of yacc.c */ 8572 #line 244 0"parser.yy"8598 case 653: 8599 8600 /* Line 1806 of yacc.c */ 8601 #line 2443 "parser.yy" 8573 8602 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8574 8603 break; 8575 8604 8576 case 65 2:8577 8578 /* Line 1806 of yacc.c */ 8579 #line 244 2"parser.yy"8605 case 654: 8606 8607 /* Line 1806 of yacc.c */ 8608 #line 2445 "parser.yy" 8580 8609 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8581 8610 break; 8582 8611 8583 case 65 3:8584 8585 /* Line 1806 of yacc.c */ 8586 #line 244 4"parser.yy"8612 case 655: 8613 8614 /* Line 1806 of yacc.c */ 8615 #line 2447 "parser.yy" 8587 8616 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8588 8617 break; 8589 8618 8590 case 65 5:8591 8592 /* Line 1806 of yacc.c */ 8593 #line 245 0"parser.yy"8619 case 657: 8620 8621 /* Line 1806 of yacc.c */ 8622 #line 2453 "parser.yy" 8594 8623 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8595 8624 break; 8596 8625 8597 case 65 6:8598 8599 /* Line 1806 of yacc.c */ 8600 #line 245 2"parser.yy"8626 case 658: 8627 8628 /* Line 1806 of yacc.c */ 8629 #line 2455 "parser.yy" 8601 8630 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8602 8631 break; 8603 8632 8604 case 65 7:8605 8606 /* Line 1806 of yacc.c */ 8607 #line 245 4"parser.yy"8633 case 659: 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2457 "parser.yy" 8608 8637 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8609 8638 break; 8610 8639 8611 case 6 58:8612 8613 /* Line 1806 of yacc.c */ 8614 #line 24 59"parser.yy"8640 case 660: 8641 8642 /* Line 1806 of yacc.c */ 8643 #line 2462 "parser.yy" 8615 8644 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8616 8645 break; 8617 8646 8618 case 6 59:8619 8620 /* Line 1806 of yacc.c */ 8621 #line 246 1"parser.yy"8647 case 661: 8648 8649 /* Line 1806 of yacc.c */ 8650 #line 2464 "parser.yy" 8622 8651 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8623 8652 break; 8624 8653 8625 case 66 0:8626 8627 /* Line 1806 of yacc.c */ 8628 #line 246 3"parser.yy"8654 case 662: 8655 8656 /* Line 1806 of yacc.c */ 8657 #line 2466 "parser.yy" 8629 8658 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8630 8659 break; 8631 8660 8632 case 66 2:8633 8634 /* Line 1806 of yacc.c */ 8635 #line 247 0"parser.yy"8661 case 664: 8662 8663 /* Line 1806 of yacc.c */ 8664 #line 2473 "parser.yy" 8636 8665 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8637 8666 break; 8638 8667 8639 case 66 4:8640 8641 /* Line 1806 of yacc.c */ 8642 #line 248 2"parser.yy"8668 case 666: 8669 8670 /* Line 1806 of yacc.c */ 8671 #line 2485 "parser.yy" 8643 8672 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8644 8673 break; 8645 8674 8646 case 66 5:8647 8648 /* Line 1806 of yacc.c */ 8649 #line 248 5"parser.yy"8675 case 667: 8676 8677 /* Line 1806 of yacc.c */ 8678 #line 2488 "parser.yy" 8650 8679 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8651 8680 break; 8652 8681 8653 case 66 6:8654 8655 /* Line 1806 of yacc.c */ 8656 #line 24 87"parser.yy"8682 case 668: 8683 8684 /* Line 1806 of yacc.c */ 8685 #line 2490 "parser.yy" 8657 8686 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8658 8687 break; 8659 8688 8660 case 66 7:8661 8662 /* Line 1806 of yacc.c */ 8663 #line 249 0"parser.yy"8689 case 669: 8690 8691 /* Line 1806 of yacc.c */ 8692 #line 2493 "parser.yy" 8664 8693 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8665 8694 break; 8666 8695 8667 case 6 68:8668 8669 /* Line 1806 of yacc.c */ 8670 #line 249 2"parser.yy"8696 case 670: 8697 8698 /* Line 1806 of yacc.c */ 8699 #line 2495 "parser.yy" 8671 8700 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8672 8701 break; 8673 8702 8674 case 6 69:8675 8676 /* Line 1806 of yacc.c */ 8677 #line 249 4"parser.yy"8703 case 671: 8704 8705 /* Line 1806 of yacc.c */ 8706 #line 2497 "parser.yy" 8678 8707 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8679 8708 break; 8680 8709 8681 case 67 3:8682 8683 /* Line 1806 of yacc.c */ 8684 #line 251 3"parser.yy"8710 case 675: 8711 8712 /* Line 1806 of yacc.c */ 8713 #line 2516 "parser.yy" 8685 8714 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8686 8715 break; 8687 8716 8688 case 67 4:8689 8690 /* Line 1806 of yacc.c */ 8691 #line 251 5"parser.yy"8717 case 676: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2518 "parser.yy" 8692 8721 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8693 8722 break; 8694 8723 8695 case 67 5:8696 8697 /* Line 1806 of yacc.c */ 8698 #line 25 17"parser.yy"8724 case 677: 8725 8726 /* Line 1806 of yacc.c */ 8727 #line 2520 "parser.yy" 8699 8728 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8700 8729 break; 8701 8730 8702 case 67 6:8703 8704 /* Line 1806 of yacc.c */ 8705 #line 25 19"parser.yy"8731 case 678: 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2522 "parser.yy" 8706 8735 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8707 8736 break; 8708 8737 8709 case 67 7:8710 8711 /* Line 1806 of yacc.c */ 8712 #line 252 1"parser.yy"8738 case 679: 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2524 "parser.yy" 8713 8742 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8714 8743 break; 8715 8744 8716 case 6 79:8717 8718 /* Line 1806 of yacc.c */ 8719 #line 25 27"parser.yy"8745 case 681: 8746 8747 /* Line 1806 of yacc.c */ 8748 #line 2530 "parser.yy" 8720 8749 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8721 8750 break; 8722 8751 8723 case 68 0:8724 8725 /* Line 1806 of yacc.c */ 8726 #line 25 29"parser.yy"8752 case 682: 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2532 "parser.yy" 8727 8756 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8728 8757 break; 8729 8758 8730 case 68 1:8731 8732 /* Line 1806 of yacc.c */ 8733 #line 253 1"parser.yy"8759 case 683: 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2534 "parser.yy" 8734 8763 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8735 8764 break; 8736 8765 8737 case 68 2:8738 8739 /* Line 1806 of yacc.c */ 8740 #line 253 6"parser.yy"8766 case 684: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2539 "parser.yy" 8741 8770 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8742 8771 break; 8743 8772 8744 case 68 3:8745 8746 /* Line 1806 of yacc.c */ 8747 #line 25 38"parser.yy"8773 case 685: 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2541 "parser.yy" 8748 8777 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8749 8778 break; 8750 8779 8751 case 68 6:8752 8753 /* Line 1806 of yacc.c */ 8754 #line 25 48"parser.yy"8780 case 688: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2551 "parser.yy" 8755 8784 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8756 8785 break; 8757 8786 8758 case 6 89:8759 8760 /* Line 1806 of yacc.c */ 8761 #line 25 58"parser.yy"8787 case 691: 8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2561 "parser.yy" 8762 8791 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8763 8792 break; 8764 8793 8765 case 69 0:8766 8767 /* Line 1806 of yacc.c */ 8768 #line 256 0"parser.yy"8794 case 692: 8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2563 "parser.yy" 8769 8798 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8770 8799 break; 8771 8800 8772 case 69 1:8773 8774 /* Line 1806 of yacc.c */ 8775 #line 256 2"parser.yy"8801 case 693: 8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2565 "parser.yy" 8776 8805 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8777 8806 break; 8778 8807 8779 case 69 2:8780 8781 /* Line 1806 of yacc.c */ 8782 #line 256 4"parser.yy"8808 case 694: 8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2567 "parser.yy" 8783 8812 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8784 8813 break; 8785 8814 8786 case 69 3:8787 8788 /* Line 1806 of yacc.c */ 8789 #line 256 6"parser.yy"8815 case 695: 8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2569 "parser.yy" 8790 8819 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8791 8820 break; 8792 8821 8793 case 69 4:8794 8795 /* Line 1806 of yacc.c */ 8796 #line 25 68"parser.yy"8822 case 696: 8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2571 "parser.yy" 8797 8826 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8798 8827 break; 8799 8828 8800 case 69 5:8801 8802 /* Line 1806 of yacc.c */ 8803 #line 257 5"parser.yy"8829 case 697: 8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2578 "parser.yy" 8804 8833 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8805 8834 break; 8806 8835 8807 case 69 6:8808 8809 /* Line 1806 of yacc.c */ 8810 #line 25 77"parser.yy"8836 case 698: 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2580 "parser.yy" 8811 8840 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8812 8841 break; 8813 8842 8814 case 69 7:8815 8816 /* Line 1806 of yacc.c */ 8817 #line 25 79"parser.yy"8843 case 699: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2582 "parser.yy" 8818 8847 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8819 8848 break; 8820 8849 8821 case 698:8822 8823 /* Line 1806 of yacc.c */ 8824 #line 258 1"parser.yy"8850 case 700: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2584 "parser.yy" 8825 8854 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8826 8855 break; 8827 8856 8828 case 699:8829 8830 /* Line 1806 of yacc.c */ 8831 #line 258 3"parser.yy"8857 case 701: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2586 "parser.yy" 8832 8861 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8833 8862 break; 8834 8863 8835 case 70 0:8836 8837 /* Line 1806 of yacc.c */ 8838 #line 258 5"parser.yy"8864 case 702: 8865 8866 /* Line 1806 of yacc.c */ 8867 #line 2588 "parser.yy" 8839 8868 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8840 8869 break; 8841 8870 8842 case 70 1:8843 8844 /* Line 1806 of yacc.c */ 8845 #line 25 87"parser.yy"8871 case 703: 8872 8873 /* Line 1806 of yacc.c */ 8874 #line 2590 "parser.yy" 8846 8875 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8847 8876 break; 8848 8877 8849 case 70 2:8850 8851 /* Line 1806 of yacc.c */ 8852 #line 25 89"parser.yy"8878 case 704: 8879 8880 /* Line 1806 of yacc.c */ 8881 #line 2592 "parser.yy" 8853 8882 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8854 8883 break; 8855 8884 8856 case 70 3:8857 8858 /* Line 1806 of yacc.c */ 8859 #line 259 1"parser.yy"8885 case 705: 8886 8887 /* Line 1806 of yacc.c */ 8888 #line 2594 "parser.yy" 8860 8889 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8861 8890 break; 8862 8891 8863 case 70 4:8864 8865 /* Line 1806 of yacc.c */ 8866 #line 259 3"parser.yy"8892 case 706: 8893 8894 /* Line 1806 of yacc.c */ 8895 #line 2596 "parser.yy" 8867 8896 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8868 8897 break; 8869 8898 8870 case 70 5:8871 8872 /* Line 1806 of yacc.c */ 8873 #line 2 598"parser.yy"8899 case 707: 8900 8901 /* Line 1806 of yacc.c */ 8902 #line 2601 "parser.yy" 8874 8903 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8875 8904 break; 8876 8905 8877 case 70 6:8878 8879 /* Line 1806 of yacc.c */ 8880 #line 260 0"parser.yy"8906 case 708: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2603 "parser.yy" 8881 8910 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8882 8911 break; 8883 8912 8884 case 70 7:8885 8886 /* Line 1806 of yacc.c */ 8887 #line 260 5"parser.yy"8913 case 709: 8914 8915 /* Line 1806 of yacc.c */ 8916 #line 2608 "parser.yy" 8888 8917 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8889 8918 break; 8890 8919 8891 case 7 08:8892 8893 /* Line 1806 of yacc.c */ 8894 #line 26 07"parser.yy"8920 case 710: 8921 8922 /* Line 1806 of yacc.c */ 8923 #line 2610 "parser.yy" 8895 8924 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8896 8925 break; 8897 8926 8898 case 71 0:8899 8900 /* Line 1806 of yacc.c */ 8901 #line 263 4"parser.yy"8927 case 712: 8928 8929 /* Line 1806 of yacc.c */ 8930 #line 2637 "parser.yy" 8902 8931 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8903 8932 break; 8904 8933 8905 case 71 4:8906 8907 /* Line 1806 of yacc.c */ 8908 #line 264 5"parser.yy"8934 case 716: 8935 8936 /* Line 1806 of yacc.c */ 8937 #line 2648 "parser.yy" 8909 8938 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8910 8939 break; 8911 8940 8912 case 71 5:8913 8914 /* Line 1806 of yacc.c */ 8915 #line 26 47"parser.yy"8941 case 717: 8942 8943 /* Line 1806 of yacc.c */ 8944 #line 2650 "parser.yy" 8916 8945 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8917 8946 break; 8918 8947 8919 case 71 6:8920 8921 /* Line 1806 of yacc.c */ 8922 #line 26 49"parser.yy"8948 case 718: 8949 8950 /* Line 1806 of yacc.c */ 8951 #line 2652 "parser.yy" 8923 8952 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8924 8953 break; 8925 8954 8926 case 71 7:8927 8928 /* Line 1806 of yacc.c */ 8929 #line 265 1"parser.yy"8955 case 719: 8956 8957 /* Line 1806 of yacc.c */ 8958 #line 2654 "parser.yy" 8930 8959 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8931 8960 break; 8932 8961 8933 case 7 18:8934 8935 /* Line 1806 of yacc.c */ 8936 #line 265 3"parser.yy"8962 case 720: 8963 8964 /* Line 1806 of yacc.c */ 8965 #line 2656 "parser.yy" 8937 8966 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8938 8967 break; 8939 8968 8940 case 7 19:8941 8942 /* Line 1806 of yacc.c */ 8943 #line 265 5"parser.yy"8969 case 721: 8970 8971 /* Line 1806 of yacc.c */ 8972 #line 2658 "parser.yy" 8944 8973 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8945 8974 break; 8946 8975 8947 case 72 0:8948 8949 /* Line 1806 of yacc.c */ 8950 #line 266 2"parser.yy"8976 case 722: 8977 8978 /* Line 1806 of yacc.c */ 8979 #line 2665 "parser.yy" 8951 8980 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8952 8981 break; 8953 8982 8954 case 72 1:8955 8956 /* Line 1806 of yacc.c */ 8957 #line 266 4"parser.yy"8983 case 723: 8984 8985 /* Line 1806 of yacc.c */ 8986 #line 2667 "parser.yy" 8958 8987 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8959 8988 break; 8960 8989 8961 case 72 2:8962 8963 /* Line 1806 of yacc.c */ 8964 #line 266 6"parser.yy"8990 case 724: 8991 8992 /* Line 1806 of yacc.c */ 8993 #line 2669 "parser.yy" 8965 8994 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8966 8995 break; 8967 8996 8968 case 72 3:8969 8970 /* Line 1806 of yacc.c */ 8971 #line 26 68"parser.yy"8997 case 725: 8998 8999 /* Line 1806 of yacc.c */ 9000 #line 2671 "parser.yy" 8972 9001 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8973 9002 break; 8974 9003 8975 case 72 4:8976 8977 /* Line 1806 of yacc.c */ 8978 #line 267 0"parser.yy"9004 case 726: 9005 9006 /* Line 1806 of yacc.c */ 9007 #line 2673 "parser.yy" 8979 9008 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8980 9009 break; 8981 9010 8982 case 72 5:8983 8984 /* Line 1806 of yacc.c */ 8985 #line 267 2"parser.yy"9011 case 727: 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2675 "parser.yy" 8986 9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8987 9016 break; 8988 9017 8989 case 72 6:8990 8991 /* Line 1806 of yacc.c */ 8992 #line 26 77"parser.yy"9018 case 728: 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2680 "parser.yy" 8993 9022 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8994 9023 break; 8995 9024 8996 case 72 7:8997 8998 /* Line 1806 of yacc.c */ 8999 #line 268 2"parser.yy"9025 case 729: 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2685 "parser.yy" 9000 9029 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); } 9001 9030 break; 9002 9031 9003 case 7 28:9004 9005 /* Line 1806 of yacc.c */ 9006 #line 268 4"parser.yy"9032 case 730: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2687 "parser.yy" 9007 9036 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9008 9037 break; 9009 9038 9010 case 7 29:9011 9012 /* Line 1806 of yacc.c */ 9013 #line 268 6"parser.yy"9039 case 731: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2689 "parser.yy" 9014 9043 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9015 9044 break; 9016 9045 9017 case 73 2:9018 9019 /* Line 1806 of yacc.c */ 9020 #line 271 2"parser.yy"9046 case 734: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2715 "parser.yy" 9021 9050 { (yyval.en) = 0; } 9022 9051 break; 9023 9052 9024 case 73 3:9025 9026 /* Line 1806 of yacc.c */ 9027 #line 271 4"parser.yy"9053 case 735: 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2717 "parser.yy" 9028 9057 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9029 9058 break; … … 9032 9061 9033 9062 /* Line 1806 of yacc.c */ 9034 #line 90 35"Parser/parser.cc"9063 #line 9064 "Parser/parser.cc" 9035 9064 default: break; 9036 9065 } … … 9263 9292 9264 9293 /* Line 2067 of yacc.c */ 9265 #line 27 17"parser.yy"9294 #line 2720 "parser.yy" 9266 9295 9267 9296 // ----end of grammar---- -
src/Parser/parser.h
rea9b9d3 rb5b0907 252 252 ExpressionNode *en; 253 253 DeclarationNode *decl; 254 DeclarationNode:: TyConaggKey;254 DeclarationNode::Aggregate aggKey; 255 255 DeclarationNode::TypeClass tclass; 256 256 StatementNode *sn; -
src/Parser/parser.yy
rea9b9d3 rb5b0907 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 10 20:31:54201513 // Update Count : 104 012 // Last Modified On : Sat Jun 13 07:21:45 2015 13 // Update Count : 1048 14 14 // 15 15 … … 111 111 ExpressionNode *en; 112 112 DeclarationNode *decl; 113 DeclarationNode:: TyConaggKey;113 DeclarationNode::Aggregate 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.1250 1249 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1251 1250 | FORTRAN // C99 1252 1251 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 1252 | NORETURN // C11 1253 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1254 | THREADLOCAL // C11 1255 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 1253 1256 ; 1254 1257 -
src/SymTab/Validate.cc
rea9b9d3 rb5b0907 10 10 // Created On : Sun May 17 21:50:04 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 17:19:35201513 // Update Count : 2 212 // Last Modified On : Sat Jun 13 08:06:13 2015 13 // Update Count : 26 14 14 // 15 15 … … 45 45 #include "SynTree/Type.h" 46 46 #include "SynTree/Statement.h" 47 #include "SynTree/TypeSubstitution.h" 47 48 #include "Indexer.h" 48 #include "SynTree/TypeSubstitution.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 ::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );508 ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::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 ::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );546 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 547 547 assignType->get_returnVals().push_back( returnVal ); 548 548 549 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );549 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::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 ::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );552 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::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 ::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );557 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::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 ::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );589 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 ); 590 590 assignType->get_returnVals().push_back( returnVal ); 591 591 592 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration ::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );592 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::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 ::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );595 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::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 ::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );600 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::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 ::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 );635 ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 ); 636 ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode::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 ::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );645 type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::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 ::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );648 FunctionDecl *func = new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false ); 649 649 declsToAdd.push_back( func ); 650 650 } -
src/SynTree/AggregateDecl.cc
rea9b9d3 rb5b0907 10 10 // Created On : Sun May 17 23:56:39 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 19 16:52:08201513 // Update Count : 512 // Last Modified On : Sat Jun 13 08:12:49 2015 13 // Update Count : 6 14 14 // 15 15 … … 19 19 20 20 21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration ::NoStorageClass, LinkageSpec::Cforall ) {21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, DeclarationNode::NoStorageClass, LinkageSpec::Cforall ) { 22 22 } 23 23 -
src/SynTree/Declaration.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:18:35201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:07:20 2015 13 // Update Count : 9 14 14 // 15 15 … … 22 22 #include "utility.h" 23 23 24 const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" };25 26 24 static UniqueId lastUniqueId = 0; 27 25 typedef std::map< UniqueId, Declaration* > IdMapType; 28 26 static IdMapType idMap; 29 27 30 Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )31 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {28 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ) 29 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) { 32 30 } 33 31 34 32 Declaration::Declaration( const Declaration &other ) 35 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {33 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) { 36 34 } 37 35 … … 44 42 } 45 43 46 /* static class method */47 44 Declaration *Declaration::declFromId( UniqueId id ) { 48 45 IdMapType::const_iterator i = idMap.find( id ); 49 if ( i != idMap.end() ) { 50 return i->second; 51 } else { 52 return 0; 53 } // if 46 return i != idMap.end() ? i->second : 0; 54 47 } 55 48 56 /* static class method */57 49 void Declaration::dumpIds( std::ostream &os ) { 58 50 for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) { -
src/SynTree/Declaration.h
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jun 7 22:03:43201513 // Update Count : 712 // Last Modified On : Fri Jun 12 23:55:26 2015 13 // Update Count : 24 14 14 // 15 15 … … 21 21 #include "Mutator.h" 22 22 #include "Parser/LinkageSpec.h" 23 #include "Parser/ParseNode.h" 23 24 24 25 class Declaration { 25 26 public: 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 ); 27 Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ); 37 28 Declaration( const Declaration &other ); 38 29 virtual ~Declaration(); … … 40 31 const std::string &get_name() const { return name; } 41 32 void set_name( std::string newValue ) { name = newValue; } 42 StorageClass get_storageClass() const { return storageClass; }43 void set_storageClass( StorageClass newValue ) { storageClass = newValue; }33 DeclarationNode::StorageClass get_storageClass() const { return storageClass; } 34 void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; } 44 35 LinkageSpec::Type get_linkage() const { return linkage; } 45 36 void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; } … … 53 44 virtual void printShort( std::ostream &os, int indent = 0 ) const = 0; 54 45 55 static const char* storageClassName[];56 57 46 static void dumpIds( std::ostream &os ); 58 47 static Declaration *declFromId( UniqueId id ); 59 48 private: 60 49 std::string name; 61 StorageClass storageClass;50 DeclarationNode::StorageClass storageClass; 62 51 LinkageSpec::Type linkage; 63 52 UniqueId uniqueId; … … 66 55 class DeclarationWithType : public Declaration { 67 56 public: 68 DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );57 DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ); 69 58 DeclarationWithType( const DeclarationWithType &other ); 70 59 virtual ~DeclarationWithType(); … … 86 75 typedef DeclarationWithType Parent; 87 76 public: 88 ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );77 ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init ); 89 78 ObjectDecl( const ObjectDecl &other ); 90 79 virtual ~ObjectDecl(); … … 112 101 typedef DeclarationWithType Parent; 113 102 public: 114 FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );103 FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline ); 115 104 FunctionDecl( const FunctionDecl &other ); 116 105 virtual ~FunctionDecl(); … … 144 133 typedef Declaration Parent; 145 134 public: 146 NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );135 NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ); 147 136 NamedTypeDecl( const TypeDecl &other ); 148 137 virtual ~NamedTypeDecl(); … … 169 158 enum Kind { Any, Dtype, Ftype }; 170 159 171 TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );160 TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ); 172 161 TypeDecl( const TypeDecl &other ); 173 162 … … 185 174 typedef NamedTypeDecl Parent; 186 175 public: 187 TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}176 TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {} 188 177 TypedefDecl( const TypedefDecl &other ) : Parent( other ) {} 189 178 -
src/SynTree/DeclarationWithType.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 08:20:23201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:08:07 2015 13 // Update Count : 3 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )20 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage ) 21 21 : Declaration( name, sc, linkage ) { 22 22 } -
src/SynTree/FunctionDecl.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S un Jun 7 08:36:44201513 // Update Count : 1 212 // Last Modified On : Sat Jun 13 08:12:20 2015 13 // Update Count : 14 14 14 // 15 15 … … 21 21 #include "utility.h" 22 22 23 FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline )23 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::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() != NoStorageClass ) {63 os << storageClassName[ get_storageClass() ] << ' ';62 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 63 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 64 64 } // if 65 65 if ( get_type() ) { … … 96 96 os << "inline "; 97 97 } // if 98 if ( get_storageClass() != NoStorageClass ) {99 os << storageClassName[ get_storageClass() ] << ' ';98 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 99 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 100 100 } // if 101 101 if ( get_type() ) { -
src/SynTree/NamedTypeDecl.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S un Jun 7 08:36:09201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:13:55 2015 13 // Update Count : 3 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base )20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::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() != NoStorageClass ) {42 os << storageClassName[ get_storageClass() ] << ' ';41 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 42 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 43 43 } // if 44 44 os << typeString(); … … 63 63 os << get_name() << ": "; 64 64 } // if 65 if ( get_storageClass() != NoStorageClass ) {66 os << storageClassName[ get_storageClass() ] << ' ';65 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 66 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 67 67 } // if 68 68 os << typeString(); -
src/SynTree/ObjectDecl.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 4 21:21:12201513 // Update Count : 1 012 // Last Modified On : Sat Jun 13 08:10:16 2015 13 // Update Count : 15 14 14 // 15 15 … … 20 20 #include "utility.h" 21 21 22 ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )22 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::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() != NoStorageClass ) {46 os << storageClassName[ get_storageClass() ] << ' ';45 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 46 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 47 47 } // if 48 48 … … 74 74 } // if 75 75 76 if ( get_storageClass() != NoStorageClass ) {77 os << storageClassName[ get_storageClass() ] << ' ';76 if ( get_storageClass() != DeclarationNode::NoStorageClass ) { 77 os << DeclarationNode::storageName[ get_storageClass() ] << ' '; 78 78 } // if 79 79 -
src/SynTree/TypeDecl.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:02:11201513 // Update Count : 112 // Last Modified On : Sat Jun 13 08:14:35 2015 13 // Update Count : 2 14 14 // 15 15 … … 18 18 #include "utility.h" 19 19 20 TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) { 21 21 } 22 22 -
src/Tests/Attributes.c
rea9b9d3 rb5b0907 1 // I Compile-time resolution 2 // ========================= 3 // 4 // 1. an isolated name, where the argument is implicitly determined by the result context 5 // 6 // @max 7 // 8 // 2. a direct application to a manifest type 9 // 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 resolution 18 // ====================== 19 // 20 // 1. an indirect reference, where the argument is implicitly determined by the result context 21 // 22 // attr_var = &@max; 23 // x = (*attr_var); 24 // 25 // 2. an indirect application to a manifest type 26 // 27 // (*attr_var)( int ) 28 // 29 // 3. a direct application to a type variable 30 // 31 // @max( T ) 32 // 33 // Under what circumstances can this be done at compile/link time? 34 // 35 // 36 // III Declaration forms 37 // ===================== 38 // 39 // 1. monomorphic with implicit argument 40 // 41 // int @max; 42 // 43 // 2. monomorphic with explicit argument 44 // 45 // int @max( int ); 46 // 47 // 3. polymorphic 48 // 49 // forall( type T | constraint( T ) ) int @attr( T ); 50 1 51 int @max = 3; 2 52 3 53 int main() { 4 54 int x; 5 type @type(type t); // compiler intrinsic55 type @type(type t); // compiler intrinsic 6 56 type @widest(type t); 7 @type(x) *y; // gcc: typeof(x) *y;8 const @widest(double) *w; // gcc: const typeof(x) *w;9 * @type(3 + 4) z; // cfa declaration syntax57 @type(x) *y; // gcc: typeof(x) *y; 58 const @widest(double) *w; // gcc: const typeof(x) *w; 59 * @type(3 + 4) z; // cfa declaration syntax 10 60 y = @max; 11 61 z = @max(x) + @size(int); -
src/Tests/Expect-a/AsmName.txt
rea9b9d3 rb5b0907 1 x: autosigned int1 x: extern signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-a/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-a/Context.txt
rea9b9d3 rb5b0907 52 52 53 53 54 Declaration of x: autotype55 Declaration of y: autotype54 Declaration of x: extern type 55 Declaration of y: extern type 56 56 with assertions 57 57 instance of context has_r -
src/Tests/Expect-a/Functions.txt
rea9b9d3 rb5b0907 173 173 CompoundStmt 174 174 175 fII3: autofunction176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: autofunction175 fII3: extern function 176 with parameters 177 i: signed int 178 returning 179 signed int 180 with body 181 CompoundStmt 182 183 fII4: extern function 184 184 with parameters 185 185 i: signed int … … 257 257 CompoundStmt 258 258 259 fO4: autofunction259 fO4: extern function 260 260 accepting unspecified arguments 261 261 returning … … 268 268 CompoundStmt 269 269 270 fO5: autofunction270 fO5: extern function 271 271 accepting unspecified arguments 272 272 returning -
src/Tests/Expect-a/TypeGenerator.txt
rea9b9d3 rb5b0907 65 65 signed int 66 66 67 struct S168 with parameters69 T: type70 71 struct S172 with parameters73 T: type74 75 with members76 i: instance of type T (not function type)77 78 v1: instance of struct S179 with parameters80 signed int81 82 p: pointer to instance of struct S183 with parameters84 signed int85 86 67 struct S2 87 68 with parameters … … 91 72 i: instance of type T (not function type) 92 73 93 v2: instance of struct S2 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 94 90 with parameters 95 91 signed int -
src/Tests/Expect-e/AsmName.txt
rea9b9d3 rb5b0907 1 x: autosigned int1 x: extern signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-e/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-e/Context.txt
rea9b9d3 rb5b0907 54 54 55 55 56 Declaration of x: autotype56 Declaration of x: extern 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: autotype64 Declaration of y: extern type 65 65 with assertions 66 66 instance of context has_r -
src/Tests/Expect-e/Function.txt
rea9b9d3 rb5b0907 245 245 246 246 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.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. 248 248 Aborted (core dumped) -
src/Tests/Expect-e/TypeGenerator.txt
rea9b9d3 rb5b0907 53 53 Name: *? 54 54 ...to: 55 Variable Expression: _dst: pointer to instance of struct S 155 Variable Expression: _dst: pointer to instance of struct S2 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 159 Variable Expression: _src: instance of struct S2 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 71 Variable Expression: _dst: pointer to instance of struct S24 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 75 Variable Expression: _src: instance of struct S24 76 76 77 77 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-f/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-f/TypeGenerator.txt
rea9b9d3 rb5b0907 47 47 Name: *? 48 48 ...to: 49 Variable Expression: _dst: pointer to instance of struct S 149 Variable Expression: _dst: pointer to instance of struct S2 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 153 Variable Expression: _src: instance of struct S2 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 65 Variable Expression: _dst: pointer to instance of struct S24 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 69 Variable Expression: _src: instance of struct S24 70 70 71 71 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-r/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-r/Function.txt
rea9b9d3 rb5b0907 4954 4954 there are 1 alternatives before elimination 4955 4955 there are 1 alternatives after elimination 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.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. 4957 4957 Aborted (core dumped) -
src/Tests/Expect-r/TypeGenerator.txt
rea9b9d3 rb5b0907 610 610 decl is ?=?: automatically generated inline static function 611 611 with parameters 612 _dst: pointer to instance of struct S 1613 _src: instance of struct S 1612 _dst: pointer to instance of struct S2 613 _src: instance of struct S2 614 614 returning 615 instance of struct S 1615 instance of struct S2 616 616 with body 617 617 CompoundStmt … … 627 627 Name: *? 628 628 ...to: 629 Variable Expression: _dst: pointer to instance of struct S 1629 Variable Expression: _dst: pointer to instance of struct S2 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 1634 635 Return Statement, returning: Variable Expression: _src: instance of struct S 1633 Variable Expression: _src: instance of struct S2 634 635 Return Statement, returning: Variable Expression: _src: instance of struct S2 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 1642 _src: instance of struct S 1643 returning 644 instance of struct S 1641 _dst: pointer to instance of struct S2 642 _src: instance of struct S2 643 returning 644 instance of struct S2 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 S 1701 _src: instance of struct S 1702 returning 703 instance of struct S 1700 _dst: pointer to instance of struct S2 701 _src: instance of struct S2 702 returning 703 instance of struct S2 704 704 705 705 (types: 706 706 pointer to function 707 707 with parameters 708 _dst: pointer to instance of struct S 1709 _src: instance of struct S 1708 _dst: pointer to instance of struct S2 709 _src: instance of struct S2 710 710 returning 711 instance of struct S 1711 instance of struct S2 712 712 713 713 ) … … 741 741 Name: *? 742 742 ...to: 743 Variable Expression: _dst: pointer to instance of struct S 1743 Variable Expression: _dst: pointer to instance of struct S2 744 744 (types: 745 745 lvalue instance of type T (not function type) … … 757 757 Name: *? 758 758 ...to: 759 Variable Expression: _dst: pointer to instance of struct S 1759 Variable Expression: _dst: pointer to instance of struct S2 760 760 (types: 761 761 pointer to instance of type T (not function type) … … 773 773 Name: *? 774 774 ...to: 775 Variable Expression: _dst: pointer to instance of struct S 1775 Variable Expression: _dst: pointer to instance of struct S2 776 776 (types: 777 777 pointer to instance of type T (not function type) … … 783 783 i: instance of type T (not function type) 784 784 from aggregate: 785 Variable Expression: _src: instance of struct S 1785 Variable Expression: _src: instance of struct S2 786 786 (types: 787 787 lvalue instance of type T (not function type) … … 795 795 i: instance of type T (not function type) 796 796 from aggregate: 797 Variable Expression: _src: instance of struct S 1797 Variable Expression: _src: instance of struct S2 798 798 (types: 799 799 lvalue instance of type T (not function type) … … 824 824 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 825 825 with parameters 826 _dst: pointer to instance of struct S 1827 _src: instance of struct S 1826 _dst: pointer to instance of struct S2 827 _src: instance of struct S2 828 828 returning 829 instance of struct S 1829 instance of struct S2 830 830 831 831 (types: 832 832 pointer to function 833 833 with parameters 834 _dst: pointer to instance of struct S 1835 _src: instance of struct S 1834 _dst: pointer to instance of struct S2 835 _src: instance of struct S2 836 836 returning 837 instance of struct S 1837 instance of struct S2 838 838 839 839 ) 840 840 Environment: 841 formal type is pointer to instance of struct S 1841 formal type is pointer to instance of struct S2 842 842 actual type is pointer to instance of type T (not function type) 843 843 working on alternative: … … 862 862 actual type is pointer to instance of type T (not function type) 863 863 alternatives before prune: 864 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S 1865 (types: 866 lvalue instance of struct S 1864 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2 865 (types: 866 lvalue instance of struct S2 867 867 ) 868 868 Environment: … … 872 872 alternatives before prune: 873 873 Cost ( 0, 0, 0 ): Cast of: 874 Variable Expression: _src: instance of struct S 1874 Variable Expression: _src: instance of struct S2 875 875 876 876 to: 877 instance of struct S 1878 (types: 879 instance of struct S 1877 instance of struct S2 878 (types: 879 instance of struct S2 880 880 ) 881 881 Environment: … … 953 953 decl is ?=?: automatically generated inline static function 954 954 with parameters 955 _dst: pointer to instance of struct S1956 _src: instance of struct S1957 returning958 instance of struct S1959 with body960 CompoundStmt961 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 S1973 Member Expression, with field:974 i: instance of type T (not function type)975 from aggregate:976 Variable Expression: _src: instance of struct S1977 978 Return Statement, returning: Cast of:979 Variable Expression: _src: instance of struct S1980 981 to:982 instance of struct S1983 with environment:984 Types:985 Non-types:986 987 988 989 newExpr is Variable Expression: ?=?: inline static function990 with parameters991 _dst: pointer to instance of struct S1992 _src: instance of struct S1993 returning994 instance of struct S1995 996 997 decl is ?=?: automatically generated inline static function998 with parameters999 955 _dst: pointer to instance of struct S2 1000 956 _src: instance of struct S2 … … 1020 976 Variable Expression: _src: instance of struct S2 1021 977 1022 Return Statement, returning: Variable Expression: _src: instance of struct S2 978 Return Statement, returning: Cast of: 979 Variable Expression: _src: instance of struct S2 980 981 to: 982 instance of struct S2 983 with environment: 984 Types: 985 Non-types: 1023 986 1024 987 … … 1030 993 returning 1031 994 instance of struct S2 995 996 997 decl is ?=?: automatically generated inline static function 998 with parameters 999 _dst: pointer to instance of struct S24 1000 _src: instance of struct S24 1001 returning 1002 instance of struct S24 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 S24 1017 Member Expression, with field: 1018 i: instance of type T (not function type) 1019 from aggregate: 1020 Variable Expression: _src: instance of struct S24 1021 1022 Return Statement, returning: Variable Expression: _src: instance of struct S24 1023 1024 1025 1026 newExpr is Variable Expression: ?=?: inline static function 1027 with parameters 1028 _dst: pointer to instance of struct S24 1029 _src: instance of struct S24 1030 returning 1031 instance of struct S24 1032 1032 1033 1033 … … 1085 1085 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1086 1086 with parameters 1087 _dst: pointer to instance of struct S11088 _src: instance of struct S11089 returning1090 instance of struct S11091 1092 (types:1093 pointer to function1094 with parameters1095 _dst: pointer to instance of struct S11096 _src: instance of struct S11097 returning1098 instance of struct S11099 1100 )1101 Environment:1102 1103 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function1104 with parameters1105 1087 _dst: pointer to instance of struct S2 1106 1088 _src: instance of struct S2 … … 1115 1097 returning 1116 1098 instance of struct S2 1099 1100 ) 1101 Environment: 1102 1103 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1104 with parameters 1105 _dst: pointer to instance of struct S24 1106 _src: instance of struct S24 1107 returning 1108 instance of struct S24 1109 1110 (types: 1111 pointer to function 1112 with parameters 1113 _dst: pointer to instance of struct S24 1114 _src: instance of struct S24 1115 returning 1116 instance of struct S24 1117 1117 1118 1118 ) … … 1146 1146 Name: *? 1147 1147 ...to: 1148 Variable Expression: _dst: pointer to instance of struct S2 1148 Variable Expression: _dst: pointer to instance of struct S24 1149 1149 (types: 1150 1150 lvalue instance of type T (not function type) … … 1162 1162 Name: *? 1163 1163 ...to: 1164 Variable Expression: _dst: pointer to instance of struct S2 1164 Variable Expression: _dst: pointer to instance of struct S24 1165 1165 (types: 1166 1166 pointer to instance of type T (not function type) … … 1178 1178 Name: *? 1179 1179 ...to: 1180 Variable Expression: _dst: pointer to instance of struct S2 1180 Variable Expression: _dst: pointer to instance of struct S24 1181 1181 (types: 1182 1182 pointer to instance of type T (not function type) … … 1188 1188 i: instance of type T (not function type) 1189 1189 from aggregate: 1190 Variable Expression: _src: instance of struct S2 1190 Variable Expression: _src: instance of struct S24 1191 1191 (types: 1192 1192 lvalue instance of type T (not function type) … … 1200 1200 i: instance of type T (not function type) 1201 1201 from aggregate: 1202 Variable Expression: _src: instance of struct S2 1202 Variable Expression: _src: instance of struct S24 1203 1203 (types: 1204 1204 lvalue instance of type T (not function type) … … 1225 1225 Environment: 1226 1226 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 function 1230 with parameters 1231 _dst: pointer to instance of struct S24 1232 _src: instance of struct S24 1233 returning 1234 instance of struct S24 1235 1236 (types: 1237 pointer to function 1238 with parameters 1239 _dst: pointer to instance of struct S24 1240 _src: instance of struct S24 1241 returning 1242 instance of struct S24 1243 1244 ) 1245 Environment: 1246 formal type is pointer to instance of struct S24 1227 1247 actual type is pointer to instance of type T (not function type) 1228 1248 working on alternative: … … 1249 1269 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1250 1270 with parameters 1251 _dst: pointer to instance of struct S11252 _src: instance of struct S11253 returning1254 instance of struct S11255 1256 (types:1257 pointer to function1258 with parameters1259 _dst: pointer to instance of struct S11260 _src: instance of struct S11261 returning1262 instance of struct S11263 1264 )1265 Environment:1266 formal type is pointer to instance of struct S11267 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 function1270 with parameters1271 1271 _dst: pointer to instance of struct __anonymous0 1272 1272 _src: instance of struct __anonymous0 … … 1287 1287 actual type is pointer to instance of type T (not function type) 1288 1288 alternatives before prune: 1289 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2 1290 (types: 1291 lvalue instance of struct S2 1289 Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S24 1290 (types: 1291 lvalue instance of struct S24 1292 1292 ) 1293 1293 Environment: … … 1297 1297 alternatives before prune: 1298 1298 Cost ( 0, 0, 0 ): Cast of: 1299 Variable Expression: _src: instance of struct S2 1299 Variable Expression: _src: instance of struct S24 1300 1300 1301 1301 to: 1302 instance of struct S2 1303 (types: 1304 instance of struct S2 1302 instance of struct S24 1303 (types: 1304 instance of struct S24 1305 1305 ) 1306 1306 Environment: … … 1415 1415 decl is ?=?: automatically generated inline static function 1416 1416 with parameters 1417 _dst: pointer to instance of struct S11418 _src: instance of struct S11419 returning1420 instance of struct S11421 with body1422 CompoundStmt1423 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 S11435 Member Expression, with field:1436 i: instance of type T (not function type)1437 from aggregate:1438 Variable Expression: _src: instance of struct S11439 1440 Return Statement, returning: Cast of:1441 Variable Expression: _src: instance of struct S11442 1443 to:1444 instance of struct S11445 with environment:1446 Types:1447 Non-types:1448 1449 1450 1451 newExpr is Variable Expression: ?=?: inline static function1452 with parameters1453 _dst: pointer to instance of struct S11454 _src: instance of struct S11455 returning1456 instance of struct S11457 1458 1459 decl is ?=?: automatically generated inline static function1460 with parameters1461 1417 _dst: pointer to instance of struct S2 1462 1418 _src: instance of struct S2 … … 1499 1455 returning 1500 1456 instance of struct S2 1457 1458 1459 decl is ?=?: automatically generated inline static function 1460 with parameters 1461 _dst: pointer to instance of struct S24 1462 _src: instance of struct S24 1463 returning 1464 instance of struct S24 1465 with body 1466 CompoundStmt 1467 Expression Statement: 1468 Applying untyped: 1469 Name: ?=? 1470 ...to: 1471 Address of: 1472 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: 1492 1493 1494 1495 newExpr is Variable Expression: ?=?: inline static function 1496 with parameters 1497 _dst: pointer to instance of struct S24 1498 _src: instance of struct S24 1499 returning 1500 instance of struct S24 1501 1501 1502 1502 … … 1572 1572 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1573 1573 with parameters 1574 _dst: pointer to instance of struct S11575 _src: instance of struct S11576 returning1577 instance of struct S11578 1579 (types:1580 pointer to function1581 with parameters1582 _dst: pointer to instance of struct S11583 _src: instance of struct S11584 returning1585 instance of struct S11586 1587 )1588 Environment:1589 1590 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function1591 with parameters1592 1574 _dst: pointer to instance of struct S2 1593 1575 _src: instance of struct S2 … … 1602 1584 returning 1603 1585 instance of struct S2 1586 1587 ) 1588 Environment: 1589 1590 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1591 with parameters 1592 _dst: pointer to instance of struct S24 1593 _src: instance of struct S24 1594 returning 1595 instance of struct S24 1596 1597 (types: 1598 pointer to function 1599 with parameters 1600 _dst: pointer to instance of struct S24 1601 _src: instance of struct S24 1602 returning 1603 instance of struct S24 1604 1604 1605 1605 ) … … 1716 1716 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1717 1717 with parameters 1718 _dst: pointer to instance of struct S24 1719 _src: instance of struct S24 1720 returning 1721 instance of struct S24 1722 1723 (types: 1724 pointer to function 1725 with parameters 1726 _dst: pointer to instance of struct S24 1727 _src: instance of struct S24 1728 returning 1729 instance of struct S24 1730 1731 ) 1732 Environment: 1733 formal type is pointer to instance of struct S24 1734 actual type is pointer to instance of type T (not function type) 1735 working on alternative: 1736 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 1737 with parameters 1718 1738 _dst: pointer to instance of struct S2 1719 1739 _src: instance of struct S2 … … 1732 1752 Environment: 1733 1753 formal type is pointer to instance of struct S2 1734 actual type is pointer to instance of type T (not function type)1735 working on alternative:1736 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function1737 with parameters1738 _dst: pointer to instance of struct S11739 _src: instance of struct S11740 returning1741 instance of struct S11742 1743 (types:1744 pointer to function1745 with parameters1746 _dst: pointer to instance of struct S11747 _src: instance of struct S11748 returning1749 instance of struct S11750 1751 )1752 Environment:1753 formal type is pointer to instance of struct S11754 1754 actual type is pointer to instance of type T (not function type) 1755 1755 working on alternative: … … 1929 1929 decl is ?=?: automatically generated inline static function 1930 1930 with parameters 1931 _dst: pointer to instance of struct S11932 _src: instance of struct S11933 returning1934 instance of struct S11935 with body1936 CompoundStmt1937 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 S11949 Member Expression, with field:1950 i: instance of type T (not function type)1951 from aggregate:1952 Variable Expression: _src: instance of struct S11953 1954 Return Statement, returning: Cast of:1955 Variable Expression: _src: instance of struct S11956 1957 to:1958 instance of struct S11959 with environment:1960 Types:1961 Non-types:1962 1963 1964 1965 newExpr is Variable Expression: ?=?: inline static function1966 with parameters1967 _dst: pointer to instance of struct S11968 _src: instance of struct S11969 returning1970 instance of struct S11971 1972 1973 decl is ?=?: automatically generated inline static function1974 with parameters1975 1931 _dst: pointer to instance of struct S2 1976 1932 _src: instance of struct S2 … … 2013 1969 returning 2014 1970 instance of struct S2 1971 1972 1973 decl is ?=?: automatically generated inline static function 1974 with parameters 1975 _dst: pointer to instance of struct S24 1976 _src: instance of struct S24 1977 returning 1978 instance of struct S24 1979 with body 1980 CompoundStmt 1981 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 S24 1993 Member Expression, with field: 1994 i: instance of type T (not function type) 1995 from aggregate: 1996 Variable Expression: _src: instance of struct S24 1997 1998 Return Statement, returning: Cast of: 1999 Variable Expression: _src: instance of struct S24 2000 2001 to: 2002 instance of struct S24 2003 with environment: 2004 Types: 2005 Non-types: 2006 2007 2008 2009 newExpr is Variable Expression: ?=?: inline static function 2010 with parameters 2011 _dst: pointer to instance of struct S24 2012 _src: instance of struct S24 2013 returning 2014 instance of struct S24 2015 2015 2016 2016 … … 2146 2146 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2147 2147 with parameters 2148 _dst: pointer to instance of struct S12149 _src: instance of struct S12150 returning2151 instance of struct S12152 2153 (types:2154 pointer to function2155 with parameters2156 _dst: pointer to instance of struct S12157 _src: instance of struct S12158 returning2159 instance of struct S12160 2161 )2162 Environment:2163 2164 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2165 with parameters2166 2148 _dst: pointer to instance of struct S2 2167 2149 _src: instance of struct S2 … … 2176 2158 returning 2177 2159 instance of struct S2 2160 2161 ) 2162 Environment: 2163 2164 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2165 with parameters 2166 _dst: pointer to instance of struct S24 2167 _src: instance of struct S24 2168 returning 2169 instance of struct S24 2170 2171 (types: 2172 pointer to function 2173 with parameters 2174 _dst: pointer to instance of struct S24 2175 _src: instance of struct S24 2176 returning 2177 instance of struct S24 2178 2178 2179 2179 ) … … 2328 2328 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2329 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) 2347 working on alternative: 2348 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2349 with parameters 2330 2350 _dst: pointer to instance of struct S2 2331 2351 _src: instance of struct S2 … … 2344 2364 Environment: 2345 2365 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 function2349 with parameters2350 _dst: pointer to instance of struct S12351 _src: instance of struct S12352 returning2353 instance of struct S12354 2355 (types:2356 pointer to function2357 with parameters2358 _dst: pointer to instance of struct S12359 _src: instance of struct S12360 returning2361 instance of struct S12362 2363 )2364 Environment:2365 formal type is pointer to instance of struct S12366 2366 actual type is pointer to instance of type T (not function type) 2367 2367 working on alternative: … … 2519 2519 decl is ?=?: automatically generated inline static function 2520 2520 with parameters 2521 _dst: pointer to instance of struct S12522 _src: instance of struct S12523 returning2524 instance of struct S12525 with body2526 CompoundStmt2527 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 S12539 Member Expression, with field:2540 i: instance of type T (not function type)2541 from aggregate:2542 Variable Expression: _src: instance of struct S12543 2544 Return Statement, returning: Cast of:2545 Variable Expression: _src: instance of struct S12546 2547 to:2548 instance of struct S12549 with environment:2550 Types:2551 Non-types:2552 2553 2554 2555 newExpr is Variable Expression: ?=?: inline static function2556 with parameters2557 _dst: pointer to instance of struct S12558 _src: instance of struct S12559 returning2560 instance of struct S12561 2562 2563 decl is ?=?: automatically generated inline static function2564 with parameters2565 2521 _dst: pointer to instance of struct S2 2566 2522 _src: instance of struct S2 … … 2603 2559 returning 2604 2560 instance of struct S2 2561 2562 2563 decl is ?=?: automatically generated inline static function 2564 with parameters 2565 _dst: pointer to instance of struct S24 2566 _src: instance of struct S24 2567 returning 2568 instance of struct S24 2569 with body 2570 CompoundStmt 2571 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 S24 2583 Member Expression, with field: 2584 i: instance of type T (not function type) 2585 from aggregate: 2586 Variable Expression: _src: instance of struct S24 2587 2588 Return Statement, returning: Cast of: 2589 Variable Expression: _src: instance of struct S24 2590 2591 to: 2592 instance of struct S24 2593 with environment: 2594 Types: 2595 Non-types: 2596 2597 2598 2599 newExpr is Variable Expression: ?=?: inline static function 2600 with parameters 2601 _dst: pointer to instance of struct S24 2602 _src: instance of struct S24 2603 returning 2604 instance of struct S24 2605 2605 2606 2606 … … 2736 2736 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2737 2737 with parameters 2738 _dst: pointer to instance of struct S12739 _src: instance of struct S12740 returning2741 instance of struct S12742 2743 (types:2744 pointer to function2745 with parameters2746 _dst: pointer to instance of struct S12747 _src: instance of struct S12748 returning2749 instance of struct S12750 2751 )2752 Environment:2753 2754 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function2755 with parameters2756 2738 _dst: pointer to instance of struct S2 2757 2739 _src: instance of struct S2 … … 2766 2748 returning 2767 2749 instance of struct S2 2750 2751 ) 2752 Environment: 2753 2754 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2755 with parameters 2756 _dst: pointer to instance of struct S24 2757 _src: instance of struct S24 2758 returning 2759 instance of struct S24 2760 2761 (types: 2762 pointer to function 2763 with parameters 2764 _dst: pointer to instance of struct S24 2765 _src: instance of struct S24 2766 returning 2767 instance of struct S24 2768 2768 2769 2769 ) … … 2954 2954 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 2955 2955 with parameters 2956 _dst: pointer to instance of struct S24 2957 _src: instance of struct S24 2958 returning 2959 instance of struct S24 2960 2961 (types: 2962 pointer to function 2963 with parameters 2964 _dst: pointer to instance of struct S24 2965 _src: instance of struct S24 2966 returning 2967 instance of struct S24 2968 2969 ) 2970 Environment: 2971 formal type is pointer to instance of struct S24 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 2956 2979 _dst: pointer to instance of struct S2 2957 2980 _src: instance of struct S2 … … 2970 2993 Environment: 2971 2994 formal type is pointer to instance of struct S2 2972 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 S12980 _src: instance of struct S12981 returning2982 instance of struct S12983 2984 (types:2985 pointer to function2986 with parameters2987 _dst: pointer to instance of struct S12988 _src: instance of struct S12989 returning2990 instance of struct S12991 2992 )2993 Environment:2994 formal type is pointer to instance of struct S12995 2995 actual type is pointer to pointer to instance of struct node 2996 2996 with parameters … … 3179 3179 decl is ?=?: automatically generated inline static function 3180 3180 with parameters 3181 _dst: pointer to instance of struct S13182 _src: instance of struct S13183 returning3184 instance of struct S13185 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 S13199 Member Expression, with field:3200 i: instance of type T (not function type)3201 from aggregate:3202 Variable Expression: _src: instance of struct S13203 3204 Return Statement, returning: Cast of:3205 Variable Expression: _src: instance of struct S13206 3207 to:3208 instance of struct S13209 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 S13218 _src: instance of struct S13219 returning3220 instance of struct S13221 3222 3223 decl is ?=?: automatically generated inline static function3224 with parameters3225 3181 _dst: pointer to instance of struct S2 3226 3182 _src: instance of struct S2 … … 3263 3219 returning 3264 3220 instance of struct S2 3221 3222 3223 decl is ?=?: automatically generated inline static function 3224 with parameters 3225 _dst: pointer to instance of struct S24 3226 _src: instance of struct S24 3227 returning 3228 instance of struct S24 3229 with body 3230 CompoundStmt 3231 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 S24 3243 Member Expression, with field: 3244 i: instance of type T (not function type) 3245 from aggregate: 3246 Variable Expression: _src: instance of struct S24 3247 3248 Return Statement, returning: Cast of: 3249 Variable Expression: _src: instance of struct S24 3250 3251 to: 3252 instance of struct S24 3253 with environment: 3254 Types: 3255 Non-types: 3256 3257 3258 3259 newExpr is Variable Expression: ?=?: inline static function 3260 with parameters 3261 _dst: pointer to instance of struct S24 3262 _src: instance of struct S24 3263 returning 3264 instance of struct S24 3265 3265 3266 3266 … … 3441 3441 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 3442 3442 with parameters 3443 _dst: pointer to instance of struct S13444 _src: instance of struct S13445 returning3446 instance of struct S13447 3448 (types:3449 pointer to function3450 with parameters3451 _dst: pointer to instance of struct S13452 _src: instance of struct S13453 returning3454 instance of struct S13455 3456 )3457 Environment:3458 3459 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function3460 with parameters3461 3443 _dst: pointer to instance of struct S2 3462 3444 _src: instance of struct S2 … … 3471 3453 returning 3472 3454 instance of struct S2 3455 3456 ) 3457 Environment: 3458 3459 Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function 3460 with parameters 3461 _dst: pointer to instance of struct S24 3462 _src: instance of struct S24 3463 returning 3464 instance of struct S24 3465 3466 (types: 3467 pointer to function 3468 with parameters 3469 _dst: pointer to instance of struct S24 3470 _src: instance of struct S24 3471 returning 3472 instance of struct S24 3473 3473 3474 3474 ) … … 3619 3619 Name: *? 3620 3620 ...to: 3621 Variable Expression: _dst: pointer to instance of struct S 13621 Variable Expression: _dst: pointer to instance of struct S2 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 13625 Variable Expression: _src: instance of struct S2 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 3637 Variable Expression: _dst: pointer to instance of struct S24 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 3641 Variable Expression: _src: instance of struct S24 3642 3642 3643 3643 Error: No reasonable alternatives for expression Applying untyped: -
src/Tests/Expect-s/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-s/TypeGenerator.txt
rea9b9d3 rb5b0907 4 4 Adding type T 5 5 Adding function ?+? 6 --- Entering scope 7 --- Leaving scope containing 8 Adding function ?=? 6 9 --- Entering scope 7 10 --- Leaving scope containing … … 33 36 Adding object p 34 37 --- Leaving scope containing 35 Adding fwd decl for struct S136 --- Entering scope37 --- Entering scope38 --- Leaving scope containing39 Adding type T40 --- Leaving scope containing41 T42 Adding struct S143 Adding fwd decl for struct S144 --- Entering scope45 --- Entering scope46 --- Leaving scope containing47 Adding type T48 Adding object i49 --- Leaving scope containing50 T51 Adding struct S152 --- Entering scope53 --- Leaving scope containing54 Adding object v155 --- Entering scope56 --- Leaving scope containing57 Adding object p58 38 Adding fwd decl for struct S2 59 39 --- Entering scope … … 65 45 T 66 46 Adding struct S2 47 Adding struct S3 from implicit forward declaration 48 --- Entering scope 49 --- Leaving scope containing 50 Adding object v1 51 --- Entering scope 52 --- Leaving scope containing 53 Adding object p 54 Adding fwd decl for struct S24 55 --- Entering scope 56 --- Entering scope 57 --- Leaving scope containing 58 Adding type T 59 Adding object i 60 --- Leaving scope containing 61 T 62 Adding struct S24 67 63 --- Entering scope 68 64 --- Leaving scope containing -
src/Tests/Expect-v/AsmName.txt
rea9b9d3 rb5b0907 1 x: autosigned int1 x: extern signed int 2 2 fred: function 3 3 with parameters -
src/Tests/Expect-v/Attributes.txt
rea9b9d3 rb5b0907 1 Error at line 8 reading token "*"1 Error at line 58 reading token "*" -
src/Tests/Expect-v/Context.txt
rea9b9d3 rb5b0907 54 54 55 55 56 Declaration of x: autotype56 Declaration of x: extern 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: autotype64 Declaration of y: extern type 65 65 with assertions 66 66 instance of context has_r -
src/Tests/Expect-v/Functions.txt
rea9b9d3 rb5b0907 165 165 CompoundStmt 166 166 167 fII3: autofunction168 with parameters 169 i: signed int 170 returning 171 signed int 172 with body 173 CompoundStmt 174 175 fII4: autofunction167 fII3: extern function 168 with parameters 169 i: signed int 170 returning 171 signed int 172 with body 173 CompoundStmt 174 175 fII4: extern function 176 176 with parameters 177 177 i: signed int … … 249 249 CompoundStmt 250 250 251 fO4: autofunction251 fO4: extern function 252 252 accepting unspecified arguments 253 253 returning … … 260 260 CompoundStmt 261 261 262 fO5: autofunction262 fO5: extern function 263 263 accepting unspecified arguments 264 264 returning -
src/Tests/Expect-v/TypeGenerator.txt
rea9b9d3 rb5b0907 140 140 signed int 141 141 142 struct S1143 with parameters144 T: type145 146 struct S1147 with parameters148 T: type149 150 with members151 i: instance of type T (not function type)152 153 ?=?: automatically generated inline static function154 with parameters155 _dst: pointer to instance of struct S1156 _src: instance of struct S1157 returning158 instance of struct S1159 with body160 CompoundStmt161 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 S1173 Member Expression, with field:174 i: instance of type T (not function type)175 from aggregate:176 Variable Expression: _src: instance of struct S1177 178 Return Statement, returning: Variable Expression: _src: instance of struct S1179 180 181 182 v1: instance of struct S1183 with parameters184 signed int185 186 p: pointer to instance of struct S1187 with parameters188 signed int189 190 142 struct S2 191 143 with parameters … … 224 176 225 177 226 v2: instance of struct S2 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 227 223 with parameters 228 224 signed int -
src/Tests/TypeGenerator.c
rea9b9d3 rb5b0907 11 11 [int] h( * List1( int ) p ); // new declaration syntax 12 12 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 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 17 16 struct( type T )( int ) { T i; } v2; // anonymous actual definition, expansion and instantiation 18 17 -
src/Tuples/AssignExpand.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:24:47201513 // Update Count : 212 // Last Modified On : Sat Jun 13 08:16:39 2015 13 // Update Count : 4 14 14 // 15 15 … … 23 23 #include "AssignExpand.h" 24 24 25 #include "Parser/ParseNode.h" 26 25 27 #include "SynTree/Type.h" 28 #include "SynTree/Declaration.h" 29 #include "SynTree/Expression.h" 26 30 #include "SynTree/Statement.h" 27 #include "SynTree/Expression.h"28 #include "SynTree/Declaration.h"29 31 30 32 namespace Tuples { … … 100 102 assert( rhsT->get_results().size() == 1 ); 101 103 // declare temporaries 102 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration ::NoStorageClass, LinkageSpec::Intrinsic, 0,104 ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0, 103 105 lhsT->get_results().front(), 0 ); 104 106 decls.push_back( new DeclStmt( std::list< Label >(), lhs ) ); 105 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration ::NoStorageClass, LinkageSpec::Intrinsic, 0,107 ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0, 106 108 rhsT->get_results().front(), 0); 107 109 decls.push_back( new DeclStmt( std::list< Label >(), rhs )); -
src/Tuples/FunctionChecker.cc
rea9b9d3 rb5b0907 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 11:59:55201513 // Update Count : 312 // Last Modified On : Sat Jun 13 08:17:19 2015 13 // Update Count : 4 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(), Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );77 temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto, LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) ); 78 78 79 79 assert( ! temporaries.empty() ); -
src/main.cc
rea9b9d3 rb5b0907 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 11 11:06:04201513 // Update Count : 6912 // Last Modified On : Fri Jun 12 06:56:40 2015 13 // Update Count : 70 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 280 279 } catch ( SemanticError &e ) { 281 280 if ( errorp ) { … … 305 304 } // main 306 305 307 void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit) {306 void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit ) { 308 307 Parser::get_parser().set_linkage( linkage ); 309 308 Parser::get_parser().parse( input );
Note: See TracChangeset
for help on using the changeset viewer.