Changeset 396ee0a
- Timestamp:
- Feb 22, 2017, 2:42:11 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 131dbb3, 692de479
- Parents:
- 0788b739 (diff), fc39193 (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. - Files:
-
- 6 added
- 54 edited
Legend:
- Unmodified
- Added
- Removed
-
Jenkinsfile
r0788b739 r396ee0a 80 80 make_doc() 81 81 } 82 } 83 84 def benchmark() { 85 stage 'Benchmark' 86 87 status_prefix = 'Documentation' 88 89 // //We can't just write to a file outside our repo 90 // //Copy the file locally using ssh 91 // sh 'scp plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv bench.csv' 92 93 // //Then append to the local file 94 // sh 'make -C src/benchmark csv-data >> bench.csv' 95 96 // //Then publish the file again 97 // sh 'scp bench.csv plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv' 82 98 } 83 99 … … 164 180 ]]) 165 181 182 bIsSandbox = env.BRANCH_NAME == "jenkins-sandbox" 166 183 bIsFullBuild = isFullBuild == 'true' 167 184 architectureFlag = '' … … 183 200 doc_build() 184 201 202 //Run benchmark and save result 203 benchmark() 204 185 205 if( bIsFullBuild ) { 186 206 //Compile using gcc-5 … … 213 233 214 234 //Send email with final results if this is not a full build 215 if( !bIsFullBuild ) {235 if( !bIsFullBuild && !bIsSandbox ) { 216 236 echo 'Notifying users of result' 217 237 email(currentBuild.result, log_needed) -
configure
r0788b739 r396ee0a 658 658 CFA_INCDIR 659 659 CFA_PREFIX 660 BUILD_CONCURRENCY_FALSE 661 BUILD_CONCURRENCY_TRUE 660 662 BUILD_NO_LIB_FALSE 661 663 BUILD_NO_LIB_TRUE … … 742 744 enable_target_release 743 745 enable_target_debug 746 enable_threading 744 747 enable_dependency_tracking 745 748 ' … … 1386 1389 --enable-target-release Build and install the release target 1387 1390 --enable-target-debug Build and install the debug target 1391 --enable-threading Build and install libcfa with threading support 1392 (Enabled by default) 1388 1393 --disable-dependency-tracking speeds up one-time build 1389 1394 --enable-dependency-tracking do not reject slow dependency extractors … … 3123 3128 fi 3124 3129 3130 # Check whether --enable-threading was given. 3131 if test "${enable_threading+set}" = set; then : 3132 enableval=$enable_threading; case "${enableval}" in 3133 yes) build_threading-"yes" ;; 3134 no) build_threading="no" ;; 3135 *) as_fn_error $? "bad value ${enableval} for --enable-debug" "$LINENO" 5 ;; 3136 esac 3137 else 3138 build_threading="yes" 3139 fi 3140 3125 3141 3126 3142 case "$enable_target_release" in … … 3197 3213 BUILD_NO_LIB_TRUE='#' 3198 3214 BUILD_NO_LIB_FALSE= 3215 fi 3216 3217 if test "x$build_threading" = "xyes"; then 3218 BUILD_CONCURRENCY_TRUE= 3219 BUILD_CONCURRENCY_FALSE='#' 3220 else 3221 BUILD_CONCURRENCY_TRUE='#' 3222 BUILD_CONCURRENCY_FALSE= 3199 3223 fi 3200 3224 … … 6318 6342 if test -z "${BUILD_NO_LIB_TRUE}" && test -z "${BUILD_NO_LIB_FALSE}"; then 6319 6343 as_fn_error $? "conditional \"BUILD_NO_LIB\" was never defined. 6344 Usually this means the macro was only invoked conditionally." "$LINENO" 5 6345 fi 6346 if test -z "${BUILD_CONCURRENCY_TRUE}" && test -z "${BUILD_CONCURRENCY_FALSE}"; then 6347 as_fn_error $? "conditional \"BUILD_CONCURRENCY\" was never defined. 6320 6348 Usually this means the macro was only invoked conditionally." "$LINENO" 5 6321 6349 fi -
configure.ac
r0788b739 r396ee0a 57 57 AC_ARG_ENABLE(target-release, AS_HELP_STRING([--enable-target-release], [Build and install the release target])) 58 58 AC_ARG_ENABLE(target-debug, AS_HELP_STRING([--enable-target-debug], [Build and install the debug target])) 59 AC_ARG_ENABLE(threading, AS_HELP_STRING([--enable-threading], [Build and install libcfa with threading support (Enabled by default)]), 60 [case "${enableval}" in 61 yes) build_threading-"yes" ;; 62 no) build_threading="no" ;; 63 *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;; 64 esac],[build_threading="yes"]) 59 65 60 66 case "$enable_target_release" in … … 112 118 AM_CONDITIONAL([BUILD_DEBUG], [test "x$build_debug" = "xyes"]) 113 119 AM_CONDITIONAL([BUILD_NO_LIB], [test "x$build_release$build_debug" = "xnono"]) 120 AM_CONDITIONAL([BUILD_CONCURRENCY], [test "x$build_threading" = "xyes"]) 114 121 115 122 if test "x$prefix" = "xNONE"; then -
doc/LaTeXmacros/common.tex
r0788b739 r396ee0a 11 11 %% Created On : Sat Apr 9 10:06:17 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Tue Oct 25 22:04:19 201614 %% Update Count : 2 3413 %% Last Modified On : Fri Feb 10 11:32:36 2017 14 %% Update Count : 249 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 210 210 \newcommand{\VPageref}[2][page]{\ifx#1\@empty\else{#1}\nobreakspace\fi\pageref{#2}} 211 211 212 \let\Oldthebibliography\thebibliography 213 \renewcommand\thebibliography[1]{ 214 \Oldthebibliography{#1} 215 \setlength{\parskip}{0pt} % reduce vertical spacing between references 216 \setlength{\itemsep}{5pt plus 0.3ex} 217 }% 218 212 219 % Go programming language: https://github.com/julienc91/listings-golang/blob/master/listings-golang.sty 213 220 \lstdefinelanguage{Golang}{ 214 morekeywords=[1]{package,import,func,type,struct,return,defer,panic, 215 morekeywords=[2]{string,uint,uint8,uint16,uint32,uint64,int,int8,int16, 221 morekeywords=[1]{package,import,func,type,struct,return,defer,panic,recover,select,var,const,iota,},% 222 morekeywords=[2]{string,uint,uint8,uint16,uint32,uint64,int,int8,int16,int32,int64, 216 223 bool,float32,float64,complex64,complex128,byte,rune,uintptr, error,interface},% 217 morekeywords=[3]{map,slice,make,new,nil,len,cap,copy,close,true,false, 218 morekeywords=[4]{for,break,continue,range,goto,switch,case,fallthrough,if, 224 morekeywords=[3]{map,slice,make,new,nil,len,cap,copy,close,true,false,delete,append,real,imag,complex,chan,},% 225 morekeywords=[4]{for,break,continue,range,goto,switch,case,fallthrough,if,else,default,},% 219 226 morekeywords=[5]{Println,Printf,Error,},% 220 227 sensitive=true,% … … 237 244 }% 238 245 239 \lstset{240 language=Pseudo,241 columns=fullflexible,242 basicstyle=\linespread{0.9}\tt\small, % reduce line spacing and use typewriter font243 stringstyle=\sf\color{Mahogany}, % use sanserif font244 commentstyle=\itshape\color{OliveGreen}, % green and italic comments245 tabsize=4, % 4 space tabbing246 xleftmargin=\parindentlnth, % indent code to paragraph indentation247 extendedchars=true, % allow ASCII characters in the range 128-255248 escapechar=§, % escape to latex in CFA code249 mathescape=true, % allow $...$ LaTeX math escapes in code250 %keepspaces=true, %251 showstringspaces=false, % do not show spaces with cup252 showlines=true, % show blank lines at end of code253 aboveskip=4pt, % spacing above/below code block254 belowskip=3pt,255 moredelim=**[is][\color{red}]{®}{®}, % red highlighting256 moredelim=**[is][\color{blue}]{ß}{ß}, % blue highlighting257 moredelim=**[is][\color{OliveGreen}]{¢}{¢}, % green highlighting258 moredelim=[is][\lstset{keywords={}}]{¶}{¶}, % temporarily turn off keywords259 % replace/adjust listing characters that look bad in sanserif260 literate={-}{\raisebox{-0.15ex}{\texttt{-}}}1 {^}{\raisebox{0.6ex}{$\scriptscriptstyle\land\,$}}1 {©}{{\"u}}1261 {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 {_}{\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}1 {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1262 {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2,263 }%264 265 246 % CFA programming language, based on ANSI C (with some gcc additions) 266 247 \lstdefinelanguage{CFA}[ANSI]{C}{ … … 271 252 }% 272 253 254 \newcommand{\CFADefaultStyle}{% 273 255 \lstset{ 274 256 language=CFA, 275 257 columns=fullflexible, 276 basicstyle=\linespread{0.9}\sf, % reduce line spacing and use sanserif font277 stringstyle=\tt, % use typewriter font278 tabsize=4, % 4 space tabbing279 xleftmargin=\parindentlnth, % indent code to paragraph indentation280 extendedchars=true, % allow ASCII characters in the range 128-255281 escapechar=§, % escape to latex in CFA code282 mathescape=true, % allow $...$ LaTeX math escapes in code283 %keepspaces=true, %284 showstringspaces=false, % do not show spaces with cup285 showlines=true, % show blank lines at end of code286 aboveskip=4pt, % spacing above/below code block258 basicstyle=\linespread{0.9}\sf, % reduce line spacing and use sanserif font 259 stringstyle=\tt, % use typewriter font 260 tabsize=4, % 4 space tabbing 261 xleftmargin=\parindentlnth, % indent code to paragraph indentation 262 extendedchars=true, % allow ASCII characters in the range 128-255 263 escapechar=§, % LaTeX escape in CFA code §...§ (section symbol), emacs: C-q M-' 264 mathescape=true, % LaTeX math escape in CFA code $...$ 265 %keepspaces=true, % 266 showstringspaces=false, % do not show spaces with cup 267 showlines=true, % show blank lines at end of code 268 aboveskip=4pt, % spacing above/below code block 287 269 belowskip=3pt, 288 moredelim=**[is][\color{red}]{®}{®}, % red highlighting289 moredelim=**[is][\color{blue}]{ß}{ß}, % blue highlighting290 moredelim=**[is][\color{OliveGreen}]{¢}{¢}, % green highlighting291 moredelim=[is][\lstset{keywords={}}]{¶}{¶}, % temporarily turn off keywords292 270 % replace/adjust listing characters that look bad in sanserif 293 271 literate={-}{\raisebox{-0.15ex}{\texttt{-}}}1 {^}{\raisebox{0.6ex}{$\scriptscriptstyle\land\,$}}1 294 272 {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 {_}{\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}1 {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1 295 273 {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2, 296 }% 297 298 \lstMakeShortInline© % single-character for \lstinline 299 300 301 \let\Oldthebibliography\thebibliography 302 \renewcommand\thebibliography[1]{ 303 \Oldthebibliography{#1} 304 \setlength{\parskip}{0pt} % reduce vertical spacing between references 305 \setlength{\itemsep}{5pt plus 0.3ex} 306 }% 274 moredelim=**[is][\color{red}]{®}{®}, % red highlighting ®...® (registered trademark symbol) emacs: C-q M-. 275 moredelim=**[is][\color{blue}]{ß}{ß}, % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_ 276 moredelim=**[is][\color{OliveGreen}]{¢}{¢}, % green highlighting ¢...¢ (cent symbol) emacs: C-q M-" 277 moredelim=[is][\lstset{keywords={}}]{¶}{¶}, % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^ 278 }% lstset 279 % inline code ©...© (copyright symbol) emacs: C-q M-) 280 \lstMakeShortInline© % single-character for \lstinline 281 }%CFADefaultStyle 307 282 308 283 % Local Variables: % -
doc/refrat/refrat.tex
r0788b739 r396ee0a 11 11 %% Created On : Wed Apr 6 14:52:25 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Wed Jun 22 14:18:30 201614 %% Update Count : 7 713 %% Last Modified On : Mon Feb 20 13:08:11 2017 14 %% Update Count : 78 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 17 17 % requires tex packages: texlive-base texlive-latex-base tex-common texlive-humanities texlive-latex-extra texlive-fonts-recommended 18 18 19 % inline code ©...© (copyright symbol) emacs: C-q M-)20 % red highlighting ®...® (registered trademark symbol) emacs: C-q M-.21 % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_22 % green highlighting ¢...¢ (cent symbol) emacs: C-q M-"23 % LaTex escape §...§ (section symbol) emacs: C-q M-'24 % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^25 % math escape $...$ (dollar symbol)26 27 19 \documentclass[openright,twoside]{report} 20 28 21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 29 22 … … 32 25 \usepackage{textcomp} 33 26 \usepackage[latin1]{inputenc} 27 34 28 \usepackage{fullpage,times,comment} 35 29 \usepackage{epic,eepic} … … 54 48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 55 49 50 \CFADefaultStyle % use default CFA format-style 51 52 % inline code ©...© (copyright symbol) emacs: C-q M-) 53 % red highlighting ®...® (registered trademark symbol) emacs: C-q M-. 54 % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_ 55 % green highlighting ¢...¢ (cent symbol) emacs: C-q M-" 56 % LaTex escape §...§ (section symbol) emacs: C-q M-' 57 % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^ 58 % math escape $...$ (dollar symbol) 59 60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 61 56 62 % Names used in the document. 57 58 \newcommand{\Version}{1.0.0} 63 \newcommand{\Version}{\input{../../version}} 59 64 60 65 \newcommand{\Textbf}[2][red]{{\color{#1}{\textbf{#2}}}} -
doc/user/user.tex
r0788b739 r396ee0a 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Tue Oct 25 23:03:59 201614 %% Update Count : 13 5713 %% Last Modified On : Mon Feb 20 12:35:48 2017 14 %% Update Count : 1377 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 17 17 % requires tex packages: texlive-base texlive-latex-base tex-common texlive-humanities texlive-latex-extra texlive-fonts-recommended 18 19 % inline code ©...© (copyright symbol) emacs: C-q M-)20 % red highlighting ®...® (registered trademark symbol) emacs: C-q M-.21 % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_22 % green highlighting ¢...¢ (cent symbol) emacs: C-q M-"23 % LaTex escape §...§ (section symbol) emacs: C-q M-'24 % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^25 % math escape $...$ (dollar symbol)26 18 27 19 \documentclass[twoside,11pt]{article} … … 58 50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59 51 52 \CFADefaultStyle % use default CFA format-style 53 54 % inline code ©...© (copyright symbol) emacs: C-q M-) 55 % red highlighting ®...® (registered trademark symbol) emacs: C-q M-. 56 % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_ 57 % green highlighting ¢...¢ (cent symbol) emacs: C-q M-" 58 % LaTex escape §...§ (section symbol) emacs: C-q M-' 59 % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^ 60 % math escape $...$ (dollar symbol) 61 62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 63 60 64 % Names used in the document. 61 62 \newcommand{\Version}{1.0.0} 65 \newcommand{\Version}{\input{../../version}} 63 66 \newcommand{\CS}{C\raisebox{-0.9ex}{\large$^\sharp$}\xspace} 64 67 … … 340 343 341 344 \item 342 \Indexc{__CFA__}\index{preprocessor variables!__CFA__@©__CFA__©} and 343 \Indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@©__CFORALL__©} 345 \Indexc{__CFA__}\index{preprocessor variables!__CFA__@©__CFA__©}, 346 \Indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@©__CFORALL__©} and 347 \Indexc{__cforall}\index{preprocessor variables!__cforall@©__cforall©} 344 348 are always available during preprocessing and have no value. 345 349 \end{description} -
src/CodeGen/CodeGenerator.cc
r0788b739 r396ee0a 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 9 15:05:18201713 // Update Count : 41 712 // Last Modified On : Thu Feb 16 14:56:29 2017 13 // Update Count : 418 14 14 // 15 15 … … 141 141 } // if 142 142 output << genType( functionDecl->get_functionType(), mangleName( functionDecl ), pretty ); 143 144 // how to get this to the Functype?145 std::list< Declaration * > olds = functionDecl->get_oldDecls();146 if ( ! olds.empty() ) {147 output << " /* function has old declaration */";148 } // if149 143 150 144 asmName( functionDecl ); -
src/CodeGen/Generate.cc
r0788b739 r396ee0a 22 22 #include "SynTree/Declaration.h" 23 23 #include "CodeGenerator.h" 24 #include "Tuples/Tuples.h" 24 25 25 26 using namespace std; … … 28 29 void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics, bool pretty ) { 29 30 CodeGen::CodeGenerator cgv( os, pretty ); 30 31 for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end(); i++ ) { 32 if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) { 33 (*i)->accept(cgv); 34 if ( doSemicolon( *i ) ) { 31 for ( auto & dcl : translationUnit ) { 32 if ( LinkageSpec::isGeneratable( dcl->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( dcl->get_linkage() ) ) ) { 33 dcl->accept(cgv); 34 if ( doSemicolon( dcl ) ) { 35 35 os << ";"; 36 36 } // if -
src/Common/SemanticError.cc
r0788b739 r396ee0a 22 22 #include "SemanticError.h" 23 23 24 #include <unistd.h> 25 26 inline const std::string& error_str() { 27 static std::string str = isatty( fileno(stderr) ) ? "\e[31merror:\e[39m " : "error: "; 28 return str; 29 } 30 24 31 SemanticError::SemanticError() { 25 32 } 26 33 27 34 SemanticError::SemanticError( std::string error ) { 28 35 append( error ); 29 36 } 30 37 31 38 void SemanticError::append( SemanticError &other ) { 32 39 errors.splice( errors.end(), other.errors ); 33 40 } 34 41 35 42 void SemanticError::append( const std::string & msg ) { 36 errors.push_back( std::string( "Error: ") + msg );43 errors.emplace_back( error_str() + msg ); 37 44 } 38 45 … … 42 49 43 50 void SemanticError::print( std::ostream &os ) { 44 std::copy( errors.begin(), errors.end(), std::ostream_iterator< std::string >( os, "\n" ) ); 51 using std::to_string; 52 for(auto err : errors) { 53 os << to_string( err.location ) << err.description << '\n'; 54 } 55 } 56 57 void SemanticError::set_location( const CodeLocation& location ) { 58 errors.begin()->maybeSet( location ); 45 59 } 46 60 -
src/Common/SemanticError.h
r0788b739 r396ee0a 23 23 #include <iostream> 24 24 25 #include "utility.h" 26 27 struct error { 28 std::string description; 29 CodeLocation location; 30 31 error() = default; 32 error( const std::string& str ) : description( str ) {} 33 34 void maybeSet( const CodeLocation& location ) { 35 if( this->location.linenumber < 0 ) { 36 this->location = location; 37 } 38 } 39 }; 40 25 41 class SemanticError : public std::exception { 26 42 public: … … 35 51 void print( std::ostream &os ); 36 52 53 void set_location( const CodeLocation& location ); 37 54 // constructs an exception using the given message and the printed 38 55 // representation of the obj (T must have a print method) 39 56 private: 40 std::list< std::string> errors;57 std::list< error > errors; 41 58 }; 42 59 -
src/Common/utility.h
r0788b739 r396ee0a 25 25 #include <sstream> 26 26 #include <string> 27 27 28 #include <cassert> 28 29 29 template< typename T > 30 30 static inline T * maybeClone( const T *orig ) { … … 303 303 return group_iterate_t<Args...>(args...); 304 304 } 305 306 struct CodeLocation { 307 int linenumber; 308 std::string filename; 309 310 CodeLocation() 311 : linenumber( -1 ) 312 , filename("") 313 {} 314 315 CodeLocation( const char* filename, int lineno ) 316 : linenumber( lineno ) 317 , filename(filename ? filename : "") 318 {} 319 }; 320 321 inline std::string to_string( const CodeLocation& location ) { 322 return location.linenumber >= 0 ? location.filename + ":" + std::to_string(location.linenumber) + " " : ""; 323 } 305 324 #endif // _UTILITY_H 306 325 -
src/GenPoly/Box.cc
r0788b739 r396ee0a 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 29 21:43:03 201613 // Update Count : 29 612 // Last Modified On : Thu Feb 16 14:57:16 2017 13 // Update Count : 297 14 14 // 15 15 … … 236 236 } // if 237 237 } catch( SemanticError &e ) { 238 e.set_location( (*i)->location ); 238 239 errors.append( e ); 239 240 } // try … … 262 263 DeclarationWithType *LayoutFunctionBuilder::mutate( FunctionDecl *functionDecl ) { 263 264 functionDecl->set_functionType( maybeMutate( functionDecl->get_functionType(), *this ) ); 264 mutateAll( functionDecl->get_oldDecls(), *this );265 265 ++functionNesting; 266 266 functionDecl->set_statements( maybeMutate( functionDecl->get_statements(), *this ) ); -
src/InitTweak/FixInit.cc
r0788b739 r396ee0a 10 10 // Created On : Wed Jan 13 16:29:30 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Jul 12 17:41:15 201613 // Update Count : 3 412 // Last Modified On : Thu Feb 16 14:58:43 2017 13 // Update Count : 35 14 14 // 15 15 … … 313 313 translationUnit.splice( i, fixer.staticDtorDecls ); 314 314 } catch( SemanticError &e ) { 315 e.set_location( (*i)->location ); 315 316 errors.append( e ); 316 317 } // try … … 838 839 void handleFuncDecl( FunctionDecl * funcDecl, Visitor & visitor ) { 839 840 maybeAccept( funcDecl->get_functionType(), visitor ); 840 acceptAll( funcDecl->get_oldDecls(), visitor );841 841 maybeAccept( funcDecl->get_statements(), visitor ); 842 842 } … … 1116 1116 // xxx - is the size check necessary? 1117 1117 assert( ctorExpr->has_result() && ctorExpr->get_result()->size() == 1 ); 1118 1119 // xxx - ideally we would reuse the temporary generated from the copy constructor passes from within firstArg if it exists and not generate a temporary if it's unnecessary. 1118 1120 ObjectDecl * tmp = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, nullptr, ctorExpr->get_result()->clone(), nullptr ); 1119 1121 addDeclaration( tmp ); -
src/InitTweak/GenInit.cc
r0788b739 r396ee0a 9 9 // Author : Rob Schluntz 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Fri May 13 11:37:48 201613 // Update Count : 16 611 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 16 14:57:53 2017 13 // Update Count : 167 14 14 // 15 15 … … 320 320 } 321 321 // parameters should not be constructed and destructed, so don't mutate FunctionType 322 mutateAll( functionDecl->get_oldDecls(), *this );323 322 functionDecl->set_statements( maybeMutate( functionDecl->get_statements(), *this ) ); 324 323 -
src/InitTweak/InitTweak.cc
r0788b739 r396ee0a 332 332 return nullptr; 333 333 } 334 } 335 336 DeclarationWithType * getFunction( Expression * expr ) { 337 if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * >( expr ) ) { 338 return getCalledFunction( appExpr->get_function() ); 339 } else if ( UntypedExpr * untyped = dynamic_cast< UntypedExpr * > ( expr ) ) { 340 return getCalledFunction( untyped->get_function() ); 341 } 342 assertf( false, "getFunction received unknown expression: %s", toString( expr ).c_str() ); 334 343 } 335 344 -
src/InitTweak/InitTweak.h
r0788b739 r396ee0a 51 51 bool checkInitDepth( ObjectDecl * objDecl ); 52 52 53 /// Non-Null if expr is a call expression whose target function is intrinsic 54 ApplicationExpr * isIntrinsicCallExpr( Expression * expr ); 53 /// returns the declaration of the function called by the expr (must be ApplicationExpr or UntypedExpr) 54 DeclarationWithType * getFunction( Expression * expr ); 55 56 /// Non-Null if expr is a call expression whose target function is intrinsic 57 ApplicationExpr * isIntrinsicCallExpr( Expression * expr ); 55 58 56 59 /// True if stmt is a call statement where the function called is intrinsic and takes one parameter. -
src/Parser/DeclarationNode.cc
r0788b739 r396ee0a 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 9 15:54:59201713 // Update Count : 7 4212 // Last Modified On : Thu Feb 16 13:06:50 2017 13 // Update Count : 753 14 14 // 15 15 … … 913 913 SemanticError errors; 914 914 std::back_insert_iterator< std::list< Declaration * > > out( outputList ); 915 const DeclarationNode * cur = firstNode; 916 917 while ( cur ) { 915 916 for ( const DeclarationNode * cur = firstNode; cur; cur = dynamic_cast< DeclarationNode * >( cur->get_next() ) ) { 918 917 try { 919 918 if ( DeclarationNode * extr = cur->extractAggregate() ) { … … 921 920 Declaration * decl = extr->build(); 922 921 if ( decl ) { 922 decl->location = cur->location; 923 923 * out++ = decl; 924 924 } // if … … 928 928 Declaration * decl = cur->build(); 929 929 if ( decl ) { 930 decl->location = cur->location; 930 931 * out++ = decl; 931 932 } // if 932 933 } catch( SemanticError &e ) { 934 e.set_location( cur->location ); 933 935 errors.append( e ); 934 936 } // try 935 cur = dynamic_cast< DeclarationNode * >( cur->get_next() );936 937 } // while 937 938 … … 944 945 SemanticError errors; 945 946 std::back_insert_iterator< std::list< DeclarationWithType * > > out( outputList ); 946 const DeclarationNode * cur = firstNode;947 while ( cur) {947 948 for ( const DeclarationNode * cur = firstNode; cur; cur = dynamic_cast< DeclarationNode * >( cur->get_next() ) ) { 948 949 try { 949 950 Declaration * decl = cur->build(); 950 951 if ( decl ) { 951 952 if ( DeclarationWithType * dwt = dynamic_cast< DeclarationWithType * >( decl ) ) { 953 dwt->location = cur->location; 952 954 * out++ = dwt; 953 955 } else if ( StructDecl * agg = dynamic_cast< StructDecl * >( decl ) ) { 954 956 StructInstType * inst = new StructInstType( Type::Qualifiers(), agg->get_name() ); 955 * out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, nullptr, inst, nullptr ); 957 auto obj = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, nullptr, inst, nullptr ); 958 obj->location = cur->location; 959 * out++ = obj; 956 960 delete agg; 957 961 } else if ( UnionDecl * agg = dynamic_cast< UnionDecl * >( decl ) ) { 958 962 UnionInstType * inst = new UnionInstType( Type::Qualifiers(), agg->get_name() ); 959 * out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, nullptr, inst, nullptr ); 963 auto obj = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, nullptr, inst, nullptr ); 964 obj->location = cur->location; 965 * out++ = obj; 960 966 } // if 961 967 } // if 962 968 } catch( SemanticError &e ) { 969 e.set_location( cur->location ); 963 970 errors.append( e ); 964 971 } // try 965 cur = dynamic_cast< DeclarationNode * >( cur->get_next() );966 } // while 972 } // for 973 967 974 if ( ! errors.isEmpty() ) { 968 975 throw errors; … … 979 986 * out++ = cur->buildType(); 980 987 } catch( SemanticError &e ) { 988 e.set_location( cur->location ); 981 989 errors.append( e ); 982 990 } // try -
src/Parser/ParseNode.h
r0788b739 r396ee0a 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 9 14:45:28201713 // Update Count : 6 5812 // Last Modified On : Thu Feb 16 13:15:55 2017 13 // Update Count : 661 14 14 // 15 15 … … 39 39 //############################################################################## 40 40 41 extern char* yyfilename; 42 extern int yylineno; 43 41 44 class ParseNode { 42 45 public: … … 65 68 ParseNode * next = nullptr; 66 69 std::string * name = nullptr; 70 CodeLocation location = { yyfilename, yylineno }; 67 71 }; // ParseNode 68 72 … … 410 414 while ( cur ) { 411 415 try { 412 // SynTreeType * result = dynamic_cast< SynTreeType * >( maybeBuild< typename std::result_of< decltype(&NodeType::build)(NodeType)>::type >( cur ) );413 416 SynTreeType * result = dynamic_cast< SynTreeType * >( maybeBuild< typename std::pointer_traits< decltype(cur->build())>::element_type >( cur ) ); 414 417 if ( result ) { 418 result->location = cur->location; 415 419 * out++ = result; 416 420 } // if 417 421 } catch( SemanticError &e ) { 422 e.set_location( cur->location ); 418 423 errors.append( e ); 419 424 } // try … … 432 437 template< typename SynTreeType, typename NodeType > 433 438 void buildMoveList( const NodeType * firstNode, std::list< SynTreeType * > &outputList ) { 434 buildList( firstNode, outputList);439 buildList( firstNode, outputList ); 435 440 delete firstNode; 436 441 } -
src/Parser/TypeData.cc
r0788b739 r396ee0a 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jan 27 15:28:56201713 // Update Count : 4 2812 // Last Modified On : Sun Feb 19 09:49:33 2017 13 // Update Count : 467 14 14 // 15 15 … … 724 724 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, ConstantExpr *asmName, Initializer * init, std::list< Attribute * > attributes ) { 725 725 if ( td->kind == TypeData::Function ) { 726 if ( td->function.idList ) { 727 buildKRFunction( td->function ); 728 } // if 729 726 730 FunctionDecl * decl; 727 731 if ( td->function.hasBody ) { … … 738 742 decl = new FunctionDecl( name, sc, linkage, buildFunction( td ), nullptr, isInline, isNoreturn, attributes ); 739 743 } // if 740 for ( DeclarationNode * cur = td->function.idList; cur != nullptr; cur = dynamic_cast< DeclarationNode* >( cur->get_next() ) ) {741 if ( cur->name ) {742 decl->get_oldIdents().insert( decl->get_oldIdents().end(), *cur->name );743 } // if744 } // for745 buildList( td->function.oldDeclList, decl->get_oldDecls() );746 744 return decl->set_asmName( asmName ); 747 745 } else if ( td->kind == TypeData::Aggregate ) { … … 778 776 } // buildFunction 779 777 778 // Transform KR routine declarations into C99 routine declarations: 779 // 780 // rtn( a, b, c ) int a, c; double b {} => int rtn( int a, double c, int b ) {} 781 // 782 // The type information for each post-declaration is moved to the corresponding pre-parameter and the post-declaration 783 // is deleted. Note, the order of the parameter names may not be the same as the declaration names. Duplicate names and 784 // extra names are disallowed. 785 // 786 // Note, there is no KR routine-prototype syntax: 787 // 788 // rtn( a, b, c ) int a, c; double b; // invalid KR prototype 789 // rtn(); // valid KR prototype 790 791 void buildKRFunction( const TypeData::Function_t & function ) { 792 assert( ! function.params ); 793 // loop over declaration first as it is easier to spot errors 794 for ( DeclarationNode * decl = function.oldDeclList; decl != nullptr; decl = dynamic_cast< DeclarationNode * >( decl->get_next() ) ) { 795 // scan ALL parameter names for each declaration name to check for duplicates 796 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode* >( param->get_next() ) ) { 797 if ( *decl->name == *param->name ) { 798 // type set => parameter name already transformed by a declaration names so there is a duplicate 799 // declaration name attempting a second transformation 800 if ( param->type ) throw SemanticError( string( "duplicate declaration name " ) + *param->name ); 801 // declaration type reset => declaration already transformed by a parameter name so there is a duplicate 802 // parameter name attempting a second transformation 803 if ( ! decl->type ) throw SemanticError( string( "duplicate parameter name " ) + *param->name ); 804 param->type = decl->type; // set copy declaration type to parameter type 805 decl->type = nullptr; // reset declaration type 806 param->attributes.splice( param->attributes.end(), decl->attributes ); // copy and reset attributes from declaration to parameter 807 } // if 808 } // for 809 // declaration type still set => type not moved to a matching parameter so there is a missing parameter name 810 if ( decl->type ) throw SemanticError( string( "missing name in parameter list " ) + *decl->name ); 811 } // for 812 813 // Parameter names without a declaration default to type int: 814 // 815 // rtb( a, b, c ) const char * b; {} => int rtn( int a, const char * b, int c ) {} 816 817 for ( DeclarationNode * param = function.idList; param != nullptr; param = dynamic_cast< DeclarationNode* >( param->get_next() ) ) { 818 if ( ! param->type ) { // generate type int for empty parameters 819 param->type = new TypeData( TypeData::Basic ); 820 param->type->basictype = DeclarationNode::Int; 821 } // if 822 } // for 823 824 function.params = function.idList; // newly modified idList becomes parameters 825 function.idList = nullptr; // idList now empty 826 delete function.oldDeclList; // deletes entire list 827 function.oldDeclList = nullptr; // reset 828 } // buildKRFunction 829 780 830 // Local Variables: // 781 831 // tab-width: 4 // -
src/Parser/TypeData.h
r0788b739 r396ee0a 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 2 17:02:09201713 // Update Count : 1 4612 // Last Modified On : Thu Feb 16 14:30:05 2017 13 // Update Count : 153 14 14 // 15 15 … … 52 52 53 53 struct Function_t { 54 DeclarationNode * params;55 DeclarationNode * idList;// old-style56 DeclarationNode * oldDeclList;54 mutable DeclarationNode * params; // mutables modified in buildKRFunction 55 mutable DeclarationNode * idList; // old-style 56 mutable DeclarationNode * oldDeclList; 57 57 StatementNode * body; 58 58 bool hasBody; … … 113 113 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, ConstantExpr *asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() ); 114 114 FunctionType * buildFunction( const TypeData * ); 115 void buildKRFunction( const TypeData::Function_t & function ); 115 116 116 117 #endif // TYPEDATA_H -
src/Parser/parser.cc
r0788b739 r396ee0a 628 628 #define YYFINAL 238 629 629 /* YYLAST -- Last index in YYTABLE. */ 630 #define YYLAST 1 0958630 #define YYLAST 11059 631 631 632 632 /* YYNTOKENS -- Number of terminals. */ … … 637 637 #define YYNRULES 756 638 638 /* YYNRULES -- Number of states. */ 639 #define YYNSTATES 155 4639 #define YYNSTATES 1556 640 640 641 641 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ … … 737 737 1467, 1468, 1470, 1472, 1478, 1480, 1482, 1488, 1494, 1496, 738 738 1500, 1504, 1509, 1511, 1513, 1515, 1517, 1520, 1522, 1526, 739 1530, 153 2, 1535, 1537, 1541, 1543, 1545, 1547, 1549, 1551,740 155 3, 1555, 1557, 1559, 1561, 1563, 1566, 1568, 1570, 1571,741 157 4, 1577, 1579, 1584, 1585, 1587, 1590, 1594, 1599, 1602,742 160 5, 1607, 1610, 1613, 1619, 1625, 1633, 1640, 1642, 1645,743 16 48, 1652, 1654, 1657, 1660, 1665, 1668, 1673, 1674, 1679,744 168 2, 1684, 1686, 1688, 1690, 1691, 1694, 1700, 1706, 1720,745 172 2, 1724, 1728, 1732, 1735, 1739, 1743, 1746, 1751, 1753,746 176 0, 1770, 1771, 1783, 1785, 1789, 1793, 1797, 1799, 1801,747 180 7, 1810, 1816, 1817, 1819, 1821, 1825, 1826, 1828, 1830,748 183 2, 1838, 1839, 1846, 1849, 1851, 1854, 1859, 1862, 1866,749 187 0, 1874, 1879, 1885, 1891, 1897, 1904, 1906, 1908, 1910,750 191 4, 1915, 1921, 1922, 1924, 1926, 1929, 1936, 1938, 1942,751 194 3, 1945, 1950, 1952, 1954, 1956, 1958, 1961, 1963, 1966,752 19 69, 1971, 1975, 1978, 1982, 1987, 1990, 1995, 2000, 2004,753 201 3, 2017, 2020, 2022, 2025, 2032, 2041, 2045, 2048, 2052,754 205 6, 2061, 2066, 2070, 2072, 2074, 2076, 2081, 2090, 2094,755 209 7, 2101, 2105, 2110, 2115, 2119, 2122, 2124, 2127, 2130,756 213 2, 2136, 2139, 2143, 2148, 2151, 2156, 2161, 2165, 2172,757 218 1, 2185, 2188, 2190, 2193, 2196, 2199, 2203, 2208, 2211,758 221 6, 2221, 2225, 2232, 2241, 2245, 2248, 2250, 2253, 2256,759 22 58, 2260, 2263, 2267, 2272, 2275, 2280, 2287, 2296, 2298,760 230 1, 2304, 2306, 2309, 2312, 2316, 2321, 2323, 2328, 2333,761 233 7, 2343, 2352, 2356, 2359, 2363, 2365, 2371, 2377, 2384,762 239 1, 2393, 2396, 2399, 2401, 2404, 2407, 2411, 2416, 2418,763 242 3, 2428, 2432, 2438, 2447, 2451, 2453, 2456, 2458, 2461,764 24 68, 2474, 2481, 2489, 2497, 2499, 2502, 2505, 2507, 2510,765 251 3, 2517, 2522, 2524, 2529, 2534, 2538, 2547, 2551, 2553,766 255 5, 2558, 2560, 2562, 2565, 2569, 2572, 2576, 2579, 2583,767 258 7, 2590, 2595, 2599, 2602, 2606, 2609, 2614, 2618, 2621,768 26 28, 2635, 2642, 2650, 2652, 2655, 2657, 2659, 2661, 2664,769 26 68, 2671, 2675, 2678, 2682, 2686, 2691, 2694, 2698, 2703,770 270 6, 2712, 2719, 2726, 2727, 2729, 2730739 1530, 1533, 1537, 1539, 1543, 1545, 1547, 1549, 1551, 1553, 740 1555, 1557, 1559, 1561, 1563, 1565, 1568, 1570, 1572, 1573, 741 1576, 1579, 1581, 1586, 1587, 1589, 1592, 1596, 1601, 1604, 742 1607, 1609, 1612, 1615, 1621, 1627, 1635, 1642, 1644, 1647, 743 1650, 1654, 1656, 1659, 1662, 1667, 1670, 1675, 1676, 1681, 744 1684, 1686, 1688, 1690, 1692, 1693, 1696, 1702, 1708, 1722, 745 1724, 1726, 1730, 1734, 1737, 1741, 1745, 1748, 1753, 1755, 746 1762, 1772, 1773, 1785, 1787, 1791, 1795, 1799, 1801, 1803, 747 1809, 1812, 1818, 1819, 1821, 1823, 1827, 1828, 1830, 1832, 748 1834, 1840, 1841, 1848, 1851, 1853, 1856, 1861, 1864, 1868, 749 1872, 1876, 1881, 1887, 1893, 1899, 1906, 1908, 1910, 1912, 750 1916, 1917, 1923, 1924, 1926, 1928, 1931, 1938, 1940, 1944, 751 1945, 1947, 1952, 1954, 1956, 1958, 1960, 1963, 1965, 1968, 752 1971, 1973, 1977, 1980, 1984, 1989, 1992, 1997, 2002, 2006, 753 2015, 2019, 2022, 2024, 2027, 2034, 2043, 2047, 2050, 2054, 754 2058, 2063, 2068, 2072, 2074, 2076, 2078, 2083, 2092, 2096, 755 2099, 2103, 2107, 2112, 2117, 2121, 2124, 2126, 2129, 2132, 756 2134, 2138, 2141, 2145, 2150, 2153, 2158, 2163, 2167, 2174, 757 2183, 2187, 2190, 2192, 2195, 2198, 2201, 2205, 2210, 2213, 758 2218, 2223, 2227, 2234, 2243, 2247, 2250, 2252, 2255, 2258, 759 2260, 2262, 2265, 2269, 2274, 2277, 2282, 2289, 2298, 2300, 760 2303, 2306, 2308, 2311, 2314, 2318, 2323, 2325, 2330, 2335, 761 2339, 2345, 2354, 2358, 2361, 2365, 2367, 2373, 2379, 2386, 762 2393, 2395, 2398, 2401, 2403, 2406, 2409, 2413, 2418, 2420, 763 2425, 2430, 2434, 2440, 2449, 2453, 2455, 2458, 2460, 2463, 764 2470, 2476, 2483, 2491, 2499, 2501, 2504, 2507, 2509, 2512, 765 2515, 2519, 2524, 2526, 2531, 2536, 2540, 2549, 2553, 2555, 766 2557, 2560, 2562, 2564, 2567, 2571, 2574, 2578, 2581, 2585, 767 2589, 2592, 2597, 2601, 2604, 2608, 2611, 2616, 2620, 2623, 768 2630, 2637, 2644, 2652, 2654, 2657, 2659, 2661, 2663, 2666, 769 2670, 2673, 2677, 2680, 2684, 2688, 2693, 2696, 2700, 2705, 770 2708, 2714, 2721, 2728, 2729, 2731, 2732 771 771 }; 772 772 … … 927 927 -1, 276, -1, 368, -1, 376, -1, 235, 376, -1, 928 928 377, -1, 232, 342, 379, -1, 232, 346, 379, -1, 929 232, -1, 232, 357, -1, 144, -1, 277, 121, 144,930 -1, 142, -1, 77, -1, 78, -1, 143, -1, 77,931 -1, 7 8, -1, 144, -1, 77, -1, 78, -1, 372,932 -1, 233, -1, 233, 351, -1, 281, -1, 377, -1,933 -1, 136, 284, -1, 112, 284, -1, 172, -1, 119,934 285, 378, 120, -1, -1, 284, -1, 286, 284, -1,935 28 5, 121, 284, -1, 285, 121, 286, 284, -1, 287,936 135, -1, 280, 135, -1, 288, -1, 287, 288, -1,937 118, 280, -1, 116, 139, 172, 140, 117, -1, 116,938 139, 316, 140, 117, -1, 116, 139, 171, 101, 171,939 1 40, 117, -1, 118, 116, 139, 152, 140, 117, -1,940 290, -1, 239, 290, -1, 289, 241, -1, 289, 241,941 2 35, -1, 291, -1, 235, 291, -1, 290, 236, -1,942 78, 114, 298, 115, -1, 293, 379, -1, 292, 121,943 29 3, 379, -1, -1, 295, 280, 294, 296, -1, 233,944 342, -1, 35, -1, 37, -1, 36, -1, 38, -1,945 -1, 296, 297, -1, 133, 280, 114, 298, 115, -1,946 1 33, 119, 139, 304, 120, -1, 133, 114, 139, 292,947 1 40, 115, 119, 139, 304, 120, 114, 298, 115, -1,948 282, -1, 172, -1, 298, 121, 282, -1, 298, 121,949 172, -1, 35, 300, -1, 240, 35, 300, -1, 299,950 121, 300, -1, 301, 296, -1, 301, 296, 136, 282,951 -1, 280, -1, 279, 114, 139, 292, 140, 115, -1,952 39, 280, 114, 139, 292, 140, 115, 119, 120, -1,953 -1, 39, 280, 114, 139, 292, 140, 115, 119, 303,954 304, 120, -1, 305, -1, 304, 139, 305, -1, 306,955 140, 137, -1, 307, 140, 137, -1, 223, -1, 225,956 -1, 306, 140, 121, 139, 278, -1, 233, 315, -1,957 3 07, 140, 121, 139, 315, -1, -1, 309, -1, 311,958 -1, 3 09, 139, 311, -1, -1, 309, -1, 220, -1,959 313, -1, 67, 114, 146, 115, 137, -1, -1, 5,960 84, 312, 119, 310, 120, -1, 43, 311, -1, 314,961 -1, 3 29, 181, -1, 333, 139, 215, 181, -1, 224,962 181, -1, 232, 329, 181, -1, 235, 329, 181, -1,963 239, 329, 181, -1, 239, 235, 329, 181, -1, 232,964 333, 139, 215, 181, -1, 235, 333, 139, 215, 181,965 -1, 239, 333, 139, 215, 181, -1, 239, 235, 333,966 139, 215, 181, -1, 324, -1, 337, -1, 329, -1,967 171, 127, 171, -1, -1, 67, 114, 146, 115, 318,968 -1, -1, 319, -1, 320, -1, 319, 320, -1, 42,969 114, 114, 321, 115, 115, -1, 322, -1, 321, 121,970 32 2, -1, -1, 323, -1, 323, 114, 150, 115, -1,971 75, -1, 77, -1, 78, -1, 10, -1, 325, 318,972 -1, 326, -1, 327, 318, -1, 328, 318, -1, 142,973 -1, 1 14, 325, 115, -1, 157, 324, -1, 157, 235,974 324, -1, 114, 326, 115, 318, -1, 325, 355, -1,975 114, 326, 115, 355, -1, 114, 327, 115, 356, -1,976 114, 327, 115, -1, 114, 326, 115, 114, 139, 270,977 1 40, 115, -1, 114, 328, 115, -1, 330, 318, -1,978 3 31, -1, 332, 318, -1, 325, 114, 139, 270, 140,979 115, -1, 114, 331, 115, 114, 139, 270, 140, 115,980 -1, 114, 330, 115, -1, 157, 329, -1, 157, 235,981 329, -1, 114, 331, 115, -1, 114, 331, 115, 355,982 -1, 114, 332, 115, 356, -1, 114, 332, 115, -1,983 334, -1, 335, -1, 336, -1, 325, 114, 277, 115,984 -1, 114, 335, 115, 114, 139, 270, 140, 115, -1,985 11 4, 334, 115, -1, 157, 333, -1, 157, 235, 333,986 -1, 114, 335, 115, -1, 114, 335, 115, 355, -1,987 114, 336, 115, 356, -1, 114, 336, 115, -1, 338,988 318, -1, 339, -1, 340, 318, -1, 341, 318, -1,989 3 47, -1, 114, 338, 115, -1, 157, 337, -1, 157,990 235, 337, -1, 114, 339, 115, 318, -1, 338, 355,991 -1, 114, 339, 115, 355, -1, 114, 340, 115, 356,992 -1, 114, 340, 115, -1, 338, 114, 139, 270, 140,993 115, -1, 114, 339, 115, 114, 139, 270, 140, 115,994 -1, 114, 341, 115, -1, 325, 318, -1, 343, -1,995 34 4, 318, -1, 345, 318, -1, 157, 342, -1, 157,996 235, 342, -1, 114, 343, 115, 318, -1, 325, 361,997 -1, 114, 343, 115, 355, -1, 114, 344, 115, 356,998 -1, 114, 344, 115, -1, 325, 114, 139, 270, 140,999 115, -1, 114, 343, 115, 114, 139, 270, 140, 115,1000 -1, 114, 345, 115, -1, 347, 318, -1, 348, -1,1001 34 9, 318, -1, 350, 318, -1, 77, -1, 78, -1,1002 157, 346, -1, 157, 235, 346, -1, 114, 348, 115,1003 3 18, -1, 347, 361, -1, 114, 348, 115, 361, -1,1004 3 47, 114, 139, 270, 140, 115, -1, 114, 348, 115,1005 114, 139, 270, 140, 115, -1, 352, -1, 353, 318,1006 -1, 354, 318, -1, 157, -1, 157, 235, -1, 157,1007 351, -1, 157, 235, 351, -1, 114, 352, 115, 318,1008 -1, 355, -1, 114, 352, 115, 355, -1, 114, 353,1009 11 5, 356, -1, 114, 353, 115, -1, 114, 139, 270,1010 1 40, 115, -1, 114, 352, 115, 114, 139, 270, 140,1011 115, -1, 114, 354, 115, -1, 116, 117, -1, 116,1012 117, 356, -1, 356, -1, 116, 139, 172, 140, 117,1013 -1, 116, 139, 122, 140, 117, -1, 356, 116, 139,1014 1 72, 140, 117, -1, 356, 116, 139, 122, 140, 117,1015 -1, 358, -1, 359, 318, -1, 360, 318, -1, 157,1016 -1, 157, 235, -1, 157, 357, -1, 157, 235, 357,1017 -1, 114, 358, 115, 318, -1, 361, -1, 114, 358,1018 11 5, 361, -1, 114, 359, 115, 356, -1, 114, 359,1019 11 5, -1, 114, 139, 270, 140, 115, -1, 114, 358,1020 11 5, 114, 139, 270, 140, 115, -1, 114, 360, 115,1021 -1, 362, -1, 362, 356, -1, 356, -1, 116, 117,1022 -1, 116, 139, 235, 122, 140, 117, -1, 116, 139,1023 235, 140, 117, -1, 116, 139, 235, 172, 140, 117,1024 -1, 116, 139, 7, 234, 172, 140, 117, -1, 116,1025 139, 235, 7, 172, 140, 117, -1, 364, -1, 365,1026 318, -1, 366, 318, -1, 157, -1, 157, 235, -1,1027 157, 363, -1, 157, 235, 363, -1, 114, 364, 115,1028 3 18, -1, 355, -1, 114, 364, 115, 355, -1, 114,1029 365, 115, 356, -1, 114, 365, 115, -1, 114, 364,1030 11 5, 114, 139, 270, 140, 115, -1, 114, 366, 115,1031 -1, 368, -1, 376, -1, 235, 376, -1, 369, -1,1032 3 70, -1, 157, 233, -1, 235, 157, 233, -1, 157,1033 377, -1, 235, 157, 377, -1, 157, 367, -1, 235,1034 157, 367, -1, 116, 117, 233, -1, 371, 233, -1,1035 116, 117, 356, 233, -1, 371, 356, 233, -1, 356,1036 233, -1, 116, 117, 369, -1, 371, 369, -1, 116,1037 117, 356, 369, -1, 371, 356, 369, -1, 356, 369,1038 -1, 116, 139, 235, 122, 140, 117, -1, 116, 139,1039 235, 172, 140, 117, -1, 116, 139, 239, 172, 140,1040 1 17, -1, 116, 139, 239, 235, 172, 140, 117, -1,1041 376, -1, 235, 376, -1, 373, -1, 374, -1, 375,1042 -1, 157, 233, -1, 235, 157, 233, -1, 157, 377,1043 -1, 235, 157, 377, -1, 157, 372, -1, 235, 157,1044 372, -1, 116, 117, 233, -1, 116, 117, 356, 233,1045 -1, 356, 233, -1, 116, 117, 374, -1, 116, 117,1046 356, 374, -1, 356, 374, -1, 116, 139, 269, 140,1047 117, -1, 376, 114, 139, 266, 140, 115, -1, 226,1048 114, 139, 266, 140, 115, -1, -1, 121, -1, -1,1049 136, 172, -1929 232, 379, -1, 232, 357, 379, -1, 144, -1, 277, 930 121, 144, -1, 142, -1, 77, -1, 78, -1, 143, 931 -1, 77, -1, 78, -1, 144, -1, 77, -1, 78, 932 -1, 372, -1, 233, -1, 233, 351, -1, 281, -1, 933 377, -1, -1, 136, 284, -1, 112, 284, -1, 172, 934 -1, 119, 285, 378, 120, -1, -1, 284, -1, 286, 935 284, -1, 285, 121, 284, -1, 285, 121, 286, 284, 936 -1, 287, 135, -1, 280, 135, -1, 288, -1, 287, 937 288, -1, 118, 280, -1, 116, 139, 172, 140, 117, 938 -1, 116, 139, 316, 140, 117, -1, 116, 139, 171, 939 101, 171, 140, 117, -1, 118, 116, 139, 152, 140, 940 117, -1, 290, -1, 239, 290, -1, 289, 241, -1, 941 289, 241, 235, -1, 291, -1, 235, 291, -1, 290, 942 236, -1, 78, 114, 298, 115, -1, 293, 379, -1, 943 292, 121, 293, 379, -1, -1, 295, 280, 294, 296, 944 -1, 233, 342, -1, 35, -1, 37, -1, 36, -1, 945 38, -1, -1, 296, 297, -1, 133, 280, 114, 298, 946 115, -1, 133, 119, 139, 304, 120, -1, 133, 114, 947 139, 292, 140, 115, 119, 139, 304, 120, 114, 298, 948 115, -1, 282, -1, 172, -1, 298, 121, 282, -1, 949 298, 121, 172, -1, 35, 300, -1, 240, 35, 300, 950 -1, 299, 121, 300, -1, 301, 296, -1, 301, 296, 951 136, 282, -1, 280, -1, 279, 114, 139, 292, 140, 952 115, -1, 39, 280, 114, 139, 292, 140, 115, 119, 953 120, -1, -1, 39, 280, 114, 139, 292, 140, 115, 954 119, 303, 304, 120, -1, 305, -1, 304, 139, 305, 955 -1, 306, 140, 137, -1, 307, 140, 137, -1, 223, 956 -1, 225, -1, 306, 140, 121, 139, 278, -1, 233, 957 315, -1, 307, 140, 121, 139, 315, -1, -1, 309, 958 -1, 311, -1, 309, 139, 311, -1, -1, 309, -1, 959 220, -1, 313, -1, 67, 114, 146, 115, 137, -1, 960 -1, 5, 84, 312, 119, 310, 120, -1, 43, 311, 961 -1, 314, -1, 329, 181, -1, 333, 139, 215, 181, 962 -1, 224, 181, -1, 232, 329, 181, -1, 235, 329, 963 181, -1, 239, 329, 181, -1, 239, 235, 329, 181, 964 -1, 232, 333, 139, 215, 181, -1, 235, 333, 139, 965 215, 181, -1, 239, 333, 139, 215, 181, -1, 239, 966 235, 333, 139, 215, 181, -1, 324, -1, 337, -1, 967 329, -1, 171, 127, 171, -1, -1, 67, 114, 146, 968 115, 318, -1, -1, 319, -1, 320, -1, 319, 320, 969 -1, 42, 114, 114, 321, 115, 115, -1, 322, -1, 970 321, 121, 322, -1, -1, 323, -1, 323, 114, 150, 971 115, -1, 75, -1, 77, -1, 78, -1, 10, -1, 972 325, 318, -1, 326, -1, 327, 318, -1, 328, 318, 973 -1, 142, -1, 114, 325, 115, -1, 157, 324, -1, 974 157, 235, 324, -1, 114, 326, 115, 318, -1, 325, 975 355, -1, 114, 326, 115, 355, -1, 114, 327, 115, 976 356, -1, 114, 327, 115, -1, 114, 326, 115, 114, 977 139, 270, 140, 115, -1, 114, 328, 115, -1, 330, 978 318, -1, 331, -1, 332, 318, -1, 325, 114, 139, 979 270, 140, 115, -1, 114, 331, 115, 114, 139, 270, 980 140, 115, -1, 114, 330, 115, -1, 157, 329, -1, 981 157, 235, 329, -1, 114, 331, 115, -1, 114, 331, 982 115, 355, -1, 114, 332, 115, 356, -1, 114, 332, 983 115, -1, 334, -1, 335, -1, 336, -1, 325, 114, 984 277, 115, -1, 114, 335, 115, 114, 139, 270, 140, 985 115, -1, 114, 334, 115, -1, 157, 333, -1, 157, 986 235, 333, -1, 114, 335, 115, -1, 114, 335, 115, 987 355, -1, 114, 336, 115, 356, -1, 114, 336, 115, 988 -1, 338, 318, -1, 339, -1, 340, 318, -1, 341, 989 318, -1, 347, -1, 114, 338, 115, -1, 157, 337, 990 -1, 157, 235, 337, -1, 114, 339, 115, 318, -1, 991 338, 355, -1, 114, 339, 115, 355, -1, 114, 340, 992 115, 356, -1, 114, 340, 115, -1, 338, 114, 139, 993 270, 140, 115, -1, 114, 339, 115, 114, 139, 270, 994 140, 115, -1, 114, 341, 115, -1, 325, 318, -1, 995 343, -1, 344, 318, -1, 345, 318, -1, 157, 342, 996 -1, 157, 235, 342, -1, 114, 343, 115, 318, -1, 997 325, 361, -1, 114, 343, 115, 355, -1, 114, 344, 998 115, 356, -1, 114, 344, 115, -1, 325, 114, 139, 999 270, 140, 115, -1, 114, 343, 115, 114, 139, 270, 1000 140, 115, -1, 114, 345, 115, -1, 347, 318, -1, 1001 348, -1, 349, 318, -1, 350, 318, -1, 77, -1, 1002 78, -1, 157, 346, -1, 157, 235, 346, -1, 114, 1003 348, 115, 318, -1, 347, 361, -1, 114, 348, 115, 1004 361, -1, 347, 114, 139, 270, 140, 115, -1, 114, 1005 348, 115, 114, 139, 270, 140, 115, -1, 352, -1, 1006 353, 318, -1, 354, 318, -1, 157, -1, 157, 235, 1007 -1, 157, 351, -1, 157, 235, 351, -1, 114, 352, 1008 115, 318, -1, 355, -1, 114, 352, 115, 355, -1, 1009 114, 353, 115, 356, -1, 114, 353, 115, -1, 114, 1010 139, 270, 140, 115, -1, 114, 352, 115, 114, 139, 1011 270, 140, 115, -1, 114, 354, 115, -1, 116, 117, 1012 -1, 116, 117, 356, -1, 356, -1, 116, 139, 172, 1013 140, 117, -1, 116, 139, 122, 140, 117, -1, 356, 1014 116, 139, 172, 140, 117, -1, 356, 116, 139, 122, 1015 140, 117, -1, 358, -1, 359, 318, -1, 360, 318, 1016 -1, 157, -1, 157, 235, -1, 157, 357, -1, 157, 1017 235, 357, -1, 114, 358, 115, 318, -1, 361, -1, 1018 114, 358, 115, 361, -1, 114, 359, 115, 356, -1, 1019 114, 359, 115, -1, 114, 139, 270, 140, 115, -1, 1020 114, 358, 115, 114, 139, 270, 140, 115, -1, 114, 1021 360, 115, -1, 362, -1, 362, 356, -1, 356, -1, 1022 116, 117, -1, 116, 139, 235, 122, 140, 117, -1, 1023 116, 139, 235, 140, 117, -1, 116, 139, 235, 172, 1024 140, 117, -1, 116, 139, 7, 234, 172, 140, 117, 1025 -1, 116, 139, 235, 7, 172, 140, 117, -1, 364, 1026 -1, 365, 318, -1, 366, 318, -1, 157, -1, 157, 1027 235, -1, 157, 363, -1, 157, 235, 363, -1, 114, 1028 364, 115, 318, -1, 355, -1, 114, 364, 115, 355, 1029 -1, 114, 365, 115, 356, -1, 114, 365, 115, -1, 1030 114, 364, 115, 114, 139, 270, 140, 115, -1, 114, 1031 366, 115, -1, 368, -1, 376, -1, 235, 376, -1, 1032 369, -1, 370, -1, 157, 233, -1, 235, 157, 233, 1033 -1, 157, 377, -1, 235, 157, 377, -1, 157, 367, 1034 -1, 235, 157, 367, -1, 116, 117, 233, -1, 371, 1035 233, -1, 116, 117, 356, 233, -1, 371, 356, 233, 1036 -1, 356, 233, -1, 116, 117, 369, -1, 371, 369, 1037 -1, 116, 117, 356, 369, -1, 371, 356, 369, -1, 1038 356, 369, -1, 116, 139, 235, 122, 140, 117, -1, 1039 116, 139, 235, 172, 140, 117, -1, 116, 139, 239, 1040 172, 140, 117, -1, 116, 139, 239, 235, 172, 140, 1041 117, -1, 376, -1, 235, 376, -1, 373, -1, 374, 1042 -1, 375, -1, 157, 233, -1, 235, 157, 233, -1, 1043 157, 377, -1, 235, 157, 377, -1, 157, 372, -1, 1044 235, 157, 372, -1, 116, 117, 233, -1, 116, 117, 1045 356, 233, -1, 356, 233, -1, 116, 117, 374, -1, 1046 116, 117, 356, 374, -1, 356, 374, -1, 116, 139, 1047 269, 140, 117, -1, 376, 114, 139, 266, 140, 115, 1048 -1, 226, 114, 139, 266, 140, 115, -1, -1, 121, 1049 -1, -1, 136, 172, -1 1050 1050 }; 1051 1051 … … 1097 1097 1716, 1717, 1721, 1722, 1727, 1728, 1729, 1731, 1739, 1740, 1098 1098 1742, 1745, 1747, 1751, 1752, 1753, 1755, 1757, 1761, 1766, 1099 1774, 177 5, 1784, 1786, 1791, 1792, 1793, 1797, 1798, 1799,1100 180 3, 1804, 1805, 1809, 1810, 1811, 1816, 1817, 1822, 1823,1101 182 5, 1830, 1831, 1836, 1837, 1838, 1839, 1840, 1855, 1856,1102 186 1, 1862, 1868, 1870, 1873, 1875, 1877, 1900, 1901, 1903,1103 190 5, 1910, 1911, 1913, 1918, 1923, 1924, 1930, 1929, 1933,1104 193 7, 1939, 1941, 1943, 1949, 1950, 1955, 1960, 1962, 1967,1105 19 69, 1970, 1972, 1977, 1979, 1981, 1986, 1988, 1993, 1998,1106 200 6, 2012, 2011, 2025, 2026, 2031, 2032, 2036, 2041, 2046,1107 205 4, 2059, 2070, 2071, 2076, 2077, 2083, 2084, 2088, 2089,1108 209 0, 2095, 2094, 2105, 2113, 2119, 2125, 2134, 2140, 2146,1109 215 2, 2158, 2166, 2172, 2180, 2186, 2195, 2196, 2197, 2201,1110 220 7, 2208, 2218, 2219, 2223, 2224, 2229, 2234, 2235, 2241,1111 224 2, 2244, 2249, 2250, 2251, 2252, 2287, 2289, 2290, 2292,1112 229 7, 2302, 2307, 2309, 2311, 2316, 2318, 2320, 2322, 2327,1113 23 29, 2338, 2340, 2341, 2346, 2348, 2350, 2355, 2357, 2359,1114 236 4, 2366, 2368, 2380, 2381, 2382, 2386, 2388, 2390, 2395,1115 239 7, 2399, 2404, 2406, 2408, 2423, 2425, 2426, 2428, 2433,1116 243 4, 2439, 2441, 2443, 2448, 2450, 2452, 2454, 2459, 2461,1117 246 3, 2473, 2475, 2476, 2478, 2483, 2485, 2487, 2492, 2494,1118 249 6, 2498, 2503, 2505, 2507, 2520, 2522, 2523, 2525, 2530,1119 253 5, 2543, 2545, 2547, 2552, 2554, 2559, 2561, 2578, 2579,1120 258 1, 2586, 2588, 2590, 2592, 2594, 2599, 2600, 2602, 2604,1121 26 09, 2611, 2613, 2619, 2621, 2623, 2627, 2629, 2631, 2633,1122 266 7, 2668, 2670, 2675, 2677, 2679, 2681, 2683, 2688, 2689,1123 269 1, 2693, 2698, 2700, 2702, 2708, 2709, 2711, 2720, 2723,1124 272 5, 2728, 2730, 2732, 2746, 2747, 2749, 2754, 2756, 2758,1125 276 0, 2762, 2767, 2768, 2770, 2772, 2777, 2779, 2787, 2788,1126 27 89, 2794, 2795, 2799, 2801, 2803, 2805, 2807, 2809, 2816,1127 281 8, 2820, 2822, 2824, 2827, 2829, 2831, 2833, 2835, 2840,1128 284 2, 2844, 2849, 2875, 2876, 2878, 2882, 2883, 2887, 2889,1129 289 1, 2893, 2895, 2897, 2904, 2906, 2908, 2910, 2912, 2914,1130 29 19, 2926, 2928, 2946, 2948, 2953, 29541099 1774, 1776, 1785, 1787, 1792, 1793, 1794, 1798, 1799, 1800, 1100 1804, 1805, 1806, 1810, 1811, 1812, 1817, 1818, 1823, 1824, 1101 1826, 1831, 1832, 1837, 1838, 1839, 1840, 1841, 1856, 1857, 1102 1862, 1863, 1869, 1871, 1874, 1876, 1878, 1901, 1902, 1904, 1103 1906, 1911, 1912, 1914, 1919, 1924, 1925, 1931, 1930, 1934, 1104 1938, 1940, 1942, 1944, 1950, 1951, 1956, 1961, 1963, 1968, 1105 1970, 1971, 1973, 1978, 1980, 1982, 1987, 1989, 1994, 1999, 1106 2007, 2013, 2012, 2026, 2027, 2032, 2033, 2037, 2042, 2047, 1107 2055, 2060, 2071, 2072, 2077, 2078, 2084, 2085, 2089, 2090, 1108 2091, 2096, 2095, 2106, 2114, 2120, 2126, 2135, 2141, 2147, 1109 2153, 2159, 2167, 2173, 2181, 2187, 2196, 2197, 2198, 2202, 1110 2208, 2209, 2219, 2220, 2224, 2225, 2230, 2235, 2236, 2242, 1111 2243, 2245, 2250, 2251, 2252, 2253, 2288, 2290, 2291, 2293, 1112 2298, 2303, 2308, 2310, 2312, 2317, 2319, 2321, 2323, 2328, 1113 2330, 2339, 2341, 2342, 2347, 2349, 2351, 2356, 2358, 2360, 1114 2365, 2367, 2369, 2381, 2382, 2383, 2387, 2389, 2391, 2396, 1115 2398, 2400, 2405, 2407, 2409, 2424, 2426, 2427, 2429, 2434, 1116 2435, 2440, 2442, 2444, 2449, 2451, 2453, 2455, 2460, 2462, 1117 2464, 2474, 2476, 2477, 2479, 2484, 2486, 2488, 2493, 2495, 1118 2497, 2499, 2504, 2506, 2508, 2521, 2523, 2524, 2526, 2531, 1119 2536, 2544, 2546, 2548, 2553, 2555, 2560, 2562, 2579, 2580, 1120 2582, 2587, 2589, 2591, 2593, 2595, 2600, 2601, 2603, 2605, 1121 2610, 2612, 2614, 2620, 2622, 2624, 2628, 2630, 2632, 2634, 1122 2668, 2669, 2671, 2676, 2678, 2680, 2682, 2684, 2689, 2690, 1123 2692, 2694, 2699, 2701, 2703, 2709, 2710, 2712, 2721, 2724, 1124 2726, 2729, 2731, 2733, 2747, 2748, 2750, 2755, 2757, 2759, 1125 2761, 2763, 2768, 2769, 2771, 2773, 2778, 2780, 2788, 2789, 1126 2790, 2795, 2796, 2800, 2802, 2804, 2806, 2808, 2810, 2817, 1127 2819, 2821, 2823, 2825, 2828, 2830, 2832, 2834, 2836, 2841, 1128 2843, 2845, 2850, 2876, 2877, 2879, 2883, 2884, 2888, 2890, 1129 2892, 2894, 2896, 2898, 2905, 2907, 2909, 2911, 2913, 2915, 1130 2920, 2927, 2929, 2947, 2949, 2954, 2955 1131 1131 }; 1132 1132 #endif … … 1397 1397 0, 1, 1, 5, 1, 1, 5, 5, 1, 3, 1398 1398 3, 4, 1, 1, 1, 1, 2, 1, 3, 3, 1399 1, 2, 1, 3, 1, 1, 1, 1, 1, 1,1399 2, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1400 1400 1, 1, 1, 1, 1, 2, 1, 1, 0, 2, 1401 1401 2, 1, 4, 0, 1, 2, 3, 4, 2, 2, … … 1469 1469 108, 112, 500, 23, 454, 456, 499, 0, 453, 457, 1470 1470 0, 571, 586, 589, 592, 598, 601, 604, 2, 744, 1471 299, 747, 2, 72, 299, 3, 432, 0, 440, 300,1471 299, 747, 2, 72, 299, 3, 432, 0, 755, 300, 1472 1472 299, 312, 340, 292, 355, 362, 3, 3, 414, 418, 1473 1473 428, 433, 477, 299, 434, 711, 712, 299, 435, 437, … … 1494 1494 552, 552, 656, 484, 299, 2, 590, 591, 2, 602, 1495 1495 603, 0, 745, 748, 299, 299, 0, 713, 300, 717, 1496 708, 709, 715, 0, 2, 2, 673, 552, 755, 622,1497 552, 552, 755, 552, 636, 552, 552, 687, 441, 670,1498 552, 552, 678, 685, 299, 436, 300, 0, 0, 299,1499 723, 300, 728, 755, 720, 299, 725, 755, 299, 299,1500 0, 0, 21, 2, 0, 22, 0, 464, 753, 0,1501 0, 470, 247, 0, 299, 0, 0, 0, 552, 578,1502 5 80, 610, 552, 617, 620, 573, 612, 0, 285, 0,1503 28 9, 663, 0, 299, 282, 0, 0, 0, 0, 280,1504 2, 0, 265, 541, 299, 0, 0, 299, 0, 300,1505 3, 421, 3, 425, 424, 596, 0, 536, 299, 72,1506 3, 299, 440, 300, 3, 434, 435, 2, 0, 0,1507 0, 489, 311, 299, 0, 485, 487, 754, 0, 0,1508 403, 0, 3, 2, 2, 0, 507, 3, 0, 559,1509 40, 530, 0, 2, 0, 0, 0, 41, 0, 0,1510 299, 24, 0, 25, 0, 114, 3, 2, 32, 0,1511 38, 0, 2, 29, 0, 113, 81, 82, 83, 85,1512 8 6, 88, 89, 93, 94, 91, 92, 96, 97, 99,1513 101, 103, 105, 107, 0, 0, 299, 0, 0, 0,1514 652, 653, 649, 650, 502, 501, 299, 299, 719, 299,1515 724, 300, 299, 667, 710, 666, 2, 299, 0, 0,1516 0, 0, 0, 0, 0, 0, 688, 0, 674, 625,1517 6 41, 675, 2, 621, 628, 438, 623, 624, 439, 2,1518 635, 644, 637, 638, 671, 672, 686, 714, 718, 716,1519 7 55, 273, 2, 750, 2, 429, 722, 727, 430, 3,1520 408, 3, 3, 3, 458, 0, 0, 2, 472, 469,1521 754, 0, 465, 2, 468, 471, 0, 299, 248, 270,1522 3, 277, 279, 0, 2, 574, 576, 577, 2, 613,1523 615, 616, 550, 0, 664, 542, 3, 352, 351, 354,1524 35 3, 299, 543, 0, 544, 0, 299, 371, 391, 380,1525 0, 385, 379, 0, 0, 443, 246, 0, 0, 3,1526 2, 673, 436, 0, 532, 0, 755, 756, 494, 405,1527 399, 111, 406, 753, 0, 299, 299, 299, 0, 556,1528 558, 0, 65, 299, 0, 67, 70, 71, 0, 133,1529 463, 79, 115, 130, 3, 114, 0, 28, 40, 3,1530 0, 37, 110, 0, 3, 552, 659, 662, 654, 3,1531 3, 721, 726, 2, 72, 299, 3, 3, 300, 0,1532 3, 552, 631, 634, 552, 552, 681, 684, 299, 3,1533 626, 642, 676, 299, 299, 431, 299, 299, 0, 0,1534 0, 0, 262, 111, 0, 3, 3, 0, 466, 0,1535 46 2, 0, 0, 251, 299, 0, 0, 134, 0, 0,1536 0, 0, 0, 134, 0, 0, 114, 114, 226, 21,1537 366, 446, 69, 0, 22, 135, 0, 3, 136, 137,1538 2, 148, 138, 139, 140, 141, 142, 143, 150, 0,1539 15 2, 0, 0, 0, 299, 299, 458, 552, 0, 545,1540 379, 391, 0, 0, 0, 697, 0, 389, 392, 396,1541 552, 396, 702, 395, 694, 552, 552, 388, 381, 386,1542 299, 584, 2, 669, 668, 0, 674, 2, 486, 488,1543 4 04, 0, 509, 3, 517, 518, 0, 2, 513, 3,1544 3, 0, 0, 561, 0, 753, 114, 0, 3, 54,1545 0, 54, 54, 3, 42, 44, 39, 0, 3, 109,1546 0, 2, 655, 657, 658, 0, 0, 299, 0, 0,1547 0, 3, 552, 0, 2, 627, 629, 630, 2, 643,1548 645, 2, 677, 679, 680, 0, 0, 72, 0, 3,1549 3, 3, 3, 416, 415, 419, 752, 2, 2, 751,1550 0, 0, 0, 0, 3, 467, 3, 0, 249, 151,1551 153, 0, 0, 0, 0, 2, 197, 0, 195, 0,1552 0, 0, 0, 0, 0, 0, 0, 227, 0, 0,1553 157, 154, 299, 0, 552, 0, 272, 284, 3, 3,1554 290, 551, 618, 299, 0, 382, 0, 0, 0, 0,1555 398, 698, 699, 552, 383, 393, 397, 394, 695, 696,1556 387, 374, 299, 271, 299, 402, 0, 520, 497, 299,1557 0, 0, 496, 511, 68, 0, 131, 128, 0, 51,1558 2, 45, 52, 53, 0, 0, 0, 0, 27, 0,1559 660, 299, 585, 597, 729, 730, 731, 0, 682, 299,1560 299, 299, 3, 3, 0, 690, 0,0, 0, 0,1561 299, 299, 3, 549, 473, 474, 0, 252, 0, 0,1562 0, 0, 299, 198, 196, 0, 193, 199, 0, 0,1563 0, 0, 203, 206, 204, 200, 0, 201, 0, 0,1564 40, 149, 147, 134, 250, 0, 0, 375, 384, 552,1565 705, 707, 700, 391, 423, 427, 426, 0, 514, 2,1566 51 5, 2, 516, 510, 299, 36, 129, 55, 0, 43,1567 33, 2, 49, 2, 47, 30, 3, 732, 3, 3,1568 3, 0, 0, 689, 691, 632, 646, 274, 2, 413,1569 3, 412, 0, 476, 134, 0, 0, 134, 3, 0,1570 134, 3, 300, 299, 194, 0, 2, 2, 215, 205,1571 0, 0, 0, 0, 0, 0, 145, 579, 619, 2,1572 701, 703, 704, 390, 2, 0, 0, 2, 3, 0,1573 0, 0, 0, 0, 0, 692, 693, 299, 0, 475,1574 158, 0, 0, 2, 171, 134, 160, 0, 188, 0,1575 1 34, 0, 300, 2, 162, 0, 2, 0, 2, 2,1576 2, 202, 0, 0, 228, 37, 299, 299, 519, 521,1577 51 2, 0, 3, 3, 661, 633, 647, 683, 417, 134,1578 164, 167, 0, 166, 170, 3, 173, 172, 0, 134,1579 190, 134, 3, 0, 299, 0, 299, 0, 2, 0,1580 2, 0, 221, 0, 0, 0, 229, 230, 144, 3,1581 2, 46, 0, 0, 159, 0, 0, 169, 239, 174,1582 2, 241, 189, 0, 192, 178, 207, 3, 216, 220,1583 2 09, 3, 0, 299, 0, 299, 228, 0, 0, 0,1584 228, 0, 0, 0, 50, 48, 165, 168, 134, 0,1585 1 75, 299, 134, 134, 0, 179, 0, 0, 697, 217,1586 218, 219, 0, 208, 3, 210, 3, 0, 0, 0,1587 222, 0, 231, 706, 299, 155, 176, 161, 134, 242,1588 1 91, 186, 184, 180, 163, 134, 0, 698, 0, 0,1589 0, 234, 0, 232, 0, 234, 0, 156, 177, 187,1590 1 81, 185, 184, 182, 3, 3, 0, 0, 235, 0,1591 0, 223, 0, 498, 183, 211, 213, 3, 3, 0,1592 0, 0, 0, 212, 214, 236, 237, 0, 233, 224,1593 0, 0, 225, 2381496 708, 709, 715, 0, 2, 2, 0, 673, 552, 755, 1497 622, 552, 552, 755, 552, 636, 552, 552, 687, 755, 1498 670, 552, 552, 678, 685, 440, 299, 436, 300, 0, 1499 0, 299, 723, 300, 728, 755, 720, 299, 725, 755, 1500 299, 299, 0, 0, 21, 2, 0, 22, 0, 464, 1501 753, 0, 0, 470, 247, 0, 299, 0, 0, 0, 1502 552, 578, 580, 610, 552, 617, 620, 573, 612, 0, 1503 285, 0, 289, 663, 0, 299, 282, 0, 0, 0, 1504 0, 280, 2, 0, 265, 541, 299, 0, 0, 299, 1505 0, 300, 3, 421, 3, 425, 424, 596, 0, 536, 1506 299, 72, 3, 299, 755, 300, 3, 434, 435, 2, 1507 0, 0, 0, 489, 311, 299, 485, 487, 754, 0, 1508 0, 403, 0, 3, 2, 2, 0, 507, 3, 0, 1509 559, 40, 530, 0, 2, 0, 0, 0, 41, 0, 1510 0, 299, 24, 0, 25, 0, 114, 3, 2, 32, 1511 0, 38, 0, 2, 29, 0, 113, 81, 82, 83, 1512 85, 86, 88, 89, 93, 94, 91, 92, 96, 97, 1513 99, 101, 103, 105, 107, 0, 0, 299, 0, 0, 1514 0, 652, 653, 649, 650, 502, 501, 299, 299, 719, 1515 299, 724, 300, 299, 667, 710, 666, 2, 299, 0, 1516 0, 0, 0, 0, 0, 0, 0, 688, 0, 756, 1517 674, 625, 641, 675, 2, 621, 628, 438, 623, 624, 1518 439, 2, 635, 644, 637, 638, 441, 671, 672, 686, 1519 714, 718, 716, 755, 273, 2, 750, 2, 429, 722, 1520 727, 430, 3, 408, 3, 3, 3, 458, 0, 0, 1521 2, 472, 469, 754, 0, 465, 2, 468, 471, 0, 1522 299, 248, 270, 3, 277, 279, 0, 2, 574, 576, 1523 577, 2, 613, 615, 616, 550, 0, 664, 542, 3, 1524 352, 351, 354, 353, 299, 543, 0, 544, 0, 299, 1525 371, 391, 380, 0, 385, 379, 0, 0, 443, 246, 1526 0, 0, 3, 2, 673, 436, 0, 532, 0, 755, 1527 494, 405, 399, 111, 406, 753, 0, 299, 299, 299, 1528 0, 556, 558, 0, 65, 299, 0, 67, 70, 71, 1529 0, 133, 463, 79, 115, 130, 3, 114, 0, 28, 1530 40, 3, 0, 37, 110, 0, 3, 552, 659, 662, 1531 654, 3, 3, 721, 726, 2, 72, 299, 3, 3, 1532 300, 0, 3, 552, 631, 634, 552, 552, 681, 684, 1533 299, 3, 626, 642, 676, 299, 299, 431, 299, 299, 1534 0, 0, 0, 0, 262, 111, 0, 3, 3, 0, 1535 466, 0, 462, 0, 0, 251, 299, 0, 0, 134, 1536 0, 0, 0, 0, 0, 134, 0, 0, 114, 114, 1537 226, 21, 366, 446, 69, 0, 22, 135, 0, 3, 1538 136, 137, 2, 148, 138, 139, 140, 141, 142, 143, 1539 150, 0, 152, 0, 0, 0, 299, 299, 458, 552, 1540 0, 545, 379, 391, 0, 0, 0, 697, 0, 389, 1541 392, 396, 552, 396, 702, 395, 694, 552, 552, 388, 1542 381, 386, 299, 584, 2, 669, 668, 0, 674, 2, 1543 486, 488, 404, 0, 509, 3, 517, 518, 0, 2, 1544 513, 3, 3, 0, 0, 561, 0, 753, 114, 0, 1545 3, 54, 0, 54, 54, 3, 42, 44, 39, 0, 1546 3, 109, 0, 2, 655, 657, 658, 0, 0, 299, 1547 0, 0, 0, 3, 552, 0, 2, 627, 629, 630, 1548 2, 643, 645, 2, 677, 679, 680, 0, 0, 72, 1549 0, 3, 3, 3, 3, 416, 415, 419, 752, 2, 1550 2, 751, 0, 0, 0, 0, 3, 467, 3, 0, 1551 249, 151, 153, 0, 0, 0, 0, 2, 197, 0, 1552 195, 0, 0, 0, 0, 0, 0, 0, 0, 227, 1553 0, 0, 157, 154, 299, 0, 552, 0, 272, 284, 1554 3, 3, 290, 551, 618, 299, 0, 382, 0, 0, 1555 0, 0, 398, 698, 699, 552, 383, 393, 397, 394, 1556 695, 696, 387, 374, 299, 271, 299, 402, 0, 520, 1557 497, 299, 0, 0, 496, 511, 68, 0, 131, 128, 1558 0, 51, 2, 45, 52, 53, 0, 0, 0, 0, 1559 27, 0, 660, 299, 585, 597, 729, 730, 731, 0, 1560 682, 299, 299, 299, 3, 3, 0, 690, 0, 0, 1561 0, 0, 299, 299, 3, 549, 473, 474, 0, 252, 1562 0, 0, 0, 0, 299, 198, 196, 0, 193, 199, 1563 0, 0, 0, 0, 203, 206, 204, 200, 0, 201, 1564 0, 0, 40, 149, 147, 134, 250, 0, 0, 375, 1565 384, 552, 705, 707, 700, 391, 423, 427, 426, 0, 1566 514, 2, 515, 2, 516, 510, 299, 36, 129, 55, 1567 0, 43, 33, 2, 49, 2, 47, 30, 3, 732, 1568 3, 3, 3, 0, 0, 689, 691, 632, 646, 274, 1569 2, 413, 3, 412, 0, 476, 134, 0, 0, 134, 1570 3, 0, 134, 3, 300, 299, 194, 0, 2, 2, 1571 215, 205, 0, 0, 0, 0, 0, 0, 145, 579, 1572 619, 2, 701, 703, 704, 390, 2, 0, 0, 2, 1573 3, 0, 0, 0, 0, 0, 0, 692, 693, 299, 1574 0, 475, 158, 0, 0, 2, 171, 134, 160, 0, 1575 188, 0, 134, 0, 300, 2, 162, 0, 2, 0, 1576 2, 2, 2, 202, 0, 0, 228, 37, 299, 299, 1577 519, 521, 512, 0, 3, 3, 661, 633, 647, 683, 1578 417, 134, 164, 167, 0, 166, 170, 3, 173, 172, 1579 0, 134, 190, 134, 3, 0, 299, 0, 299, 0, 1580 2, 0, 2, 0, 221, 0, 0, 0, 229, 230, 1581 144, 3, 2, 46, 0, 0, 159, 0, 0, 169, 1582 239, 174, 2, 241, 189, 0, 192, 178, 207, 3, 1583 216, 220, 209, 3, 0, 299, 0, 299, 228, 0, 1584 0, 0, 228, 0, 0, 0, 50, 48, 165, 168, 1585 134, 0, 175, 299, 134, 134, 0, 179, 0, 0, 1586 697, 217, 218, 219, 0, 208, 3, 210, 3, 0, 1587 0, 0, 222, 0, 231, 706, 299, 155, 176, 161, 1588 134, 242, 191, 186, 184, 180, 163, 134, 0, 698, 1589 0, 0, 0, 234, 0, 232, 0, 234, 0, 156, 1590 177, 187, 181, 185, 184, 182, 3, 3, 0, 0, 1591 235, 0, 0, 223, 0, 498, 183, 211, 213, 3, 1592 3, 0, 0, 0, 0, 212, 214, 236, 237, 0, 1593 233, 224, 0, 0, 225, 238 1594 1594 }; 1595 1595 … … 1597 1597 static const yytype_int16 yydefgoto[] = 1598 1598 { 1599 -1, 77 7, 454, 292, 49, 130, 131, 293, 294, 272,1600 295, 296, 7 29, 730, 1073, 1074, 1075, 1199, 297, 369,1599 -1, 778, 454, 292, 49, 130, 131, 293, 294, 272, 1600 295, 296, 730, 731, 1075, 1076, 1077, 1201, 297, 369, 1601 1601 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 1602 309, 310, 311, 96 4, 508, 913, 534, 313, 914, 995,1603 99 6, 1495, 998, 999, 1000, 1001, 1496, 1002, 1003, 1401,1604 140 2, 1364, 1365, 1366, 1469, 1470, 1474, 1475, 1520, 1521,1605 100 4, 1319, 1005, 1006, 1252, 1253, 1254, 1447, 1007, 1148,1606 142 5, 1426, 1427, 1529, 1547, 1439, 1440, 455, 456, 837,1607 8 38, 972, 52, 53, 54, 55, 56, 336, 153, 59,1602 309, 310, 311, 966, 508, 915, 534, 313, 916, 997, 1603 998, 1497, 1000, 1001, 1002, 1003, 1498, 1004, 1005, 1403, 1604 1404, 1366, 1367, 1368, 1471, 1472, 1476, 1477, 1522, 1523, 1605 1006, 1321, 1007, 1008, 1254, 1255, 1256, 1449, 1009, 1150, 1606 1427, 1428, 1429, 1531, 1549, 1441, 1442, 455, 456, 840, 1607 841, 974, 52, 53, 54, 55, 56, 336, 153, 59, 1608 1608 60, 61, 62, 180, 338, 64, 65, 252, 67, 68, 1609 1609 262, 340, 341, 71, 72, 73, 117, 75, 198, 343, 1610 118, 78, 119, 80, 81, 6 68, 82, 667, 869, 870,1611 102 6, 1027, 1175, 1028, 83, 481, 479, 700, 819, 820,1612 346, 347, 67 0, 671, 672, 348, 349, 673, 351, 452,1613 10 09, 132, 133, 315, 316, 165, 627, 628, 629, 630,1614 63 1, 84, 120, 86, 476, 477, 888, 478, 267, 485,1615 317, 87, 134, 135, 88, 128 4, 1057, 1058, 1059, 1060,1616 89, 90, 6 88, 91, 261, 92, 93, 181, 966, 662,1610 118, 78, 119, 80, 81, 670, 82, 669, 872, 873, 1611 1028, 1029, 1177, 1030, 83, 481, 479, 701, 822, 823, 1612 346, 347, 672, 673, 674, 348, 349, 675, 351, 452, 1613 1011, 132, 133, 315, 316, 165, 629, 630, 631, 632, 1614 633, 84, 120, 86, 476, 477, 890, 478, 267, 485, 1615 317, 87, 134, 135, 88, 1286, 1059, 1060, 1061, 1062, 1616 89, 90, 690, 91, 261, 92, 93, 181, 968, 664, 1617 1617 400, 124, 94, 491, 492, 493, 182, 256, 184, 185, 1618 1618 186, 257, 97, 98, 99, 100, 101, 102, 103, 189, 1619 190, 191, 192, 193, 7 89, 589, 590, 591, 592, 194,1620 59 4, 595, 596, 558, 559, 560, 561, 1032, 104, 598,1621 599, 600, 601, 602, 603, 1033, 1034, 1035, 1036, 579,1619 190, 191, 192, 193, 791, 590, 591, 592, 593, 194, 1620 595, 596, 597, 558, 559, 560, 561, 1034, 104, 599, 1621 600, 601, 602, 603, 604, 1035, 1036, 1037, 1038, 579, 1622 1622 354, 355, 356, 357, 318, 159, 106, 107, 108, 359, 1623 69 8, 6951623 699, 605 1624 1624 }; 1625 1625 1626 1626 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1627 1627 STATE-NUM. */ 1628 #define YYPACT_NINF -13 101628 #define YYPACT_NINF -1330 1629 1629 static const yytype_int16 yypact[] = 1630 1630 { 1631 7432, 9239, -1310, -42, -1310, -1310, -1310, -1310, -1310, -1310,1632 -13 10, 44, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1633 -13 10, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 149, -1310,1634 -13 10, 1382, 763, 211, 7674, 214, -1310, -1310, -1310, -1310,1635 -13 10, 245, -1310, -1310, -1310, 606, 257, -1310, -1310, -1310,1636 -13 10, 4978, -1310, -1310, -1310, 40, 278, -1310, 1536, -1310,1637 -13 10, -1310, -1310, 1664, 381, 37, 7795, -1310, -1310, 4978,1638 814, -1310, -1310, 1171, 401, 6966, 718, 988, 1171, 1209,1639 -13 10, -1310, 149, -1310, 1171, 1411, -1310, 294, -1310, 441,1640 4 71, -1310, -1310, -1310, -1310, 367, 278, 149, -1310, 149,1641 -13 10, -1310, -1310, -1310, 7829, 1536, -1310, -1310, 1536, -1310,1642 3 53, -1310, 7949, -1310, -1310, 2111, 8264, -1310, 865, 865,1643 865, -1310, -1310, 898, 149, -1310, 370, 384, 387, -1310,1644 -13 10, -1310, 392, -1310, -1310, -1310, -1310, -1310, 410, 415,1645 -13 10, 475, 8805, 1075, 585, 424, 449, 461, 472, 501,1646 5 37, 9479, 7056, 453, -1310, 9199, -1310, -1310, -1310, -1310,1647 5 26, -1310, 268, 5151, 5151, -1310, 549, 298, -1310, -1310,1648 -13 10, -1310, 560, 437, 445, 452, -1310, -1310, 1664, 2742,1649 571, 644, -1310, 248, -1310, 149, 149, 278, -1310, -1310,1650 269, -1310, 149, 149, -1310, 3298, 636, 641, 865, 6718,1651 -13 10, -1310, -1310, 4978, -1310, -1310, 1171, -1310, -1310, -1310,1652 278, -1310, 1536, 40, -1310, 7915, -1310, 865, 865, 865,1653 278, -1310, 1382, -1310, 5120, -1310, -1310, 649, 865, -1310,1654 865, -1310, 820, 865, -1310, 1382, 657, 665, -1310, 7674,1655 627, -1310, -1310, -1310, 9166, -1310, -1310, 8721, -1310, 644,1656 267, 10207, 8264, 2111, 3298, -1310, 309, -1310, -1310, 7949,1657 1 536, 645, 10880, 763, 654, -1310, -1310, 318, -1310, 333,1658 -13 10, 692, 733, 10266, 719, 10207, 10325, -1310, 758, -1310,1659 -13 10, -1310, -1310, -1310, 10384, 10384, 8569, 257, -1310, -1310,1660 -13 10, -1310, -1310, -1310, -1310, -1310, 2184, 1919, 8805, 10207,1661 -13 10, 632, 617, 734, 418, 922, 757, 751, 754, 792,1662 176, -1310, -1310, -1310, 681, -1310, -1310, 140, -1310, -1310,1663 1075, -1310, -1310, 136, 780, -1310, 778, 780, -1310, -1310,1664 7829, -1310, 788, 795, 8923, -1310, -1310, 1034, 1178, 8350,1665 6 718, 1171, -1310, 1171, 865, 865, -1310, -1310, -1310, -1310,1666 -13 10, -1310, 865, 7829, 1536, -1310, -1310, 9479, 1304, -1310,1667 -13 10, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 4692, 10207,1668 -13 10, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1669 -13 10, -1310, -1310, -1310, 618, 810, 815, 817, 939, 833,1670 8 38, 842, 2742, -1310, -1310, 149, 823, 858, 40, 866,1671 -13 10, -1310, 877, -1310, -1310, -1310, 9166, -1310, -1310, -1310,1672 -13 10, -1310, 3298, -1310, 8805, 8805, -1310, 865, 2111, 6842,1673 8 425, -1310, -1310, -1310, -1310, 9166, 267, -1310, -1310, 1171,1674 278, -1310, -1310, 9166, -1310, 5284, -1310, -1310, 865, 865,1675 2 45, 8805, -1310, 893, -1310, 865, -1310, -1310, -1310, -1310,1676 9 637, -1310, 315, 10620, -1310, 278, 905, -1310, 2111, 10660,1677 10 443, -1310, -1310, -1310, -1310, 951, 3298, -1310, 8425, 644,1678 7 553, -1310, -1310, -1310, -1310, 712, 404, 878, 763, 908,1679 8 99, 912, 10880, 840, 7949, -1310, 10880, -1310, -1310, -1310,1680 -13 10, 431, -1310, 924, 920, -1310, 8569, -1310, 9512, -1310,1681 -13 10, 8569, -1310, 8687, 8569, -1310, -1310, 257, -1310, 476,1682 928, 934, -1310, 6808, -1310, 506, -1310, -1310, 10207, -1310,1683 825, 10207, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1684 -13 10, -1310, -1310, -1310, 10207, -1310, -1310, 10207, 10207, 10207,1685 10 207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207,1686 10 207, 10207, 10207, 10207, 10207, 3915, 681, 1833, -1310, -1310,1687 1 49, 149, -1310, -1310, 8805, -1310, -1310, 877, -1310, -1310,1688 8 77, 10502, -1310, -1310, 9479, 6808, 964, -1310, 8264, -1310,1689 -13 10, 526, -1310, 967, 629, 986, 2026, 331, 878, -1310,1690 149, 149, 878, 374, -1310, 149, 149, 877, -1310, -1310,1691 149, 149, -1310, 780, 9597, 1536, 10811, 359, 543, 9597,1692 -1310, 8721, -1310, 878, -1310, 7829, -1310, 84, 8035, 8035,1693 1536, 5625, 990, -1310, 1501, 991, 995, -1310, 1011, 5151,1694 412, -1310, 1102, 1536, 8035, 627, 2111, 627, 407, 780,1695 -1310, -1310, 419, 780, -1310, -1310, -1310, 2111, -1310, 475,1696 -13 10, 780, 278, 9637, -1310, 517, 1020, 546, 1021, -1310,1697 788, 278, -1310, -1310, 9166, 278, 557, 9324, 1019, 10811,1698 -1310, -1310, 1025, -1310, -1310, -1310, 627, -1310, 10736, 795,1699 -1310, 8035, 848, 8350, -1310, -1310, 526, 1022, 1023, 712,1700 1691, -1310, -1310, 10880, 10207, -1310, -1310, 763, 1024, 10207,1701 -1310, 763, 1026, -1310, -1310, 1035, -1310, 1026, 1040, 333,1702 10207, -1310, 1046, 257, 1044, 1051, 1052, -1310, 1053, 1054,1703 6808, -1310, 10207, -1310, 10148, 10207, 1063, -1310, -1310, 615,1704 -1310, 10207, -1310, -1310, 906, -1310, -1310, -1310, -1310, 632,1705 632, 617, 617, 734, 734, 734, 734, 418, 418, 922,1706 757, 751, 754, 792, 10207, 231, 9637, 1058, 1059, 1070,1707 1833, -1310, -1310, -1310, -1310, -1310, 9637, 9637, -1310, 7829,1708 -1310, 7180, 9041, -1310, -1310, -1310, 629, 9637, 960, 1073,1709 1076, 1078, 1079, 1080, 1081, 1084, -1310, 2169, 2026, -1310,1710 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1711 -13 10, -1310, -1310, -1310, -1310, -1310, 877, -1310, -1310, -1310,1712 878, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1713 -13 10, 1086, 1087, -1310, 40, 1063, 5625, -1310, -1310, -1310,1714 4692, 1066, -1310, -1310, -1310, -1310, 763, 6230, 1159, -1310,1715 -1310, -1310, -1310, 1069, -1310, -1310, -1310, 877, -1310, -1310,1716 -1310, 877, 644, 1093, 877, -1310, -1310, -1310, -1310, -1310,1717 -13 10, 7056, -1310, 278, -1310, 1091, 9512, -1310, 1575, -1310,1718 494, 763, -1310, 1101, 1103, -1310, -1310, 1110, 1113, -1310,1719 848, 1897, -1310, 593, -1310, 1691, 878, -1310, -1310, 899,1720 -13 10, -1310, -1310, 908, 1116, 10880, 7949, 8805, 1118, -1310,1721 -1310, 647, 1115, 7056, 627, 1115, -1310, -1310, 1115, -1310,1722 4692, -1310, -1310, -1310, 1114, 10207, 1183, -1310, 10207, -1310,1723 1183, -1310, -1310, 10207, -1310, 455, 780, -1310, -1310, -1310,1724 -13 10, -1310, -1310, -1310, 795, 8923, -1310, -1310, 7304, 1121,1725 -1310, 463, 780, -1310, 474, 490, 780, -1310, 865, 3741,1726 -1310, -1310, -1310, 9637, 9637, -1310, 8425, 8425, 1123, 1119,1727 1 125, 1124, -1310, 668, 173, 1063, -1310, 1183, -1310, 5151,1728 -13 10, 10207, 508, -1310, 6684, 1128, 1134, 10089, 1135, 1138,1729 736, 994, 973, 10207, 1140, 278, 10207, 10207, 1248, 1139,1730 11 42, 245, 114, 849, 1145, 1154, 1149, -1310, -1310, -1310,1731 1162, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1155,1732 -13 10, 763, 1174, 10207, 9637, 9637, 40, 149, 1176, -1310,1733 -1310, 1575, 513, 1885, 10207, 2419, 522, -1310, -1310, 1163,1734 70, 1163, -1310, -1310, -1310, 149, 149, 763, -1310, -1310,1735 9364, -1310, -1310, -1310, -1310, 1184, 1897, -1310, -1310, 1127,1736 -13 10, 1187, -1310, 1026, -1310, -1310, 2111, 1189, -1310, -1310,1737 -13 10, 659, 1197, -1310, 1188, 1011, 10207, 1205, 1114, -1310,1738 525, -1310, -1310, 1204, -1310, 50, -1310, 1212, 1204, -1310,1739 1 219, -1310, -1310, -1310, 877, 1220, 1222, 6932, 1221, 1223,1740 1 224, -1310, 149, 1232, -1310, -1310, -1310, 877, -1310, -1310,1741 -13 10, -1310, -1310, -1310, 877, 10207, 10207, 795, 1234, -1310,1742 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1743 10207, 10207, 1237, 1238, 1204, -1310, -1310, 763, -1310, -1310,1744 -13 10, 10207, 10207, 1308, 10207, -1310, -1310, 1225, -1310, 1226,1745 10207, 1230, 1235, 10207, 1038, 1240, 232, -1310, 20, 2239,1746 -1310, -1310, 6230, 1241, 149, 528, -1310, -1310, -1310, -1310,1747 -13 10, -1310, -1310, 9439, 534, -1310, 925, 1249, 1256, 1260,1748 -1310, 2419, -1310, 149, -1310, -1310, -1310, -1310, -1310, -1310,1749 -13 10, -1310, 9905, -1310, 8425, -1310, 1270, -1310, -1310, 7949,1750 561, 570, -1310, 1266, -1310, 1267, -1310, -1310, 1271, 1303,1751 -1310, -1310, 1303, 1303, 1183, 1274, 690, 1071, -1310, 1277,1752 -13 10, 9637, -1310, -1310, -1310, -1310, -1310, 1280, -1310, 9637,1753 9637, 9637, -1310, -1310, 1281, -1310, 1283, 1286, 1289, 691,1754 8110, 8230, -1310, -1310, -1310, -1310, 1288, -1310, 746, 769,1755 1292, 828, 6537, -1310, -1310, 575, -1310, -1310, 829, 1294,1756 1295, 278, 1347, 985, -1310, -1310, 10207, -1310, 1297, 475,1757 10207, -1310, -1310, 10089, -1310, 1301, 1302, -1310, -1310, 495,1758 780, -1310, -1310, 1575, -1310, -1310, -1310, 1293, -1310, -1310,1759 -13 10, -1310, -1310, -1310, 7949, -1310, -1310, -1310, 1183, -1310,1760 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1761 -13 10, 1310, 1312, -1310, -1310, -1310, -1310, -1310, -1310, -1310,1762 1321, -1310, 1320, -1310, 10089, 73, 10207, 10089, -1310, 1326,1763 10207, -1310, 6452, 7949, -1310, 348, 1318, 1341, -1310, -1310,1764 1329, 1330, 1309, 475, 220, 958, -1310, -1310, -1310, -1310,1765 -13 10, -1310, 877, -1310, -1310, 1536, 2111, 1331, 1204, 1183,1766 11 83, 1335, 1340, 1348, 1349, -1310, -1310, 8425, 1344, -1310,1767 1 417, 10207, 1334, -1310, -1310, 9999, -1310, 864, -1310, 1337,1768 10089, 1338, 8500, -1310, -1310, 1351, -1310, 1357, -1310, 1383,1769 1386, -1310, 1353, 1346, 66, 1354, 9637, 7949, -1310, -1310,1770 -13 10, 1376, 1204, 1204, -1310, -1310, -1310, -1310, -1310, 10089,1771 240, -1310, 305, -1310, -1310, 6145, -1310, -1310, 1362, 10207,1772 -1310, 10207, 6145, 278, 9512, 278, 9512, 1385, -1310, 1388,1773 -13 10, 1369, -1310, 10207, 1392, 265, 1387, -1310, -1310, -1310,1774 1390, -1310, 1395, 1397, -1310, 10207, 10207, -1310, -1310, 1043,1775 89, -1310, -1310, 1379, -1310, 1043, -1310, -1310, 1975, 627,1776 -1310, -1310, 278, 9512, 278, 9512, 66, 1400, 10207, 1384,1777 66, 66, 1408, 1412, -1310, -1310, -1310, -1310, 9999, 1410,1778 1043, 6373, 10207, 9909, 1415, 1043, 1413, 1975, 2924, -1310,1779 -1310, -1310, 1424, -1310, -1310, -1310, -1310, 1406, 475, 1427,1780 -1310, 292, -1310, -1310, 8805, -1310, 9771, -1310, 9999, -1310,1781 -1310, 1409, 9681, -1310, -1310, 9909, 278, 2924, 278, 1430,1782 1434, 475, 1436, -1310, 1418, 475, 875, -1310, 9771, -1310,1783 -1310, -1310, 9681, -1310, -1310, -1310, 278, 278, -1310, 313,1784 10207, -1310, 894, -1310, -1310, -1310, -1310, -1310, -1310, 475,1785 627, 1439, 1422, -1310, -1310, -1310, -1310, 895, -1310, -1310,1786 1423, 627, -1310, -13101631 6225, 5848, -1330, 41, -1330, -1330, -1330, -1330, -1330, -1330, 1632 -1330, 44, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1633 -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 160, -1330, 1634 -1330, 1888, 1143, 152, 7885, 161, -1330, -1330, -1330, -1330, 1635 -1330, 267, -1330, -1330, -1330, 930, 170, -1330, -1330, -1330, 1636 -1330, 3147, -1330, -1330, -1330, 75, 301, -1330, 1958, -1330, 1637 -1330, -1330, -1330, 1627, 423, 40, 8006, -1330, -1330, 3147, 1638 760, -1330, -1330, 725, 435, 4274, 1756, 809, 725, 987, 1639 -1330, -1330, 160, -1330, 725, 1086, -1330, 265, -1330, 447, 1640 450, -1330, -1330, -1330, -1330, 351, 301, 160, -1330, 160, 1641 -1330, -1330, -1330, -1330, 8356, 1958, -1330, -1330, 1958, -1330, 1642 337, -1330, 8476, -1330, -1330, 1743, 9451, -1330, 1134, 1134, 1643 1134, -1330, -1330, 862, 160, -1330, 432, 459, 482, -1330, 1644 -1330, -1330, 487, -1330, -1330, -1330, -1330, -1330, 511, 519, 1645 -1330, 413, 9017, 2489, 116, 434, 446, 525, 537, 556, 1646 561, 9526, 7391, 567, -1330, 3761, -1330, -1330, -1330, -1330, 1647 570, -1330, 105, 5159, 5159, -1330, 586, 266, -1330, -1330, 1648 -1330, -1330, 601, 369, 380, 402, -1330, -1330, 1627, 1992, 1649 603, 654, -1330, 56, -1330, 160, 160, 301, -1330, -1330, 1650 68, -1330, 160, 160, -1330, 2640, 630, 635, 1134, 6918, 1651 -1330, -1330, -1330, 3147, -1330, -1330, 725, -1330, -1330, -1330, 1652 301, -1330, 1958, 75, -1330, 8202, -1330, 1134, 1134, 1134, 1653 301, -1330, 1888, -1330, 3470, -1330, -1330, 610, 1134, -1330, 1654 1134, -1330, 1182, 1134, -1330, 1888, 619, 624, -1330, 7885, 1655 540, -1330, -1330, -1330, 9378, -1330, -1330, 3910, -1330, 654, 1656 53, 10308, 9451, 1743, 2640, -1330, 69, -1330, -1330, 8476, 1657 1958, 656, 10981, 1143, 666, -1330, -1330, 383, -1330, 453, 1658 -1330, 692, 757, 10367, 729, 10308, 10426, -1330, 743, -1330, 1659 -1330, -1330, -1330, -1330, 10485, 10485, 8781, 170, -1330, -1330, 1660 -1330, -1330, -1330, -1330, -1330, -1330, 1854, 1766, 9017, 10308, 1661 -1330, 571, 562, 733, 403, 661, 742, 720, 772, 811, 1662 80, -1330, -1330, -1330, 587, -1330, -1330, 242, -1330, -1330, 1663 2489, -1330, -1330, 52, 795, -1330, 295, 795, -1330, -1330, 1664 8356, -1330, 800, 803, 9135, -1330, -1330, 1159, 2129, 8562, 1665 6918, 725, -1330, 725, 1134, 1134, -1330, -1330, -1330, -1330, 1666 -1330, -1330, 1134, 8356, 1958, -1330, -1330, 9526, 1829, -1330, 1667 -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 5097, 10308, 1668 -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1669 -1330, -1330, -1330, -1330, 701, 806, 813, 817, 776, 819, 1670 827, 839, 1992, -1330, -1330, 160, 787, 812, 75, 849, 1671 -1330, -1330, 851, -1330, -1330, -1330, 9378, -1330, -1330, -1330, 1672 -1330, -1330, 2640, -1330, 9017, 9017, -1330, 1134, 1743, 7053, 1673 8637, -1330, -1330, -1330, -1330, 9378, 53, -1330, -1330, 725, 1674 301, -1330, -1330, 9378, -1330, 4136, -1330, -1330, 1134, 1134, 1675 267, 9017, -1330, 856, -1330, 1134, -1330, -1330, -1330, -1330, 1676 9719, -1330, 334, 10721, -1330, 301, 858, -1330, 1743, 10761, 1677 10544, -1330, -1330, -1330, -1330, 873, 2640, -1330, 8637, 654, 1678 7764, -1330, -1330, -1330, -1330, 1408, 393, 834, 1143, 864, 1679 855, 874, 10981, 1547, 8476, -1330, 10981, -1330, -1330, -1330, 1680 -1330, 596, -1330, 881, 859, -1330, 8781, -1330, 9566, -1330, 1681 -1330, 8781, -1330, 8899, 8781, -1330, -1330, 170, -1330, 598, 1682 889, 892, -1330, 7143, -1330, 85, -1330, -1330, 10308, -1330, 1683 542, 10308, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1684 -1330, -1330, -1330, -1330, 10308, -1330, -1330, 10308, 10308, 10308, 1685 10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308, 10308, 1686 10308, 10308, 10308, 10308, 10308, 3975, 587, 600, -1330, -1330, 1687 160, 160, -1330, -1330, 9017, -1330, -1330, 851, -1330, -1330, 1688 851, 10603, -1330, -1330, 9526, 7143, 893, -1330, 9451, -1330, 1689 -1330, 570, -1330, 895, 566, 904, 10308, 2075, 76, 834, 1690 -1330, 160, 160, 834, 202, -1330, 160, 160, 851, 834, 1691 -1330, 160, 160, -1330, 795, -1330, 9599, 1958, 10912, 173, 1692 526, 9599, -1330, 3910, -1330, 834, -1330, 8356, -1330, 55, 1693 6359, 6359, 1958, 10190, 891, -1330, 960, 896, 899, -1330, 1694 909, 5159, 408, -1330, 1005, 1958, 6359, 540, 1743, 540, 1695 209, 795, -1330, -1330, 275, 795, -1330, -1330, -1330, 1743, 1696 -1330, 413, -1330, 795, 301, 9719, -1330, 621, 926, 622, 1697 928, -1330, 800, 301, -1330, -1330, 9378, 301, 631, 2873, 1698 927, 10912, -1330, -1330, 935, -1330, -1330, -1330, 540, -1330, 1699 10837, 803, -1330, 6359, 543, 8562, -1330, -1330, 570, 925, 1700 934, 1408, 2646, -1330, -1330, 10981, -1330, -1330, 1143, 936, 1701 10308, -1330, 1143, 938, -1330, -1330, 946, -1330, 938, 947, 1702 453, 10308, -1330, 950, 170, 949, 952, 953, -1330, 959, 1703 963, 7143, -1330, 10308, -1330, 10249, 10308, 966, -1330, -1330, 1704 633, -1330, 10308, -1330, -1330, 683, -1330, -1330, -1330, -1330, 1705 571, 571, 562, 562, 733, 733, 733, 733, 403, 403, 1706 661, 742, 720, 772, 811, 10308, 164, 9719, 965, 976, 1707 977, 600, -1330, -1330, -1330, -1330, -1330, 9719, 9719, -1330, 1708 8356, -1330, 7515, 9253, -1330, -1330, -1330, 566, 9719, 901, 1709 979, 980, 986, 990, 996, 1001, 1004, -1330, 5001, -1330, 1710 2075, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1711 -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 851, 1712 -1330, -1330, -1330, 834, -1330, -1330, -1330, -1330, -1330, -1330, 1713 -1330, -1330, -1330, -1330, 1008, 1010, -1330, 75, 966, 10190, 1714 -1330, -1330, -1330, 5097, 982, -1330, -1330, -1330, -1330, 1143, 1715 6749, 1096, -1330, -1330, -1330, -1330, 994, -1330, -1330, -1330, 1716 851, -1330, -1330, -1330, 851, 654, 1019, 851, -1330, -1330, 1717 -1330, -1330, -1330, -1330, 7391, -1330, 301, -1330, 1023, 9566, 1718 -1330, 1424, -1330, 421, 1143, -1330, 1035, 1030, -1330, -1330, 1719 1036, 1040, -1330, 822, 1684, -1330, 552, -1330, 2646, 834, 1720 -1330, 855, -1330, -1330, -1330, 864, 1046, 10981, 8476, 9017, 1721 1050, -1330, -1330, 665, 1039, 7391, 540, 1039, -1330, -1330, 1722 1039, -1330, 5097, -1330, -1330, -1330, 1045, 10308, 1051, -1330, 1723 10308, -1330, 1051, -1330, -1330, 10308, -1330, 305, 795, -1330, 1724 -1330, -1330, -1330, -1330, -1330, -1330, 803, 9135, -1330, -1330, 1725 7639, 1055, -1330, 308, 795, -1330, 311, 328, 795, -1330, 1726 1134, 6615, -1330, -1330, -1330, 9719, 9719, -1330, 8637, 8637, 1727 1062, 1058, 1060, 1067, -1330, 655, 304, 966, -1330, 1051, 1728 -1330, 5159, -1330, 10308, 426, -1330, 7019, 1057, 1073, 10131, 1729 1074, 1075, 885, 1043, 501, 10308, 1077, 301, 10308, 10308, 1730 1185, 1065, 1066, 267, 113, 637, 1068, 1072, 1082, -1330, 1731 -1330, -1330, 1085, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1732 -1330, 1076, -1330, 1143, 1095, 10308, 9719, 9719, 75, 160, 1733 1097, -1330, -1330, 1424, 427, 2325, 10308, 2260, 431, -1330, 1734 -1330, 1079, 72, 1079, -1330, -1330, -1330, 160, 160, 1143, 1735 -1330, -1330, 3323, -1330, -1330, -1330, -1330, 1110, 1684, -1330, 1736 -1330, 1094, -1330, 1108, -1330, 938, -1330, -1330, 1743, 1109, 1737 -1330, -1330, -1330, 673, 1116, -1330, 1125, 909, 10308, 1126, 1738 1045, -1330, 1167, -1330, -1330, 1132, -1330, 146, -1330, 1127, 1739 1132, -1330, 1149, -1330, -1330, -1330, 851, 1152, 1161, 7267, 1740 1157, 1160, 1163, -1330, 160, 1169, -1330, -1330, -1330, 851, 1741 -1330, -1330, -1330, -1330, -1330, -1330, 851, 10308, 10308, 803, 1742 1165, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1743 -1330, -1330, 10308, 10308, 1168, 1171, 1132, -1330, -1330, 1143, 1744 -1330, -1330, -1330, 10308, 10308, 1236, 10308, -1330, -1330, 1154, 1745 -1330, 1158, 10308, 1162, 1166, 10308, 1123, 1172, 38, -1330, 1746 82, 1907, -1330, -1330, 6749, 1174, 160, 448, -1330, -1330, 1747 -1330, -1330, -1330, -1330, -1330, 9411, 460, -1330, 762, 1183, 1748 1187, 1191, -1330, 2260, -1330, 160, -1330, -1330, -1330, -1330, 1749 -1330, -1330, -1330, -1330, 9947, -1330, 8637, -1330, 1195, -1330, 1750 -1330, 8476, 462, 471, -1330, 1192, -1330, 1193, -1330, -1330, 1751 1204, 1240, -1330, -1330, 1240, 1240, 1051, 1210, 1516, 1643, 1752 -1330, 1212, -1330, 9719, -1330, -1330, -1330, -1330, -1330, 1214, 1753 -1330, 9719, 9719, 9719, -1330, -1330, 1216, -1330, 1218, 1229, 1754 1230, 679, 8322, 8442, -1330, -1330, -1330, -1330, 1232, -1330, 1755 690, 693, 1239, 710, 6884, -1330, -1330, 513, -1330, -1330, 1756 723, 1241, 1243, 301, 1287, 825, -1330, -1330, 10308, -1330, 1757 1246, 413, 10308, -1330, -1330, 10131, -1330, 1247, 1251, -1330, 1758 -1330, 439, 795, -1330, -1330, 1424, -1330, -1330, -1330, 1235, 1759 -1330, -1330, -1330, -1330, -1330, -1330, 8476, -1330, -1330, -1330, 1760 1051, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, -1330, 1761 -1330, -1330, -1330, 1244, 1253, -1330, -1330, -1330, -1330, -1330, 1762 -1330, -1330, 1256, -1330, 1257, -1330, 10131, 102, 10308, 10131, 1763 -1330, 1260, 10308, -1330, 6149, 8476, -1330, 386, 1275, 1280, 1764 -1330, -1330, 1268, 1269, 1252, 413, 197, 763, -1330, -1330, 1765 -1330, -1330, -1330, -1330, 851, -1330, -1330, 1958, 1743, 1264, 1766 1132, 1051, 1051, 1276, 1278, 1279, 1282, -1330, -1330, 8637, 1767 1274, -1330, 1354, 10308, 1267, -1330, -1330, 10041, -1330, 727, 1768 -1330, 1266, 10131, 1270, 8712, -1330, -1330, 1290, -1330, 1291, 1769 -1330, 1307, 1309, -1330, 1277, 1281, 195, 1283, 9719, 8476, 1770 -1330, -1330, -1330, 1294, 1132, 1132, -1330, -1330, -1330, -1330, 1771 -1330, 10131, 314, -1330, 327, -1330, -1330, 6528, -1330, -1330, 1772 1284, 10308, -1330, 10308, 6528, 301, 9566, 301, 9566, 1298, 1773 -1330, 1299, -1330, 1292, -1330, 10308, 1302, 237, 1305, -1330, 1774 -1330, -1330, 1310, -1330, 1312, 1314, -1330, 10308, 10308, -1330, 1775 -1330, 847, 86, -1330, -1330, 1296, -1330, 847, -1330, -1330, 1776 2447, 540, -1330, -1330, 301, 9566, 301, 9566, 195, 1318, 1777 10308, 1301, 195, 195, 1326, 1330, -1330, -1330, -1330, -1330, 1778 10041, 1334, 847, 8127, 10308, 9951, 1336, 847, 1331, 2447, 1779 2348, -1330, -1330, -1330, 1344, -1330, -1330, -1330, -1330, 1325, 1780 413, 1347, -1330, 273, -1330, -1330, 9017, -1330, 9813, -1330, 1781 10041, -1330, -1330, 1328, 9723, -1330, -1330, 9951, 301, 2348, 1782 301, 1348, 1352, 413, 1355, -1330, 1335, 413, 738, -1330, 1783 9813, -1330, -1330, -1330, 9723, -1330, -1330, -1330, 301, 301, 1784 -1330, 485, 10308, -1330, 740, -1330, -1330, -1330, -1330, -1330, 1785 -1330, 413, 540, 1353, 1337, -1330, -1330, -1330, -1330, 755, 1786 -1330, -1330, 1339, 540, -1330, -1330 1787 1787 }; 1788 1788 … … 1790 1790 static const yytype_int16 yypgoto[] = 1791 1791 { 1792 -13 10, 4698, 1798, -1310, 3042, -1310, 7, 0, -108, -1310,1793 -13 10, 559, -491, -456, -838, -937, -1310, 22, 5065, 1181,1794 -13 10, -255, 556, 577, 300, 580, 1012, 1013, 1015, 1010,1795 1027, -1310, -677, -688, 4947, -862, -1310, -1310, 660, -98,1796 - 855, -381, -1310, 79, -1310, 417, -852, -1310, -1310, 138,1797 -13 10, -1059, -867, 261, -1310, -1310, -1310, -1310, 60, -1309,1798 -13 10, -1310, -1310, -1310, -1310, -1310, 336, -1067, -1310, -1310,1799 - 597, -1310, 130, 77, -1310, 182, -1310, -236, -1310, -1310,1800 -13 10, 586, -813, -1310, -1310, 3, -1167, 287, 687, -1310,1801 -13 10, -1310, -226, -1310, 85, 1227, -181, 2547, 4408, -1310,1802 -13 10, 131, 160, 578, 1502, -1310, 2174, -1310, -1310, 132,1803 29 39, -1310, 3219, 1653, -1310, -1310, -1310, -810, -1310, 732,1804 5 79, 334, 573, -128, -1310, -1310, 907, 723, -354, -1310,1805 -4 65, -217, -593, -1310, -1310, -840, -898, 1306, -216, -1310,1806 -35, -1310, 192, -156, -273, -185, -137, 706, 789, -1310,1807 9 96, -1310, 3499, 1557, -387, 935, -1310, -1310, 741, -1310,1808 -43 4, -1310, 57, -1310, -1310, -1310, -1220, 432, -1310, -1310,1809 -13 10, 1164, -1310, 18, -1310, -1310, -789, -105, -1264, -143,1810 3350, -1310, 2123, -1310, 923, -1310, -165, 93, -175, -173,1811 -16 9, 2, -39, -32, -30, 889, 53, 55, 64, -163,1812 -16 6, -159, -157, -149, -292, -483, -481, -471, -529, -301,1813 -5 08, -1310, -1310, -496, 1077, 1082, 1089, 1437, 5179, -551,1814 -5 03, -501, -498, -400, -1310, -971, -998, -984, -983, -563,1815 - 278, -265, -1310, -1310, -1, 243, -49, -1310, 3994, 59,1816 -57 9, -4661792 -1330, 4602, 1553, -1330, 2208, -1330, 7, 0, -94, -1330, 1793 -1330, 478, -507, -466, -839, -847, -1330, -174, 5285, 694, 1794 -1330, 66, 362, 365, 538, 366, 931, 937, 940, 924, 1795 939, -1330, 320, -636, 4424, -882, -1330, -1330, 578, -177, 1796 -942, -361, -1330, 120, -1330, 354, -1077, -1330, -1330, 67, 1797 -1330, -1071, -1040, 183, -1330, -1330, -1330, -1330, -9, -1090, 1798 -1330, -1330, -1330, -1330, -1330, -1330, 262, -1329, -1330, -1330, 1799 -798, -1330, 54, 4, -1330, 109, -1330, -306, -1330, -1330, 1800 -1330, 512, -805, -1330, -1330, 3, -1131, 270, 704, -1330, 1801 -1330, -1330, -145, -1330, 250, 1286, -188, 2355, 4289, -1330, 1802 -1330, 18, 1452, 993, 1681, -1330, 2638, -1330, -1330, 112, 1803 2990, -1330, 3232, 1709, -1330, -1330, -1330, -833, -1330, 658, 1804 505, 257, 500, -445, -1330, -1330, 837, 645, -484, -1330, 1805 -489, -339, -560, -1330, -1330, -919, -900, -129, 1056, -1330, 1806 240, -1330, 970, -170, -275, -200, -136, 629, 717, -1330, 1807 911, -1330, 3561, 1374, -401, 857, -1330, -1330, 664, -1330, 1808 -432, -1330, 316, -1330, -1330, -1330, -1224, 360, -1330, -1330, 1809 -1330, 1091, -1330, 23, -1330, -1330, -799, -109, -1287, -148, 1810 5540, -1330, 5415, -1330, 845, -1330, -100, 90, -175, -171, 1811 -162, 2, -40, -34, -30, 493, 15, 22, 32, -92, 1812 -161, -159, -157, -156, -314, -467, -462, -442, -512, -313, 1813 -534, -1330, -1330, -503, 1006, 1011, 1014, 1751, 5167, -538, 1814 -510, -504, -500, -533, -1330, -939, -1005, -999, -995, -568, 1815 -305, -309, -1330, -1330, 392, 502, -58, -1330, 3974, -39, 1816 -574, -222 1817 1817 }; 1818 1818 … … 1823 1823 static const yytype_int16 yytable[] = 1824 1824 { 1825 50, 111, 96, 385, 113, 386, 145, 666, 110, 387, 1826 255, 892, 388, 146, 393, 147, 394, 416, 457, 389, 1827 500, 390, 891, 172, 1008, 1167, 371, 372, 427, 391, 1828 734, 111, 111, 271, 50, 791, 96, 593, 398, 1168, 1829 1169, 808, 121, 535, 536, 50, 588, 716, 1010, 831, 1830 158, 50, 140, 156, 1172, 248, 580, 790, 50, 1115, 1831 856, 761, 1040, 50, 1347, 187, 50, 196, 210, 50, 1832 249, 220, 213, 250, 1258, 1321, 782, 922, 385, 535, 1833 386, 783, 1078, 784, 387, 63, 785, 388, 612, 393, 1834 413, 394, 616, 95, 389, 702, 390, 1403, 148, 707, 1835 149, 779, 331, 780, 391, 50, 461, 463, 50, 150, 1836 161, 158, 33, 781, 535, 50, 1113, 1114, 197, 63, 1837 1361, 1362, 795, 111, 1145, 1146, 798, 95, 1142, 1124, 1838 511, 69, 76, 1201, 1259, 168, -240, -240, 144, 145, 1839 1206, 656, 658, 50, 95, 156, 146, 815, 147, 963, 1840 270, 818, 163, 821, 821, 50, 183, 361, 122, 95, 1841 70, 1129, 95, 924, 1503, 69, 76, 1430, 1207, 821, 1842 652, 161, 1403, 929, 930, 241, 164, 426, 50, 50, 1843 457, 156, 1423, 691, 940, 1130, 399, 794, 509, 661, 1844 685, 33, 1363, 801, 70, 50, 1523, 665, 462, 457, 1845 1272, 319, 422, 50, 1196, 156, 779, 457, 780, -240, 1846 1163, 706, 50, 650, 145, 50, 821, 430, 781, 901, 1847 694, 146, 111, 147, 138, 469, 206, 645, 503, 646, 1848 718, 148, 111, 149, 674, 111, 95, 952, 1321, 50, 1849 111, 96, 150, 105, 105, 1321, 1079, 451, 95, -10, 1850 565, 684, 399, 50, 50, 563, 156, 449, 422, 951, 1851 50, 564, 423, 111, 928, 823, 405, 1289, 939, 1292, 1852 1294, 384, 183, 783, 1120, 784, 554, 105, 785, 434, 1853 840, 573, 736, 737, 738, 593, 1115, 57, 114, 424, 1854 33, 765, 446, 779, 963, 780, 95, 158, 1256, 432, 1855 1121, 645, 172, 646, 1321, 781, 1407, 654, 95, 770, 1856 555, 33, 105, 659, 1051, 264, 655, 657, 423, 613, 1857 50, 57, 361, 617, 63, 139, 580, 879, 141, 458, 1858 791, 580, 95, 1115, 397, 1383, 1170, 50, 50, 1008, 1859 712, 1435, 714, 487, 955, 715, 465, 891, 719, 1451, 1860 817, 33, 722, 204, 50, 1384, 214, 161, 50, 142, 1861 1110, 1111, 240, 1010, 399, 510, 923, 1121, 625, 1257, 1862 69, 76, 808, 33, 151, 429, 76, 783, 794, 784, 1863 1459, 462, 785, 407, 195, 399, 1484, 1318, 1486, 365, 1864 1113, 1114, 50, 582, 361, 1361, 1362, 166, 509, 70, 1865 1460, 822, 822, 509, -295, 366, 509, 1514, 488, 1407, 1866 489, 490, 50, 95, 1407, 235, 33, 822, 50, 375, 1867 1048, 1158, 1159, 467, 443, 399, 1436, 1515, 863, 1320, 1868 675, 587, 1232, 1233, 1539, 376, 676, 674, 457, 1407, 1869 1437, 238, 685, 891, 891, 792, 1407, 585, 1540, 33, 1870 1348, 483, 876, 111, 484, 480, 997, 755, 50, 1115, 1871 110, 33, 1076, 1061, 822, 1371, 50, 1373, 361, 911, 1872 50, -523, 96, 319, 319, 50, 811, 1480, 111, 1167, 1873 812, 240, 105, 111, -12, 183, 1195, 593, 799, 251, 1874 585, 458, 832, 1168, 1169, 952, 950, 33, -448, 206, 1875 319, -449, 428, 684, 932, 33, 266, 1172, 1053, 663, 1876 458, 1392, 1393, 544, 545, 111, 33, 1398, 458, 692, 1877 111, 844, 728, 399, 268, 693, 57, 733, 833, 269, 1878 624, 842, 33, 848, 677, 399, 1272, 33, 76, 322, 1879 674, 853, 852, 319, 1100, 1103, 708, 834, 546, 547, 1880 674, 674, 709, 682, 1443, 63, 1444, 76, 378, 270, 1881 626, 674, 319, 95, 323, 76, 380, 360, 587, 1081, 1882 810, 399, 1468, 382, 379, 510, 324, 1094, 1473, 399, 1883 510, 109, 381, 510, 50, 824, 50, 325, 1098, 383, 1884 585, 721, 1441, 950, 43, 44, 1133, 722, 839, 1441, 1885 109, 69, 76, 1498, 1101, 50, 585, 1069, 1505, 1339, 1886 1070, 399, 1071, 43, 44, 1037, 326, 1500, 1296, 206, 1887 50, 1502, 727, 319, 111, 685, 1298, 1299, 1300, 1127, 1888 70, 1038, 857, 50, 1037, 111, 50, 111, 722, 962, 1889 364, 1200, 841, 1173, 843, 1128, 1518, 50, 223, 1127, 1890 1165, 224, 327, 1522, 228, 1173, 230, 580, 1499, 1174, 1891 813, 859, 233, 809, 814, 1264, 871, 722, 582, 373, 1892 696, 1268, 865, 1400, 377, 705, 111, 778, 564, 587, 1893 535, 39, 1279, 875, 891, 42, 684, 58, 58, 50, 1894 50, 1281, 395, 968, 43, 44, 722, 111, 1280, 240, 1895 321, 111, 109, 1029, 39, 1031, 772, 1282, 42, 1016, 1896 813, 397, 1324, 105, 1047, 43, 44, 43, 44, 500, 1897 45, 58, 2, 200, 4, 5, 6, 7, 47, 48, 1898 917, 855, 240, 321, 399, 1457, 918, 674, 674, 1112, 1899 862, 540, 541, 776, 864, 585, 891, 1466, 1400, 458, 1900 414, 47, 48, 58, 537, 415, 58, 57, 891, 891, 1901 538, 539, 1063, 458, 470, 109, 429, 1105, 918, 1335, 1902 1489, 997, 1069, -401, 1192, 1070, 50, 1071, 43, 44, 1903 564, 891, 778, 587, 223, -112, 437, 39, 50, -112, 1904 37, 42, 38, 1429, 447, 556, 76, 399, 674, 674, 1905 43, 44, 448, 47, 48, 682, 1291, 494, 1307, 685, 1906 76, 39, 1308, 169, 170, 42, 828, 495, 2, 200, 1907 4, 5, 6, 7, 43, 44, 689, 542, 543, 206, 1908 625, 1160, 1125, 498, 47, 48, 111, 994, 109, 337, 1909 136, 137, 1541, 206, 743, 744, 745, 746, 385, 222, 1910 386, 43, 44, 891, 387, -3, 1029, 388, 1031, 1487, 1911 393, 1314, 394, 1491, 389, 871, 390, 722, 50, 778, 1912 684, 111, 503, 1136, 391, 8, 9, 10, 11, 12, 1913 550, 587, 1336, 551, 1315, 50, 37, 552, 38, 889, 1914 722, 553, 568, 480, 399, 109, 328, 136, 440, 1054, 1915 109, 1176, 58, 1176, 111, 574, 685, 33, 43, 44, 1916 625, 1064, -3, 43, 44, 109, 111, 136, 137, 223, 1917 111, 228, 63, 1072, 277, 638, 58, 1072, 43, 44, 1918 639, 206, 640, 1360, 441, 36, 1368, 43, 44, 442, 1919 157, 732, 1019, 1317, 1325, 1137, 1139, 1141, 642, 722, 1920 722, 1187, 188, 643, 703, 211, 319, 644, 221, 704, 1921 648, 1030, 880, 504, 585, 367, 1276, 111, 69, 76, 1922 47, 48, 649, 109, 1072, 136, 137, 994, 587, 1408, 1923 50, 50, 50, 651, 1406, 722, 43, 44, 682, 1410, 1924 1533, -296, 772, 245, 809, 674, 564, 70, 8, 9, 1925 10, 11, 12, 674, 674, 674, 645, 223, 646, 1542, 1926 1550, 111, -373, 1310, 694, 1539, 1551, 263, 1434, 548, 1927 549, 50, 626, 50, -244, 50, 921, 918, 973, 697, 1928 33, 701, 157, 1238, 1239, 699, 1241, 111, 710, 871, 1929 321, 399, 1245, 723, 362, 1248, 1330, 1331, 39, 724, 1930 169, 170, 42, 407, 641, 399, 50, 711, 36, 63, 1931 1516, 43, 44, 1039, 1144, 467, 321, 399, 157, 39, 1932 111, 169, 170, 42, 792, 321, 585, 1072, 1385, 918, 1933 105, 773, 43, 44, 775, 8, 9, 10, 11, 12, 1934 1361, 1362, 157, 1202, 1203, 1140, 739, 740, 429, 1249, 1935 1250, 1251, 626, 786, 431, 69, 76, 337, 1029, 39, 1936 1031, 169, 170, 42, 1030, 1517, 1166, 33, 1030, 741, 1937 742, 1517, 43, 44, 57, -14, -15, 111, 747, 748, 1938 829, 1138, 830, 836, 70, 858, 860, 1517, 872, 105, 1939 -422, 1517, -527, 884, 890, 36, 109, 693, 360, 897, 1940 39, 1334, 994, 1069, 42, 899, 1070, 58, 1071, 43, 1941 44, 902, 871, 43, 44, 904, 905, 906, 907, 908, 1942 674, 50, 682, 925, 926, 2, 200, 4, 5, 6, 1943 7, 51, 112, 1055, 915, 927, 970, 1293, 941, 45, 1944 1011, 942, 1054, 943, 944, 945, 946, 47, 48, 947, 1945 337, -410, -409, 973, 111, 1013, 111, 111, 1017, 362, 1946 1020, 1072, -297, 1072, 1072, 51, 1041, 105, 1367, 8, 1947 9, 10, 11, 12, 1042, 1382, 143, 1043, 115, 1180, 1948 1044, 1052, 51, 1062, 910, 1066, 1092, 63, 1116, 1119, 1949 1117, 1389, 1131, 37, 179, 38, 1118, 203, 1132, 1134, 1950 51, 33, 1135, 39, 1143, 176, 177, 42, 109, 1147, 1951 483, 57, 337, 994, 1030, 1069, 43, 44, 1070, 682, 1952 1071, 43, 44, 50, -9, 722, 1424, -445, 154, 36, 1953 -11, 362, -3, 69, 76, 112, 1150, 1054, 111, 1156, 1954 1154, 1162, 584, 112, 585, 1072, 254, 259, 1024, 1183, 1955 47, 48, 385, 1194, 386, 337, 337, 1185, 387, 1188, 1956 1388, 388, 70, 393, 994, 394, 1193, 994, 389, 1237, 1957 390, 337, 1197, 298, 143, 1204, 213, 458, 391, 1208, 1958 1328, 246, 112, 334, 1210, 1212, 203, 1213, 1214, 154, 1959 1215, 1216, 645, 1479, 646, 50, 50, 1218, 1424, 111, 1960 111, 1225, 1424, 1424, 1234, 1235, 1072, 1072, 1240, 179, 1961 179, 1262, 1243, 1244, 1269, 994, 1030, 1246, 337, 314, 1962 994, 1270, 1247, 1323, 76, 1271, 254, 1255, 329, 39, 1963 1512, 169, 170, 42, 51, 1277, 1283, 1285, 1286, 1287, 1964 1054, 1290, 43, 44, 1295, 105, 203, 1297, 1303, 994, 1965 1304, 1305, 70, 1528, 1306, 1313, 1316, 1528, 1326, 1327, 1966 1251, 1333, 1344, 1449, -298, 1449, 1337, 1338, 364, 1375, 1967 51, 8, 9, 10, 11, 12, 418, 1355, 259, 1356, 1968 421, 1545, 105, 259, 254, 254, -411, 1359, 145, 57, 1969 112, 1370, 1377, 1379, 1380, 146, 1381, 147, 50, 111, 1970 1394, 1390, 1449, 33, 1449, 1395, 1481, 126, 350, 127, 1971 128, 129, 1399, 1396, 1397, 1308, 1413, 298, 994, 1404, 1972 43, 44, 1415, 994, 1409, 1411, 1055, 50, 50, 298, 1973 156, 36, 206, 1422, 1417, 105, 421, 1419, 1421, 475, 1974 458, 1428, 1446, 1431, 1450, 557, 994, 458, 994, 1442, 1975 1452, 143, 994, 1454, 1456, 994, 1458, 50, 1461, 361, 1976 1463, 112, 1464, 314, 1465, 334, 1472, 1488, 994, 586, 1977 604, 1490, 994, 1493, 58, 154, 1494, 105, 1506, 57, 1978 1497, 1483, 429, 1485, 609, 1504, 1323, 76, 609, 1508, 1979 111, 1511, 1513, 1323, 76, 1526, 1519, 1546, 337, 1527, 1980 1530, 111, 1149, 319, 1548, 1531, 458, 572, 1553, 1549, 1981 1552, 577, 749, 752, 750, 70, 105, 751, 207, 1261, 1982 465, 1055, 70, 179, 1467, 1068, 109, 226, 136, 137, 1983 610, 753, 1534, 58, 614, 1524, 1374, 1525, 1329, 43, 1984 44, 1492, 1532, 254, 1445, 298, 298, 1155, 1022, 254, 1985 1164, 609, 1323, 76, 1177, 1537, 1538, 1343, 893, 204, 1986 214, 39, 1050, 169, 170, 42, 1065, 827, 207, 969, 1987 401, 1278, 298, 209, 43, 44, 835, 409, 886, 1049, 1988 105, 70, 900, 757, 687, 0, 0, 0, 758, 254, 1989 0, 314, 314, 337, 337, 759, 0, 254, 105, 609, 1990 39, 51, 176, 177, 42, 105, 690, 207, 0, 428, 1991 0, 58, 0, 43, 44, 112, 0, 0, 314, 0, 1992 0, 0, 0, 209, 1055, 0, 0, 298, 0, 112, 1993 115, 0, 298, 0, 298, 298, 0, 0, 0, 1023, 1994 0, 399, 57, 401, 334, 0, 0, 47, 48, 57, 1995 0, 8, 9, 10, 11, 12, 0, 0, 0, 475, 1996 1024, 314, 209, 475, 105, 0, 0, 207, 0, 208, 1997 0, 0, 0, 314, 0, 314, 350, 0, 314, 0, 1998 314, 314, 0, 33, 0, 0, 0, 557, 557, 39, 1999 0, 176, 177, 42, 0, 298, 0, 0, 0, 207, 2000 0, 562, 43, 44, 207, 609, 334, 0, 57, 604, 2001 566, 36, 0, 569, 0, 586, 39, 586, 0, 208, 2002 42, 0, 209, 0, 0, 0, 0, 0, 178, 43, 2003 44, 0, 0, 0, 0, 609, 47, 48, 0, 444, 2004 609, 314, 604, 0, 0, 0, 609, 0, 0, 609, 2005 609, 768, 0, 0, 209, 689, 0, 0, 208, 209, 2006 0, 0, 0, 47, 48, 609, 0, 254, 0, 350, 2007 0, 401, 0, 0, 0, 409, 0, 0, 254, 0, 2008 0, 807, 0, 0, 0, 0, 577, 0, 0, 58, 2009 0, 207, 816, 8, 9, 10, 11, 12, 112, 0, 2010 0, 0, 162, 0, 167, 0, 0, 173, 174, 175, 2011 0, 0, 609, 881, 604, 0, 0, 0, 208, 0, 2012 690, 690, 0, 0, 227, 33, 58, 0, 0, 0, 2013 0, 350, 0, 0, 0, 236, 237, 0, 0, 0, 2014 0, 0, 0, 0, 868, 0, 209, 0, 0, 0, 2015 208, 334, 401, 36, 0, 208, 0, 8, 9, 10, 2016 11, 12, 0, 0, 0, 0, 0, 337, 337, 0, 2017 475, 207, 0, 0, 350, 350, 0, 0, 0, 58, 2018 0, 0, 0, 0, 0, 0, 0, 207, 0, 33, 2019 350, 557, 0, 0, 0, 0, 0, 556, 0, 399, 2020 609, 0, 935, 0, 0, 47, 48, 586, 0, 0, 2021 39, 207, 176, 177, 42, 0, 0, 36, 0, 586, 2022 0, 58, 0, 43, 44, 0, 209, 0, 396, 0, 2023 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 2024 0, 0, 208, 562, 562, 0, 931, 0, 0, 1023, 2025 0, 399, 0, 0, 0, 0, 0, 47, 48, 58, 2026 58, 880, 0, 585, 0, 0, 209, 0, 298, 47, 2027 48, 522, 523, 524, 525, 526, 527, 528, 529, 530, 2028 531, 532, 0, 0, 0, 0, 8, 9, 10, 11, 2029 12, 0, 334, 0, 337, 0, 0, 112, 0, 1025, 2030 39, 0, 176, 177, 42, 533, 0, 0, 0, 58, 2031 0, 881, 881, 43, 44, 0, 690, 0, 33, 0, 2032 0, 0, 208, 0, 58, 846, 0, 112, 298, 850, 2033 207, 0, 0, 0, 334, 0, 0, 0, 0, 1477, 2034 0, 399, 58, 1021, 0, 0, 36, 47, 48, 58, 2035 0, 39, 0, 176, 177, 42, 0, 0, 207, 0, 2036 0, 0, 208, 207, 43, 44, 334, 0, 0, 0, 2037 0, 0, 475, 1056, 314, 0, 0, 0, 0, 0, 2038 0, 576, 0, 583, 0, 209, 0, 609, 609, 0, 2039 584, 0, 585, 0, 607, 608, 0, 0, 47, 48, 2040 0, 125, 0, 0, 0, 298, 0, 0, 58, 0, 2041 0, 0, 807, 209, 0, 0, 0, 350, 209, 0, 2042 0, 207, 0, 0, 74, 0, 948, 0, 0, 8, 2043 9, 10, 11, 12, 0, 207, 39, 0, 176, 177, 2044 42, 0, 0, 0, 0, 0, 0, 562, 0, 43, 2045 44, 0, 1025, 0, 1025, 125, 1025, 0, 74, 273, 2046 274, 33, 275, 0, 0, 0, 0, 0, 0, 0, 2047 125, 112, 125, 0, 0, 253, 209, 881, 0, 0, 2048 0, 208, 0, 47, 48, 0, 0, 254, 276, 36, 2049 209, 0, 0, 216, 277, 0, 0, 265, 278, 0, 2050 0, 279, 280, 270, 281, 282, 283, 43, 44, 208, 2051 284, 285, 350, 350, 208, 0, 0, 868, 334, 0, 2052 514, 0, 0, 207, 515, 516, 517, 0, 0, 0, 2053 0, 0, 0, 286, 0, 367, 0, 0, 0, 0, 2054 0, 333, 48, 288, 289, 290, 291, 0, 518, 0, 2055 519, 0, 520, 521, 0, 0, 125, 0, 125, 125, 2056 0, 0, 0, 125, 0, 125, 125, 0, 0, 0, 2057 0, 0, 208, 0, 0, 514, 342, 0, 209, 515, 2058 516, 517, 0, 298, 0, 0, 208, 0, 0, 0, 2059 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 2060 0, 0, 1025, 518, 0, 519, 0, 520, 1260, 0, 2061 0, 0, 1083, 0, 0, 609, 0, 0, 0, 0, 2062 112, 0, 0, 0, 0, 0, 0, 0, 1096, 125, 1825 50, 111, 96, 385, 113, 145, 255, 386, 110, 668, 1826 416, 146, 161, 427, 735, 147, 387, 388, 69, 389, 1827 1169, 390, 391, 350, 589, 594, 1170, 371, 372, 580, 1828 1171, 111, 111, 398, 50, 1010, 96, 717, 811, 1115, 1829 1116, 1012, 1042, 1144, 614, 50, 248, 271, 618, 793, 1830 783, 50, 69, 156, 762, 796, 834, 140, 50, 1117, 1831 148, 803, 1349, 50, 894, 187, 50, 149, 210, 50, 1832 196, 220, 213, 161, 784, 792, 1405, 150, 385, 393, 1833 785, 703, 386, 1080, 786, 708, 413, 394, 1174, 1453, 1834 95, 387, 388, 331, 389, 859, 390, 391, 33, 457, 1835 654, 461, 463, 319, 1258, 50, 1147, 1148, 50, 509, 1836 33, 33, 76, 1323, 33, 50, 511, 780, 33, 663, 1837 397, 197, 781, 111, 95, 121, 1486, 667, 1488, 686, 1838 1126, 824, 824, -240, -240, 144, 1260, 826, 145, 658, 1839 660, 95, 782, 50, 146, 156, 76, 824, 147, 1363, 1840 1364, 1405, 843, 183, 393, 50, 95, 361, 122, 95, 1841 109, 693, 394, 687, 423, 1432, 565, 462, 399, 462, 1842 240, 1131, 399, 43, 44, 1259, 168, 1132, 50, 50, 1843 554, 156, 407, 467, 399, 399, 1198, 163, 399, 1165, 1844 794, 586, 585, 148, 824, 50, 1261, 926, 652, 882, 1845 149, 728, 33, 50, 903, 156, -240, 931, 932, 707, 1846 150, 164, 50, 145, 555, 50, 241, 430, 942, 146, 1847 423, 1365, 111, 147, 780, 1203, 365, 503, 719, 781, 1848 240, 321, 111, 95, 1274, 111, 1208, 657, 659, 50, 1849 111, 96, 366, 941, 33, 95, 796, 451, -10, 782, 1850 63, 33, 954, 50, 50, 696, 156, 69, 930, 161, 1851 50, 457, 449, 111, 1209, 771, 139, 784, 384, 183, 1852 57, 114, 573, 785, 594, 141, 1323, 786, 953, 270, 1853 457, 825, 825, 1323, 63, 723, 1117, 151, 457, 766, 1854 814, 350, 647, 95, 815, 582, 1409, 825, 172, 925, 1855 648, 580, 1320, 656, 57, 95, 580, 405, 820, 661, 1856 780, 1425, 1385, 1115, 1116, 781, 801, 33, 585, 509, 1857 50, 1053, 361, 847, 509, 399, 713, 509, 715, 95, 1858 424, 716, 1386, 1117, 720, 782, 204, 50, 50, 214, 1859 432, 500, 1323, 465, 825, 249, 793, 33, 250, 1010, 1860 33, 76, 1461, 33, 50, 1012, 76, 563, 50, 1291, 1861 866, 1294, 1296, 564, 535, 536, 647, 797, 627, 811, 1862 33, 800, 1462, 784, 648, 319, 319, 806, 756, 785, 1863 1373, 142, 686, 786, 350, 1505, 235, 375, 1516, 851, 1864 1172, 399, 50, 818, 361, 1112, 1113, 821, 1504, 1409, 1865 535, 1470, 319, 376, 1409, 1122, 510, 1475, 1517, 568, 1866 95, 399, 50, 1102, 1105, 1437, 687, 1525, 50, 1083, 1867 166, 399, 1096, 1520, 399, 1100, 195, 585, 588, 1409, 1868 1524, 1123, 1500, 1363, 1364, 535, 1409, 1507, -295, 1322, 1869 1400, 1123, 1103, 158, 585, 319, 350, 238, 1438, 677, 1870 -523, 1350, 426, 111, 1078, 678, 1160, 1161, 50, 1117, 1871 110, 934, 1439, 487, 319, 240, 50, 1063, 361, 1445, 1872 50, 1446, 96, 251, 1169, 50, 952, 594, 111, 999, 1873 1170, 33, 183, 111, 1171, 428, 1234, 1235, 69, 63, 1874 378, 350, 350, 1197, 458, 835, 1055, 270, 544, 545, 1875 469, 380, 105, 105, 158, 1375, 379, 350, 694, 57, 1876 954, 1482, 1394, 1395, 695, 111, 483, 381, 76, 484, 1877 111, 457, 729, 382, 836, 319, 626, 734, 488, 845, 1878 489, 490, 1502, 546, 547, 879, 105, 76, 434, 383, 1879 855, 1174, 1039, 837, 157, 76, -12, 1129, 1039, 322, 1880 665, 446, 1175, 1341, 350, 399, 188, 856, 1040, 211, 1881 95, 323, 221, 1130, 1167, 588, 686, 812, 1176, 1129, 1882 1274, 105, 582, -448, 952, 679, 39, 172, 169, 170, 1883 42, 1175, 76, 1281, 50, 1266, 1178, 50, 1178, 43, 1884 44, 957, 1283, 773, 615, 422, -449, 1270, 619, 1282, 1885 687, 266, 1443, 737, 738, 739, 1541, 50, 1284, 1443, 1886 8, 9, 10, 11, 12, 109, 510, 109, 1135, 1114, 1887 1542, 510, 50, 1142, 510, 268, 111, 964, 43, 44, 1888 43, 44, 580, 269, 723, 50, 157, 111, 50, 111, 1889 324, 39, 33, 816, 844, 42, 846, 817, 362, 50, 1890 1326, 422, 325, 1298, 43, 44, 458, 883, 733, 585, 1891 1489, 1300, 1301, 1302, 1493, 47, 48, 1050, 1501, 816, 1892 36, 326, 157, 1049, 779, 458, 327, 588, 111, 586, 1893 777, 360, 585, 458, 364, 878, 540, 541, 47, 48, 1894 158, 50, 50, 537, 51, 112, 157, 970, 111, 538, 1895 539, 556, 111, 399, 58, 58, 373, 1018, 431, 47, 1896 48, 709, 277, 722, 556, 377, 399, 710, 684, 723, 1897 63, 397, 47, 48, 395, 43, 44, 1402, 51, 2, 1898 200, 4, 5, 6, 7, 350, 860, 862, 58, 143, 1899 57, 105, 723, 723, 414, 51, 868, 437, 919, 415, 1900 686, 504, 564, 367, 920, 1337, 447, 179, 548, 549, 1901 203, 448, 1107, 51, 2, 200, 4, 5, 6, 7, 1902 58, 1031, -112, 58, 858, 470, -112, 50, 76, 1033, 1903 1065, 779, 588, 865, 687, -401, 920, 867, 1194, 1459, 1904 50, 913, 76, 999, 564, 222, 1309, 37, 112, 38, 1905 1310, 1468, 1402, 923, 920, 1316, 112, 494, 1317, 254, 1906 259, 723, -296, 362, 723, 240, 321, 399, 1162, 8, 1907 9, 10, 11, 12, 1491, 1319, 542, 543, 1431, 350, 1908 350, 723, 37, 627, 38, 1127, 298, 143, 1327, 111, 1909 996, 495, 1410, 498, 723, 112, 334, 813, 723, 203, 1910 385, 33, 551, 1535, 386, 1544, 337, 503, 69, 564, 1911 319, 1541, 827, 387, 388, 550, 389, 779, 390, 391, 1912 1552, 50, 179, 179, 111, 842, 1553, 321, 399, 36, 1913 588, 687, 773, 1387, 920, 362, 1332, 1333, 50, 254, 1914 407, 643, 399, 1312, 1363, 1364, 1543, 51, 812, 1204, 1915 1205, 1056, 740, 741, 1338, 552, 111, 742, 743, 203, 1916 553, 328, 627, 1066, 748, 749, 458, 574, 111, 58, 1917 -3, 640, 111, 1031, 650, 1074, 651, 393, 641, 1074, 1918 458, 1033, 642, 51, 644, 394, 883, 109, 585, 136, 1919 137, 259, 645, 58, 47, 48, 259, 254, 254, 1189, 1920 43, 44, 76, 112, 646, 1362, 1240, 1241, 1370, 1243, 1921 39, 1032, 169, 170, 42, 1247, 653, 245, 1250, 111, 1922 586, 684, 105, 43, 44, -373, 1074, -244, 588, 996, 1923 298, 263, 50, 50, 50, 698, 1021, 467, 321, 399, 1924 -297, 700, 298, 702, 69, 711, 712, 8, 9, 10, 1925 11, 12, 138, 535, 724, 39, 1408, 725, 557, 42, 1926 774, 1412, 776, 111, 143, 794, 321, 585, 43, 44, 1927 893, 787, 1138, 50, 112, 50, -14, 50, 334, 33, 1928 833, -15, 587, 606, 832, 109, 839, 136, 137, 111, 1929 1436, 861, 500, 863, 45, -527, 875, 611, 43, 44, 1930 -422, 611, 47, 48, 887, 1277, 892, 36, 50, 695, 1931 899, 874, 901, 223, 1518, 904, 224, 907, 908, 228, 1932 906, 230, 111, 647, 909, 924, 830, 233, 910, 1074, 1933 927, 648, 744, 745, 746, 747, 179, 917, 76, -298, 1934 63, 928, 929, 264, 943, 944, 8, 9, 10, 11, 1935 12, 945, 972, 350, 350, 946, 254, 1146, 298, 298, 1936 57, 947, 254, 1032, 611, 1168, 948, 1032, 39, 949, 1937 169, 170, 42, -410, 337, -409, 109, 1013, 33, 111, 1938 1015, 43, 44, 1071, 1019, 298, 1072, 1519, 1073, 43, 1939 44, 1369, 1022, 1519, 8, 9, 10, 11, 12, 965, 1940 1043, 1044, 254, 1045, 996, 684, 36, 1046, 912, 1519, 1941 254, 1054, 611, 1519, 51, 1064, 1068, 1336, 1057, 692, 1942 1094, 1133, 69, 50, 58, 1031, 33, 1118, 112, 1119, 1943 1140, 1120, 1121, 1033, 1251, 1252, 1253, 1134, 1136, 1137, 1944 298, 1145, 112, 723, 1056, 298, 1149, 298, 298, 223, 1945 -9, -445, 443, -11, 36, -3, 111, 334, 111, 111, 1946 1158, 1156, 1164, 1074, 1026, 1074, 1074, 337, 109, 1152, 1947 136, 137, 1139, 1141, 1143, 1185, 63, 483, 1187, 1190, 1948 350, 43, 44, 480, 39, 1195, 169, 170, 42, 1391, 1949 1196, 1384, 109, 1199, 1210, 1081, 57, 43, 44, 1071, 1950 557, 557, 1072, 1206, 1073, 43, 44, 109, 298, 136, 1951 440, 874, 1325, 1032, 1212, 996, 76, 1214, 611, 334, 1952 43, 44, 606, 360, 1216, 50, 1215, 1217, 587, 337, 1953 1218, 587, 1227, 1202, 1220, 1236, 1242, 115, 1237, 1056, 1954 111, 1245, 1426, 965, 1264, 1246, 441, 1074, 1271, 1248, 1955 611, 442, 1272, 1249, 385, 611, 1273, 606, 386, 1257, 1956 1279, 611, 1285, 1287, 611, 611, 996, 387, 388, 996, 1957 389, 1288, 390, 391, 337, 337, 1289, 1292, 213, 1297, 1958 611, 1299, 254, 1305, 223, 1306, 228, 154, 628, 684, 1959 337, 1481, 105, 254, 1307, 1308, 893, 50, 50, 1315, 1960 1253, 111, 111, 1318, 1346, 1328, 76, 1329, 1074, 1074, 1961 1335, 1357, 1339, 112, 1426, 1032, 1340, 996, 1426, 1426, 1962 1358, -411, 996, 1330, 1361, 1372, 1377, 611, 884, 606, 1963 393, 1379, 1381, 1382, 1392, 692, 692, 337, 394, 1383, 1964 246, 1396, 1056, 1397, 1398, 1310, 1514, 1399, 154, 1401, 1965 105, 996, 1406, 1411, 63, 1415, 1417, 1413, 1419, 647, 1966 1421, 1433, 1423, 1454, 1456, 334, 1460, 648, 1424, 1530, 1967 1430, 1444, 223, 1530, 57, 1325, 1463, 1458, 314, 1466, 1968 1465, 1467, 1325, 1474, 874, 1490, 684, 329, 1492, 145, 1969 209, 1495, 893, 893, 1496, 146, 1508, 1547, 697, 147, 1970 50, 111, 70, 706, 1499, 557, 1506, 319, 1483, 1510, 1971 1513, 1057, 1515, 1528, 611, 1521, 937, 1529, 1550, 1532, 1972 996, 587, 1533, 1151, 1551, 996, 1554, 753, 105, 50, 1973 50, 750, 156, 39, 587, 418, 70, 42, 751, 421, 1974 209, 1325, 752, 754, 458, 1070, 43, 44, 996, 39, 1975 996, 176, 177, 42, 996, 1469, 676, 996, 1263, 50, 1976 1376, 361, 43, 44, 57, 1536, 1331, 1494, 206, 76, 1977 996, 1534, 691, 1447, 996, 1157, 76, 1024, 1166, 209, 1978 47, 48, 1345, 1179, 298, 1448, 1052, 1452, 1025, 895, 1979 399, 1067, 111, 838, 58, 421, 47, 48, 475, 1548, 1980 971, 1280, 889, 111, 1051, 902, 1057, 874, 334, 1026, 1981 1555, 689, 758, 112, 0, 1027, 0, 759, 337, 465, 1982 760, 0, 314, 0, 1485, 0, 1487, 884, 884, 0, 1983 0, 0, 692, 0, 154, 76, 0, 1390, 0, 209, 1984 0, 109, 112, 298, 204, 214, 831, 0, 1071, 334, 1985 0, 1072, 58, 1073, 43, 44, 444, 162, 0, 167, 1986 0, 0, 173, 174, 175, 0, 572, 0, 0, 0, 1987 577, 209, 109, 0, 136, 137, 209, 0, 1526, 227, 1988 1527, 334, 1293, 0, 0, 43, 44, 0, 0, 612, 1989 236, 237, 0, 616, 428, 0, 0, 0, 1539, 1540, 1990 0, 0, 611, 611, 0, 0, 105, 458, 0, 1057, 1991 0, 704, 337, 337, 458, 0, 705, 429, 891, 0, 1992 298, 0, 480, 0, 0, 0, 0, 57, 0, 0, 1993 58, 0, 0, 893, 57, 0, 0, 0, 0, 0, 1994 0, 70, 0, 105, 8, 9, 10, 11, 12, 0, 1995 314, 314, 39, 0, 176, 177, 42, 0, 0, 0, 1996 0, 676, 0, 209, 0, 43, 44, 1027, 109, 1027, 1997 0, 1027, 0, 458, 0, 1071, 33, 314, 1072, 0, 1998 1073, 43, 44, 396, 0, 0, 112, 0, 0, 115, 1999 0, 178, 884, 57, 0, 893, 105, 207, 0, 47, 2000 48, 0, 254, 0, 36, 0, 226, 893, 893, 1295, 2001 2, 200, 4, 5, 6, 7, 0, 0, 475, 0, 2002 314, 0, 475, 0, 0, 208, 0, 0, 0, 0, 2003 893, 0, 314, 334, 314, 0, 0, 314, 105, 314, 2004 314, 206, 0, 209, 0, 0, 0, 207, 883, 0, 2005 585, 0, 0, 628, 0, 0, 47, 48, 1451, 975, 2006 1451, 0, 0, 676, 0, 0, 0, 0, 39, 0, 2007 176, 177, 42, 676, 676, 208, 0, 105, 37, 0, 2008 38, 43, 44, 209, 676, 0, 207, 0, 0, 0, 2009 0, 0, 0, 0, 1041, 0, 0, 1451, 298, 1451, 2010 314, 0, 893, 0, 0, 0, 0, 253, 58, 112, 2011 769, 0, 0, 0, 208, 47, 48, 1027, 522, 523, 2012 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 2013 611, 0, 628, 0, 0, 112, 576, 0, 583, 0, 2014 0, 105, 810, -3, 0, 58, 207, 577, 0, 609, 2015 610, 0, 533, 819, 39, 0, 169, 170, 42, 105, 2016 0, 206, 0, 0, 0, 0, 105, 43, 44, 0, 2017 0, 0, 70, 0, 208, 0, 611, 611, 207, 0, 2018 0, 0, 0, 207, 401, 0, 337, 337, 298, 0, 2019 514, 409, 0, 364, 515, 516, 517, 0, 58, 0, 2020 0, 0, 209, 0, 0, 871, 208, 0, 0, 0, 2021 0, 208, 0, 126, 0, 127, 128, 129, 518, 1027, 2022 519, 0, 520, 521, 0, 105, 43, 44, 0, 0, 2023 112, 475, 209, 975, 0, 0, 0, 209, 0, 0, 2024 58, 0, 0, 514, 0, 0, 0, 515, 516, 517, 2025 0, 0, 8, 9, 10, 11, 12, 401, 0, 1182, 2026 0, 676, 676, 0, 0, 0, 0, 0, 259, 112, 2027 207, 518, 0, 519, 0, 520, 1262, 0, 58, 58, 2028 0, 0, 0, 39, 33, 169, 170, 42, 0, 0, 2029 0, 0, 254, 0, 0, 209, 43, 44, 208, 0, 2030 0, 0, 0, 611, 0, 0, 933, 0, 0, 209, 2031 429, 0, 36, 337, 0, 562, 0, 39, 259, 176, 2032 177, 42, 676, 676, 566, 0, 0, 569, 58, 0, 2033 43, 44, 0, 112, 0, 8, 9, 10, 11, 12, 2034 0, 0, 0, 58, 0, 0, 0, 0, 0, 1239, 2035 207, 112, 0, 0, 0, 0, 178, 0, 112, 0, 2036 112, 58, 112, 0, 47, 48, 207, 33, 58, 0, 2037 0, 0, 0, 206, 0, 0, 0, 0, 208, 0, 2038 0, 0, 0, 0, 0, 401, 0, 206, 0, 409, 2039 207, 0, 0, 0, 1480, 36, 209, 0, 0, 112, 2040 39, 112, 176, 177, 42, 1023, 0, 0, 0, 0, 2041 0, 0, 0, 43, 44, 0, 0, 112, 208, 0, 2042 0, 0, 0, 1480, 1480, 0, 0, 58, 0, 0, 2043 0, 0, 0, 475, 1058, 314, 0, 0, 0, 584, 2044 298, 585, 0, 0, 0, 0, 0, 47, 48, 0, 2045 0, 0, 0, 1480, 39, 0, 176, 177, 42, 0, 2046 0, 0, 0, 0, 0, 0, 401, 43, 44, 0, 2047 0, 0, 0, 810, 206, 876, 0, 877, 0, 0, 2048 0, 0, 0, 0, 880, 881, 0, 0, 0, 886, 2049 1278, 0, 0, 584, 0, 585, 0, 0, 0, 0, 2050 0, 47, 48, 0, 0, 0, 896, 0, 0, 207, 2051 0, 900, 0, 0, 0, 586, 171, 0, 0, 676, 2052 8, 9, 10, 11, 12, 0, 0, 676, 676, 676, 2053 583, 0, 0, 0, 0, 0, 0, 208, 0, 207, 2054 0, 0, 70, 0, 207, 0, 0, 0, 0, 0, 2055 0, 0, 33, 0, 0, 0, 0, 562, 562, 0, 2056 0, 0, 0, 171, 209, 0, 171, 208, 0, 0, 2057 0, 0, 208, 0, 0, 0, 0, 0, 871, 0, 2058 36, 0, 0, 0, 0, 39, 0, 176, 177, 42, 2059 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 2060 0, 0, 207, 0, 0, 66, 116, 0, 8, 9, 2061 10, 11, 12, 0, 0, 0, 207, 0, 0, 0, 2062 0, 0, 0, 0, 1025, 960, 399, 961, 962, 963, 2063 208, 0, 47, 48, 0, 0, 0, 0, 0, 66, 2064 33, 849, 429, 0, 208, 853, 1014, 0, 0, 0, 2065 39, 0, 176, 177, 42, 0, 155, 0, 0, 0, 2066 0, 0, 1020, 43, 44, 0, 0, 0, 36, 0, 2067 171, 0, 0, 39, 215, 176, 177, 42, 70, 0, 2068 0, 0, 0, 0, 0, 1047, 43, 44, 0, 1025, 2069 0, 399, 0, 0, 676, 0, 0, 47, 48, 0, 2070 0, 871, 0, 207, 0, 0, 0, 0, 0, 247, 2071 0, 0, 1479, 0, 399, 0, 0, 0, 171, 1069, 2072 47, 48, 0, 0, 1079, 0, 0, 1058, 0, 1082, 2073 0, 208, 0, 0, 1087, 1088, 0, 0, 0, 1090, 2074 0, 1091, 1092, 0, 0, 1095, 0, 0, 320, 8, 2075 9, 10, 11, 12, 1110, 0, 247, 339, 0, 0, 2076 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, 2077 1124, 1125, 39, 0, 176, 177, 42, 0, 0, 0, 2078 0, 33, 0, 0, 392, 43, 44, 0, 0, 0, 2079 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 2080 412, 0, 1153, 417, 419, 1155, 0, 0, 155, 36, 2081 0, 1479, 171, 399, 39, 0, 171, 0, 42, 47, 2082 48, 0, 1058, 0, 0, 0, 0, 43, 44, 435, 2083 0, 0, 0, 438, 0, 439, 0, 0, 445, 0, 2084 0, 0, 0, 0, 66, 0, 0, 0, 0, 459, 2085 0, 0, 0, 45, 0, 0, 70, 0, 1188, 466, 2086 0, 47, 48, 0, 1192, 1193, 0, 419, 0, 0, 2087 0, 207, 0, 1200, 0, 0, 0, 0, 1207, 0, 2088 0, 0, 0, 1211, 0, 0, 0, 0, 74, 0, 2089 0, 0, 0, 0, 0, 0, 1219, 0, 0, 208, 2090 8, 9, 10, 11, 12, 0, 8, 9, 10, 11, 2091 12, 0, 1226, 0, 1228, 1229, 1230, 1231, 0, 0, 2092 0, 0, 74, 0, 0, 1058, 0, 0, 1085, 1238, 2093 0, 1124, 33, 0, 0, 247, 0, 0, 33, 578, 2094 0, 0, 0, 0, 1098, 608, 70, 0, 209, 0, 2095 0, 0, 1450, 0, 1450, 0, 0, 216, 613, 0, 2096 36, 0, 613, 1267, 1268, 39, 36, 176, 177, 42, 2097 0, 39, 0, 0, 0, 42, 0, 0, 43, 44, 2098 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2099 0, 1450, 0, 1450, 0, 0, 0, 0, 209, 0, 2100 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 2101 691, 459, 47, 48, 0, 0, 0, 0, 47, 48, 2102 0, 0, 0, 0, 0, 339, 206, 1303, 1304, 0, 2103 459, 0, 314, 401, 0, 0, 0, 1314, 459, 0, 2104 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2105 0, 0, 0, 0, 0, 671, 0, 0, 419, 0, 2106 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 2107 0, 0, 0, 685, 0, 66, 429, 0, 0, 0, 2108 171, 0, 0, 0, 0, 0, 0, 419, 0, 0, 2109 0, 419, 0, 171, 0, 0, 0, 0, 0, 0, 2110 0, 1353, 0, 1354, 1355, 1356, 0, 0, 0, 70, 2111 0, 0, 436, 0, 0, 1360, 70, 0, 339, 0, 2112 0, 0, 0, 1371, 0, 0, 167, 74, 0, 0, 2113 0, 0, 74, 8, 9, 10, 11, 12, 13, 14, 2114 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2115 25, 26, 27, 1393, 0, 28, 29, 30, 0, 0, 2116 0, 0, 761, 0, 0, 33, 869, 0, 0, 401, 2117 0, 0, 0, 0, 0, 70, 0, 0, 0, 613, 2118 772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2119 0, 0, 790, 36, 0, 0, 0, 1434, 1435, 0, 2120 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2121 1440, 578, 0, 0, 0, 0, 578, 1440, 0, 0, 2122 0, 0, 613, 0, 0, 339, 339, 0, 216, 0, 2123 0, 0, 0, 0, 1464, 0, 0, 0, 0, 714, 2124 77, 339, 0, 870, 0, 47, 48, 0, 0, 0, 2125 0, 0, 1478, 0, 0, 207, 1484, 0, 0, 0, 2126 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127 0, 459, 1343, 0, 77, 0, 0, 0, 0, 0, 2128 0, 0, 0, 208, 0, 459, 0, 0, 339, 1511, 2129 0, 1512, 0, 0, 74, 0, 0, 888, 171, 0, 2130 419, 0, 0, 0, 0, 207, 0, 0, 342, 217, 2131 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 2132 0, 74, 0, 0, 0, 0, 685, 0, 0, 1537, 2133 1538, 0, 0, 208, 0, 0, 0, 0, 342, 0, 2134 0, 0, 1545, 1546, 0, 0, 0, 0, 0, 0, 2135 0, 0, 0, 0, 0, 0, 342, 0, 74, 0, 2136 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 2137 0, 0, 671, 671, 0, 613, 0, 0, 940, 0, 2138 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 2139 0, 0, 344, 951, 0, 0, 0, 0, 0, 0, 2140 0, 342, 0, 0, 0, 0, 0, 8, 9, 10, 2141 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2142 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2143 29, 30, 0, 0, 0, 0, 0, 171, 0, 33, 2144 171, 171, 171, 0, 0, 66, 0, 0, 0, 0, 2063 2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2064 868, 0, 0, 0, 0, 0, 0, 0, 436, 0, 2146 0, 0, 0, 342, 0, 0, 0, 36, 0, 772, 2147 0, 0, 39, 0, 40, 41, 42, 0, 0, 77, 2148 0, 0, 79, 0, 77, 43, 44, 0, 0, 1048, 2065 2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066 0, 609, 609, 74, 0, 0, 1056, 0, 74, 0, 2067 0, 0, 0, 298, 208, 0, 0, 0, 0, 8, 2068 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 2069 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 1025, 0, 0, 0, 0, 0, 2071 0, 33, 0, 0, 0, 112, 0, 401, 873, 0, 2072 874, 0, 0, 0, 0, 0, 0, 877, 878, 0, 2073 0, 0, 883, 0, 0, 0, 0, 0, 1275, 36, 2074 0, 0, 0, 0, 39, 209, 176, 177, 42, 0, 2075 894, 0, 0, 259, 112, 898, 0, 43, 44, 0, 2076 0, 1056, 0, 0, 216, 0, 0, 0, 125, 0, 2077 0, 0, 0, 0, 583, 0, 0, 254, 0, 0, 2078 0, 0, 0, 1023, 0, 399, 350, 350, 609, 0, 2079 0, 47, 48, 0, 0, 0, 0, 66, 116, 0, 2080 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 2081 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 2150 0, 0, 419, 116, 0, 0, 0, 0, 342, 342, 2151 685, 45, 0, 46, 0, 0, 79, 0, 0, 47, 2152 48, 0, 0, 0, 342, 0, 0, 0, 0, 0, 2082 2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083 74, 66, 0, 0, 0, 0, 112, 0, 0, 0, 2084 0, 208, 0, 112, 342, 112, 0, 112, 155, 74, 2085 0, 0, 0, 401, 0, 0, 0, 74, 0, 0, 2086 0, 0, 0, 0, 1056, 0, 215, 958, 0, 959, 2087 960, 961, 0, 0, 342, 0, 0, 0, 0, 1478, 2088 0, 0, 0, 0, 112, 0, 112, 0, 1012, 0, 2089 0, 1448, 342, 1448, 74, 0, 0, 0, 0, 0, 2090 0, 247, 112, 0, 1018, 0, 0, 0, 1478, 1478, 2091 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 2092 0, 0, 0, 0, 0, 298, 0, 1045, 0, 0, 2093 1448, 0, 1448, 125, 125, 0, 0, 342, 1478, 0, 2094 320, 0, 0, 0, 0, 0, 0, 0, 247, 339, 2095 0, 0, 0, 0, 0, 0, 1341, 0, 0, 0, 2096 125, 0, 1067, 125, 125, 0, 125, 1077, 125, 125, 2097 0, 314, 1080, 125, 125, 0, 392, 1085, 1086, 0, 2098 0, 0, 1088, 0, 1089, 1090, 0, 0, 1093, 0, 2099 0, 0, 412, 0, 0, 417, 419, 1108, 0, 342, 2100 155, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2101 0, 125, 0, 1122, 1123, 125, 0, 0, 0, 0, 2102 0, 435, 0, 0, 0, 438, 0, 439, 0, 0, 2103 445, 0, 0, 0, 33, 0, 66, 0, 0, 0, 2104 0, 459, 342, 342, 0, 1151, 0, 0, 1153, 0, 2105 0, 466, 0, 0, 0, 0, 0, 0, 342, 419, 2106 0, 0, 36, 0, 0, 0, 0, 39, 0, 176, 2107 177, 42, 0, 0, 207, 0, 0, 342, 0, 0, 2108 43, 44, 0, 0, 0, 0, 0, 0, 74, 0, 2154 0, 0, 578, 342, 0, 0, 0, 0, 0, 0, 2155 0, 218, 0, 0, 74, 417, 0, 0, 0, 0, 2156 671, 671, 0, 339, 339, 0, 0, 0, 74, 0, 2157 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 2158 217, 66, 0, 8, 9, 10, 11, 12, 13, 14, 2159 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2160 25, 26, 27, 0, 0, 28, 29, 30, 0, 342, 2161 0, 0, 171, 0, 0, 33, 869, 0, 0, 0, 2162 0, 671, 671, 0, 0, 0, 0, 0, 0, 0, 2163 0, 0, 1173, 0, 345, 0, 0, 0, 0, 0, 2164 0, 0, 0, 36, 0, 342, 77, 0, 0, 0, 2165 40, 41, 0, 0, 0, 342, 342, 0, 0, 0, 2166 344, 216, 0, 0, 0, 77, 342, 0, 0, 0, 2167 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, 2169 344, 0, 0, 1183, 685, 47, 48, 0, 0, 0, 2170 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, 2171 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2172 0, 79, 0, 171, 0, 0, 79, 0, 74, 0, 2173 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2174 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2175 -299, 0, 342, 344, 0, 0, 0, 0, 0, 66, 2176 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2177 0, 0, 0, 0, 171, 0, 0, 171, 0, 0, 2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 2179 36, 685, 0, 342, 0, 0, 116, 0, 0, 0, 2180 0, -299, 0, 0, 0, 171, 0, 0, 0, 0, 2181 0, 85, 0, 0, 0, 344, 0, 0, 671, 0, 2182 0, 0, 218, 0, 0, 171, 671, 671, 671, 0, 2183 171, 0, 0, 0, 0, 0, 0, 339, 339, 0, 2184 0, 0, 0, 342, 342, 85, 342, 342, 0, 1324, 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 2186 344, 344, 0, 0, 74, 0, 0, 0, 0, 0, 2187 0, 0, 0, 0, 0, 0, 344, 0, 0, 0, 2188 219, 0, 0, 0, 0, 0, 0, 0, 79, 0, 2189 0, 116, 0, 0, 0, 344, 0, 0, 0, 0, 2190 0, 0, 345, 0, 342, 342, 77, 79, 0, 0, 2191 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 2192 77, 0, 0, 344, 0, 0, 0, 0, 171, 0, 2193 1374, 0, 345, 171, 0, 0, 0, 0, 0, 0, 2109 2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2110 0, 1186, 74, 0, 0, 342, 178, 1190, 1191, 0, 2111 0, 0, 0, 0, 47, 48, 1198, 0, 0, 0, 2112 0, 1205, 0, 0, 207, 0, 1209, 247, 0, 209, 2113 0, 578, 0, 0, 0, 0, 0, 606, 0, 1217, 2114 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 2115 611, 0, 0, 0, 611, 1224, 0, 1226, 1227, 1228, 2116 1229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2117 0, 0, 1236, 0, 1122, 0, 0, 0, 0, 209, 2118 342, 0, 0, 0, 8, 9, 10, 11, 12, 77, 2119 342, 342, 0, 0, 0, 0, 216, 0, 0, 0, 2120 0, 342, 0, 459, 0, 0, 1265, 1266, 0, 0, 2121 0, 0, 0, 0, 0, 0, 33, 339, 0, 0, 2122 0, 0, 459, 77, 0, 208, 0, 0, 0, 0, 2123 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 36, 0, 0, 669, 0, 39, 2125 419, 176, 177, 42, 0, 0, 0, 0, 217, 0, 2126 0, 74, 43, 44, 0, 683, 0, 66, 0, 0, 2127 1301, 1302, 0, 0, 0, 208, 0, 0, 0, 419, 2128 1312, 0, 0, 419, 0, 342, 0, 0, 1477, 0, 2129 399, 0, 0, 0, 0, 0, 47, 48, 125, 0, 2195 345, 0, 79, 0, 0, 0, 171, 0, 171, 0, 2196 0, 344, 171, 352, 339, 171, 0, 0, 0, 0, 2197 0, 0, 0, 0, 0, 0, 0, 342, 171, 0, 2198 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 2199 0, 0, 0, 671, 116, 345, 0, 344, 0, 0, 2200 0, 0, 0, 0, 0, 0, 0, 344, 344, 0, 2201 0, 0, 1324, 217, 0, 0, 0, 0, 344, 1324, 2202 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2203 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2204 27, 0, 74, 28, 29, 30, 0, 0, 0, 0, 2205 85, 0, 0, 33, 0, 85, 0, 345, 0, 0, 2130 2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2131 339, 0, 0, 0, 125, 0, 0, 125, 125, 0, 2132 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 2207 0, 0, 342, 0, 342, 0, 0, 0, 1324, 0, 2208 77, 36, 0, 0, 0, 1509, 39, 0, 201, 41, 2209 42, 0, 0, 0, 0, 0, 0, 0, 0, 43, 2210 44, 342, 345, 345, 344, 0, 0, 0, 0, 342, 2211 342, 342, 0, 0, 0, 0, 0, 0, 345, 0, 2212 342, 342, 0, 0, 0, 45, 0, 258, 0, 0, 2213 0, 0, 74, 47, 48, 0, 0, 345, 0, 0, 2214 0, 0, 0, 0, 0, 344, 0, 0, 79, 0, 2215 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 2216 0, 0, 79, 0, 0, 345, 0, 0, 0, 0, 2217 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2218 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2219 0, 0, 28, 29, 30, 344, 344, 0, 344, 344, 2220 0, 0, 33, 345, 0, 0, 0, 0, 0, 0, 2221 0, 0, 0, 216, 0, 0, 77, 85, 0, 0, 2133 2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134 0, 344, 0, 0, 1351, 0, 1352, 1353, 1354, 0, 2135 171, 0, 0, 0, 760, 0, 0, 0, 1358, 0, 2136 0, 0, 0, 0, 0, 0, 1369, 0, 0, 167, 2137 0, 611, 771, 0, 0, 0, 0, 342, 342, 0, 2138 342, 342, 0, 788, 0, 0, 0, 0, 0, 0, 2139 125, 0, 0, 0, 0, 0, 1391, 171, 74, 0, 2140 171, 578, 0, 125, 0, 0, 578, 0, 125, 125, 2141 0, 0, 611, 0, 0, 339, 339, 0, 0, 0, 2142 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 2143 0, 339, 0, 77, 0, 0, 0, 0, 342, 342, 2144 1432, 1433, 0, 0, 0, 0, 0, 0, 0, 0, 2145 669, 0, 0, 1438, 0, 0, 0, 0, 0, 0, 2146 1438, 459, 0, 0, 0, 125, 0, 0, 0, 79, 2147 0, 0, 0, 0, 0, 459, 0, 1462, 339, 0, 2148 0, 0, 0, 0, 0, 0, 0, 885, 0, 0, 2149 419, 0, 0, 0, 0, 1476, 0, 0, 0, 1482, 2150 0, 0, 0, 79, 171, 0, 0, 0, 0, 0, 2151 0, 342, 0, 0, 0, 0, 0, 683, 0, 0, 2152 0, 0, 0, 0, 0, 0, 0, 125, 0, 217, 2153 0, 0, 1509, 0, 1510, 0, 0, 0, 218, 0, 2154 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 2155 0, 0, 171, 669, 0, 0, 0, 0, 8, 9, 2156 10, 11, 12, 669, 669, 0, 611, 0, 0, 938, 2157 0, 0, 1535, 1536, 669, 0, 74, 0, 0, 0, 2158 0, 0, 0, 0, 949, 1543, 1544, 0, 0, 0, 2159 33, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2160 0, 0, 0, 0, 0, 0, 342, 0, 342, 344, 2161 0, 0, 0, 0, 77, 0, 0, 0, 36, 0, 2162 0, 345, 77, 39, 0, 176, 177, 42, 123, 171, 2163 0, 0, 0, 0, 66, 342, 43, 44, 0, 344, 2164 0, 0, 125, 342, 342, 342, 171, 0, 0, 0, 2165 171, 0, 0, 0, 342, 342, 0, 344, 771, 77, 2166 0, 0, 253, 0, 0, 0, 74, 0, 0, 0, 2167 47, 48, 0, 0, 0, 0, 0, 0, 1046, 0, 2223 36, 352, 0, 0, 0, 0, 85, 201, 41, 345, 2224 0, 0, 0, 0, 85, 0, 0, 342, 0, 345, 2225 345, 0, 0, 0, 0, 218, 344, 344, 0, 0, 2226 345, 352, 0, 0, 0, 273, 274, 0, 275, 0, 2227 0, 0, 0, 0, 0, 160, 342, 0, 0, 352, 2228 0, 85, 47, 48, 0, 0, 0, 0, 0, 0, 2229 212, 0, 0, 0, 276, 74, 0, 0, 0, 0, 2230 277, 0, 74, 0, 278, 0, 0, 279, 280, 270, 2231 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2232 0, 0, 79, 0, 352, 0, 0, 0, 0, 344, 2233 0, 0, 0, 0, 0, 0, 160, 0, 0, 286, 2234 260, 367, 0, 0, 0, 0, 345, 47, 48, 288, 2235 289, 290, 291, 0, 0, 0, 0, 0, 0, 0, 2236 755, 74, 0, 0, 0, 0, 160, 0, 0, 0, 2237 0, 0, 0, 0, 0, 0, 358, 0, 0, 363, 2238 0, 0, 0, 0, 0, 0, 352, 345, 0, 0, 2239 0, 0, 0, 0, 77, 0, 8, 9, 10, 11, 2240 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2241 22, 23, 24, 25, 26, 27, -300, 0, 0, 0, 2242 0, 0, 0, 0, 344, 0, 344, 160, 33, 0, 2243 0, 352, 352, 0, 0, 0, 0, 345, 345, 212, 2244 345, 345, 0, 0, 0, 0, 0, 352, 0, 0, 2245 0, 0, 0, 344, 0, 0, 36, 0, 79, 0, 2246 0, 344, 344, 344, 0, 0, 352, -300, 0, 0, 2247 0, 0, 344, 344, 0, 0, 363, 85, 0, 0, 2248 0, 0, 0, 160, 77, 0, 0, 0, 0, 0, 2249 0, 85, 0, 0, 352, 0, 0, 0, 345, 345, 2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2251 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2252 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 2253 0, 0, 352, 0, 8, 9, 10, 11, 12, 13, 2254 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2255 24, 25, 26, 27, 0, 0, 0, 0, 581, 0, 2256 0, 0, 0, 607, 0, 217, 33, 0, 352, 0, 2257 0, 345, 0, 0, 0, 0, 0, 0, 352, 352, 2258 0, 0, 0, 0, 219, 0, 0, 0, 0, 352, 2259 0, 0, 0, 0, 36, 0, 0, 0, 0, 344, 2260 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 2261 0, 0, 0, 0, 225, 0, 229, 0, 231, 0, 2262 0, 0, 0, 0, 234, 0, 0, 0, 344, 0, 2263 0, 0, 0, 0, 0, 0, 79, 0, 160, 160, 2264 0, 0, 0, 0, 358, 0, 0, 77, 0, 0, 2265 0, 85, 0, 0, 77, 205, 0, 229, 231, 234, 2266 0, 0, 0, 0, 0, 160, 345, 0, 345, 0, 2267 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2269 0, 0, 688, 0, 205, 345, 0, 0, 0, 0, 2270 0, 0, 0, 345, 345, 345, 0, 0, 160, 0, 2271 0, 0, 0, 77, 345, 345, 352, 0, 0, 0, 2272 512, 0, 512, 0, 0, 512, 79, 160, 512, 0, 2273 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275 0, 0, 0, 0, 205, 0, 229, 231, 234, 0, 2276 0, 0, 0, 0, 0, 0, 352, 352, 0, 352, 2277 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2278 0, 0, 0, 0, 0, 0, 205, 85, 160, 0, 2279 0, 205, 0, 0, 0, 0, 0, 0, 0, 358, 2280 0, 0, 775, 0, 0, 0, 0, 218, 0, 0, 2281 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 2282 0, 0, 0, 0, 0, 0, 335, 352, 352, 0, 2283 581, 0, 0, 0, 0, 581, 0, 370, 370, 0, 2284 0, 345, 0, 0, 358, 358, 0, 0, 0, 0, 2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 2286 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287 345, 0, 0, 0, 0, 0, 0, 0, 205, 0, 2288 0, 0, 0, 229, 231, 0, 0, 0, 0, 79, 2289 0, 234, 0, 512, 0, 0, 79, 0, 152, 0, 2290 352, 0, 0, 0, 0, 0, 0, 358, 0, 885, 2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 464, 0, 0, 0, 0, 2293 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 239, 0, 0, 688, 0, 0, 0, 0, 2295 0, 205, 244, 0, 0, 79, 205, 0, 205, 0, 2296 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 2297 0, 0, 0, 0, 205, 0, 0, 205, 205, 0, 2298 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2299 0, 0, 0, 0, 0, 352, 607, 352, 205, 0, 2300 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 2301 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 2302 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 2303 0, 0, 352, 352, 352, 0, 0, 0, 0, 0, 2304 406, 0, 370, 352, 352, 0, 0, 0, 0, 0, 2305 0, 0, 0, 0, 420, 85, 0, 0, 0, 0, 2306 0, 0, 0, 425, 0, 0, 0, 0, 0, 0, 2307 0, 0, 0, 433, 0, 0, 0, 0, 0, 0, 2308 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 2309 0, 0, 450, 512, 0, 0, 0, 460, 0, 0, 2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2311 468, 0, 0, 0, 0, 312, 0, 205, 482, 0, 2312 486, 0, 0, 160, 0, 0, 0, 0, 0, 688, 2313 0, 0, 0, 0, 682, 0, 219, 0, 0, 513, 2314 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 2315 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 2316 0, 581, 0, 0, 0, 0, 0, 0, 0, 0, 2317 352, 0, 0, 0, 0, 0, 0, 718, 0, 0, 2318 571, 0, 358, 358, 575, 0, 0, 727, 0, 0, 2319 0, 0, 718, 0, 0, 718, 0, 0, 0, 352, 2320 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 2321 205, 0, 620, 0, 0, 0, 621, 622, 85, 623, 2322 0, 0, 0, 0, 205, 85, 634, 635, 0, 636, 2323 637, 0, 638, 0, 639, 0, 0, 0, 765, 0, 2324 0, 0, 0, 0, 0, 335, 0, 0, 0, 727, 2325 0, 571, 0, 0, 0, 0, 0, 0, 950, 655, 2326 789, 8, 9, 10, 11, 12, 512, 0, 0, 0, 2327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328 0, 0, 0, 666, 85, 0, 0, 0, 0, 0, 2329 0, 273, 274, 33, 275, 0, 0, 828, 0, 0, 2330 205, 0, 0, 0, 0, 370, 0, 0, 680, 0, 2331 0, 205, 0, 688, 683, 0, 0, 0, 0, 450, 2332 276, 36, 0, 0, 0, 0, 277, 0, 0, 205, 2333 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2334 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 2336 0, 0, 0, 0, 0, 286, 0, 367, 0, 0, 2337 0, 732, 0, 333, 48, 288, 289, 290, 291, 0, 2338 0, 0, 0, 0, 0, 718, 0, 273, 274, 512, 2339 275, 0, 0, 0, 0, 727, 0, 911, 0, 0, 2340 914, 0, 0, 0, 0, 0, 921, 0, 757, 0, 2341 688, 0, 0, 0, 0, 0, 276, 767, 0, 0, 2342 768, 0, 624, 0, 136, 137, 278, 205, 0, 279, 2343 280, 270, 281, 282, 283, 43, 44, 788, 284, 285, 2344 0, 0, 0, 0, 0, 0, 938, 939, 0, 273, 2345 274, 0, 275, 0, 0, 0, 358, 358, 0, 0, 2346 0, 286, 335, 625, 0, 626, 368, 0, 0, 47, 2347 48, 288, 289, 290, 291, 0, 0, 829, 276, 205, 2348 0, 0, 0, 0, 277, 0, 0, 0, 278, 0, 2349 205, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2350 284, 285, 0, 967, 0, 0, 0, 370, 0, 0, 2351 0, 0, 0, 0, 864, 0, 0, 0, 0, 0, 2352 0, 0, 0, 286, 0, 367, 0, 0, 368, 0, 2353 0, 47, 48, 288, 289, 290, 291, 0, 335, 0, 2354 0, 239, 0, 0, 0, 0, 0, 0, 212, 0, 2355 0, 0, 0, 0, 0, 0, 897, 898, 0, 0, 2356 0, 0, 0, 0, 0, 0, 905, 0, 330, 353, 2357 0, 0, 0, 312, 0, 0, 0, 0, 0, 335, 2358 918, 0, 0, 358, 0, 922, 370, 205, 0, 0, 2359 0, 914, 0, 0, 718, 0, 0, 0, 212, 0, 2360 402, 0, 0, 0, 0, 0, 0, 402, 0, 0, 2361 0, 0, 0, 0, 1093, 0, 0, 0, 0, 0, 2362 0, 0, 0, 0, 0, 1111, 0, 0, 0, 0, 2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2364 512, 0, 512, 0, 0, 370, 955, 1128, 0, 0, 2365 0, 0, 0, 956, 0, 0, 0, 0, 0, 0, 2366 0, 0, 914, 914, 0, 0, 0, 958, 0, 959, 2367 0, 0, 0, 402, 0, 0, 0, 0, 0, 512, 2368 0, 512, 969, 0, 0, 0, 0, 0, 973, 1159, 2369 0, 0, 0, 125, 0, 0, 0, 0, 0, 1016, 2370 0, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 2371 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 2372 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 2374 402, 567, 914, 402, 570, 0, 0, 125, 0, 0, 2375 0, 353, 0, 0, 0, 598, 0, 0, 0, 0, 2376 0, 0, 125, 828, 125, 0, 0, 0, 0, 0, 2377 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, 2378 0, 1224, 1225, 0, 0, 0, 0, 1089, 0, 265, 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 402, 0, 0, 0, 402, 0, 0, 497, 0, 2381 499, 502, 0, 0, 0, 0, 0, 0, 123, 505, 2382 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2383 0, 0, 0, 499, 499, 0, 0, 353, 0, 0, 2384 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 2385 125, 125, 0, 0, 1154, 125, 0, 125, 125, 0, 2386 0, 0, 0, 205, 0, 0, 0, 0, 0, 499, 2168 2387 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 2169 0, 0, 419, 116, 0, 0, 0, 242, 0, 243, 2170 683, 0, 344, 0, 0, 0, 0, 0, 79, 0, 2171 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2388 0, 0, 402, 0, 0, 353, 0, 242, 0, 243, 2389 0, 0, 0, 0, 0, 0, 1184, 0, 0, 0, 2390 0, 1186, 0, 0, 499, 0, 0, 0, 0, 0, 2391 0, 1191, 0, 205, 0, 0, 0, 0, 0, 0, 2392 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 2393 353, 0, 1334, 0, 0, 1213, 718, 0, 0, 0, 2394 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 2395 0, 0, 1222, 0, 0, 1223, 0, 0, 0, 0, 2172 2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2173 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 2174 0, 0, 0, 0, 0, 417, 0, 216, 0, 85, 2175 669, 669, 0, 339, 339, 0, 0, 0, 0, 0, 2176 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 2177 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 2178 0, 342, 0, 85, 0, 403, 404, 0, 0, 0, 2179 408, 0, 410, 411, 0, 0, 0, 0, 0, 0, 2180 0, 0, 0, 0, 0, 0, 0, 344, 344, 218, 2181 342, 669, 669, 0, 0, 0, 0, 0, 219, 0, 2182 0, 0, 1171, 344, 0, 0, 0, 0, 0, 74, 2183 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 2184 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 2185 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 2186 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 2187 344, 0, 0, 0, 0, 79, 0, 0, 0, 0, 2188 0, 0, 0, 0, 683, 0, 0, 0, 0, 345, 2189 0, 0, 0, 0, 79, 74, 0, 171, 0, 0, 2190 0, 352, 79, 0, 0, 0, 0, 0, 0, 344, 2191 0, 0, 171, 0, 0, 0, 0, 0, 0, 345, 2192 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 2193 0, 0, 0, 0, 0, 0, 0, 345, 0, 79, 2194 0, 0, 0, 0, 0, 344, 0, 0, 0, 66, 2195 0, 0, 0, 0, 0, 344, 344, 0, 0, 0, 2196 0, 217, 0, 0, 0, 0, 344, 0, 0, 0, 2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 2198 0, 683, 345, 0, 0, 0, 116, 0, 85, 0, 2199 0, 0, 0, 85, 0, 647, 0, 0, 1106, 0, 2200 0, 8, 9, 10, 11, 12, 0, 0, 669, 0, 2201 0, 0, 0, 0, 0, 0, 669, 669, 669, 0, 2202 0, 0, 0, 0, 0, 0, 77, 339, 339, 0, 2203 0, 273, 274, 33, 275, 0, 0, 0, 0, 1322, 2204 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 2205 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206 276, 36, 0, 0, 0, 0, 277, 0, 0, 0, 2207 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2208 44, 116, 284, 285, 0, 0, 0, 345, 345, 219, 2209 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 2210 0, 0, 0, 345, 0, 286, 0, 367, 0, 0, 2211 0, 0, 0, 1107, 48, 288, 289, 290, 291, 0, 2212 1372, 0, 345, 0, 0, 0, 0, 0, 0, 171, 2213 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2214 0, 0, 344, 344, 0, 344, 344, 79, 0, 0, 2215 345, 0, 0, 0, 339, 85, 0, 0, 0, 0, 2216 762, 763, 0, 77, 0, 0, 0, 0, 0, 352, 2217 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 2218 0, 0, 85, 669, 116, 0, 0, 793, 0, 345, 2219 796, 797, 0, 800, 0, 802, 803, 0, 0, 352, 2220 804, 805, 1322, 344, 344, 273, 274, 0, 275, 1322, 2221 0, 0, 0, 0, 0, 0, 0, 352, 0, 85, 2222 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 2223 0, 0, 0, 0, 276, 345, 345, 0, 845, 0, 2224 277, 218, 849, 0, 278, 0, 345, 279, 280, 270, 2225 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2226 0, 0, 352, 0, 0, 0, 0, 0, 1322, 171, 2227 0, 0, 171, 171, 171, 1507, 344, 0, 0, 286, 2228 0, 367, 0, 0, 0, 0, 0, 47, 48, 288, 2229 289, 290, 291, 0, 0, 160, 0, 0, 0, 0, 2230 754, 0, 0, 0, 0, 0, 79, 0, 0, 0, 2231 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 2233 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2235 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 2236 260, 0, 0, 0, 0, 0, 0, 352, 352, 0, 2237 0, 344, 345, 344, 0, 0, 0, 0, 0, 0, 2238 0, 0, 0, 352, 0, 0, 160, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 358, 0, 0, 363, 2240 344, 0, 352, 0, 0, 0, 0, 0, 344, 344, 2241 344, 0, 0, 85, 0, 0, 0, 0, 0, 344, 2242 344, 0, 345, 345, 0, 345, 345, 85, 0, 0, 2243 352, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2244 0, 0, 0, 79, 171, 0, 0, 160, 0, 0, 2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 2397 0, 1232, 1233, 402, 402, 403, 404, 0, 0, 0, 2398 408, 0, 410, 411, 0, 0, 0, 0, 0, 1244, 2399 0, 770, 353, 0, 0, 0, 0, 0, 0, 0, 2400 0, 598, 0, 0, 598, 598, 0, 0, 0, 0, 2401 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 2402 0, 809, 0, 353, 0, 0, 0, 0, 353, 0, 2403 0, 0, 0, 0, 0, 0, 0, 353, 353, 0, 2404 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, 2405 0, 0, 0, 353, 1290, 0, 0, 402, 850, 0, 2406 125, 402, 854, 0, 0, 0, 0, 0, 0, 0, 2407 857, 0, 499, 499, 499, 499, 499, 499, 499, 499, 2408 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2247 2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2248 0, 0, 0, 345, 345, 0, 0, 0, 0, 0, 2249 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 2250 0, 0, 0, 160, 0, 352, 0, 0, 0, 0, 2251 0, 0, 217, 0, 0, 352, 352, 0, 0, 0, 2252 0, 219, 0, 0, 0, 1082, 352, 0, 0, 0, 2253 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2254 0, 1095, 160, 0, 1099, 1102, 344, 0, 0, 0, 2255 0, 0, 0, 0, 0, 171, 345, 0, 0, 0, 2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2257 0, 0, 0, 0, 0, 344, 0, 0, 581, 0, 2258 0, 0, 0, 605, 0, 0, 85, 0, 0, 0, 2259 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 2260 0, 77, 0, 0, 0, 0, 171, 0, 0, 171, 2261 352, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 2262 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 2263 0, 0, 0, 0, 0, 1178, 1179, 171, 0, 0, 2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2265 0, 345, 352, 345, 0, 0, 0, 171, 160, 160, 2266 77, 0, 171, 0, 358, 0, 0, 0, 0, 0, 2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 345, 0, 0, 0, 0, 160, 0, 0, 345, 345, 2269 345, 171, 1099, 0, 0, 0, 0, 0, 0, 345, 2270 345, 0, 352, 352, 0, 352, 352, 0, 0, 0, 2271 0, 79, 686, 0, 0, 0, 0, 0, 0, 0, 2272 0, 0, 0, 85, 205, 0, 0, 0, 160, 0, 2273 0, 0, 0, 225, 0, 229, 0, 231, 0, 0, 2274 512, 0, 512, 234, 0, 512, 0, 160, 512, 0, 2275 0, 0, 0, 0, 1263, 0, 0, 358, 0, 0, 2276 171, 0, 0, 352, 352, 171, 0, 0, 0, 0, 2277 0, 0, 0, 1273, 205, 0, 229, 231, 234, 0, 2278 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 2279 171, 0, 218, 0, 171, 0, 0, 171, 0, 0, 2280 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 2281 171, 0, 0, 205, 171, 0, 0, 0, 0, 358, 2282 0, 0, 774, 0, 0, 0, 345, 0, 0, 0, 2283 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 2284 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 2285 0, 0, 0, 581, 0, 345, 0, 0, 0, 0, 2286 0, 0, 358, 358, 0, 0, 0, 0, 0, 1340, 2287 0, 0, 0, 205, 79, 229, 231, 234, 358, 0, 2288 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290 0, 85, 0, 0, 0, 205, 0, 0, 0, 0, 2291 205, 512, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 358, 0, 882, 0, 0, 2293 0, 352, 0, 352, 0, 0, 0, 0, 0, 0, 2294 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296 352, 0, 0, 0, 686, 0, 0, 0, 352, 352, 2297 352, 0, 0, 0, 0, 0, 0, 0, 205, 352, 2298 352, 0, 273, 274, 0, 275, 0, 0, 0, 0, 2299 0, 85, 0, 0, 152, 0, 0, 205, 0, 0, 2300 0, 0, 229, 231, 0, 0, 0, 0, 0, 0, 2301 234, 276, 0, 0, 0, 605, 0, 622, 0, 136, 2302 137, 278, 0, 0, 279, 280, 270, 281, 282, 283, 2303 43, 44, 0, 284, 285, 0, 0, 0, 239, 0, 2304 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 2305 205, 0, 0, 0, 0, 0, 286, 0, 623, 0, 2306 624, 368, 0, 0, 47, 48, 288, 289, 290, 291, 2307 205, 0, 219, 0, 0, 205, 0, 205, 0, 0, 2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309 0, 0, 0, 205, 0, 0, 205, 205, 0, 0, 2310 0, 0, 0, 205, 0, 358, 352, 0, 0, 0, 2311 512, 0, 0, 0, 374, 0, 0, 205, 0, 0, 2312 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2313 0, 0, 0, 0, 0, 352, 406, 0, 0, 0, 2314 0, 160, 0, 0, 0, 0, 0, 686, 0, 0, 2315 420, 0, 0, 0, 85, 0, 0, 0, 0, 425, 2316 0, 85, 0, 0, 0, 0, 0, 0, 0, 433, 2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 2318 0, 0, 0, 0, 0, 0, 0, 0, 450, 0, 2319 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 2320 358, 358, 0, 0, 0, 0, 468, 0, 0, 0, 2321 0, 0, 0, 0, 482, 0, 486, 0, 0, 0, 2322 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323 0, 0, 0, 0, 0, 513, 205, 0, 8, 9, 2410 353, 598, 0, 0, 0, 0, 0, 0, 8, 9, 2324 2411 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2325 2412 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2326 28, 29, 30, 0, 205, 0, 0, 0, 0, 205, 2327 33, 0, 0, 0, 0, 0, 571, 0, 0, 0, 2328 575, 0, 0, 0, 512, 0, 0, 0, 0, 0, 2329 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2330 0, 0, 0, 39, 0, 40, 41, 42, 618, 0, 2331 0, 0, 619, 620, 0, 621, 43, 44, 0, 0, 2332 0, 0, 632, 633, 0, 634, 635, 205, 636, 0, 2333 637, 686, 0, 0, 0, 0, 0, 0, 0, 312, 2334 0, 205, 45, 0, 46, 0, 0, 571, 0, 335, 2335 47, 48, 0, 0, 0, 653, 0, 0, 0, 0, 2336 370, 370, 0, 0, 0, 0, 0, 0, 0, 0, 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 2338 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2339 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2340 -299, 0, 0, 0, 678, 0, 0, 512, 0, 0, 2341 681, 0, 33, 0, 0, 450, 0, 0, 205, 0, 2342 0, 0, 0, 0, 0, 0, 0, 0, 686, 205, 2413 28, 29, 30, 1347, 0, 1348, 0, 0, 353, 0, 2414 33, 0, 0, 0, 0, 1351, 0, 1352, 0, 0, 2343 2415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2344 36, 273, 274, 0, 275, 0, 205, 0, 464, 0, 2345 0, -299, 0, 0, 0, 720, 0, 0, 0, 0, 2346 0, 0, 0, 0, 0, 0, 0, 731, 0, 0, 2347 276, 0, 0, 0, 358, 358, 277, 0, 0, 0, 2348 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2349 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 2351 0, 0, 0, 766, 0, 286, 767, 367, 0, 0, 2352 368, 0, 0, 47, 48, 288, 289, 290, 291, 0, 2353 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 2354 0, 0, 0, 205, 8, 9, 10, 11, 12, 13, 2355 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2356 24, 25, 26, 27, -300, 370, 212, 0, 0, 0, 2357 0, 826, 0, 0, 0, 0, 33, 0, 0, 0, 2358 330, 353, 0, 0, 0, 0, 0, 0, 497, 0, 2359 499, 502, 0, 0, 0, 0, 205, 0, 0, 505, 2360 506, 358, 0, 0, 36, 0, 0, 205, 861, 0, 2361 0, 0, 402, 499, 499, -300, 212, 0, 0, 402, 2416 0, 0, 1359, 0, 0, 0, 0, 0, 36, 0, 2417 312, 0, 0, 109, 0, 40, 41, 0, 402, 0, 2418 1378, 1380, 0, 0, 0, 649, 43, 44, 0, 0, 2419 0, 0, 0, 1388, 598, 0, 598, 0, 1389, 0, 2420 0, 1191, 0, 0, 0, 0, 0, 598, 0, 0, 2421 0, 0, 0, 0, 46, 0, 0, 1407, 0, 0, 2422 47, 48, 0, 0, 0, 125, 125, 1414, 0, 0, 2423 1416, 0, 1418, 1420, 1422, 499, 0, 0, 0, 0, 2362 2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363 0, 0, 0, 0, 0, 239, 0, 0, 312, 0, 2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 2365 0, 895, 896, 0, 0, 0, 0, 680, 512, 0, 2366 512, 903, 0, 0, 0, 0, 0, 0, 0, 0, 2367 0, 0, 0, 0, 0, 916, 0, 0, 0, 0, 2368 920, 0, 0, 0, 499, 402, 0, 0, 0, 0, 2369 0, 0, 0, 0, 0, 0, 0, 512, 0, 512, 2370 717, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2371 726, 0, 0, 0, 0, 717, 0, 0, 717, 0, 2425 0, 0, 0, 125, 0, 0, 125, 125, 0, 125, 2426 499, 125, 125, 0, 0, 0, 125, 125, 0, 0, 2427 0, 0, 1455, 0, 1457, 0, 0, 0, 0, 0, 2428 0, 353, 0, 0, 1191, 0, 0, 0, 402, 0, 2429 499, 0, 0, 0, 1473, 0, 0, 0, 0, 0, 2430 598, 598, 0, 0, 0, 125, 0, 0, 0, 125, 2372 2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373 0, 735, 0, 0, 0, 0, 0, 0, 160, 0, 2374 953, 0, 0, 402, 0, 0, 0, 954, 0, 0, 2375 0, 0, 402, 567, 0, 402, 570, 0, 0, 0, 2376 956, 764, 957, 353, 0, 0, 0, 597, 335, 0, 2377 0, 0, 726, 0, 0, 967, 0, 0, 0, 0, 2378 0, 971, 0, 0, 0, 0, 615, 0, 0, 0, 2379 0, 0, 1014, 0, 0, 0, 1015, 0, 0, 0, 2432 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 2380 2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381 0, 0, 0, 402, 0, 0, 0, 402, 825, 0, 2382 0, 0, 0, 0, 0, 0, 370, 0, 0, 205, 2434 0, 0, 0, 0, 402, 1086, 0, 0, 0, 0, 2435 763, 764, 0, 0, 353, 0, 0, 0, 0, 0, 2436 402, 1099, 0, 598, 598, 1106, 0, 0, 0, 0, 2437 0, 0, 0, 0, 0, 353, 353, 0, 795, 0, 2438 0, 798, 799, 0, 802, 0, 804, 805, 0, 0, 2439 0, 807, 808, 0, 0, 0, 0, 0, 0, 0, 2440 0, 0, 199, 2, 200, 4, 5, 6, 7, 8, 2441 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2442 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2443 848, 28, 29, 30, 852, 0, 0, 0, 0, 0, 2444 402, 33, 402, 0, 402, 0, 0, 0, 0, 402, 2383 2445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 2385 0, 0, 499, 499, 499, 499, 499, 499, 499, 499, 2386 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2446 499, 0, 0, 0, 0, 598, 0, 0, 0, 36, 2447 0, 37, 499, 38, 0, -522, 201, 41, 1, 2, 2448 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2449 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2450 23, 24, 25, 26, 27, 0, 353, 28, 29, 30, 2451 31, 499, 0, 0, 32, 202, 0, 33, 34, 0, 2452 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 2387 2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2388 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 2389 0, 887, 0, 0, 402, 0, 0, 353, 0, 0, 2390 0, 0, 0, 0, 0, 0, 0, 717, 0, 0, 2391 0, 0, 0, 0, 0, 273, 274, 726, 275, 909, 2392 0, 0, 912, 0, 0, 0, 0, 0, 919, 0, 2454 0, 0, 35, 0, 0, 36, 0, 37, 0, 38, 2455 39, 0, 40, 41, 42, 0, 0, 0, 0, 0, 2456 0, 499, 0, 43, 44, 0, 0, 0, 0, 0, 2393 2457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2394 0, 0, 353, 0, 276, 0, 0, 0, 1152, 0, 2395 277, 0, 0, 0, 278, 0, 0, 279, 280, 270, 2396 281, 282, 283, 43, 44, 0, 284, 285, 936, 937, 2458 0, 0, 0, 0, 0, 402, 0, 0, 0, 45, 2459 402, 46, 125, 0, 0, 0, 0, 47, 48, 0, 2460 0, 0, 0, 353, 0, 0, 0, 0, 125, 0, 2461 0, 125, 125, 2, 200, 4, 5, 6, 7, 8, 2462 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2463 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2464 0, 28, 29, 30, 0, 0, 0, 0, 0, 353, 2465 353, 33, 0, 0, 0, 0, 0, 499, 499, 0, 2397 2466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2398 205, 0, 0, 0, 335, 402, 402, 0, 0, 286, 2399 1182, 367, 0, 0, 0, 1184, 725, 47, 48, 288, 2400 289, 290, 291, 769, 353, 1189, 0, 0, 0, 0, 2401 0, 0, 0, 597, 499, 597, 597, 0, 0, 0, 2402 0, 0, 597, 965, 0, 0, 0, 370, 0, 1211, 2403 205, 0, 806, 353, 0, 0, 0, 0, 353, 499, 2404 0, 0, 1219, 0, 0, 0, 1220, 353, 353, 1221, 2405 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 2406 0, 0, 0, 353, 0, 1230, 1231, 402, 847, 499, 2407 0, 402, 851, 0, 0, 0, 0, 0, 0, 0, 2408 854, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 2409 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 2410 335, 0, 0, 0, 0, 0, 0, 370, 0, 0, 2411 353, 597, 912, 0, 0, 717, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2468 0, 37, 0, 38, 125, 0, 40, 41, 402, 1344, 2469 0, 0, 402, 0, 0, 0, 0, 125, 0, 0, 2470 0, 0, 125, 125, 0, 0, 0, 0, 0, 0, 2471 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 2472 0, 0, 0, 0, -407, 662, 0, 0, 0, 0, 2473 0, 47, 48, 1097, 0, 0, 1101, 1104, 0, 0, 2412 2474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 2414 0, 0, 0, 0, 0, 0, 1109, 0, 1288, 353, 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 2415 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2416 0, 0, 0, 0, 0, 205, 370, 0, 1126, 0, 2477 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2478 0, 1, 2, 200, 4, 5, 6, 7, 8, 9, 2479 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2480 20, 21, 22, 23, 24, 25, 26, 27, -299, 1163, 2481 28, 29, 30, 31, 0, 0, 0, 32, 0, 0, 2482 33, 125, 0, 0, 0, 0, 0, 1180, 1181, 0, 2417 2483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2418 0, 0, 0, 912, 912, 0, 0, 0, 0, 402, 2484 125, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2485 37, 0, 38, 0, 0, 40, 41, 0, 0, -299, 2486 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 2487 0, 0, 1108, 0, 0, 8, 9, 10, 11, 12, 2488 0, 0, 0, 0, 1101, 0, 0, 0, 0, 0, 2489 0, 0, 0, 0, 46, 0, 402, 402, 499, 0, 2490 47, 48, 0, 0, 0, 273, 274, 33, 275, 0, 2419 2491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 0, 0, 597, 0, 597, 0, 0, 2421 1157, 0, 0, 0, 0, 0, 0, 597, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 1345, 0, 1346, 2423 0, 0, 0, 0, 0, 0, 0, 0, 499, 1349, 2424 0, 1350, 0, 0, 0, 0, 0, 0, 0, 0, 2425 499, 0, 0, 0, 0, 0, 1357, 0, 0, 0, 2426 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 2427 0, 0, 0, 0, 1376, 1378, 0, 0, 0, 0, 2428 0, 0, 0, 0, 825, 0, 0, 1386, 0, 499, 2429 353, 0, 1387, 0, 0, 1189, 0, 402, 0, 0, 2430 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 597, 2431 597, 1405, 0, 0, 0, 0, 0, 0, 0, 0, 2432 0, 1412, 0, 0, 1414, 0, 1416, 1418, 1420, 0, 2433 0, 0, 353, 0, 0, 0, 0, 0, 0, 499, 2492 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 2493 0, 0, 0, 0, 276, 36, 125, 0, 0, 0, 2494 277, 0, 0, 0, 278, 0, 1265, 279, 280, 270, 2495 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2496 499, 0, 0, 0, 0, 1275, 0, 0, 0, 0, 2497 0, 0, 499, 499, 0, 0, 0, 0, 0, 286, 2498 0, 367, 0, 0, 0, 0, 0, 1109, 48, 288, 2499 289, 290, 291, 0, 0, 499, 0, 0, 0, 0, 2500 0, 0, 1, 2, 200, 4, 5, 6, 7, 8, 2501 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2502 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2503 0, 28, 29, 30, 31, 0, 0, 0, 32, 273, 2504 274, 33, 976, 977, 0, 978, 0, 0, 979, 980, 2505 981, 982, 983, 984, 985, 986, 0, 0, 0, 987, 2506 0, 1342, 0, 988, 989, 0, 990, 499, 276, 36, 2507 0, 37, 0, 38, 991, 0, 992, 993, 994, 0, 2508 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2509 284, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2434 2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435 0, 0, 0, 0, 402, 1084, 0, 0, 0, 0, 2436 0, 0, 0, 0, 353, 0, 1453, 0, 1455, 0, 2437 402, 1097, 0, 597, 597, 1104, 0, 0, 1189, 0, 2438 0, 0, 0, 0, 0, 353, 353, 0, 1471, 0, 2439 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2440 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2441 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2442 23, 24, 25, 26, 27, -299, 0, 28, 29, 30, 2443 31, 0, 0, 0, 32, 499, 499, 33, 0, 0, 2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445 402, 0, 402, 1332, 402, 0, 0, 717, 0, 402, 2446 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2447 0, 0, 40, 41, 0, 597, -299, 0, 0, 0, 2448 0, 0, 0, 1, 2, 200, 4, 5, 6, 7, 2449 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2450 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2451 0, 46, 28, 29, 30, 31, 353, 47, 48, 32, 2452 273, 274, 33, 974, 975, 0, 976, 0, 0, 977, 2453 978, 979, 980, 981, 982, 983, 984, 0, 0, 0, 2454 985, 0, 0, 0, 986, 987, 0, 988, 0, 276, 2455 36, 0, 37, 0, 38, 989, 0, 990, 991, 992, 2456 0, 0, 279, 280, 270, 281, 282, 283, 43, 44, 2457 0, 284, 285, 0, 0, 0, 0, 0, 0, 0, 2458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459 0, 0, 0, 0, 286, 402, 287, 0, 0, 166, 2460 402, 0, 47, 48, 288, 289, 290, 291, 0, 0, 2461 0, 0, 993, 353, 0, 0, 0, -134, 0, 0, 2462 0, 0, 0, 0, 0, 0, 1, 2, 200, 4, 2463 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2464 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2465 25, 26, 27, 0, 0, 28, 29, 30, 31, 353, 2466 353, 0, 32, 0, 0, 33, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, 2468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2469 0, 312, 0, 36, 0, 37, 0, 38, 402, 1342, 2470 40, 41, 402, 0, 0, 199, 2, 200, 4, 5, 2471 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2472 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2473 26, 27, 0, 0, 28, 29, 30, 0, 499, 46, 2474 0, 0, 0, 0, 33, 47, 48, 0, 0, 0, 2475 499, 499, 0, 0, 0, 0, 0, 0, 0, 0, 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2477 0, 0, 36, 499, 37, 0, 38, 0, 0, 201, 2478 41, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2479 1, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2480 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2481 21, 22, 23, 24, 25, 26, 27, 0, 202, 28, 2482 29, 30, 31, 0, 47, 48, 32, 273, 274, 33, 2483 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 2485 0, 0, 0, 0, 0, 0, 276, 36, 0, 37, 2486 0, 38, 277, 0, 40, 41, 278, 0, 0, 279, 2487 280, 270, 281, 282, 283, 43, 44, 402, 284, 285, 2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2490 0, 286, 0, 287, 0, 0, 402, 402, 0, 47, 2491 48, 288, 289, 290, 291, 0, 0, 0, 0, 0, 2492 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 2493 0, 0, 0, 0, 0, 0, 402, 1, 2, 200, 2511 0, 0, 0, 286, 0, 287, 0, 0, 166, 0, 2512 0, 47, 48, 288, 289, 290, 291, 0, 0, 0, 2513 0, 995, 0, 0, 0, 0, -134, 1, 2, 200, 2494 2514 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2495 2515 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 2504 2524 0, 0, 0, 0, 0, 40, 41, 0, 286, 0, 2505 2525 287, 0, 0, 0, 0, 0, 47, 48, 288, 289, 2506 290, 291, 2, 200, 4, 5, 6, 7, 8, 9, 2507 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2508 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2509 28, 29, 30, 0, 0, 0, 0, 0, 273, 274, 2510 33, 275, 8, 9, 10, 11, 12, 13, 14, 15, 2511 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2512 26, 27, 0, 0, 28, 29, 30, 276, 36, 0, 2513 37, 0, 38, 277, 33, 40, 41, 278, 0, 0, 2514 279, 280, 270, 281, 282, 283, 43, 44, 0, 284, 2515 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 36, 0, 0, 0, 0, 0, 0, 201, 2517 41, 0, 286, 0, 332, 0, 0, 0, 0, 725, 2518 333, 48, 288, 289, 290, 291, 2, 200, 4, 5, 2519 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2520 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2521 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2522 0, 0, 273, 274, 33, 275, 8, 9, 10, 11, 2523 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2524 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 2525 0, 276, 36, 0, 37, 0, 38, 277, 33, 40, 2526 41, 278, 0, 0, 279, 280, 270, 281, 282, 283, 2527 43, 44, 0, 284, 285, 0, 0, 0, 0, 0, 2528 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 2529 0, 0, 0, 0, 0, 0, 286, 0, 332, 0, 2530 0, 0, 0, 725, 47, 48, 288, 289, 290, 291, 2531 2, 200, 4, 5, 6, 7, 8, 9, 10, 11, 2532 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2533 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2534 30, 0, 0, 0, 0, 0, 273, 274, 33, 275, 2526 290, 291, 0, 0, 0, 0, 0, 0, 0, 0, 2527 0, -134, 1, 2, 200, 4, 5, 6, 7, 8, 2528 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2529 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2530 0, 28, 29, 30, 31, 0, 0, 0, 32, 273, 2531 274, 33, 275, 8, 9, 10, 11, 12, 13, 14, 2532 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2533 25, 26, 27, 0, 0, 28, 29, 30, 276, 36, 2534 0, 37, 0, 38, 277, 33, 40, 41, 278, 0, 2535 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2536 284, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2537 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 2538 201, 41, 0, 286, 0, 287, 0, 0, 0, 0, 2539 0, 47, 48, 288, 289, 290, 291, 2, 200, 4, 2540 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2541 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2542 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2543 0, 0, 0, 273, 274, 33, 275, 0, 0, 0, 2535 2544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2536 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2537 0, 0, 0, 0, 0, 276, 36, 0, 37, 0, 2538 38, 277, 0, 40, 41, 278, 0, 0, 279, 280, 2539 270, 281, 282, 283, 43, 44, 0, 284, 285, 0, 2546 0, 0, 276, 36, 0, 37, 0, 38, 277, 0, 2547 40, 41, 278, 0, 0, 279, 280, 270, 281, 282, 2548 283, 43, 44, 0, 284, 285, 0, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550 0, 0, 0, 0, 0, 0, 0, 286, 0, 332, 2551 0, 0, 0, 0, 726, 333, 48, 288, 289, 290, 2552 291, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2553 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2554 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2555 29, 30, 0, 0, 0, 0, 0, 273, 274, 33, 2556 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2558 0, 0, 0, 0, 0, 0, 276, 36, 0, 37, 2559 0, 38, 277, 0, 40, 41, 278, 0, 0, 279, 2560 280, 270, 281, 282, 283, 43, 44, 0, 284, 285, 2540 2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2541 2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2542 286, 0, 332, 0, 0, 0, 0, 0, 333, 48, 2543 288, 289, 290, 291, 2, 200, 4, 5, 6, 7, 2544 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2545 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2546 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2547 273, 274, 33, 275, 0, 0, 0, 0, 0, 0, 2548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 2550 36, 0, 37, 0, 38, 277, 0, 201, 41, 278, 2551 0, 0, 279, 280, 270, 281, 282, 283, 43, 44, 2552 0, 284, 285, 0, 0, 0, 0, 0, 0, 0, 2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2554 0, 0, 0, 0, 286, 0, 933, 0, 0, 0, 2555 0, 0, 934, 48, 288, 289, 290, 291, 2, 200, 2556 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2557 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2558 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2559 0, 0, 0, 0, 273, 274, 33, 275, 0, 0, 2563 0, 286, 0, 332, 0, 0, 0, 0, 726, 47, 2564 48, 288, 289, 290, 291, 2, 200, 4, 5, 6, 2565 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2566 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2567 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2568 0, 273, 274, 33, 275, 0, 0, 0, 0, 0, 2560 2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2561 2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2562 0, 0, 0, 276, 36, 0, 37, 0, 38, 277,2563 0, 201, 41, 278, 0, 0, 279, 280, 270, 281,2564 282, 283, 43, 44, 0, 284, 285, 0, 0, 0,2571 276, 36, 0, 37, 0, 38, 277, 0, 40, 41, 2572 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2573 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2565 2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2566 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 2567 367, 0, 0, 0, 0, 0, 47, 48, 288, 289, 2568 290, 291, -522, 0, 0, 1, 2, 3, 4, 5, 2569 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2570 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2571 26, 27, 0, 0, 28, 29, 30, 31, 0, 0, 2572 0, 32, 0, 0, 33, 34, 0, 0, 0, 0, 2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 2575 0, 0, 36, 0, 37, 0, 38, 39, 0, 40, 2576 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2577 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579 0, 0, 0, 0, 0, 0, 45, 0, 46, 0, 2580 0, 0, 0, 0, 47, 48, 1, 2, 3, 4, 2581 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2582 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2583 25, 26, 27, 0, 0, 28, 29, 30, 31, 0, 2584 0, 0, 32, 0, 0, 33, 34, 0, 0, 0, 2575 0, 0, 0, 0, 0, 286, 0, 332, 0, 0, 2576 0, 0, 0, 333, 48, 288, 289, 290, 291, 2, 2577 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2578 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2579 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2580 0, 0, 0, 0, 0, 273, 274, 33, 275, 0, 2585 2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2586 2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587 35, 0, 0, 36, 0, 37, 0, 38, 39, 0,2588 40, 41, 42, 0, 0, 0, 0, 0, 0,0,2589 0, 43, 44, 0, 0, 0, 0, 0, 0, 0,2583 0, 0, 0, 0, 276, 36, 0, 37, 0, 38, 2584 277, 0, 201, 41, 278, 0, 0, 279, 280, 270, 2585 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2590 2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 0, 0, 0, 0, 0, 45, 0, 46, 2592 0, 0, 0, -526, 0, 47, 48, 1, 2, 3, 2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 2588 0, 935, 0, 0, 0, 0, 0, 936, 48, 288, 2589 289, 290, 291, 2, 200, 4, 5, 6, 7, 8, 2590 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2591 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2592 0, 28, 29, 30, 0, 0, 0, 0, 0, 273, 2593 274, 33, 275, 0, 0, 0, 0, 0, 0, 0, 2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2595 0, 0, 0, 0, 0, 0, 0, 0, 276, 36, 2596 0, 37, 0, 38, 277, 0, 201, 41, 278, 0, 2597 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2598 284, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600 0, 0, 0, 286, 0, 367, 0, 0, 0, 0, 2601 0, 47, 48, 288, 289, 290, 291, 1, 2, 3, 2593 2602 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2594 2603 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 2602 2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2603 2612 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 2604 46, 0, 0, 0, 0, 0, 47, 48, 199, 2,2605 200, 4, 5, 6, 7, 8, 9, 10, 11, 12,2613 46, 0, 0, 0, -526, 0, 47, 48, 1, 2, 2614 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2606 2615 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2607 2616 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2608 0, 0, 0, 0, 0, 0, 0, 33, 0, 8, 2609 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2610 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2611 0, 28, 29, 30, 0, 36, 0, 37, 0, 38, 2612 39, 33, 201, 41, 42, 0, 0, 0, 0, 0, 2613 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2615 0, 0, 0, 0, 0, 0, 40, 41, 0, 45, 2616 0, 202, 0, 0, 0, 0, 0, 47, 48, 2, 2617 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2618 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2619 23, 24, 25, 26, 27, 245, 0, 28, 29, 30, 2620 0, 47, 48, 0, 0, 0, 0, 33, 0, 8, 2621 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2622 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2623 0, 28, 29, 30, 0, 36, 0, 37, 0, 38, 2624 39, 33, 201, 41, 42, 0, 0, 0, 0, 0, 2625 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2627 0, 0, 0, 0, 0, 0, 40, 41, 0, 45, 2628 0, 202, 0, 0, 0, 0, 0, 47, 48, 2, 2629 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2630 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2631 23, 24, 25, 26, 27, 46, 0, 28, 29, 30, 2632 0, 47, 48, 0, 0, 0, 0, 33, 0, 0, 2617 31, 0, 0, 0, 32, 0, 0, 33, 34, 0, 2633 2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2634 2619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2636 0, 0, 40, 41, 2, 200, 4, 5, 6, 7, 2637 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2638 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2639 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2640 -407, 660, 33, 0, 0, 0, 0, 47, 48, 0, 2620 0, 0, 35, 0, 0, 36, 0, 37, 0, 38, 2621 39, 0, 40, 41, 42, 0, 0, 0, 0, 0, 2622 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 2625 0, 46, 0, 0, 0, 0, 0, 47, 48, 199, 2626 2, 200, 4, 5, 6, 7, 8, 9, 10, 11, 2627 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2628 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2629 30, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2641 2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2642 2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2643 36, 0, 37, 0, 38, 0, 0, 40, 41, 0, 2632 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2633 38, 39, 0, 201, 41, 42, 0, 0, 0, 0, 2634 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2644 2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 2636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 2647 0, 0, 0, 0, 0, 0, 660, 0, 0, 0, 2648 0, 0, 47, 48, 2, 200, 4, 5, 6, 7, 2649 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2650 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2651 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2652 0, 0, 33, 0, 8, 9, 10, 11, 12, 13, 2653 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2654 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2655 36, 0, 37, 0, 38, 0, 33, 40, 41, 0, 2637 45, 0, 202, 0, 0, 0, 0, 0, 47, 48, 2638 1, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2639 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2640 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2641 29, 30, 31, 0, 0, 0, 32, 0, 0, 33, 2656 2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2657 2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658 0, 1311, 0, 0, 36, 0, 0, 0, 0, 0, 2659 0, 201, 41, 0, 0, 0, 660, 0, 0, 0, 2660 0, 0, 47, 48, 2, 200, 4, 5, 6, 7, 2661 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2662 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2663 258, 0, 28, 29, 30, 0, 47, 48, 0, 0, 2664 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2644 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2645 0, 38, 0, 0, 40, 41, 2, 200, 4, 5, 2646 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2647 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2648 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2649 0, 0, 0, 46, 33, 0, 0, 0, 0, 47, 2650 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2652 0, 0, 36, 0, 37, 0, 38, 39, 0, 201, 2653 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2654 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2656 0, 0, 0, 0, 0, 0, 45, 0, 202, 0, 2657 0, 0, 0, 0, 47, 48, 2, 200, 4, 5, 2658 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2659 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2660 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2661 0, 0, 0, 0, 33, 0, 8, 9, 10, 11, 2662 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2663 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2664 30, 0, 36, 0, 37, 0, 38, 0, 33, 40, 2665 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667 0, 0, 0, 1311, 0, 0, 36, 0, 0, 0, 2668 0, 0, 0, 40, 41, 0, 0, 0, 662, 0, 2669 0, 0, 0, 0, 47, 48, 2, 200, 4, 5, 2670 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2671 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2672 26, 27, 245, 0, 28, 29, 30, 0, 47, 48, 2673 0, 0, 0, 0, 33, 0, 8, 9, 10, 11, 2674 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2675 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2676 30, 0, 36, 0, 37, 0, 38, 0, 33, 40, 2677 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2679 0, 0, 0, 1313, 0, 0, 36, 0, 0, 0, 2680 0, 0, 0, 40, 41, 0, 0, 0, 662, 0, 2681 0, 0, 0, 0, 47, 48, 2, 200, 4, 5, 2682 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2683 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2684 26, 27, 46, 0, 28, 29, 30, 0, 47, 48, 2685 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2665 2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 2687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667 36, 0, 37, 0, 38, 0, 0, 201, 41, 2,2668 200, 4, 5, 6, 7, 8, 9, 10, 11, 12,2669 1 3, 14, 15, 16, 17, 18, 19, 20, 21, 22,2670 2 3, 24, 25, 26, 27, 0, 0, 28, 29, 30,2671 0, 0, 0, 0, 0, 0, 258, 33, 0, 0,2672 0, 0, 47, 48, 0, 0, 0, 0, 0, 0,2688 0, 0, 36, 0, 37, 0, 38, 0, 0, 201, 2689 41, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2690 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2691 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2692 29, 30, 0, 0, 0, 0, 0, 0, 258, 33, 2693 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 2673 2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2674 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2675 0, 0, 40, 41, 2, 200, 4, 5, 6, 7, 2676 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2677 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2678 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2679 0, 660, 33, 0, 0, 0, 0, 47, 48, 0, 2695 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2696 0, 38, 0, 0, 40, 41, 2, 200, 4, 5, 2697 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2698 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2699 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2700 0, 0, 0, 662, 33, 0, 0, 0, 0, 47, 2701 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2680 2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2703 0, 0, 36, 0, 37, 0, 38, 0, 0, 201, 2704 41, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2705 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2706 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2707 0, 273, 274, 33, 275, 0, 0, 0, 202, 0, 2708 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 2681 2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682 36, 0, 37, 0, 38, 0, 0, 201, 41, 8, 2710 276, 36, 0, 0, 0, 0, 277, 0, 40, 41, 2711 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2712 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714 0, 0, 0, 0, 0, 286, 0, 507, 0, 0, 2715 166, 0, 0, 47, 48, 288, 289, 290, 291, 8, 2683 2716 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2684 2717 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2685 2718 0, 28, 29, 30, 0, 0, 0, 0, 0, 273, 2686 274, 33, 275, 0, 0, 0, 202, 0, 0, 0,2687 0, 0, 47, 48, 0, 0, 0, 0, 0, 0,2719 274, 33, 275, 0, 0, 0, 0, 0, 0, 0, 2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2688 2721 0, 0, 0, 0, 0, 0, 0, 0, 276, 36, 2689 2722 0,&nbs