diff --git a/module/nyacc/ChangeLog b/module/nyacc/ChangeLog index 67fe250c..33ddd25e 100644 --- a/module/nyacc/ChangeLog +++ b/module/nyacc/ChangeLog @@ -1,3 +1,26 @@ +2017-01-07 Matt Wette + + * lang/c99/body.scm (read-cpp-line): cpp statement should not + include newline? Changed to unread final newline. + + * lang/util.scm: add report-error: prints msg w/ file, line + + * parse.scm (make-lalr-parser): changed printout of parse error to + (throw 'parse-error . args) and expect the full parser to catch + the error + + * lang/c99/mach.scm (c99-spec): from + 2017-01-07 Jan Nieuwenhuizen + mising unquote in output sx for goto: `(goto $2) => `(goto ,$2) + +2017-01-06 Matt Wette + + * lang/c99/parser.scm: default parser #:mode is now 'code; done + since the CPP should now be working (??) + + * lalr.scm (process-spec): in add-el changed memq to member since + we are using strings for terminals + 2017-01-02 Matt Wette * lang/c99/mach.scm (c99-spec): added hooks (cpp-ok!, no-cpp!) to diff --git a/module/nyacc/lalr.scm b/module/nyacc/lalr.scm index 6e295a4d..eff183e7 100644 --- a/module/nyacc/lalr.scm +++ b/module/nyacc/lalr.scm @@ -373,7 +373,7 @@ (let* ((gram (assq-ref tree 'grammar)) (start-symbol (and=> (assq-ref tree 'start) atomize)) (start-rule (lambda () (list start-symbol))) - (add-el (lambda (e l) (if (memq e l) l (cons e l)))) + (add-el (lambda (e l) (if (member e l) l (cons e l)))) (pna (prec-n-assc tree))) ;; We sweep through the grammar to generate a canonical specification. ;; Note: the local rhs is used to hold RHS terms, but a @@ -461,10 +461,8 @@ (else '($1))))) (if with (simple-format #t "WITH WHAT?\n")) (iter (cons lhs ll) - (cons - (cons* (cons 'rhs (list->vector (reverse pel))) - (cons* 'act nrg act) (cons 'ref ref) attr) - @l) + (cons (cons* (cons 'rhs (list->vector (reverse pel))) + (cons* 'act nrg act) (cons 'ref ref) attr) @l) tl nl head prox lhs tail rhs-l attr pel #f))) ((pair? rhs-l) diff --git a/module/nyacc/lang/c99/body.scm b/module/nyacc/lang/c99/body.scm index d2fb3edf..94db22a0 100644 --- a/module/nyacc/lang/c99/body.scm +++ b/module/nyacc/lang/c99/body.scm @@ -1,6 +1,6 @@ ;;; lang/c99/body.scm ;;; -;;; Copyright (C) 2015 Matthew R. Wette +;;; Copyright (C) 2015-2017 Matthew R. Wette ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -15,13 +15,20 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see . -;; C parser body, with cpp and tables makes a parser +;; @section The C99 Parser Body +;; This code provides the front end to the C99 parser, including the lexical +;; analyzer and optional CPP processing. In @code{'file} mode the lex'er +;; passes CPP statements to the parser; in @code{'code} mode the lex'er +;; parses and evaluates the CPP statements. In the case of included files +;; (e.g., via @code{#include }) the include files are parsed if +;; not in the @code{td-dict}. The @code{td-dict} is a dictionary that maps +;; include file names to typedefs (e.g., @code{stdio.h} to @code{FILE}). -;;(use-modules (ice-9 pretty-print)) +(use-modules ((srfi srfi-9) #:select (define-record-type))) +(use-modules ((sxml xpath) #:select (sxpath))) -(define std-dict - '( - ("alloca.h") +(define c99-std-dict + '(("alloca.h") ("complex.h" "complex" "imaginary") ("ctype.h") ("fenv.h" "fenv_t" "fexcept_t") @@ -37,7 +44,6 @@ ("regex.h" "regex_t" "regmatch_t") ("setjmp.h" "jmp_buf") ("signal.h" "sig_atomic_t") - ("string.h" "size_t") ("stdarg.h" "va_list") ("stddef.h" "ptrdiff_t" "size_t" "wchar_t") ("stdint.h" @@ -47,12 +53,59 @@ "int_least32_t" "uint_least32_t" "int_least64_t" "uint_least64_t") ("stdio.h" "FILE" "size_t") ("stdlib.h" "div_t" "ldiv_t" "lldiv_t" "wchar_t") + ("string.h" "size_t") ("time.h" "time_t" "clock_t" "size_t") ("unistd.h" "size_t" "ssize_t" "div_t" "ldiv_t") ("wchar.h" "wchar_t" "wint_t" "mbstate_t" "size_t") ("wctype.h" "wctrans_t" "wctype_t" "wint_t") )) +;; @subsubsection CPP if-then-else Logic Block (ITLB) Processing +;; The parser needs to have a "CPI" (CPP processing info) stack to deal with +;; types (re)defined in multiple branches of a #if...#endif statement chain. +;; If we are in "code" mode then we may be skipping code so need to track +;; when to shift and when not to. +;; +;; The state is contained in a stack @code{ppxs} +;; States are +;; @table code +;; @item skip-done +;; skip code +;; @item skip-look +;; skipping code, but still looking for true at this level +;; @item keep +;; keep code +;; @item skip1-pop +;; skip one token and pop skip-stack +;; @end table +;; Also, if we want to pass on all the sections of an ITLB to the parser +;; we need to remove typedef names because a typedef may appear multiple +;; times, as in +;; @example +;; #ifdef SIXTYFOURBIT +;; typedef short int32_t; +;; #else +;; typedef long int32_t; +;; #endif +;; @end example +;; @noindent +;; To achieve this we keep a stack of valid typedefs. On @code{#if} we push, +;; on @code{#elif} we shift (i.e., pop, then push) and on @code{#endif} we pop. +;; +;; The grammar looks like +;; @example +;; (code +;; ("if" cond code "endif") +;; ("if" cond code "else" code "endif") +;; ("if" cond code elif-list "endif") +;; ("if" cond code elif-list "else" code "endif") +;; (other)) +;; (elif-list +;; ("elif" cond code) +;; (elif-list "elif" cond code)) +;; @end example +;; @noindent + (define-record-type cpi (make-cpi-1) cpi? @@ -62,24 +115,18 @@ (tn-dict cpi-tynd set-cpi-tynd!) ; typename dict (("" foo_t .. (ptl cpi-ptl set-cpi-ptl!) ; parent typename list (ctl cpi-ctl set-cpi-ctl!) ; current typename list - (cppok cpi-cppok set-cpi-cppok!) ; OK to pass CPP stmts to parser ) (define (make-cpi debug defines incdirs tn-dict) (let* ((cpi (make-cpi-1))) - (set-cpi-debug! cpi debug) - (set-cpi-defs! cpi defines) - (set-cpi-incs! cpi incdirs) - (set-cpi-tynd! cpi (append tn-dict std-dict)) - (set-cpi-ptl! cpi '()) ; list of lists of typedef strings - (set-cpi-ctl! cpi '()) ; list of typedef strings - (set-cpi-cppok! cpi #f) ; don't assume OK to pass CPP stmts + (set-cpi-debug! cpi debug) ; print states debug + (set-cpi-defs! cpi defines) ; list of define strings?? + (set-cpi-incs! cpi incdirs) ; list of include dir's + (set-cpi-tynd! cpi tn-dict) ; typename dict by include-file name + (set-cpi-ptl! cpi '()) ; list of lists of typedef strings + (set-cpi-ctl! cpi '()) ; list of typedef strings cpi)) -;; Need to have a "CPI" stack to deal with types (re)defined in multiple -;; branches of a #if...#endif statement. If we are in "code" mode then we -;; may be skipping code so need to track when to shift and when not to. - (define *info* (make-fluid #f)) ;; given tyns @@ -91,10 +138,7 @@ ;; Called by lexer to determine if symbol is a typename. ;; Check current sibling for each generation. (define (typename? name) - ;;(simple-format #t "typename? ~S\n" name) (let ((cpi (fluid-ref *info*))) - (when #f ;;(string=? name "SpiceInt") - (simple-format #t "tn? ~S ~S\n" (cpi-ctl cpi) (cpi-ptl cpi))) (if (member name (cpi-ctl cpi)) #t (let iter ((ptl (cpi-ptl cpi))) (if (null? ptl) #f @@ -104,52 +148,22 @@ ;; @deffn add-typename name ;; Helper for @code{save-typenames}. (define (add-typename name) - ;;(simple-format #t "add-typename ~S\n" name) (let ((cpi (fluid-ref *info*))) - (set-cpi-ctl! cpi (cons name (cpi-ctl cpi))) - ;;(simple-format #t "at: ~S ~S\n" (cpi-ctl cpi) (cpi-ptl cpi)) - )) + (set-cpi-ctl! cpi (cons name (cpi-ctl cpi))))) (define (cpi-push) ;; on #if (let ((cpi (fluid-ref *info*))) (set-cpi-ptl! cpi (cons (cpi-ctl cpi) (cpi-ptl cpi))) - (set-cpi-ctl! cpi '()) - (simple-format #t "pu: ~S\n" (cpi-ctl cpi)) - )) + (set-cpi-ctl! cpi '()))) (define (cpi-shift) ;; on #elif #else - (simple-format #t "sh\n") (set-cpi-ctl! (fluid-ref *info*) '())) (define (cpi-pop) ;; on #endif (let ((cpi (fluid-ref *info*))) - (simple-format #t "po<: ~S ~S\n" (cpi-ctl cpi) (cpi-ptl cpi)) (set-cpi-ctl! cpi (append (cpi-ctl cpi) (car (cpi-ptl cpi)))) - (set-cpi-ptl! cpi (cdr (cpi-ptl cpi))) - (simple-format #t "po>: ~S ~S\n" (cpi-ctl cpi) (cpi-ptl cpi)) - )) + (set-cpi-ptl! cpi (cdr (cpi-ptl cpi))))) -;; The following three routines are used to allow pass cpp-statements to the -;; parser. See how include is handled in the lexer. - -(define (cpp-ok!) ;; declare OK to pass cpp-stmt to parser - (simple-format #t "cpp-ok! ~S\n" (port-line (current-input-port))) - (let ((info (fluid-ref *info*))) - (set-cpi-cppok! info #t))) - -(define (no-cpp!) ;; declare not OK to pass cpp-stmt to parser - (simple-format #t "no-cpp! ~S\n" (port-line (current-input-port))) - (let ((info (fluid-ref *info*))) - (set-cpi-cppok! info #f))) - -(define (cpp-ok?) ;; predicate called by lexer - ;;(simple-format #t "cpp-ok? ~S\n" (port-line (current-input-port))) - (cpi-cppok (fluid-ref *info*))) - -(define (no-cpp?) ;; predicate called by lexer - ;;(simple-format #t "no-cpp? ~S\n" (port-line (current-input-port))) - (not (cpi-cppok (fluid-ref *info*)))) - ;; @deffn find-new-typenames decl ;; Helper for @code{save-typenames}. ;; Given declaration return a list of new typenames (via @code{typedef}). @@ -187,6 +201,9 @@ ;; ------------------------------------------------------------------------ +(define (p-err . args) + (apply throw 'c99-error args)) + ;; @deffn read-cpp-line ch => #f | (cpp-xxxx)?? ;; Given if ch is #\# read a cpp-statement ;; includes BUG: #define ABC 123 /* \n @@ -194,7 +211,7 @@ (if (not (eq? ch #\#)) #f (let iter ((cl '()) (ch (read-char))) (cond - ((eq? ch #\newline) (list->string (reverse cl))) + ((eq? ch #\newline) (unread-char ch) (list->string (reverse cl))) ((eq? ch #\\) (let ((c2 (read-char))) (if (eq? c2 #\newline) @@ -225,65 +242,22 @@ (let ((p (string-append (car dirl) "/" file))) (if (access? p R_OK) p (iter (cdr dirl))))))) - -;; @subsubsection CPP if-then-else Logic Block (ITLB) Processing -;; The state is contained in a stack @code{ppxs} -;; States are -;; @table code -;; @item skip-done -;; skip code -;; @item skip-look -;; skipping code, but still looking for true at this level -;; @item keep -;; keep code -;; @item skip1-pop -;; skip one token and pop skip-stack -;; @end table -;; Also, if we want to pass on all the sections of an ITLB to the parser -;; we need to remove typedef names because a typedef may appear multiple -;; times, as in -;; @example -;; #ifdef SIXTYFOURBIT -;; typedef short int32_t; -;; #else -;; typedef long int32_t; -;; #endif -;; @end example -;; @noindent -;; To achieve this we keep a stack of valid typedefs. On @code{#if} we push, -;; on @code{#elif} we shift (i.e., pop, then push) and on @code{#endif} we pop. - -;; @example -;; (code -;; ("if" cond code "endif") -;; ("if" cond code "else" code "endif") -;; ("if" cond code elif-list "endif") -;; ("if" cond code elif-list "else" code "endif") -;; (other)) -;; (elif-list -;; ("elif" cond code) -;; (elif-list "elif" cond code)) -;; @end example -;; @noindent -;; For each level of "if" we track the state. - -;; NOTE: if file mode we usually keep #ifdefs. The lone exception is -;; @code{#if 0} - -;; @deffn gen-c-lexer [#:mode mode] => thunk -;; Generate a context-sensitive lexer for the C language. -;; The key-arg @var{mode} can be @code{'code} or @code{'file}. If @code{'code} -;; @enumerate -;; @item -;; CPP defines are expanded (future work) -;; @item -;; CPP if/def is executed -;; @end enumerate (define (def-xdef? name mode) (eqv? mode 'code)) -;; @deffn gen-c-lexer [#:mode mode] [#:xdef? proc] => thunk - +;; @deffn gen-c-lexer [#:mode mode] [#:xdef? proc] => procedure +;; Generate a context-sensitive lexer for the C99 language. The generated +;; lexical analyzer reads and passes comments and optionally CPP statements +;; to the parser. The keyword argument @var{mode} will determine if CPP +;; statements are passed (@code{'file} mode) or parsed and executed +;; (@code{'file} mode) as described above. Comments will be passed as +;; ``line'' comments or ``lone'' comments: lone comments appear on a line +;; without code. The @code{xdef?} keyword argument allows user to pass +;; a predicate which determines whether CPP symbols in code are expanded. +;; The default predicate is +;; @example +;; (define (def-xdef? mode name) (eqv? mode 'code)) +;; @end example (define gen-c-lexer ;; This gets ugly in order to handle cpp. ;;.need to add support for num's w/ letters like @code{14L} and @code{1.3f}. @@ -313,18 +287,16 @@ (xp2 (sxpath '(decl)))) ;; mode: 'code|'file ;; xdef?: (proc name mode) => #t|#f : do we expand #define? - ;; ppev?: (proc ???) => #t|#f : do we eval-and-honor #if/#else ? (lambda* (#:key (mode 'code) (xdef? #f)) (let ((bol #t) ; begin-of-line condition (ppxs (list 'keep)) ; CPP execution state stack (info (fluid-ref *info*)) ; assume make and run in same thread - (pstk '()) ; port stack (x-def? (or xdef? def-xdef?))) ;; Return the first (tval . lval) pair not excluded by the CPP. (lambda () - (define (eval-flow?) - (or (no-cpp?) (eqv? mode 'code))) + (define (exec-cpp-stmts?) ; exec (vs pass to parser) CPP stmts? + (eqv? mode 'code)) (define (add-define tree) (let* ((tail (cdr tree)) @@ -337,91 +309,102 @@ (define (rem-define name) (set-cpi-defs! info (delete name (cpi-defs info)))) - (define (exec-cpp line) - (simple-format #t "exec-cpp: (cpp-ok=~S) ~S\n" (cpp-ok?) line) - ;; Parse the line into a CPP stmt, execute it, and return it. - (let* ((stmt (read-cpp-stmt line))) - (case (car stmt) - ((include) - (let* ((parg (cadr stmt)) (leng (string-length parg)) - (file (substring parg 1 (1- leng))) - (path (find-file-in-dirl file (cpi-incs info))) - (tynd (assoc-ref (cpi-tynd info) file))) + ;; Evaluate expression text in #if of #elif statement. + (define (eval-cpp-cond-text text) + (with-throw-handler + 'cpp-error + (lambda () + (let* ((defs (cpi-defs info)) + ;;(x (simple-format #t "eval-cpp-cond-text: ~S\n" text)) + (rhs (cpp-expand-text text defs)) + ;;(x (simple-format #t " rhs=>~S\n" rhs)) + (exp (parse-cpp-expr rhs)) + ;;(x (simple-format #t " exp=>~S\n" exp)) + ) + (if (not exp) (throw 'c99-error "CPP parse failed")) + (eval-cpp-expr exp defs))) + (lambda (key fmt . args) + (report-error fmt args) + (throw 'c99-error "CPP error")))) + + (define (eval-cpp-stmt stmt) + (case (car stmt) + ((include) + (let* ((parg (cadr stmt)) (leng (string-length parg)) + (file (substring parg 1 (1- leng))) + (path (find-file-in-dirl file (cpi-incs info))) + (tynd (assoc-ref (cpi-tynd info) file))) + (cond + (tynd (for-each add-typename tynd)) ; in dot-h dict + ((not path) (p-err "not found: ~S" file)) + ((exec-cpp-stmts?) (push-input (open-input-file path))) + (else ; include as tree + (let* ((tree (with-input-from-file path run-parse))) + (if (not tree) (p-err "included from ~S" path)) + (for-each add-define (xp1 tree)) ; add def's + (set! stmt (append stmt (list tree))))))) + (if (exec-cpp-stmts?) (set! ppxs (cons 'skip1-pop ppxs)))) + ((define) + (add-define stmt) + (if (exec-cpp-stmts?) (set! ppxs (cons 'skip1-pop ppxs)))) + ((undef) + (rem-define (cadr stmt)) + (if (exec-cpp-stmts?) (set! ppxs (cons 'skip1-pop ppxs)))) + ((if) ;; covers (if ifdef ifndef) + (cond + ((exec-cpp-stmts?) + (let ((val (eval-cpp-cond-text (cadr stmt)))) (cond - (tynd (for-each add-typename tynd)) ; in dot-h dict - ((or (no-cpp?) (eqv? mode 'code)) ; include flat - (if (not path) (throw 'parse-error "not found: ~S" file)) - (push-input (open-input-file path)) - (set! stmt #f)) - (else ; include as tree - (if (not path) (throw 'parse-error "not found: ~A" path)) - (let* ((tree (with-input-from-file path run-parse))) - (if (not tree) (throw 'parse-error "~A" path)) - (for-each add-define (xp1 tree)) ; add def's - ;; Attach tree onto "include" statement. - (if (pair? tree) - (set! stmt (append stmt (list tree))) - stmt)))))) - ((define) - (add-define stmt)) - ((undef) - (rem-define (cadr stmt))) - ((if) ;; and ifdef, ifndef - (cpi-push) - (if (eval-flow?) - (let* ((defs (cpi-defs info)) - (rhs (cpp-expand-text (cadr stmt) defs)) - (exp (parse-cpp-expr rhs)) - (val (eval-cpp-expr exp defs))) - (cond - ((not val) - (throw 'parse-error "unresolved: ~S" (cadr stmt))) - ((zero? val) - (set! ppxs (cons* 'skip1-pop 'skip-look ppxs))) - (else - (set! ppxs (cons* 'skip1-pop (car ppxs) ppxs))))))) - ((elif) - (if (eval-flow?) - (let* ((defs (cpi-defs info)) - (rhs (cpp-expand-text (cadr stmt) defs)) - (exp (parse-cpp-expr rhs)) - (val (eval-cpp-expr exp defs))) - (cond - ((not val) - (throw 'parse-error "unresolved: ~S" (cadr stmt))) - ((eq? 'keep (car ppxs)) - (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs)))) - ((zero? val) - (set! ppxs (cons* 'skip1-pop ppxs))) - ((eq? 'skip-look (car ppxs)) - (cpi-shift) - (set! ppxs (cons* 'skip1-pop 'keep (cdr ppxs)))) - (else - (cpi-shift) - (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs)))))) - (cpi-shift))) - ((else) - (if (eval-flow?) - (cond - ((eq? 'skip-look (car ppxs)) - (cpi-shift) - (set! ppxs (cons* 'skip1-pop 'keep (cdr ppxs)))) - (else - (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs))))) - (cpi-shift))) - ((endif) - (cpi-pop) - (if (eval-flow?) - (set! ppxs (cons 'skip1-pop (cdr ppxs))))) - ((error) - stmt) - (else - (error "unhandled cpp stmt"))) - (if stmt (cons 'cpp-stmt stmt) '()))) + ((not val) (p-err "unresolved: ~S" (cadr stmt))) + ((zero? val) (set! ppxs (cons* 'skip1-pop 'skip-look ppxs))) + (else (set! ppxs (cons* 'skip1-pop (car ppxs) ppxs)))))) + (else (cpi-push)))) + ((elif) + (cond + ((exec-cpp-stmts?) + (let ((val (eval-cpp-cond-text (cadr stmt)))) + (cond + ((not val) + (p-err "unresolved: ~S" (cadr stmt))) + ((eq? 'keep (car ppxs)) + (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs)))) + ((zero? val) (set! ppxs (cons* 'skip1-pop ppxs))) + ((eq? 'skip-look (car ppxs)) + (set! ppxs (cons* 'skip1-pop 'keep (cdr ppxs)))) + (else + (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs))))))) + (else (cpi-shift)))) + ((else) + (cond + ((exec-cpp-stmts?) + (cond + ((eq? 'skip-look (car ppxs)) + (set! ppxs (cons* 'skip1-pop 'keep (cdr ppxs)))) + (else + (set! ppxs (cons* 'skip1-pop 'skip-done (cdr ppxs)))))) + (else (cpi-shift)))) + ((endif) + (cond + ((exec-cpp-stmts?) + (set! ppxs (cons 'skip1-pop (cdr ppxs)))) + (else (cpi-pop)))) + ((error) + stmt) + (else + (error "unhandled cpp stmt"))) + (cons 'cpp-stmt stmt)) - ;; Composition of @code{read-cpp-line} and @code{exec-cpp}. + (define (eval-cpp-line line) + (with-throw-handler + 'cpp-error + (lambda () (eval-cpp-stmt (read-cpp-stmt line))) + (lambda (key fmt . rest) + (report-error fmt rest) + (throw 'c99-error "CPP error")))) + + ;; Composition of @code{read-cpp-line} and @code{eval-cpp-line}. (define (read-cpp ch) - (and=> (read-cpp-line ch) exec-cpp)) + (and=> (read-cpp-line ch) eval-cpp-line)) (define (read-token) (let iter ((ch (read-char))) @@ -434,8 +417,7 @@ (cond ((read-comm ch bol) => assc-$) ((read-cpp ch) => - (lambda (res) - ;; not pair means expand include file, so loop again + (lambda (res) ;; if '() stmt expanded so re-read (if (pair? res) (assc-$ res) (iter (read-char))))) (else (set! bol #f) (iter ch)))) ((read-ident ch) => @@ -466,19 +448,15 @@ (else (cons ch (string ch)))))) ;; Loop between reading tokens and skipping tokens via CPP logic. - (let loop ((pair (read-token))) - (simple-format #t "ppxs=~S ~S\n" ppxs - (port-line (current-input-port))) + (let iter ((pair (read-token))) (case (car ppxs) ((keep) - (no-cpp!) - (simple-format #t "token=~S\n" pair) pair) ((skip-done skip-look) - (loop (read-token))) + (iter (read-token))) ((skip1-pop) (set! ppxs (cdr ppxs)) - (loop (read-token))))) + (iter (read-token))))) ))))) - + ;; --- last line --- diff --git a/module/nyacc/lang/c99/cpp.scm b/module/nyacc/lang/c99/cpp.scm index 0555d7b2..aefaf272 100644 --- a/module/nyacc/lang/c99/cpp.scm +++ b/module/nyacc/lang/c99/cpp.scm @@ -1,6 +1,6 @@ ;;; lang/c/cpp.scm ;;; -;;; Copyright (C) 2015 Matthew R. Wette +;;; Copyright (C) 2015-2017 Matthew R. Wette ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -40,9 +40,6 @@ #| #define #undef #include #if #ifdef #ifndef #else #endif #elif #line defined #-operator ##-operator #pragma #error - -strategy: - don't expand macro calls -- treat like function calls, but provide dict todo: pragma #-op ##-op diff --git a/module/nyacc/lang/c99/cppbody.scm b/module/nyacc/lang/c99/cppbody.scm index 090b9ed1..ca5f167e 100644 --- a/module/nyacc/lang/c99/cppbody.scm +++ b/module/nyacc/lang/c99/cppbody.scm @@ -1,6 +1,6 @@ ;;; nyacc/lang/c99/cppbody.scm ;;; -;;; Copyright (C) 2016 Matthew R. Wette +;;; Copyright (C) 2016-2017 Matthew R. Wette ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -15,39 +15,50 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see . -(define gen-cpp-lexer (make-lexer-generator mtab)) +(define (cpp-err fmt . args) + (apply throw 'cpp-error fmt args)) + +;; Since we want to be able to get CPP statements with comment in tact +;; (e.g., for passing to @code{pretty-print-c99}) we need to remove +;; comments when parsing CPP expressions. We convert a comm-reader +;; into a comm-skipper here. And from that generate a lexer generator. +(define cpp-comm-skipper + (let ((reader (make-comm-reader '(("/*" . "*/"))))) + (lambda (ch) + (reader ch #f)))) + +(define gen-cpp-lexer + (make-lexer-generator mtab #:comm-skipper cpp-comm-skipper)) ;; @deffn parse-cpp-expr text => tree ;; Given a string returns a cpp parse tree. This is called by -;; @code{parse-cpp-stmt} and @code{eval-cpp-expr}. The latter because the -;; parsed expression may include terms which are cpp-defined -;; and should be evaluated lazy mode. +;; @code{eval-cpp-expr}. The text will have had all CPP defined symbols +;; expanded already so no identifiers should appear in the text. +;; A @code{cpp-error} will be thrown if a parse error occurs. (define (parse-cpp-expr text) - (with-input-from-string text - (lambda () (raw-parser (gen-cpp-lexer))))) + (catch + 'nyacc-error + (lambda () + (with-input-from-string text + (lambda () (raw-parser (gen-cpp-lexer))))) + (lambda (key fmt . args) + (apply throw 'cpp-error fmt args)))) ;; @deffn eval-cpp-expr tree dict => datum -;; Evaluate a tree produced from -;; This should be updated to use @code{expand-cpp-def}. See below. -(use-modules (ice-9 pretty-print)) +;; Evaluate a tree produced from @code{parse-cpp-expr}. +;; The tree passed to this routine is (define (eval-cpp-expr tree dict) ;;(display "eval-cpp-expr:\n") (pretty-print tree) (letrec ((tx (lambda (tr ix) (list-ref tr ix))) (tx1 (lambda (tr) (tx tr 1))) (ev (lambda (ex ix) (eval-expr (list-ref ex ix)))) - (ev1 (lambda (ex) (ev ex 1))) - (ev2 (lambda (ex) (ev ex 2))) - (ev3 (lambda (ex) (ev ex 3))) - #;(parse-and-eval - (lambda (str) - (if (not (string? str)) (throw 'parse-error "cpp-eval")) - (let ((idtr (parse-cpp-expr str))) - (eval-cpp-expr idtr dict)))) + (ev1 (lambda (ex) (ev ex 1))) ; eval expr in arg 1 + (ev2 (lambda (ex) (ev ex 2))) ; eval expr in arg 2 + (ev3 (lambda (ex) (ev ex 3))) ; eval expr in arg 3 (eval-expr (lambda (tree) (case (car tree) - ;;((ident) (parse-and-eval (assoc-ref dict (tx1 tree)))) ((fixed) (string->number (tx1 tree))) ((char) (char->integer (tx1 tree))) ((defined) (if (assoc-ref dict (tx1 tree)) 1 0)) @@ -77,8 +88,9 @@ ((or) (if (and (zero? (ev1 tree)) (zero? (ev2 tree))) 0 1)) ((and) (if (or (zero? (ev1 tree)) (zero? (ev2 tree))) 0 1)) ((cond-expr) (if (zero? (ev1 tree)) (ev3 tree) (ev2 tree))) + ((ident) (error "text should not have identifiers")) (else (error "incomplete implementation")))))) - (catch 'parse-error + (catch 'cpp-error (lambda () (eval-expr tree)) (lambda () #f)))) @@ -102,7 +114,7 @@ ;; E.g., scanned "defined", now scan "(FOO)", and return "defined(FOO)". (define (scan-defined) (let iter ((chl '()) (ch (read-char))) - (cond ((eof-object? ch) (throw 'parse-error "bad CPP defined")) + (cond ((eof-object? ch) (cpp-err "bad CPP defined")) ((char=? #\) ch) (string-append "defined" (list->string (reverse (cons ch chl))))) (else (iter (cons ch chl) (read-char)))))) @@ -113,7 +125,6 @@ (nxt #f) ; next string (lvl 0) ; level (ch (read-char))) ; next character - ;;(simple-format #t "iter stl=~S chl=~S nxt=~S ch=~S\n" stl chl nxt ch) (cond ;; have item to add, but first add in char's (nxt (iter (cons nxt (add-chl chl stl)) '() #f lvl ch)) @@ -136,7 +147,6 @@ (lambda (st) (iter stl chl st lvl (read-char)))) ((read-c-ident ch) => (lambda (iden) - ;;(simple-format #t " iden=~S\n" iden) (if (equal? iden "defined") ;; "defined" is a special case (iter stl chl (scan-defined) lvl (read-char)) @@ -162,25 +172,18 @@ (iter stl (cons ch chl) #f lvl (read-char)))))) (define (collect-args argd dict used) - ;;(simple-format #t "collect-args\n") - (if (not (eqv? (skip-ws (read-char)) #\()) - (let ((fn (or (port-filename (current-input-port)) "(unknown)")) - (ln (1+ (port-line (current-input-port))))) - (throw 'parse-error "~A:~A: CPP expecting `('" fn ln))) + (if (not (eqv? (skip-ws (read-char)) #\()) (cpp-err "CPP expecting `('")) (let iter ((argl (list (scan-cpp-input argd dict used #t)))) - ;;(simple-format #t "args: ~S\n" argl) (let ((ch (read-char))) (if (eqv? ch #\)) (reverse argl) (iter (cons (scan-cpp-input argd dict used #t) argl)))))) (define (expand-cpp-repl repl argd dict used) - ;;(simple-format #t "expand-cpp-repl repl=~S argd=~S\n" repl argd) (with-input-from-string repl (lambda () (scan-cpp-input argd dict used #f)))) ;; @deffn cpp-expand-text text dict => string (define (cpp-expand-text text dict) - ;;(simple-format #t "cpp-expand-text: ~S\n" text) (with-input-from-string text (lambda () (scan-cpp-input '() dict '() #f)))) @@ -191,7 +194,6 @@ ;; to a macro with arguments, then the arguments will be read from the ;; current input. (define (expand-cpp-mref ident dict . rest) - (let ((used (if (pair? rest) (car rest) '())) (rval (assoc-ref dict ident))) (cond @@ -199,14 +201,12 @@ ((member ident used) ident) ((string? rval) (let ((expd (expand-cpp-repl rval '() dict (cons ident used)))) - ;;(simple-format #t "expand ~S => ~S\n" ident expd) expd)) ((pair? rval) (let* ((args (car rval)) (repl (cdr rval)) (argv (collect-args '() dict '())) (argd (map cons args argv)) (expd (expand-cpp-repl repl argd dict (cons ident used)))) - ;;(simple-format #t "expand ~S => ~S\n" ident expd) expd))))) ;;; --- last line --- diff --git a/module/nyacc/lang/c99/cppmach.scm b/module/nyacc/lang/c99/cppmach.scm index 4c4c7766..cfa47fdf 100644 --- a/module/nyacc/lang/c99/cppmach.scm +++ b/module/nyacc/lang/c99/cppmach.scm @@ -32,7 +32,8 @@ (define cpp-spec (lalr-spec - (notice lang-crn-lic) + (notice (string-append "Copyright (C) 2016,2017 Matthew R. Wette" + lang-crn-lic)) (expect 0) (start conditional-expression) (grammar @@ -135,8 +136,6 @@ (b (move-if-changed (xtra-dir "cpptab.scm.new") (xtra-dir "cpptab.scm")))) (when (or a b) - (system (string-append "touch " (lang-dir "cpp.scm"))) - #;(compile-file (lang-dir "cpp.scm")) - ))) + (system (string-append "touch " (lang-dir "cpp.scm")))))) ;; --- last line --- diff --git a/module/nyacc/lang/c99/mach.d/c99act.scm b/module/nyacc/lang/c99/mach.d/c99act.scm index 0d7c7db0..d54164ab 100644 --- a/module/nyacc/lang/c99/mach.d/c99act.scm +++ b/module/nyacc/lang/c99/mach.d/c99act.scm @@ -1,6 +1,6 @@ ;; ./mach.d/c99act.scm -;; Copyright 2016,2017 Matthew R. Wette +;; Copyright (C) 2016,2017 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, ;; or any later version published by the Free Software Foundation. See @@ -8,10 +8,8 @@ (define act-v (vector - ;; $start => translation-unit-proxy + ;; $start => translation-unit (lambda ($1 . $rest) $1) - ;; translation-unit-proxy => translation-unit - (lambda ($1 . $rest) (tl->list $1)) ;; primary-expression => identifier (lambda ($1 . $rest) `(p-expr ,$1)) ;; primary-expression => constant @@ -622,23 +620,19 @@ (lambda ($3 $2 $1 . $rest) (list 'array-dsgr $2)) ;; designator => "." identifier (lambda ($2 $1 . $rest) (list 'sel-dsgr $2)) - ;; statement => $P2 statement-1 - (lambda ($2 $1 . $rest) $2) - ;; $P2 => - (lambda $rest (cpp-ok!)) - ;; statement-1 => labeled-statement + ;; statement => labeled-statement (lambda ($1 . $rest) $1) - ;; statement-1 => compound-statement + ;; statement => compound-statement (lambda ($1 . $rest) $1) - ;; statement-1 => expression-statement + ;; statement => expression-statement (lambda ($1 . $rest) $1) - ;; statement-1 => selection-statement + ;; statement => selection-statement (lambda ($1 . $rest) $1) - ;; statement-1 => iteration-statement + ;; statement => iteration-statement (lambda ($1 . $rest) $1) - ;; statement-1 => jump-statement + ;; statement => jump-statement (lambda ($1 . $rest) $1) - ;; statement-1 => cpp-statement + ;; statement => cpp-statement (lambda ($1 . $rest) $1) ;; labeled-statement => identifier ":" statement (lambda ($3 $2 $1 . $rest) @@ -694,7 +688,7 @@ ;; opt-expression => expression (lambda ($1 . $rest) $1) ;; jump-statement => "goto" identifier ";" - (lambda ($3 $2 $1 . $rest) `(goto $2)) + (lambda ($3 $2 $1 . $rest) `(goto ,$2)) ;; jump-statement => "continue" ";" (lambda ($2 $1 . $rest) '(continue)) ;; jump-statement => "break" ";" @@ -703,32 +697,30 @@ (lambda ($3 $2 $1 . $rest) `(return ,$2)) ;; jump-statement => "return" ";" (lambda ($2 $1 . $rest) `(return (expr))) - ;; translation-unit => external-declaration + ;; translation-unit => external-declaration-list + (lambda ($1 . $rest) (tl->list $1)) + ;; external-declaration-list => external-declaration (lambda ($1 . $rest) (make-tl 'trans-unit $1)) - ;; translation-unit => translation-unit external-declaration + ;; external-declaration-list => external-declaration-list external-decla... (lambda ($2 $1 . $rest) (if (eqv? (sx-tag $2) 'extern-block) - (tl-extend $1 (sx-tail $2)) + (tl-extend $1 (sx-tail $2 2)) (tl-append $1 $2))) - ;; external-declaration => $P3 external-declaration-1 - (lambda ($2 $1 . $rest) $2) - ;; $P3 => - (lambda $rest (cpp-ok!)) - ;; external-declaration-1 => function-definition + ;; external-declaration => function-definition (lambda ($1 . $rest) $1) - ;; external-declaration-1 => declaration + ;; external-declaration => declaration (lambda ($1 . $rest) $1) - ;; external-declaration-1 => lone-comment + ;; external-declaration => lone-comment (lambda ($1 . $rest) $1) - ;; external-declaration-1 => cpp-statement + ;; external-declaration => cpp-statement (lambda ($1 . $rest) $1) - ;; external-declaration-1 => "extern" '$string "{" translation-unit "}" + ;; external-declaration => "extern" '$string "{" external-declaration-li... (lambda ($5 $4 $3 $2 $1 . $rest) `(extern-block - $2 - (extern-C-begin) - $4 - (extern-C-end))) + ,$2 + (extern-begin ,$2) + ,@(sx-tail (tl->list $4) 1) + (extern-end))) ;; function-definition => declaration-specifiers declarator declaration-... (lambda ($4 $3 $2 $1 . $rest) `(knr-fctn-defn diff --git a/module/nyacc/lang/c99/mach.d/c99tab.scm b/module/nyacc/lang/c99/mach.d/c99tab.scm index f6444c41..570e131a 100644 --- a/module/nyacc/lang/c99/mach.d/c99tab.scm +++ b/module/nyacc/lang/c99/mach.d/c99tab.scm @@ -1,778 +1,812 @@ ;; ./mach.d/c99tab.scm -;; Copyright 2016,2017 Matthew R. Wette +;; Copyright (C) 2016,2017 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, ;; or any later version published by the Free Software Foundation. See ;; the file COPYING included with the this distribution. (define len-v - #(1 1 1 1 1 3 1 4 4 3 3 3 2 2 6 7 1 3 1 3 2 1 1 2 2 2 2 4 1 1 1 1 1 1 1 4 - 1 3 3 3 1 3 3 1 3 3 1 3 3 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 5 1 3 1 1 1 1 1 - 1 1 1 1 1 1 1 3 1 5 3 0 1 2 1 2 1 2 1 2 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 - 1 2 2 3 1 1 2 1 2 2 3 2 3 3 4 3 2 2 1 3 2 4 3 1 2 2 1 1 2 1 2 2 3 5 4 2 5 - 4 2 1 1 1 1 2 2 4 2 1 2 1 1 3 1 3 2 5 6 4 5 2 1 3 1 3 1 1 1 1 2 1 1 3 5 4 - 4 3 6 6 5 4 4 4 3 2 1 3 2 1 2 1 3 1 3 2 2 1 1 3 2 1 1 2 1 3 5 4 4 3 6 5 6 - 4 3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 2 0 1 1 1 1 1 1 1 3 4 - 3 3 2 1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 2 2 0 1 1 1 1 5 4 3 1 - 2 0 1 1 1 1 1 1 1 2 1 1 1)) + #(1 1 1 1 3 1 4 4 3 3 3 2 2 6 7 1 3 1 3 2 1 1 2 2 2 2 4 1 1 1 1 1 1 1 4 1 + 3 3 3 1 3 3 1 3 3 1 3 3 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 5 1 3 1 1 1 1 1 1 + 1 1 1 1 1 1 3 1 5 3 0 1 2 1 2 1 2 1 2 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 2 2 3 1 1 2 1 2 2 3 2 3 3 4 3 2 2 1 3 2 4 3 1 2 2 1 1 2 1 2 2 3 5 4 2 5 4 + 2 1 1 1 1 2 2 4 2 1 2 1 1 3 1 3 2 5 6 4 5 2 1 3 1 3 1 1 1 1 2 1 1 3 5 4 4 + 3 6 6 5 4 4 4 3 2 1 3 2 1 2 1 3 1 3 2 2 1 1 3 2 1 1 2 1 3 5 4 4 3 6 5 6 4 + 3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 1 1 1 1 1 1 1 3 4 3 3 2 + 1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 1 2 1 1 1 1 5 4 3 1 2 0 1 1 + 1 1 1 1 1 2 1 1 1)) (define pat-v - #(((352 . 1) (353 . 2) (434 . 3) (435 . 4) (345 . -286) (-1 . -286)) ((68 - . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 - . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) ( - 156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26 - ) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . - 33) (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (1 . 39) (345 - . 40) (422 . 41) (10 . 42) (360 . 43) (386 . 44) (356 . 45) (350 . 46) ( - 351 . 47)) ((345 . -283) (-1 . -283)) ((352 . 1) (353 . 5) (345 . -286) ( - 347 . -1) (-1 . -286)) ((347 . 0)) ((345 . -284) (-1 . -284)) ((-1 . -234) - ) ((8 . 85) (5 . 52) (6 . 53) (68 . 6) (390 . 80) (433 . 81) (389 . 86)) ( - (8 . 83) (5 . 52) (6 . 53) (68 . 6) (390 . 80) (433 . 81) (389 . 84)) ((8 - . 79) (5 . 52) (6 . 53) (68 . 6) (390 . 80) (433 . 81) (389 . 82)) ((-1 . - -139)) ((194 . 78) (-1 . -137)) ((194 . 77) (-1 . -136)) ((-1 . -133)) (( - 226 . 73) (214 . 74) (196 . 75) (206 . 76) (-1 . -128)) ((214 . 70) (196 - . 71) (195 . 72) (-1 . -117)) ((-1 . -114)) ((226 . 66) (214 . 67) (196 . - 68) (206 . 69) (-1 . -115)) ((214 . 65) (-1 . -110)) ((-1 . -177)) ((-1 . - -176)) ((-1 . -175)) ((-1 . -174)) ((-1 . -109)) ((-1 . -108)) ((-1 . -107 - )) ((-1 . -106)) ((-1 . -105)) ((-1 . -104)) ((-1 . -103)) ((-1 . -102)) ( - (-1 . -101)) ((-1 . -100)) ((-1 . -99)) ((-1 . -97)) ((68 . 6) (161 . 7) ( - 180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) - (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 . - 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 - . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) ( - 270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 64) (-1 . -91 - )) ((68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12 - ) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 - . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) ( - 393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) - (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . - 38) (422 . 63) (-1 . -89)) ((68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . - 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 - . 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) ( - 391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30 - ) (266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . - 36) (401 . 37) (402 . 38) (422 . 62) (-1 . -87)) ((68 . 6) (161 . 7) (180 - . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 - . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) ( - 158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28 - ) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . - 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 61) (-1 . -85)) (( - 345 . -307) (-1 . -307)) ((345 . -306) (-1 . -306)) ((398 . 49) (405 . 50) - (11 . 51) (5 . 52) (6 . 53) (78 . 54) (25 . 55) (433 . 56) (378 . 57) ( - 379 . 58) (397 . 59)) ((9 . 48) (-1 . -98)) ((345 . -290) (-1 . -290)) (( - 345 . -289) (-1 . -289)) ((345 . -288) (-1 . -288)) ((345 . -287) (-1 . - -287)) ((345 . -285) (-1 . -285)) ((8 . 126)) ((11 . -93) (61 . -93)) (( - 404 . 124) (61 . 125) (11 . -84)) ((344 . 121) (348 . 122) (403 . 123) ( - 345 . -296) (-1 . -296)) ((-1 . -299)) ((-1 . -298)) ((156 . 20) (157 . 21 - ) (158 . 22) (400 . 118) (377 . 119) (78 . 54) (379 . 120) (-1 . -194)) (( - 5 . 52) (6 . 53) (78 . 54) (25 . 55) (433 . 56) (378 . 57) (379 . 58) (397 - . 117)) ((-1 . -180)) ((59 . 115) (25 . 116) (-1 . -179)) ((5 . 52) (6 . - 53) (25 . 55) (433 . 56) (378 . 114)) ((8 . 108) (365 . 109) (68 . 6) (161 - . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 - . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) ( - 157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27 - ) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . - 60) (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 110) ( - 356 . 111) (349 . 112) (60 . 113) (11 . -95) (61 . -95)) ((-1 . -98)) ((-1 - . -86)) ((-1 . -88)) ((-1 . -90)) ((-1 . -92)) ((-1 . -111)) ((214 . 107) - (-1 . -112)) ((-1 . -116)) ((196 . 105) (214 . 106) (-1 . -119)) ((-1 . - -134)) ((-1 . -118)) ((214 . 104) (-1 . -121)) ((194 . 103) (-1 . -138)) ( - (214 . 102) (-1 . -126)) ((-1 . -127)) ((196 . 100) (214 . 101) (-1 . -130 - )) ((-1 . -135)) ((-1 . -140)) ((-1 . -141)) ((68 . 6) (161 . 7) (180 . 8) - (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . - 15) (214 . 16) (209 . 17) (226 . 18) (156 . 20) (157 . 21) (158 . 22) (390 - . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) ( - 265 . 30) (400 . 92) (401 . 93) (345 . 40) (385 . 94) (386 . 95) (387 . 96 - ) (388 . 99)) ((-1 . -150)) ((-1 . -149)) ((8 . 98) (-1 . -145)) ((68 . 6) - (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) - (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (156 . 20) (157 . - 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 - . 28) (395 . 29) (265 . 30) (400 . 92) (401 . 93) (345 . 40) (385 . 94) ( - 386 . 95) (387 . 96) (388 . 97)) ((8 . 91) (-1 . -148)) ((5 . 52) (6 . 53) - (433 . 88) (380 . 89) (381 . 90)) ((8 . 87) (-1 . -169)) ((5 . 52) (6 . - 53) (433 . 88) (380 . 89) (381 . 207)) ((60 . 206) (7 . -172) (61 . -172)) - ((7 . -170) (61 . -170)) ((7 . 204) (61 . 205)) ((68 . 6) (161 . 7) (180 - . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 - . 15) (214 . 16) (209 . 17) (226 . 18) (156 . 20) (157 . 21) (158 . 22) ( - 390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29 - ) (265 . 30) (400 . 92) (401 . 93) (345 . 40) (385 . 94) (386 . 95) (387 - . 96) (388 . 203)) ((68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 - . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) ( - 226 . 18) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25 - ) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 92) (401 - . 93) (385 . 202) (-1 . -159)) ((68 . 6) (161 . 7) (180 . 8) (187 . 9) ( - 194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16 - ) (209 . 17) (226 . 18) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 - . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) ( - 400 . 92) (401 . 93) (385 . 201) (-1 . -157)) ((5 . 52) (6 . 53) (78 . 54) - (25 . 55) (433 . 56) (378 . 57) (379 . 58) (52 . 197) (397 . 198) (383 . - 199) (384 . 200)) ((345 . -152) (-1 . -152)) ((345 . -151) (-1 . -151)) (( - 7 . 196) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 - . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) ( - 156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26 - ) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 92) (401 . 93) (385 - . 94) (387 . 193) (345 . 40) (386 . 194)) ((68 . 6) (161 . 7) (180 . 8) ( - 187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) - (214 . 16) (209 . 17) (226 . 18) (156 . 20) (157 . 21) (158 . 22) (390 . - 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 - . 30) (400 . 92) (401 . 93) (345 . 40) (385 . 94) (386 . 95) (387 . 96) ( - 388 . 195)) ((7 . 192) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) ( - 195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17 - ) (226 . 18) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 - . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 92) ( - 401 . 93) (385 . 94) (387 . 193) (345 . 40) (386 . 194)) ((214 . 191) (-1 - . -132)) ((-1 . -129)) ((-1 . -125)) ((-1 . -142)) ((-1 . -122)) ((214 . - 190) (-1 . -123)) ((-1 . -120)) ((-1 . -113)) ((68 . 6) (161 . 7) (180 . 8 - ) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . - 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 - . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) ( - 395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) - (399 . 35) (400 . 36) (401 . 37) (402 . 38) (368 . 184) (422 . 110) (359 - . 185) (356 . 186) (357 . 187) (358 . 188) (7 . 189) (-1 . -248)) ((345 . - -293) (-1 . -293)) ((5 . 52) (6 . 53) (78 . 54) (25 . 55) (433 . 56) (378 - . 57) (379 . 58) (397 . 128) (398 . 49) (405 . 50) (11 . 51)) ((-1 . -294) - ) ((8 . 108) (365 . 182) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) - (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . - 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 - . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) ( - 266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . 36) - (401 . 37) (402 . 38) (422 . 110) (356 . 183)) ((418 . 143) (417 . 144) ( - 416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . - 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . - 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . - 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) - (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) ( - 407 . 175) (8 . 179) (424 . 180) (396 . 181)) ((59 . 115) (25 . 116) (-1 - . -178)) ((84 . 141) (58 . 142) (418 . 143) (417 . 144) (416 . 145) (415 - . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) ( - 4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) - (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) ( - 78 . 164) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 - . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . - 176) (156 . 20) (157 . 21) (158 . 22) (400 . 118) (377 . 177)) ((23 . 134) - (5 . 52) (6 . 53) (433 . 135) (375 . 136) (68 . 6) (161 . 7) (180 . 8) ( - 187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) - (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . - 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 - . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) ( - 399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 137) (373 . 138) (374 . - 139) (376 . 140)) ((23 . 133)) ((-1 . -197)) ((78 . 54) (379 . 131) (156 - . 20) (157 . 21) (158 . 22) (400 . 132) (-1 . -193)) ((-1 . -196)) ((345 - . -305) (-1 . -305)) ((345 . -297) (-1 . -297)) ((345 . -83) (-1 . -83)) ( - (11 . 130)) ((5 . 52) (6 . 53) (78 . 54) (25 . 55) (433 . 56) (378 . 57) ( - 379 . 58) (397 . 128) (398 . 129)) ((352 . 1) (353 . 2) (434 . 127) (345 - . -286) (-1 . -286)) ((7 . 321) (352 . 1) (353 . 5) (345 . -286) (-1 . - -286)) ((60 . 113) (11 . -95) (61 . -95)) ((11 . -94) (61 . -94)) ((344 . - 121) (348 . 122) (403 . 320) (345 . -296) (-1 . -296)) ((-1 . -195)) ((-1 - . -198)) ((-1 . -181)) ((-1 . -192)) ((23 . -206) (61 . -206)) ((23 . 318) - (61 . 319)) ((5 . 52) (6 . 53) (433 . 56) (378 . 57) (397 . 312) (59 . - 313) (25 . 314) (78 . 54) (372 . 315) (379 . 316) (421 . 317) (23 . -205) - (61 . -205)) ((61 . -201) (23 . -201)) ((61 . 311) (23 . -199)) ((23 . 310 - )) ((156 . 20) (157 . 21) (158 . 22) (400 . 118) (377 . 309)) ((-1 . -185) - ) ((-1 . -36)) ((78 . 306) (305 . 307) (304 . 308) (-1 . -40)) ((303 . 304 - ) (302 . 305) (-1 . -43)) ((301 . 302) (300 . 303) (-1 . -46)) ((299 . 298 - ) (298 . 299) (297 . 300) (296 . 301) (-1 . -51)) ((295 . 296) (294 . 297) - (-1 . -54)) ((293 . 295) (-1 . -56)) ((-1 . -303)) ((-1 . -302)) ((-1 . - -301)) ((-1 . -300)) ((292 . 294) (-1 . -58)) ((291 . 293) (-1 . -60)) ((9 - . 292) (-1 . -4)) ((-1 . -3)) ((-1 . -2)) ((290 . 291) (-1 . -62)) ((-1 - . -33)) ((-1 . -32)) ((-1 . -31)) ((-1 . -30)) ((58 . 290) (-1 . -29)) (( - -1 . -28)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) ( - 413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 - . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . - 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165 - ) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) ( - 320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 . 284) (68 - . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 - . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) ( - 156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26 - ) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . - 33) (10 . 60) (270 . 34) (399 . 35) (400 . 285) (401 . 286) (402 . 38) ( - 422 . 287) (385 . 288) (426 . 289)) ((-1 . -6)) ((288 . 282) (289 . 283) ( - -1 . -64)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 - . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 - . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . - 171) (320 . 172) (428 . 173) (420 . 280) (25 . 281)) ((9 . 150) (2 . 151) - (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) - (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) ( - 429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 - . 166) (420 . 210) (418 . 279)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) - (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . - 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 276) (429 . 167) - (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 278)) - ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) ( - 432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (25 . 276) (429 . 167) (317 . 169) (419 . 170) (319 . - 171) (320 . 172) (428 . 173) (420 . 277)) ((59 . 270) (25 . 271) (57 . 272 - ) (334 . 273) (320 . 274) (319 . 275) (-1 . -22)) ((276 . 258) (277 . 259) - (278 . 260) (279 . 261) (280 . 262) (281 . 263) (282 . 264) (283 . 265) ( - 284 . 266) (285 . 267) (60 . 268) (406 . 269) (-1 . -34)) ((-1 . -66)) (( - 58 . 257)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) ( - 413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 - . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . - 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (293 . 165) (25 . 166 - ) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) - (428 . 173) (420 . 174) (407 . 175) (424 . 253) (156 . 20) (157 . 21) (158 - . 22) (400 . 132) (58 . 254) (84 . 255) (78 . 256)) ((-1 . -29)) ((418 . - 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . - 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) - (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) ( - 310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 - . 167) (57 . 246) (59 . 247) (408 . 168) (317 . 169) (419 . 170) (319 . - 171) (320 . 172) (428 . 173) (369 . 248) (420 . 174) (407 . 175) (370 . - 249) (8 . 179) (424 . 180) (396 . 250) (371 . 251) (425 . 252)) ((61 . - -235) (7 . -235) (11 . -235)) ((11 . -96) (61 . -96)) ((345 . -292) (-1 . - -292)) ((-1 . -295)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 - . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) ( - 411 . 154) (410 . 155) (431 . 156) (432 . 157) (409 . 159) (309 . 160) ( - 310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 - . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . - 173) (420 . 174) (407 . 175) (5 . 52) (6 . 53) (424 . 223) (1 . 39) (12 . - 224) (16 . 225) (18 . 226) (20 . 227) (26 . 228) (31 . 229) (30 . 230) (37 - . 231) (41 . 232) (11 . 233) (430 . 234) (8 . 108) (53 . 235) (55 . 236) - (433 . 237) (360 . 238) (361 . 239) (362 . 240) (363 . 241) (364 . 242) ( - 365 . 243) (366 . 244) (367 . 245)) ((-1 . -264)) ((-1 . -263)) ((-1 . - -261)) ((7 . 221) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 - . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) ( - 226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24 - ) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 - . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . 36) (401 - . 37) (402 . 38) (368 . 184) (422 . 110) (359 . 185) (356 . 186) (357 . - 222) (-1 . -248)) ((345 . -260) (-1 . -260)) ((-1 . -124)) ((-1 . -131)) ( - (-1 . -144)) ((345 . -153) (-1 . -153)) ((345 . -154) (-1 . -154)) ((7 . - 220) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . - 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (156 - . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) ( - 264 . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 92) (401 . 93) (385 . 94 - ) (387 . 193) (345 . 40) (386 . 194)) ((-1 . -147)) ((9 . 150) (2 . 151) ( - 3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) ( - 309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 - . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . - 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . - 147) (413 . 148) (412 . 149) (411 . 154) (410 . 155) (409 . 159) (408 . - 168) (407 . 211) (382 . 219)) ((52 . 218) (11 . -162) (61 . -162)) ((11 . - -160) (61 . -160)) ((11 . 216) (61 . 217)) ((-1 . -156)) ((-1 . -158)) ((7 - . 215) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 - . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) ( - 156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26 - ) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 92) (401 . 93) (385 - . 94) (387 . 193) (345 . 40) (386 . 194)) ((-1 . -167)) ((7 . 213) (5 . 52 - ) (6 . 53) (433 . 88) (380 . 214)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153 - ) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 - . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . - 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210 - ) (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) - (412 . 149) (411 . 154) (410 . 155) (409 . 159) (408 . 168) (407 . 211) ( - 382 . 212)) ((61 . 208) (7 . 209)) ((5 . 52) (6 . 53) (433 . 88) (380 . - 214) (7 . 400)) ((-1 . -165)) ((-1 . -34)) ((-1 . -81)) ((7 . -173) (61 . - -173)) ((-1 . -168)) ((7 . -171) (61 . -171)) ((-1 . -146)) ((344 . 121) ( - 348 . 122) (403 . 399) (345 . -296) (-1 . -296)) ((5 . 52) (6 . 53) (78 . - 54) (25 . 55) (433 . 56) (378 . 57) (379 . 58) (52 . 197) (397 . 198) (383 - . 398)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 - . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . - 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171 - ) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) ( - 416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (411 . 154) ( - 410 . 155) (409 . 159) (408 . 168) (407 . 211) (382 . 397)) ((11 . -164) ( - 61 . -164)) ((-1 . -143)) ((345 . -259) (-1 . -259)) ((-1 . -262)) ((-1 . - -79)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . - 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) - (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) ( - 309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 - . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . - 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 . 395) (11 . 396 - )) ((11 . 394)) ((11 . 393)) ((5 . 52) (6 . 53) (433 . 392)) ((25 . 391)) - ((368 . 184) (359 . 390) (-1 . -248)) ((25 . 389)) ((25 . 388)) ((25 . 387 - )) ((-1 . -266)) ((11 . 386) (61 . 359)) ((52 . 385)) ((9 . 150) (2 . 151) - (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) - (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) ( - 429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 - . 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 - . 147) (413 . 148) (412 . 149) (411 . 154) (410 . 155) (409 . 159) (408 . - 168) (407 . 211) (382 . 384)) ((52 . 383) (-1 . -2)) ((-1 . -255)) ((-1 . - -254)) ((-1 . -253)) ((-1 . -252)) ((-1 . -251)) ((-1 . -250)) ((-1 . -249 - )) ((-1 . -247)) ((5 . 52) (6 . 53) (433 . 382)) ((9 . 150) (2 . 151) (3 - . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) ( - 309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 - . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . - 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . - 147) (413 . 148) (412 . 149) (411 . 154) (410 . 155) (409 . 159) (408 . - 168) (407 . 211) (382 . 381)) ((60 . -243) (57 . -243) (59 . -243)) ((60 - . 379) (57 . 246) (59 . 247) (369 . 380)) ((61 . -239) (7 . -239)) ((418 - . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . - 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) - (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) ( - 310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 - . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . - 173) (420 . 174) (407 . 175) (8 . 179) (424 . 180) (396 . 378)) ((61 . 376 - ) (7 . 377)) ((58 . 375)) ((-1 . -183)) ((418 . 143) (417 . 144) (416 . - 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) ( - 3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) ( - 432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) ( - 303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 - . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . - 175) (424 . 374)) ((58 . 373) (-1 . -29)) ((-1 . -184)) ((-1 . -78)) ((-1 - . -77)) ((-1 . -76)) ((-1 . -75)) ((-1 . -74)) ((-1 . -73)) ((-1 . -72)) ( - (-1 . -71)) ((-1 . -70)) ((-1 . -69)) ((-1 . -68)) ((418 . 143) (417 . 144 - ) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 - . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 - . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 - . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 . - 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . - 174) (407 . 175) (424 . 372)) ((418 . 143) (417 . 144) (416 . 145) (415 . - 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 - . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) ( - 433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . - 223) (430 . 371)) ((23 . 366) (418 . 143) (417 . 144) (416 . 145) (415 . - 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 - . 153) (5 . 52) (6 . 53) (411 . 154) (68 . 6) (161 . 7) (180 . 8) (187 . 9 - ) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 - . 16) (209 . 17) (226 . 18) (410 . 155) (431 . 156) (432 . 157) (433 . 158 - ) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 - . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) ( - 84 . 32) (268 . 33) (10 . 60) (270 . 34) (409 . 159) (309 . 160) (310 . - 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) - (399 . 35) (400 . 36) (401 . 37) (402 . 38) (408 . 168) (317 . 169) (419 - . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (422 . - 367) (423 . 368) (424 . 369) (427 . 370)) ((5 . 52) (6 . 53) (433 . 365)) - ((5 . 52) (6 . 53) (433 . 364)) ((-1 . -12)) ((-1 . -13)) ((68 . 6) (161 - . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 - . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) ( - 157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27 - ) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . - 60) (270 . 34) (399 . 35) (400 . 285) (401 . 286) (402 . 38) (422 . 287) ( - 385 . 288) (426 . 363) (418 . 143) (417 . 144) (416 . 145) (415 . 146) ( - 414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) - (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . - 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178 - ) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) ( - 319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) ( - 430 . 284)) ((-1 . -23)) ((-1 . -24)) ((-1 . -25)) ((-1 . -26)) ((68 . 6) - (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) - (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . - 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 - . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) ( - 10 . 60) (270 . 34) (399 . 35) (400 . 285) (401 . 286) (402 . 38) (422 . - 287) (385 . 288) (426 . 362) (418 . 143) (417 . 144) (416 . 145) (415 . - 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 - . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) ( - 433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . - 223) (430 . 284)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . - 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . - 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) ( - 409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 - . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . - 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 . - 361)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . - 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . - 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171 - ) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) ( - 416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (411 . 154) ( - 410 . 155) (409 . 360)) ((23 . 358) (61 . 359)) ((155 . 19) (266 . 31) (84 - . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (402 . 38) (422 . 63) ( - 68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) ( - 206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (156 . 20 - ) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 - . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 285) (401 . 286) (385 . 202) - (23 . -89) (78 . -159) (59 . -159) (25 . -159)) ((155 . 19) (266 . 31) ( - 84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (402 . 38) (422 . 62) - (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) ( - 206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (156 . 20 - ) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 - . 27) (394 . 28) (395 . 29) (265 . 30) (400 . 285) (401 . 286) (385 . 201) - (23 . -87) (78 . -157) (59 . -157) (25 . -157)) ((23 . -209)) ((59 . 313) - (25 . 355) (78 . 54) (372 . 315) (379 . 356) (421 . 357)) ((23 . 354)) (( - -1 . -189)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) ( - 431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) ( - 303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . - 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (411 . - 154) (410 . 353)) ((-1 . -304)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) ( - 5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . - 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169 - ) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) ( - 418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) ( - 412 . 149) (411 . 352)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) - (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 - . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143 - ) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 351)) - ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) ( - 432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 - . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) (416 . - 145) (415 . 146) (414 . 147) (413 . 350)) ((9 . 150) (2 . 151) (3 . 152) ( - 4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) - (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) ( - 317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 - . 210) (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 349)) ((9 - . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . - 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178 - ) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) - (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) ( - 415 . 146) (414 . 348)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) - (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 - . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143 - ) (417 . 144) (416 . 145) (415 . 347)) ((9 . 150) (2 . 151) (3 . 152) (4 - . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) ( - 310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 - . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . - 210) (418 . 143) (417 . 144) (416 . 145) (415 . 346)) ((9 . 150) (2 . 151) - (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) - (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) ( - 429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 - . 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) (415 . 345)) ((9 - . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . - 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178 - ) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) - (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) ( - 415 . 344)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) ( - 431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) ( - 303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . - 144) (416 . 343)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . - 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162 - ) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) ( - 319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 - . 144) (416 . 342)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 - . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . - 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170 - ) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) ( - 417 . 341)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) ( - 431 . 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) ( - 303 . 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . - 340)) ((9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . - 156) (432 . 157) (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . - 163) (78 . 178) (293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171 - ) (320 . 172) (428 . 173) (25 . 166) (420 . 210) (418 . 339)) ((9 . 150) ( - 2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) ( - 433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 - . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 - . 173) (25 . 166) (420 . 210) (418 . 338)) ((9 . 150) (2 . 151) (3 . 152) - (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 . 160 - ) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . 167) ( - 317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166) (420 - . 210) (418 . 337)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 - . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 - . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158 - ) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) ( - 293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 336) (156 - . 20) (157 . 21) (158 . 22) (400 . 132)) ((-1 . -190)) ((68 . 6) (161 . 7) - (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14 - ) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 - . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) ( - 394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) - (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 137) (373 . - 334) (121 . 335)) ((23 . -203) (61 . -203)) ((418 . 143) (417 . 144) (416 - . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) - (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) - (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) ( - 303 . 163) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 - . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 - . 329) (58 . 330) (84 . 331) (156 . 20) (157 . 21) (158 . 22) (400 . 118) - (377 . 332) (78 . 333)) ((59 . 313) (372 . 315) (421 . 326) (68 . 6) (161 - . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 - . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 . 19) (156 . 20) ( - 157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27 - ) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . - 60) (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . 38) (422 . 137) ( - 373 . 138) (374 . 139) (376 . 327) (23 . 328) (5 . 52) (6 . 53) (78 . 54) - (25 . 314) (433 . 56) (378 . 57) (379 . 316) (397 . 117)) ((59 . 324) (25 - . 325) (23 . -212) (61 . -212)) ((59 . 313) (372 . 323) (5 . 52) (6 . 53) - (25 . 314) (433 . 56) (378 . 114) (23 . -210) (61 . -210)) ((23 . -204) ( - 61 . -204)) ((-1 . -191)) ((5 . 52) (6 . 53) (433 . 322)) ((345 . -82) (-1 - . -82)) ((345 . -291) (-1 . -291)) ((23 . -207) (61 . -207)) ((59 . 324) - (25 . 325) (23 . -211) (61 . -211)) ((84 . 440) (58 . 441) (418 . 143) ( - 417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 - . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . - 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . - 161) (302 . 162) (303 . 163) (78 . 442) (293 . 165) (25 . 166) (429 . 167) - (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) ( - 420 . 174) (407 . 175) (424 . 443) (156 . 20) (157 . 21) (158 . 22) (400 - . 118) (377 . 444)) ((23 . 438) (68 . 6) (161 . 7) (180 . 8) (187 . 9) ( - 194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16 - ) (209 . 17) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 - . 23) (391 . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) ( - 265 . 30) (266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) - (400 . 36) (401 . 37) (402 . 38) (422 . 137) (373 . 138) (374 . 139) (376 - . 439)) ((23 . 437)) ((23 . 436)) ((-1 . -233)) ((58 . 435)) ((-1 . -224)) - ((156 . 20) (157 . 21) (158 . 22) (400 . 118) (377 . 434)) ((84 . 431) ( - 156 . 20) (157 . 21) (158 . 22) (400 . 132) (58 . 432) (418 . 143) (417 . - 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) - (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) ( - 431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) ( - 302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 - . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . - 174) (407 . 175) (424 . 433)) ((58 . 430) (-1 . -29)) ((61 . -202) (23 . - -202)) ((23 . -200)) ((58 . 429)) ((-1 . -39)) ((-1 . -38)) ((-1 . -37)) ( - (78 . 306) (305 . 307) (304 . 308) (-1 . -42)) ((78 . 306) (305 . 307) ( - 304 . 308) (-1 . -41)) ((303 . 304) (302 . 305) (-1 . -45)) ((303 . 304) ( - 302 . 305) (-1 . -44)) ((301 . 302) (300 . 303) (-1 . -50)) ((301 . 302) ( - 300 . 303) (-1 . -49)) ((301 . 302) (300 . 303) (-1 . -48)) ((301 . 302) ( - 300 . 303) (-1 . -47)) ((299 . 298) (298 . 299) (297 . 300) (296 . 301) ( - -1 . -53)) ((299 . 298) (298 . 299) (297 . 300) (296 . 301) (-1 . -52)) (( - 295 . 296) (294 . 297) (-1 . -55)) ((293 . 295) (-1 . -57)) ((292 . 294) ( - -1 . -59)) ((291 . 293) (-1 . -61)) ((8 . 427) (9 . 150) (2 . 151) (3 . - 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) (433 . 158) (309 - . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (429 . - 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (25 . 166 - ) (420 . 210) (418 . 428)) ((59 . 313) (25 . 355) (78 . 54) (372 . 315) ( - 379 . 356) (421 . 326) (68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) ( - 195 . 11) (200 . 12) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17 - ) (226 . 18) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 - . 24) (392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) ( - 266 . 31) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . 36) - (401 . 37) (402 . 38) (422 . 137) (373 . 138) (374 . 139) (376 . 327) (23 - . 328)) ((59 . 313) (25 . 355) (372 . 323) (23 . -210) (61 . -210)) ((23 - . -208)) ((-1 . -5)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 - . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 - . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158 - ) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) ( - 293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 426)) ((290 - . 291) (-1 . -63)) ((52 . 425) (61 . 359)) ((23 . 424)) ((23 . 423)) ((-1 - . -11)) ((-1 . -10)) ((-1 . -9)) ((59 . 313) (25 . 355) (78 . 54) (372 . - 315) (379 . 356) (421 . 422) (23 . -21) (61 . -21)) ((23 . -18) (61 . -18) - ) ((23 . -16) (61 . -16)) ((23 . 420) (61 . 421)) ((58 . 419) (61 . 359)) - ((-1 . -67)) ((-1 . -188)) ((58 . 418)) ((-1 . -182)) ((418 . 143) (417 . - 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) - (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) ( - 431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) ( - 302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 - . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . - 174) (407 . 175) (8 . 179) (424 . 180) (396 . 415) (57 . 246) (59 . 247) ( - 369 . 248) (370 . 249) (371 . 416) (7 . 417)) ((61 . -236) (7 . -236) (11 - . -236)) ((61 . -238) (7 . -238)) ((-1 . -242)) ((60 . -244) (57 . -244) ( - 59 . -244)) ((58 . 414)) ((60 . -246) (59 . -246) (57 . -246)) ((368 . 184 - ) (359 . 413) (-1 . -248)) ((52 . 412)) ((368 . 184) (359 . 411) (-1 . - -248)) ((-1 . -265)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 - . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 - . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158 - ) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) ( - 293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 - . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 - . 410)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 - . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . - 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159 - ) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) ( - 25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 - . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 . 409)) ((418 - . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 - . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . - 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . - 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) - (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) ( - 428 . 173) (420 . 174) (407 . 175) (424 . 223) (430 . 408)) ((30 . 407)) ( - (418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) ( - 412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 - . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (68 . 6) (161 . 7) - (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12) (206 . 13) (207 . 14) - (196 . 15) (214 . 16) (209 . 17) (226 . 18) (409 . 159) (309 . 160) (310 - . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . - 167) (155 . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) ( - 392 . 25) (393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31 - ) (84 . 32) (268 . 33) (10 . 60) (270 . 34) (408 . 168) (317 . 169) (419 - . 170) (319 . 171) (320 . 172) (428 . 173) (399 . 35) (400 . 36) (401 . 37 - ) (402 . 38) (420 . 174) (407 . 175) (422 . 110) (424 . 223) (356 . 403) ( - 11 . 404) (430 . 405) (355 . 406)) ((11 . 402)) ((-1 . -279)) ((-1 . -280) - ) ((11 . 401) (61 . 359)) ((-1 . -282)) ((11 . -163) (61 . -163)) ((11 . - -161) (61 . -161)) ((345 . -155) (-1 . -155)) ((-1 . -166)) ((-1 . -281)) - ((-1 . -278)) ((-1 . -275)) ((-1 . -274)) ((11 . 468) (61 . 359)) ((418 . - 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . - 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) - (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) ( - 310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 - . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . - 173) (420 . 174) (407 . 175) (424 . 223) (430 . 466) (354 . 467) (11 . - -276)) ((25 . 465)) ((23 . 464) (61 . 359)) ((23 . 463) (61 . 359)) ((61 - . 359) (23 . 462)) ((-1 . -258)) ((368 . 184) (359 . 461) (-1 . -248)) (( - -1 . -256)) ((60 . -245) (59 . -245) (57 . -245)) ((61 . -241) (7 . -241)) - ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) - (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 - . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 - . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . - 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . - 172) (428 . 173) (420 . 174) (407 . 175) (8 . 179) (424 . 180) (396 . 460) - ) ((61 . -237) (7 . -237) (11 . -237)) ((-1 . -187)) ((-1 . -7)) ((-1 . -8 - )) ((68 . 6) (161 . 7) (180 . 8) (187 . 9) (194 . 10) (195 . 11) (200 . 12 - ) (206 . 13) (207 . 14) (196 . 15) (214 . 16) (209 . 17) (226 . 18) (155 - . 19) (156 . 20) (157 . 21) (158 . 22) (390 . 23) (391 . 24) (392 . 25) ( - 393 . 26) (264 . 27) (394 . 28) (395 . 29) (265 . 30) (266 . 31) (84 . 32) - (268 . 33) (10 . 60) (270 . 34) (399 . 35) (400 . 36) (401 . 37) (402 . - 38) (422 . 367) (423 . 458) (418 . 143) (417 . 144) (416 . 145) (415 . 146 - ) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . - 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) ( - 433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . - 459)) ((23 . -20) (61 . -20)) ((8 . 427)) ((8 . 427) (-1 . -27)) ((9 . 150 - ) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (431 . 156) (432 . 157) - (433 . 158) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) ( - 293 . 165) (429 . 167) (317 . 169) (419 . 170) (319 . 171) (320 . 172) ( - 428 . 173) (25 . 166) (420 . 210) (418 . 143) (417 . 144) (416 . 145) (415 - . 146) (414 . 147) (413 . 148) (412 . 149) (411 . 154) (410 . 155) (409 - . 159) (408 . 168) (407 . 457)) ((-1 . -80)) ((418 . 143) (417 . 144) (416 - . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151 - ) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156 - ) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) - (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (57 . 246) (59 - . 247) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . - 173) (369 . 248) (420 . 174) (407 . 175) (370 . 249) (8 . 179) (424 . 180) - (396 . 250) (371 . 251) (425 . 456)) ((-1 . -35)) ((-1 . -186)) ((-1 . - -229)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 - . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . - 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159 - ) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) ( - 25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 - . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 455)) ((-1 . -222)) (( - 58 . 454)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) ( - 413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 - . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . - 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165 - ) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) ( - 320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . 452) (156 . 20) (157 - . 21) (158 . 22) (400 . 132) (58 . 453)) ((-1 . -223)) ((-1 . -232)) ((-1 - . -213)) ((-1 . -231)) ((23 . 451)) ((156 . 20) (157 . 21) (158 . 22) ( - 400 . 118) (377 . 450)) ((-1 . -217)) ((58 . 449) (-1 . -29)) ((58 . 448)) - ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) - (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 - . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 - . 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . - 166) (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . - 172) (428 . 173) (420 . 174) (407 . 175) (424 . 445) (156 . 20) (157 . 21) - (158 . 22) (400 . 132) (58 . 446) (84 . 447)) ((58 . 481)) ((-1 . -215)) - ((418 . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) ( - 412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 - . 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . - 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) - (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) ( - 428 . 173) (420 . 174) (407 . 175) (424 . 480)) ((-1 . -216)) ((-1 . -228) - ) ((58 . 478) (156 . 20) (157 . 21) (158 . 22) (400 . 132) (418 . 143) ( - 417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 - . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . - 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . - 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) - (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) ( - 420 . 174) (407 . 175) (424 . 479)) ((-1 . -230)) ((58 . 477)) ((-1 . -226 - )) ((-1 . -221)) ((58 . 476)) ((7 . 474) (61 . 475)) ((-1 . -65)) ((23 . - -19) (61 . -19)) ((23 . -17) (61 . -17)) ((61 . -240) (7 . -240)) ((-1 . - -257)) ((368 . 184) (359 . 473) (-1 . -248)) ((368 . 184) (359 . 472) (-1 - . -248)) ((368 . 184) (359 . 471) (-1 . -248)) ((418 . 143) (417 . 144) ( - 416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . - 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . - 156) (432 . 157) (433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . - 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) - (317 . 169) (419 . 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) ( - 407 . 175) (424 . 223) (430 . 470)) ((61 . 359) (11 . -277) (23 . -277)) ( - (11 . 469)) ((-1 . -273)) ((418 . 143) (417 . 144) (416 . 145) (415 . 146) - (414 . 147) (413 . 148) (412 . 149) (9 . 150) (2 . 151) (3 . 152) (4 . - 153) (5 . 52) (6 . 53) (411 . 154) (410 . 155) (431 . 156) (432 . 157) ( - 433 . 158) (409 . 159) (309 . 160) (310 . 161) (302 . 162) (303 . 163) (78 - . 178) (293 . 165) (25 . 166) (429 . 167) (408 . 168) (317 . 169) (419 . - 170) (319 . 171) (320 . 172) (428 . 173) (420 . 174) (407 . 175) (424 . - 223) (430 . 466) (354 . 487) (23 . -276)) ((23 . 486) (61 . 359)) ((-1 . - -270)) ((-1 . -269)) ((38 . 485) (-1 . -267)) ((-1 . -14)) ((7 . 484) (418 - . 143) (417 . 144) (416 . 145) (415 . 146) (414 . 147) (413 . 148) (412 - . 149) (9 . 150) (2 . 151) (3 . 152) (4 . 153) (5 . 52) (6 . 53) (411 . - 154) (410 . 155) (431 . 156) (432 . 157) (433 . 158) (409 . 159) (309 . - 160) (310 . 161) (302 . 162) (303 . 163) (78 . 178) (293 . 165) (25 . 166) - (429 . 167) (408 . 168) (317 . 169) (419 . 170) (319 . 171) (320 . 172) ( - 428 . 173) (420 . 174) (407 . 175) (8 . 179) (424 . 180) (396 . 415) (57 - . 246) (59 . 247) (369 . 248) (370 . 249) (371 . 416)) ((-1 . -227)) ((-1 - . -225)) ((-1 . -219)) ((58 . 483)) ((58 . 482)) ((-1 . -214)) ((-1 . -220 - )) ((-1 . -218)) ((-1 . -15)) ((368 . 184) (359 . 490) (-1 . -248)) ((11 - . 489)) ((23 . 488)) ((368 . 184) (359 . 491) (-1 . -248)) ((-1 . -271)) ( - (-1 . -268)) ((-1 . -272)))) + #(((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) + (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 + . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 + . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (46 . 29) (145 + . 30) (146 . 31) (147 . 32) (148 . 33) (1 . 34) (94 . 35) (168 . 36) (45 + . 37) (108 . 38) (132 . 39) (104 . 40) (99 . 41) (100 . 42) (101 . 43) ( + 180 . 44)) ((-1 . -233)) ((84 . 83) (5 . 50) (6 . 51) (21 . 1) (136 . 78) + (179 . 79) (135 . 84)) ((84 . 81) (5 . 50) (6 . 51) (21 . 1) (136 . 78) ( + 179 . 79) (135 . 82)) ((84 . 77) (5 . 50) (6 . 51) (21 . 1) (136 . 78) ( + 179 . 79) (135 . 80)) ((-1 . -138)) ((30 . 76) (-1 . -136)) ((30 . 75) (-1 + . -135)) ((-1 . -132)) ((39 . 71) (37 . 72) (35 . 73) (33 . 74) (-1 . + -127)) ((37 . 68) (35 . 69) (31 . 70) (-1 . -116)) ((-1 . -113)) ((39 . 64 + ) (37 . 65) (35 . 66) (33 . 67) (-1 . -114)) ((37 . 63) (-1 . -109)) ((-1 + . -176)) ((-1 . -175)) ((-1 . -174)) ((-1 . -173)) ((-1 . -108)) ((-1 . + -107)) ((-1 . -106)) ((-1 . -105)) ((-1 . -104)) ((-1 . -103)) ((-1 . -102 + )) ((-1 . -101)) ((-1 . -100)) ((-1 . -99)) ((-1 . -98)) ((-1 . -96)) ((21 + . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 + . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) + (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23 + ) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) ( + 145 . 30) (146 . 31) (147 . 32) (148 . 33) (168 . 62) (-1 . -90)) ((21 . 1 + ) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) + (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 + . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) ( + 141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 + . 30) (146 . 31) (147 . 32) (148 . 33) (168 . 61) (-1 . -88)) ((21 . 1) ( + 27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 + . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . + 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 + . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . + 30) (146 . 31) (147 . 32) (148 . 33) (168 . 60) (-1 . -86)) ((21 . 1) (27 + . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . + 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) + (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24 + ) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) ( + 146 . 31) (147 . 32) (148 . 33) (168 . 59) (-1 . -84)) ((94 . -303) (-1 . + -303)) ((94 . -302) (-1 . -302)) ((144 . 47) (151 . 48) (47 . 49) (5 . 50) + (6 . 51) (79 . 52) (92 . 53) (179 . 54) (124 . 55) (125 . 56) (143 . 57)) + ((7 . 46) (-1 . -97)) ((94 . -286) (-1 . -286)) ((94 . -285) (-1 . -285)) + ((94 . -284) (-1 . -284)) ((94 . -283) (-1 . -283)) ((94 . -281) (-1 . + -281)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 + . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) + (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) + (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (46 . 29) ( + 145 . 30) (146 . 31) (147 . 32) (148 . 33) (1 . 34) (94 . 35) (168 . 36) ( + 45 . 37) (108 . 38) (132 . 39) (104 . 40) (99 . 41) (100 . 45) (96 . -280) + ) ((96 . 0)) ((94 . -282) (-1 . -282)) ((84 . 124)) ((47 . -92) (82 . -92) + ) ((150 . 122) (82 . 123) (47 . -83)) ((93 . 119) (97 . 120) (149 . 121) ( + 94 . -292) (-1 . -292)) ((-1 . -295)) ((-1 . -294)) ((24 . 15) (25 . 16) ( + 26 . 17) (146 . 116) (123 . 117) (79 . 52) (125 . 118) (-1 . -193)) ((5 . + 50) (6 . 51) (79 . 52) (92 . 53) (179 . 54) (124 . 55) (125 . 56) (143 . + 115)) ((-1 . -179)) ((90 . 113) (92 . 114) (-1 . -178)) ((5 . 50) (6 . 51) + (92 . 53) (179 . 54) (124 . 112)) ((84 . 106) (113 . 107) (21 . 1) (27 . + 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10 + ) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) ( + 136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) + (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) ( + 146 . 31) (147 . 32) (148 . 33) (168 . 108) (104 . 109) (98 . 110) (58 . + 111) (47 . -94) (82 . -94)) ((-1 . -97)) ((-1 . -85)) ((-1 . -87)) ((-1 . + -89)) ((-1 . -91)) ((-1 . -110)) ((37 . 105) (-1 . -111)) ((-1 . -115)) (( + 35 . 103) (37 . 104) (-1 . -118)) ((-1 . -133)) ((-1 . -117)) ((37 . 102) + (-1 . -120)) ((30 . 101) (-1 . -137)) ((37 . 100) (-1 . -125)) ((-1 . -126 + )) ((35 . 98) (37 . 99) (-1 . -129)) ((-1 . -134)) ((-1 . -139)) ((-1 . + -140)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 + . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . 16) + (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23 + ) (141 . 24) (41 . 25) (146 . 90) (147 . 91) (94 . 35) (131 . 92) (132 . + 93) (133 . 94) (134 . 97)) ((-1 . -149)) ((-1 . -148)) ((84 . 96) (-1 . + -144)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 + . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . 16) + (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23 + ) (141 . 24) (41 . 25) (146 . 90) (147 . 91) (94 . 35) (131 . 92) (132 . + 93) (133 . 94) (134 . 95)) ((84 . 89) (-1 . -147)) ((5 . 50) (6 . 51) (179 + . 86) (126 . 87) (127 . 88)) ((84 . 85) (-1 . -168)) ((5 . 50) (6 . 51) ( + 179 . 86) (126 . 87) (127 . 226)) ((58 . 225) (83 . -171) (82 . -171)) (( + 83 . -169) (82 . -169)) ((83 . 223) (82 . 224)) ((21 . 1) (27 . 2) (28 . 3 + ) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11 + ) (36 . 12) (39 . 13) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) + (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (146 . 90) + (147 . 91) (94 . 35) (131 . 92) (132 . 93) (133 . 94) (134 . 222)) ((21 + . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . + 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . 16) (26 . 17) ( + 136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) + (41 . 25) (146 . 90) (147 . 91) (131 . 221) (-1 . -158)) ((21 . 1) (27 . + 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10 + ) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . 16) (26 . 17) (136 . 18) ( + 137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) + (146 . 90) (147 . 91) (131 . 220) (-1 . -156)) ((5 . 50) (6 . 51) (79 . 52 + ) (92 . 53) (179 . 54) (124 . 55) (125 . 56) (59 . 216) (143 . 217) (129 + . 218) (130 . 219)) ((94 . -151) (-1 . -151)) ((94 . -150) (-1 . -150)) (( + 83 . 215) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) ( + 33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . + 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 + . 23) (141 . 24) (41 . 25) (146 . 90) (147 . 91) (131 . 92) (133 . 212) ( + 94 . 35) (132 . 213)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . + 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 + . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 + . 22) (140 . 23) (141 . 24) (41 . 25) (146 . 90) (147 . 91) (94 . 35) (131 + . 92) (132 . 93) (133 . 94) (134 . 214)) ((83 . 211) (21 . 1) (27 . 2) ( + 28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) ( + 37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 + . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) ( + 146 . 90) (147 . 91) (131 . 92) (133 . 212) (94 . 35) (132 . 213)) ((37 . + 210) (-1 . -131)) ((-1 . -128)) ((-1 . -124)) ((-1 . -141)) ((-1 . -121)) + ((37 . 209) (-1 . -122)) ((-1 . -119)) ((-1 . -112)) ((164 . 141) (163 . + 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) + (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 . 154) (178 . + 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . + 169) (86 . 170) (174 . 171) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) ( + 31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) + (166 . 172) (153 . 173) (5 . 50) (6 . 51) (23 . 14) (24 . 15) (25 . 16) ( + 26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) + (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) ( + 170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) (12 . 187) ( + 13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) (176 . 193) (84 . + 106) (19 . 194) (20 . 195) (179 . 196) (145 . 30) (146 . 31) (147 . 32) ( + 148 . 33) (108 . 197) (109 . 198) (110 . 199) (111 . 200) (112 . 201) (113 + . 202) (114 . 203) (168 . 108) (107 . 204) (104 . 205) (105 . 206) (106 + . 207) (83 . 208)) ((94 . -289) (-1 . -289)) ((5 . 50) (6 . 51) (79 . 52) + (92 . 53) (179 . 54) (124 . 55) (125 . 56) (143 . 126) (144 . 47) (151 . + 48) (47 . 49)) ((-1 . -290)) ((84 . 106) (113 . 180) (21 . 1) (27 . 2) (28 + . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 + . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . + 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 + . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . + 31) (147 . 32) (148 . 33) (168 . 108) (104 . 181)) ((164 . 141) (163 . 142 + ) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 + . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . + 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) ( + 81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 + . 173) (84 . 177) (170 . 178) (142 . 179)) ((90 . 113) (92 . 114) (-1 . + -177)) ((43 . 139) (89 . 140) (164 . 141) (163 . 142) (162 . 143) (161 . + 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 + . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) ( + 179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . + 162) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) + (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 174) (24 + . 15) (25 . 16) (26 . 17) (146 . 116) (123 . 175)) ((91 . 132) (5 . 50) (6 + . 51) (179 . 133) (121 . 134) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5 + ) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . + 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . + 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . + 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . 31) (147 . 32) (148 . + 33) (168 . 135) (119 . 136) (120 . 137) (122 . 138)) ((91 . 131)) ((-1 . + -196)) ((79 . 52) (125 . 129) (24 . 15) (25 . 16) (26 . 17) (146 . 130) ( + -1 . -192)) ((-1 . -195)) ((94 . -301) (-1 . -301)) ((94 . -293) (-1 . + -293)) ((94 . -82) (-1 . -82)) ((47 . 128)) ((5 . 50) (6 . 51) (79 . 52) ( + 92 . 53) (179 . 54) (124 . 55) (125 . 56) (143 . 126) (144 . 127)) ((21 . + 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) + (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 + . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) ( + 141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (46 . 29) (145 . 30) ( + 146 . 31) (147 . 32) (148 . 33) (1 . 34) (94 . 35) (168 . 36) (45 . 37) ( + 108 . 38) (132 . 39) (104 . 40) (99 . 41) (100 . 42) (101 . 125)) ((83 . + 332) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . + 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) ( + 25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) ( + 140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (46 . 29) ( + 145 . 30) (146 . 31) (147 . 32) (148 . 33) (1 . 34) (94 . 35) (168 . 36) ( + 45 . 37) (108 . 38) (132 . 39) (104 . 40) (99 . 41) (100 . 45)) ((58 . 111 + ) (47 . -94) (82 . -94)) ((47 . -93) (82 . -93)) ((93 . 119) (97 . 120) ( + 149 . 331) (94 . -292) (-1 . -292)) ((-1 . -194)) ((-1 . -197)) ((-1 . + -180)) ((-1 . -191)) ((91 . -205) (82 . -205)) ((91 . 329) (82 . 330)) ((5 + . 50) (6 . 51) (179 . 54) (124 . 55) (143 . 323) (90 . 324) (92 . 325) ( + 79 . 52) (118 . 326) (125 . 327) (167 . 328) (91 . -204) (82 . -204)) ((82 + . -200) (91 . -200)) ((82 . 322) (91 . -198)) ((91 . 321)) ((24 . 15) (25 + . 16) (26 . 17) (146 . 116) (123 . 320)) ((-1 . -184)) ((-1 . -35)) ((79 + . 317) (74 . 318) (73 . 319) (-1 . -39)) ((78 . 315) (77 . 316) (-1 . -42) + ) ((72 . 313) (71 . 314) (-1 . -45)) ((70 . 309) (69 . 310) (68 . 311) (67 + . 312) (-1 . -50)) ((66 . 307) (65 . 308) (-1 . -53)) ((80 . 306) (-1 . + -55)) ((-1 . -299)) ((-1 . -298)) ((-1 . -297)) ((-1 . -296)) ((64 . 305) + (-1 . -57)) ((63 . 304) (-1 . -59)) ((7 . 303) (-1 . -3)) ((-1 . -2)) ((-1 + . -1)) ((62 . 302) (-1 . -61)) ((-1 . -32)) ((-1 . -31)) ((-1 . -30)) (( + -1 . -29)) ((89 . 301) (-1 . -28)) ((-1 . -27)) ((164 . 141) (163 . 142) ( + 162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . + 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . + 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) + (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) + (170 . 182) (176 . 295) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 + . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) ( + 23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) ( + 139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) ( + 44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . 296) (147 . 297) (148 . 33) + (168 . 298) (131 . 299) (172 . 300)) ((-1 . -5)) ((60 . 293) (61 . 294) ( + -1 . -63)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 + . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161 + ) (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 + . 170) (174 . 171) (166 . 291) (92 . 292)) ((7 . 148) (2 . 149) (3 . 150) + (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) + (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) + (164 . 290)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) ( + 177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . + 161) (79 . 176) (80 . 163) (92 . 287) (175 . 165) (81 . 167) (165 . 168) ( + 85 . 169) (86 . 170) (174 . 171) (166 . 289)) ((7 . 148) (2 . 149) (3 . + 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 + . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 287) ( + 175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 + . 288)) ((90 . 281) (92 . 282) (88 . 283) (87 . 284) (86 . 285) (85 . 286) + (-1 . -21)) ((48 . 269) (49 . 270) (50 . 271) (51 . 272) (52 . 273) (53 + . 274) (54 . 275) (55 . 276) (56 . 277) (57 . 278) (58 . 279) (152 . 280) + (-1 . -33)) ((-1 . -65)) ((89 . 268)) ((164 . 141) (163 . 142) (162 . 143) + (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . + 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 + . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 + . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 264) (24 . 15 + ) (25 . 16) (26 . 17) (146 . 130) (89 . 265) (43 . 266) (79 . 267)) ((-1 + . -28)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 + . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . + 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157 + ) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . + 164) (175 . 165) (88 . 257) (90 . 258) (154 . 166) (81 . 167) (165 . 168) + (85 . 169) (86 . 170) (174 . 171) (115 . 259) (166 . 172) (153 . 173) (116 + . 260) (84 . 177) (170 . 178) (142 . 261) (117 . 262) (171 . 263)) ((82 + . -234) (83 . -234) (47 . -234)) ((47 . -95) (82 . -95)) ((94 . -288) (-1 + . -288)) ((-1 . -291)) ((-1 . -78)) ((164 . 141) (163 . 142) (162 . 143) ( + 161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . + 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 + . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 + . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . + 182) (176 . 255) (47 . 256)) ((47 . 254)) ((47 . 253)) ((5 . 50) (6 . 51) + (179 . 252)) ((92 . 251)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) + (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . + 151) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (155 . 157) (75 . 158 + ) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 + . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171 + ) (166 . 172) (153 . 173) (5 . 50) (6 . 51) (170 . 182) (1 . 34) (8 . 183) + (9 . 184) (10 . 185) (11 . 186) (12 . 187) (13 . 188) (14 . 189) (15 . + 190) (18 . 191) (47 . 192) (176 . 193) (84 . 106) (19 . 194) (20 . 195) ( + 179 . 196) (108 . 197) (109 . 198) (110 . 199) (111 . 200) (112 . 201) ( + 113 . 202) (114 . 203) (107 . 250)) ((92 . 249)) ((92 . 248)) ((92 . 247)) + ((-1 . -263)) ((47 . 245) (82 . 246)) ((59 . 244)) ((7 . 148) (2 . 149) ( + 3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) ( + 75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . + 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) ( + 166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) ( + 159 . 146) (158 . 147) (157 . 152) (156 . 153) (155 . 157) (154 . 166) ( + 153 . 230) (128 . 243)) ((59 . 242) (-1 . -1)) ((-1 . -252)) ((-1 . -251)) + ((-1 . -250)) ((-1 . -249)) ((-1 . -248)) ((-1 . -247)) ((-1 . -246)) (( + -1 . -261)) ((-1 . -260)) ((-1 . -258)) ((83 . 240) (164 . 141) (163 . 142 + ) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 + . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 . 154) (178 . 155 + ) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 + . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169 + ) (86 . 170) (174 . 171) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 + . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) ( + 166 . 172) (153 . 173) (5 . 50) (6 . 51) (23 . 14) (24 . 15) (25 . 16) (26 + . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) ( + 141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (170 + . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) (12 . 187) (13 + . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) (176 . 193) (84 . 106) + (19 . 194) (20 . 195) (179 . 196) (145 . 30) (146 . 31) (147 . 32) (148 . + 33) (108 . 197) (109 . 198) (110 . 199) (111 . 200) (112 . 201) (113 . 202 + ) (114 . 203) (168 . 108) (107 . 204) (104 . 205) (105 . 241)) ((94 . -257 + ) (-1 . -257)) ((-1 . -123)) ((-1 . -130)) ((-1 . -143)) ((94 . -152) (-1 + . -152)) ((94 . -153) (-1 . -153)) ((83 . 239) (21 . 1) (27 . 2) (28 . 3) + (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) + (36 . 12) (39 . 13) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) ( + 138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (146 . 90) + (147 . 91) (131 . 92) (133 . 212) (94 . 35) (132 . 213)) ((-1 . -146)) ((7 + . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 + . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) + (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 + . 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . + 144) (160 . 145) (159 . 146) (158 . 147) (157 . 152) (156 . 153) (155 . + 157) (154 . 166) (153 . 230) (128 . 238)) ((59 . 237) (47 . -161) (82 . + -161)) ((47 . -159) (82 . -159)) ((47 . 235) (82 . 236)) ((-1 . -155)) (( + -1 . -157)) ((83 . 234) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 + . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) ( + 24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) ( + 40 . 22) (140 . 23) (141 . 24) (41 . 25) (146 . 90) (147 . 91) (131 . 92) + (133 . 212) (94 . 35) (132 . 213)) ((-1 . -166)) ((83 . 232) (5 . 50) (6 + . 51) (179 . 86) (126 . 233)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 + . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) ( + 77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . + 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 . 141) + (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) ( + 157 . 152) (156 . 153) (155 . 157) (154 . 166) (153 . 230) (128 . 231)) (( + 82 . 227) (83 . 228)) ((5 . 50) (6 . 51) (179 . 86) (126 . 233) (83 . 410) + ) ((-1 . -164)) ((-1 . -33)) ((-1 . -80)) ((83 . -172) (82 . -172)) ((-1 + . -167)) ((83 . -170) (82 . -170)) ((-1 . -145)) ((93 . 119) (97 . 120) ( + 149 . 409) (94 . -292) (-1 . -292)) ((5 . 50) (6 . 51) (79 . 52) (92 . 53) + (179 . 54) (124 . 55) (125 . 56) (59 . 216) (143 . 217) (129 . 408)) ((7 + . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . + 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 144 + ) (160 . 145) (159 . 146) (158 . 147) (157 . 152) (156 . 153) (155 . 157) + (154 . 166) (153 . 230) (128 . 407)) ((47 . -163) (82 . -163)) ((-1 . -142 + )) ((94 . -256) (-1 . -256)) ((-1 . -259)) ((164 . 141) (163 . 142) (162 + . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) + (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (155 + . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) ( + 92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . + 170) (174 . 171) (166 . 172) (153 . 173) (5 . 50) (6 . 51) (170 . 182) (1 + . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) (12 . 187) (13 . 188) (14 + . 189) (15 . 190) (18 . 191) (47 . 192) (176 . 193) (84 . 106) (19 . 194) + (20 . 195) (179 . 196) (108 . 197) (109 . 198) (110 . 199) (111 . 200) ( + 112 . 201) (113 . 202) (114 . 203) (107 . 406)) ((59 . 405)) ((164 . 141) + (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 + . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 . 154) + (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . + 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) + (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (5 . 50) (6 . 51 + ) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) (12 . 187 + ) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) (176 . 193) (84 + . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) (109 . 198) (110 . + 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) (107 . 404)) ((-1 . + -262)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 + . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . + 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157 + ) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . + 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) + (174 . 171) (166 . 172) (153 . 173) (170 . 403)) ((164 . 141) (163 . 142) + (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 + . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160 + ) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 + . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . + 173) (170 . 182) (176 . 402)) ((164 . 141) (163 . 142) (162 . 143) (161 . + 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 + . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) ( + 179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . + 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) + (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 182) (176 + . 401)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 + . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . + 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157 + ) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . + 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) + (174 . 171) (166 . 172) (153 . 173) (170 . 182) (176 . 400)) ((14 . 399)) + ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) ( + 158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 + . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (21 . 1) (27 . 2) ( + 28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) ( + 37 . 11) (36 . 12) (39 . 13) (155 . 157) (75 . 158) (76 . 159) (77 . 160) + (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (23 . 14) (24 . 15 + ) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22 + ) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) + (46 . 29) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (145 . 30) (146 . 31) (147 . 32) (148 . 33) (166 . 172) (153 . 173) ( + 168 . 108) (170 . 182) (104 . 395) (47 . 396) (176 . 397) (103 . 398)) (( + 47 . 394)) ((-1 . -276)) ((-1 . -277)) ((47 . 393) (82 . 246)) ((-1 . -279 + )) ((5 . 50) (6 . 51) (179 . 392)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151 + ) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . + 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) ( + 165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 + . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . + 147) (157 . 152) (156 . 153) (155 . 157) (154 . 166) (153 . 230) (128 . + 391)) ((58 . -242) (88 . -242) (90 . -242)) ((58 . 389) (88 . 257) (90 . + 258) (115 . 390)) ((82 . -238) (83 . -238)) ((164 . 141) (163 . 142) (162 + . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) + (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) + (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 + . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) + (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (84 + . 177) (170 . 178) (142 . 388)) ((82 . 386) (83 . 387)) ((89 . 385)) ((-1 + . -182)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) ( + 159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 + . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . + 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 + . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . + 170) (174 . 171) (166 . 172) (153 . 173) (170 . 384)) ((89 . 383) (-1 . + -28)) ((-1 . -183)) ((-1 . -77)) ((-1 . -76)) ((-1 . -75)) ((-1 . -74)) (( + -1 . -73)) ((-1 . -72)) ((-1 . -71)) ((-1 . -70)) ((-1 . -69)) ((-1 . -68) + ) ((-1 . -67)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145 + ) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) + (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 + . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) + (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 + . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 382)) ((164 . 141) (163 + . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . + 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . + 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) + (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 + . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172 + ) (153 . 173) (170 . 182) (176 . 381)) ((91 . 376) (164 . 141) (163 . 142) + (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (21 . 1) (27 . 2) + (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) + (37 . 11) (36 . 12) (39 . 13) (156 . 153) (177 . 154) (178 . 155) (179 . + 156) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . + 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . + 27) (44 . 28) (45 . 58) (46 . 29) (155 . 157) (75 . 158) (76 . 159) (77 . + 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (145 . 30) ( + 146 . 31) (147 . 32) (148 . 33) (154 . 166) (81 . 167) (165 . 168) (85 . + 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (168 . 377) (169 . 378 + ) (170 . 379) (173 . 380)) ((5 . 50) (6 . 51) (179 . 375)) ((5 . 50) (6 . + 51) (179 . 374)) ((-1 . -11)) ((-1 . -12)) ((21 . 1) (27 . 2) (28 . 3) (29 + . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 + . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 + . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 + . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . 296) (147 + . 297) (148 . 33) (168 . 298) (131 . 299) (172 . 373) (164 . 141) (163 . + 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) + (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) ( + 177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 + . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) + (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 + . 173) (170 . 182) (176 . 295)) ((-1 . -22)) ((-1 . -23)) ((-1 . -24)) (( + -1 . -25)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) + (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 + . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 + . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . + 58) (46 . 29) (145 . 30) (146 . 296) (147 . 297) (148 . 33) (168 . 298) ( + 131 . 299) (172 . 372) (164 . 141) (163 . 142) (162 . 143) (161 . 144) ( + 160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) + (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . + 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . + 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 182) (176 . 295 + )) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146 + ) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) ( + 157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 + . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) + (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 + . 171) (166 . 172) (153 . 173) (170 . 182) (176 . 371)) ((7 . 148) (2 . + 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . + 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) ( + 175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . + 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . + 145) (159 . 146) (158 . 147) (157 . 152) (156 . 153) (155 . 370)) ((91 . + 369) (82 . 246)) ((23 . 14) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . + 29) (145 . 30) (148 . 33) (168 . 61) (21 . 1) (27 . 2) (28 . 3) (29 . 4) ( + 30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) + (39 . 13) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) ( + 139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (146 . 296) (147 . 297 + ) (131 . 221) (91 . -88) (79 . -158) (90 . -158) (92 . -158)) ((23 . 14) ( + 42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (148 . 33) ( + 168 . 60) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) ( + 33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (24 . 15) (25 . + 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 + . 23) (141 . 24) (41 . 25) (146 . 296) (147 . 297) (131 . 220) (91 . -86) + (79 . -156) (90 . -156) (92 . -156)) ((91 . -208)) ((90 . 324) (92 . 366) + (79 . 52) (118 . 326) (125 . 367) (167 . 368)) ((91 . 365)) ((-1 . -188)) + ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) ( + 178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . + 176) (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) ( + 174 . 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 + . 144) (160 . 145) (159 . 146) (158 . 147) (157 . 152) (156 . 364)) ((-1 + . -300)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 + . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 + . 170) (174 . 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . + 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (157 . 363)) ((7 . + 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . + 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 144 + ) (160 . 145) (159 . 146) (158 . 362)) ((7 . 148) (2 . 149) (3 . 150) (4 + . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) ( + 76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) + (164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 361)) ( + (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 + . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) + (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 + . 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . + 144) (160 . 360)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . + 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) ( + 78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . + 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) + (162 . 143) (161 . 144) (160 . 359)) ((7 . 148) (2 . 149) (3 . 150) (4 . + 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 + . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) + (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 + . 141) (163 . 142) (162 . 143) (161 . 358)) ((7 . 148) (2 . 149) (3 . 150) + (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158 + ) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 + . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229 + ) (164 . 141) (163 . 142) (162 . 143) (161 . 357)) ((7 . 148) (2 . 149) (3 + . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) ( + 75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . + 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) ( + 166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 356)) ((7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 + . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) ( + 175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . + 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 355)) ((7 . + 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . + 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 354)) ((7 . 148 + ) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) + (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . + 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) + (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 353)) ((7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 + . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) ( + 175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . + 164) (166 . 229) (164 . 141) (163 . 352)) ((7 . 148) (2 . 149) (3 . 150) ( + 4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) + (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) + (164 . 141) (163 . 351)) ((7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) + (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) (77 . + 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . 168) ( + 85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 . 350)) ((7 + . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . + 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (92 . 164) (166 . 229) (164 . 349)) ((7 . 148) (2 . 149) (3 . 150) (4 + . 151) (5 . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) ( + 76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) + (164 . 348)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) + (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) ( + 6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 + . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) ( + 92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . + 170) (174 . 171) (166 . 172) (153 . 173) (170 . 347) (24 . 15) (25 . 16) ( + 26 . 17) (146 . 130)) ((-1 . -189)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4) ( + 30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) + (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) ( + 138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) ( + 43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . 31) (147 . 32) ( + 148 . 33) (168 . 135) (119 . 345) (22 . 346)) ((91 . -202) (82 . -202)) (( + 164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) ( + 158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 + . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . + 158) (76 . 159) (77 . 160) (78 . 161) (80 . 163) (92 . 164) (175 . 165) ( + 154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 + . 172) (153 . 173) (170 . 340) (89 . 341) (43 . 342) (24 . 15) (25 . 16) ( + 26 . 17) (146 . 116) (123 . 343) (79 . 344)) ((90 . 324) (118 . 326) (167 + . 337) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 + . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) + (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) + (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) ( + 46 . 29) (145 . 30) (146 . 31) (147 . 32) (148 . 33) (168 . 135) (119 . + 136) (120 . 137) (122 . 338) (91 . 339) (5 . 50) (6 . 51) (79 . 52) (92 . + 325) (179 . 54) (124 . 55) (125 . 327) (143 . 115)) ((90 . 335) (92 . 336) + (91 . -211) (82 . -211)) ((90 . 324) (118 . 334) (5 . 50) (6 . 51) (92 . + 325) (179 . 54) (124 . 112) (91 . -209) (82 . -209)) ((91 . -203) (82 . + -203)) ((-1 . -190)) ((5 . 50) (6 . 51) (179 . 333)) ((94 . -81) (-1 . -81 + )) ((94 . -287) (-1 . -287)) ((91 . -206) (82 . -206)) ((90 . 335) (92 . + 336) (91 . -210) (82 . -210)) ((43 . 444) (89 . 445) (164 . 141) (163 . + 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) + (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) ( + 177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 + . 160) (78 . 161) (79 . 446) (80 . 163) (92 . 164) (175 . 165) (154 . 166) + (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 + . 173) (170 . 447) (24 . 15) (25 . 16) (26 . 17) (146 . 116) (123 . 448)) + ((91 . 442) (21 . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7 + ) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 + . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 + . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . + 58) (46 . 29) (145 . 30) (146 . 31) (147 . 32) (148 . 33) (168 . 135) (119 + . 136) (120 . 137) (122 . 443)) ((91 . 441)) ((91 . 440)) ((-1 . -232)) ( + (89 . 439)) ((-1 . -223)) ((24 . 15) (25 . 16) (26 . 17) (146 . 116) (123 + . 438)) ((43 . 435) (24 . 15) (25 . 16) (26 . 17) (146 . 130) (89 . 436) ( + 164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) ( + 158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 + . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . + 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) ( + 175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 + . 171) (166 . 172) (153 . 173) (170 . 437)) ((89 . 434) (-1 . -28)) ((82 + . -201) (91 . -201)) ((91 . -199)) ((89 . 433)) ((-1 . -38)) ((-1 . -37)) + ((-1 . -36)) ((79 . 317) (74 . 318) (73 . 319) (-1 . -41)) ((79 . 317) (74 + . 318) (73 . 319) (-1 . -40)) ((78 . 315) (77 . 316) (-1 . -44)) ((78 . + 315) (77 . 316) (-1 . -43)) ((72 . 313) (71 . 314) (-1 . -49)) ((72 . 313) + (71 . 314) (-1 . -48)) ((72 . 313) (71 . 314) (-1 . -47)) ((72 . 313) (71 + . 314) (-1 . -46)) ((70 . 309) (69 . 310) (68 . 311) (67 . 312) (-1 . -52 + )) ((70 . 309) (69 . 310) (68 . 311) (67 . 312) (-1 . -51)) ((66 . 307) ( + 65 . 308) (-1 . -54)) ((80 . 306) (-1 . -56)) ((64 . 305) (-1 . -58)) ((63 + . 304) (-1 . -60)) ((84 . 431) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 + . 50) (6 . 51) (177 . 154) (178 . 155) (179 . 156) (75 . 158) (76 . 159) + (77 . 160) (78 . 161) (79 . 176) (80 . 163) (175 . 165) (81 . 167) (165 . + 168) (85 . 169) (86 . 170) (174 . 171) (92 . 164) (166 . 229) (164 . 432)) + ((90 . 324) (92 . 366) (79 . 52) (118 . 326) (125 . 367) (167 . 337) (21 + . 1) (27 . 2) (28 . 3) (29 . 4) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . + 9) (35 . 10) (37 . 11) (36 . 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) ( + 26 . 17) (136 . 18) (137 . 19) (138 . 20) (139 . 21) (40 . 22) (140 . 23) + (141 . 24) (41 . 25) (42 . 26) (43 . 27) (44 . 28) (45 . 58) (46 . 29) ( + 145 . 30) (146 . 31) (147 . 32) (148 . 33) (168 . 135) (119 . 136) (120 . + 137) (122 . 338) (91 . 339)) ((90 . 324) (92 . 366) (118 . 334) (91 . -209 + ) (82 . -209)) ((91 . -207)) ((-1 . -4)) ((62 . 302) (-1 . -62)) ((59 . + 430) (82 . 246)) ((91 . 429)) ((91 . 428)) ((-1 . -10)) ((-1 . -9)) ((-1 + . -8)) ((90 . 324) (92 . 366) (79 . 52) (118 . 326) (125 . 367) (167 . 427 + ) (91 . -20) (82 . -20)) ((91 . -17) (82 . -17)) ((91 . -15) (82 . -15)) ( + (91 . 425) (82 . 426)) ((89 . 424) (82 . 246)) ((-1 . -66)) ((-1 . -187)) + ((89 . 423)) ((-1 . -181)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144 + ) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . + 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) ( + 179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . + 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) + (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (84 . 177) (170 + . 178) (142 . 420) (88 . 257) (90 . 258) (115 . 259) (116 . 260) (117 . + 421) (83 . 422)) ((82 . -235) (83 . -235) (47 . -235)) ((82 . -237) (83 . + -237)) ((-1 . -241)) ((58 . -243) (88 . -243) (90 . -243)) ((89 . 419)) (( + 58 . -245) (90 . -245) (88 . -245)) ((-1 . -278)) ((-1 . -275)) ((-1 . + -272)) ((-1 . -271)) ((47 . 418) (82 . 246)) ((164 . 141) (163 . 142) (162 + . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149 + ) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154 + ) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 + . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167 + ) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) ( + 170 . 182) (176 . 416) (102 . 417) (47 . -273)) ((92 . 415)) ((91 . 414) ( + 82 . 246)) ((91 . 413) (82 . 246)) ((82 . 246) (91 . 412)) ((-1 . -79)) (( + -1 . -255)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) ( + 159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) + (156 . 153) (177 . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 + . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166 + ) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) ( + 153 . 173) (5 . 50) (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 + . 185) (11 . 186) (12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) ( + 47 . 192) (176 . 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . + 197) (109 . 198) (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . + 203) (107 . 411)) ((-1 . -253)) ((47 . -162) (82 . -162)) ((47 . -160) (82 + . -160)) ((94 . -154) (-1 . -154)) ((-1 . -165)) ((-1 . -254)) ((164 . + 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . + 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 + . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 + . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (5 . 50) + (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) ( + 12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) (176 . + 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) (109 . 198) + (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) (107 . 469)) ( + (164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) ( + 158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) + (177 . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 + . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) + (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (5 + . 50) (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . + 186) (12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) ( + 176 . 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) (109 + . 198) (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) (107 . + 468)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . + 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 + . 153) (177 . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160 + ) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 + . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . + 173) (5 . 50) (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) + (11 . 186) (12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . + 192) (176 . 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) + (109 . 198) (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) ( + 107 . 467)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) ( + 159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 + . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . + 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 + . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . + 170) (174 . 171) (166 . 172) (153 . 173) (170 . 182) (176 . 466)) ((82 . + 246) (47 . -274) (91 . -274)) ((47 . 465)) ((-1 . -270)) ((58 . -244) (90 + . -244) (88 . -244)) ((82 . -240) (83 . -240)) ((164 . 141) (163 . 142) ( + 162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . + 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . + 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) + (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) + (84 . 177) (170 . 178) (142 . 464)) ((82 . -236) (83 . -236) (47 . -236)) + ((-1 . -186)) ((-1 . -6)) ((-1 . -7)) ((21 . 1) (27 . 2) (28 . 3) (29 . 4 + ) (30 . 5) (31 . 6) (32 . 7) (33 . 8) (34 . 9) (35 . 10) (37 . 11) (36 . + 12) (39 . 13) (23 . 14) (24 . 15) (25 . 16) (26 . 17) (136 . 18) (137 . 19 + ) (138 . 20) (139 . 21) (40 . 22) (140 . 23) (141 . 24) (41 . 25) (42 . 26 + ) (43 . 27) (44 . 28) (45 . 58) (46 . 29) (145 . 30) (146 . 31) (147 . 32) + (148 . 33) (168 . 377) (169 . 462) (164 . 141) (163 . 142) (162 . 143) ( + 161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . + 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 + . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 + . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . + 463)) ((91 . -19) (82 . -19)) ((84 . 431)) ((84 . 431) (-1 . -26)) ((7 . + 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (177 . 154) (178 . + 155) (179 . 156) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) ( + 80 . 163) (175 . 165) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . + 171) (92 . 164) (166 . 229) (164 . 141) (163 . 142) (162 . 143) (161 . 144 + ) (160 . 145) (159 . 146) (158 . 147) (157 . 152) (156 . 153) (155 . 157) + (154 . 166) (153 . 461)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) + (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151 + ) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 + . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) + (80 . 163) (92 . 164) (175 . 165) (88 . 257) (90 . 258) (154 . 166) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (115 . 259) (166 . 172) + (153 . 173) (116 . 260) (84 . 177) (170 . 178) (142 . 261) (117 . 262) ( + 171 . 460)) ((-1 . -34)) ((-1 . -185)) ((-1 . -228)) ((164 . 141) (163 . + 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) + (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) ( + 177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 + . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) + (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 + . 173) (170 . 459)) ((-1 . -221)) ((89 . 458)) ((164 . 141) (163 . 142) ( + 162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 . + 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 . + 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160) + (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . + 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) + (170 . 456) (24 . 15) (25 . 16) (26 . 17) (146 . 130) (89 . 457)) ((-1 . + -222)) ((-1 . -231)) ((-1 . -212)) ((-1 . -230)) ((91 . 455)) ((24 . 15) ( + 25 . 16) (26 . 17) (146 . 116) (123 . 454)) ((-1 . -216)) ((89 . 453) (-1 + . -28)) ((89 . 452)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 + . 145) (159 . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 + . 50) (6 . 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156 + ) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 + . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169 + ) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (170 . 449) (24 . 15) (25 + . 16) (26 . 17) (146 . 130) (89 . 450) (43 . 451)) ((89 . 480)) ((-1 . + -214)) ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 + . 146) (158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . + 51) (157 . 152) (156 . 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157 + ) (75 . 158) (76 . 159) (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . + 164) (175 . 165) (154 . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) + (174 . 171) (166 . 172) (153 . 173) (170 . 479)) ((-1 . -215)) ((-1 . -227 + )) ((89 . 477) (24 . 15) (25 . 16) (26 . 17) (146 . 130) (164 . 141) (163 + . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . + 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . + 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) + (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 + . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172 + ) (153 . 173) (170 . 478)) ((-1 . -229)) ((89 . 476)) ((-1 . -225)) ((-1 + . -220)) ((89 . 475)) ((83 . 473) (82 . 474)) ((-1 . -64)) ((91 . -18) (82 + . -18)) ((91 . -16) (82 . -16)) ((82 . -239) (83 . -239)) ((164 . 141) ( + 163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 + . 148) (2 . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . + 153) (177 . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) + (77 . 160) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 + . 166) (81 . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172 + ) (153 . 173) (170 . 182) (176 . 416) (102 . 472) (91 . -273)) ((91 . 471) + (82 . 246)) ((-1 . -267)) ((-1 . -266)) ((16 . 470) (-1 . -264)) ((164 . + 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . + 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) (177 + . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 . 161) + (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) (165 + . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (5 . 50) + (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . 186) ( + 12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) (176 . + 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) (109 . 198) + (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) (107 . 486)) ( + (47 . 485)) ((91 . 484)) ((-1 . -13)) ((83 . 483) (164 . 141) (163 . 142) + (162 . 143) (161 . 144) (160 . 145) (159 . 146) (158 . 147) (7 . 148) (2 + . 149) (3 . 150) (4 . 151) (5 . 50) (6 . 51) (157 . 152) (156 . 153) (177 + . 154) (178 . 155) (179 . 156) (155 . 157) (75 . 158) (76 . 159) (77 . 160 + ) (78 . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 + . 167) (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . + 173) (84 . 177) (170 . 178) (142 . 420) (88 . 257) (90 . 258) (115 . 259) + (116 . 260) (117 . 421)) ((-1 . -226)) ((-1 . -224)) ((-1 . -218)) ((89 . + 482)) ((89 . 481)) ((-1 . -213)) ((-1 . -219)) ((-1 . -217)) ((-1 . -14)) + ((164 . 141) (163 . 142) (162 . 143) (161 . 144) (160 . 145) (159 . 146) ( + 158 . 147) (7 . 148) (2 . 149) (3 . 150) (4 . 151) (157 . 152) (156 . 153) + (177 . 154) (178 . 155) (155 . 157) (75 . 158) (76 . 159) (77 . 160) (78 + . 161) (79 . 176) (80 . 163) (92 . 164) (175 . 165) (154 . 166) (81 . 167) + (165 . 168) (85 . 169) (86 . 170) (174 . 171) (166 . 172) (153 . 173) (5 + . 50) (6 . 51) (170 . 182) (1 . 34) (8 . 183) (9 . 184) (10 . 185) (11 . + 186) (12 . 187) (13 . 188) (14 . 189) (15 . 190) (18 . 191) (47 . 192) ( + 176 . 193) (84 . 106) (19 . 194) (20 . 195) (179 . 196) (108 . 197) (109 + . 198) (110 . 199) (111 . 200) (112 . 201) (113 . 202) (114 . 203) (107 . + 487)) ((-1 . -268)) ((-1 . -265)) ((-1 . -269)))) (define rto-v - #(#f 435 429 429 429 429 428 428 428 428 428 428 428 428 428 428 427 427 - 427 427 423 423 420 420 420 420 420 420 419 419 419 419 419 419 418 418 - 417 417 417 417 416 416 416 415 415 415 414 414 414 414 414 413 413 413 - 412 412 411 411 410 410 409 409 408 408 407 407 424 424 406 406 406 406 - 406 406 406 406 406 406 406 430 430 382 356 356 404 422 422 422 422 422 - 422 422 422 405 405 398 398 402 402 402 402 402 401 401 401 401 401 401 - 401 401 395 395 395 395 395 395 395 395 395 395 395 395 395 395 395 395 - 395 395 395 395 395 395 395 395 395 395 394 394 394 393 393 393 393 392 - 392 392 392 392 392 389 389 388 388 388 388 387 385 385 385 385 384 384 - 383 383 383 391 391 391 391 391 381 381 380 380 400 400 400 399 397 397 - 378 378 378 378 378 378 378 378 378 378 378 378 378 379 379 379 379 377 - 377 376 376 374 374 373 373 373 375 375 426 426 421 421 421 372 372 372 - 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 - 390 396 396 396 425 425 425 425 371 370 370 369 369 359 368 367 367 367 - 367 367 367 367 366 366 366 365 365 358 358 357 357 364 364 363 363 363 - 362 362 362 355 355 355 354 354 361 361 361 361 361 434 434 353 352 351 - 351 351 351 351 350 350 349 349 403 403 433 433 432 432 432 431 431 348 - 386 360)) + #(#f 175 175 175 175 174 174 174 174 174 174 174 174 174 174 173 173 173 + 173 169 169 166 166 166 166 166 166 165 165 165 165 165 165 164 164 163 + 163 163 163 162 162 162 161 161 161 160 160 160 160 160 159 159 159 158 + 158 157 157 156 156 155 155 154 154 153 153 170 170 152 152 152 152 152 + 152 152 152 152 152 152 176 176 128 104 104 150 168 168 168 168 168 168 + 168 168 151 151 144 144 148 148 148 148 148 147 147 147 147 147 147 147 + 147 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 141 + 141 141 141 141 141 141 141 141 141 140 140 140 139 139 139 139 138 138 + 138 138 138 138 135 135 134 134 134 134 133 131 131 131 131 130 130 129 + 129 129 137 137 137 137 137 127 127 126 126 146 146 146 145 143 143 124 + 124 124 124 124 124 124 124 124 124 124 124 124 125 125 125 125 123 123 + 122 122 120 120 119 119 119 121 121 172 172 167 167 167 118 118 118 118 + 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 118 136 + 142 142 142 171 171 171 171 117 116 116 115 115 107 107 107 107 107 107 + 107 114 114 114 113 113 106 106 105 105 112 112 111 111 111 110 110 110 + 103 103 103 102 102 109 109 109 109 109 180 101 101 100 100 100 100 100 99 + 99 98 98 149 149 179 179 178 178 178 177 177 97 132 108)) (define mtab '((cpp-stmt . 1) ($chlit . 2) ($float . 3) ($fixed . 4) (cpp-ident . 5) ( - $ident . 6) ("}" . 7) ("{" . 8) ($string . 9) ("extern" . 10) (";" . 11) ( - "return" . 12) (";" . 11) ("return" . 12) (";" . 11) ("break" . 16) (";" - . 11) ("continue" . 18) (";" . 11) ("goto" . 20) (";" . 11) (";" . 11) ( - ")" . 23) (";" . 11) ("(" . 25) ("for" . 26) (";" . 11) (")" . 23) ("(" . - 25) ("while" . 30) ("do" . 31) (")" . 23) ("(" . 25) ("while" . 30) (")" - . 23) ("(" . 25) ("switch" . 37) ("else" . 38) (")" . 23) ("(" . 25) ("if" - . 41) (then . 42) (")" . 23) ("(" . 25) ("if" . 41) (";" . 11) (";" . 11) - ("}" . 7) ("{" . 8) ("}" . 7) ("{" . 8) (":" . 52) ("default" . 53) (":" - . 52) ("case" . 55) (":" . 52) ("." . 57) ("]" . 58) ("[" . 59) ("=" . 60) - ("," . 61) ("," . 61) ("}" . 7) ("," . 61) ("{" . 8) ("}" . 7) ("{" . 8) - (typename . 68) (")" . 23) ("(" . 25) (")" . 23) ("(" . 25) (")" . 23) ( - "(" . 25) (")" . 23) ("(" . 25) ("]" . 58) ("*" . 78) ("[" . 59) ("]" . 58 - ) ("*" . 78) ("[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ( - "static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) - ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . - 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) ("[" - . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . - 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) (")" . 23) ("(" - . 25) ("," . 61) ("," . 61) ("..." . 121) ("," . 61) ("*" . 78) ("*" . 78 - ) ("*" . 78) ("*" . 78) (")" . 23) ("(" . 25) (")" . 23) ("(" . 25) (")" - . 23) ("(" . 25) ("]" . 58) ("*" . 78) ("[" . 59) ("]" . 58) ("*" . 78) ( - "[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) - ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . - 59) ("]" . 58) ("[" . 59) (")" . 23) ("(" . 25) ("inline" . 155) ( - "restrict" . 156) ("volatile" . 157) ("const" . 158) ("=" . 60) ("," . 61) - ("enum" . 161) ("}" . 7) ("," . 61) ("{" . 8) ("enum" . 161) ("}" . 7) ( - "{" . 8) ("enum" . 161) ("}" . 7) ("," . 61) ("{" . 8) ("enum" . 161) ("}" - . 7) ("{" . 8) ("enum" . 161) (":" . 52) (":" . 52) ("," . 61) (";" . 11) - ("union" . 180) ("}" . 7) ("{" . 8) ("union" . 180) ("}" . 7) ("{" . 8) ( - "union" . 180) ("struct" . 187) ("}" . 7) ("{" . 8) ("struct" . 187) ("}" - . 7) ("{" . 8) ("struct" . 187) ("_Complex" . 194) ("double" . 195) ( - "long" . 196) ("_Complex" . 194) ("double" . 195) ("_Complex" . 194) ( - "float" . 200) ("_Complex" . 194) ("double" . 195) ("long" . 196) ( - "double" . 195) ("float" . 200) ("char" . 206) ("unsigned" . 207) ("char" - . 206) ("signed" . 209) ("char" . 206) ("long" . 196) ("long" . 196) ( - "unsigned" . 207) ("int" . 214) ("long" . 196) ("long" . 196) ("unsigned" - . 207) ("long" . 196) ("unsigned" . 207) ("int" . 214) ("long" . 196) ( - "unsigned" . 207) ("unsigned" . 207) ("int" . 214) ("unsigned" . 207) ( - "short" . 226) ("unsigned" . 207) ("int" . 214) ("short" . 226) ( - "unsigned" . 207) ("int" . 214) ("long" . 196) ("long" . 196) ("signed" . - 209) ("long" . 196) ("long" . 196) ("signed" . 209) ("int" . 214) ("long" - . 196) ("long" . 196) ("long" . 196) ("long" . 196) ("int" . 214) ("long" - . 196) ("signed" . 209) ("long" . 196) ("signed" . 209) ("int" . 214) ( - "long" . 196) ("long" . 196) ("int" . 214) ("signed" . 209) ("signed" . - 209) ("int" . 214) ("int" . 214) ("short" . 226) ("signed" . 209) ("short" - . 226) ("signed" . 209) ("int" . 214) ("short" . 226) (imp . 262) ( - "short" . 226) ("_Bool" . 264) ("void" . 265) ("typedef" . 266) ("static" - . 84) ("register" . 268) ("extern" . 10) ("auto" . 270) ("=" . 60) ("," . - 61) (";" . 11) (";" . 11) ("," . 61) ("|=" . 276) ("^=" . 277) ("&=" . 278 - ) (">>=" . 279) ("<<=" . 280) ("%=" . 281) ("/=" . 282) ("*=" . 283) ("-=" - . 284) ("+=" . 285) ("=" . 60) (":" . 52) ("?" . 288) ("||" . 289) ("&&" - . 290) ("|" . 291) ("^" . 292) ("&" . 293) ("!=" . 294) ("==" . 295) (">=" - . 296) ("<=" . 297) (">" . 298) ("<" . 299) (">>" . 300) ("<<" . 301) ( - "-" . 302) ("+" . 303) ("%" . 304) ("/" . 305) ("*" . 78) (")" . 23) ("(" - . 25) ("!" . 309) ("~" . 310) ("-" . 302) ("+" . 303) ("*" . 78) ("&" . - 293) (")" . 23) ("(" . 25) ("sizeof" . 317) ("sizeof" . 317) ("--" . 319) - ("++" . 320) ("," . 61) ("," . 61) ("}" . 7) ("," . 61) ("{" . 8) (")" . - 23) ("(" . 25) ("}" . 7) ("{" . 8) (")" . 23) ("(" . 25) ("--" . 319) ( - "++" . 320) ("->" . 334) ("." . 57) (")" . 23) ("(" . 25) (")" . 23) ("(" - . 25) ("]" . 58) ("[" . 59) (")" . 23) ("(" . 25) ($code-comm . 344) ( - $lone-comm . 345) ($error . 346) ($end . 347))) + $ident . 6) ($string . 7) ("return" . 8) ("break" . 9) ("continue" . 10) ( + "goto" . 11) ("for" . 12) ("do" . 13) ("while" . 14) ("switch" . 15) ( + "else" . 16) (then . 17) ("if" . 18) ("default" . 19) ("case" . 20) ( + typename . 21) ("..." . 22) ("inline" . 23) ("restrict" . 24) ("volatile" + . 25) ("const" . 26) ("enum" . 27) ("union" . 28) ("struct" . 29) ( + "_Complex" . 30) ("double" . 31) ("float" . 32) ("char" . 33) ("unsigned" + . 34) ("long" . 35) ("signed" . 36) ("int" . 37) (imp . 38) ("short" . 39) + ("_Bool" . 40) ("void" . 41) ("typedef" . 42) ("static" . 43) ("register" + . 44) ("extern" . 45) ("auto" . 46) (";" . 47) ("|=" . 48) ("^=" . 49) ( + "&=" . 50) (">>=" . 51) ("<<=" . 52) ("%=" . 53) ("/=" . 54) ("*=" . 55) ( + "-=" . 56) ("+=" . 57) ("=" . 58) (":" . 59) ("?" . 60) ("||" . 61) ("&&" + . 62) ("|" . 63) ("^" . 64) ("!=" . 65) ("==" . 66) (">=" . 67) ("<=" . 68 + ) (">" . 69) ("<" . 70) (">>" . 71) ("<<" . 72) ("%" . 73) ("/" . 74) ("!" + . 75) ("~" . 76) ("-" . 77) ("+" . 78) ("*" . 79) ("&" . 80) ("sizeof" . + 81) ("," . 82) ("}" . 83) ("{" . 84) ("--" . 85) ("++" . 86) ("->" . 87) ( + "." . 88) ("]" . 89) ("[" . 90) (")" . 91) ("(" . 92) ($code-comm . 93) ( + $lone-comm . 94) ($error . 95) ($end . 96))) ;;; end tables diff --git a/module/nyacc/lang/c99/mach.d/c99xact.scm b/module/nyacc/lang/c99/mach.d/c99xact.scm index 84458dbe..5aa879a0 100644 --- a/module/nyacc/lang/c99/mach.d/c99xact.scm +++ b/module/nyacc/lang/c99/mach.d/c99xact.scm @@ -1,10 +1,10 @@ -;; ./mach.d/c99xact.scm +;; ../../../../module/nyacc/lang/c99/mach.d/c99xact.scm -;; Copyright 2016,2017 Matthew R. Wette +;; Copyright (C) 2015,2016 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, -;; or any later version published by the Free Software Foundation. See -;; the file COPYING included with the this distribution. +;; or any later version published by the Free Software Foundation. See the +;; file COPYING included with the this distribution. (define act-v (vector @@ -399,10 +399,10 @@ ;; struct-declarator => ":" constant-expression (lambda ($2 $1 . $rest) `(comp-declr (bit-field ,$2))) - ;; enum-specifier => "enum" ident-like "{" enumerator-list "}" + ;; enum-specifier => "enum" identifier "{" enumerator-list "}" (lambda ($5 $4 $3 $2 $1 . $rest) `(enum-def ,$2 ,(tl->list $4))) - ;; enum-specifier => "enum" ident-like "{" enumerator-list "," "}" + ;; enum-specifier => "enum" identifier "{" enumerator-list "," "}" (lambda ($6 $5 $4 $3 $2 $1 . $rest) `(enum-def ,$2 ,(tl->list $4))) ;; enum-specifier => "enum" "{" enumerator-list "}" @@ -411,7 +411,7 @@ ;; enum-specifier => "enum" "{" enumerator-list "," "}" (lambda ($5 $4 $3 $2 $1 . $rest) `(enum-def ,(tl->list $3))) - ;; enum-specifier => "enum" ident-like + ;; enum-specifier => "enum" identifier (lambda ($2 $1 . $rest) `(enum-ref ,$2)) ;; enumerator-list => enumerator (lambda ($1 . $rest) (make-tl 'enum-def-list $1)) @@ -622,23 +622,19 @@ (lambda ($3 $2 $1 . $rest) (list 'array-dsgr $2)) ;; designator => "." identifier (lambda ($2 $1 . $rest) (list 'sel-dsgr $2)) - ;; statement => $P2 statement-1 - (lambda ($2 $1 . $rest) $2) - ;; $P2 => - (lambda $rest (cpp-ok!)) - ;; statement-1 => labeled-statement + ;; statement => labeled-statement (lambda ($1 . $rest) $1) - ;; statement-1 => compound-statement + ;; statement => compound-statement (lambda ($1 . $rest) $1) - ;; statement-1 => expression-statement + ;; statement => expression-statement (lambda ($1 . $rest) $1) - ;; statement-1 => selection-statement + ;; statement => selection-statement (lambda ($1 . $rest) $1) - ;; statement-1 => iteration-statement + ;; statement => iteration-statement (lambda ($1 . $rest) $1) - ;; statement-1 => jump-statement + ;; statement => jump-statement (lambda ($1 . $rest) $1) - ;; statement-1 => cpp-statement + ;; statement => cpp-statement (lambda ($1 . $rest) $1) ;; labeled-statement => identifier ":" statement (lambda ($3 $2 $1 . $rest) @@ -707,28 +703,22 @@ (lambda ($1 . $rest) (make-tl 'trans-unit $1)) ;; translation-unit => translation-unit external-declaration (lambda ($2 $1 . $rest) - (if (eqv? (sx-tag $2) 'extern-block) - (tl-extend $1 (sx-tail $2)) - (tl-append $1 $2))) - ;; external-declaration => $P3 external-declaration-1 - (lambda ($2 $1 . $rest) $2) - ;; $P3 => - (lambda $rest (cpp-ok!)) - ;; external-declaration-1 => function-definition + (cond ((eqv? 'trans-unit (car $2)) + (let* ((t1 (tl-append $1 '(extern-C-begin))) + (t2 (tl-extend t1 (cdr $2))) + (t3 (tl-append t2 '(extern-C-end)))) + t3)) + (else (tl-append $1 $2)))) + ;; external-declaration => function-definition (lambda ($1 . $rest) $1) - ;; external-declaration-1 => declaration + ;; external-declaration => declaration (lambda ($1 . $rest) $1) - ;; external-declaration-1 => lone-comment + ;; external-declaration => lone-comment (lambda ($1 . $rest) $1) - ;; external-declaration-1 => cpp-statement + ;; external-declaration => cpp-statement (lambda ($1 . $rest) $1) - ;; external-declaration-1 => "extern" '$string "{" translation-unit "}" - (lambda ($5 $4 $3 $2 $1 . $rest) - `(extern-block - $2 - (extern-C-begin) - $4 - (extern-C-end))) + ;; external-declaration => "extern" '$string "{" translation-unit "}" + (lambda ($5 $4 $3 $2 $1 . $rest) (tl->list $4)) ;; function-definition => declaration-specifiers declarator declaration-... (lambda ($4 $3 $2 $1 . $rest) `(knr-fctn-defn diff --git a/module/nyacc/lang/c99/mach.d/c99xtab.scm b/module/nyacc/lang/c99/mach.d/c99xtab.scm index 53bd07df..35b690e1 100644 --- a/module/nyacc/lang/c99/mach.d/c99xtab.scm +++ b/module/nyacc/lang/c99/mach.d/c99xtab.scm @@ -1,10 +1,10 @@ -;; ./mach.d/c99xtab.scm +;; ../../../../module/nyacc/lang/c99/mach.d/c99xtab.scm -;; Copyright 2016,2017 Matthew R. Wette +;; Copyright (C) 2015,2016 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, -;; or any later version published by the Free Software Foundation. See -;; the file COPYING included with the this distribution. +;; or any later version published by the Free Software Foundation. See the +;; file COPYING included with the this distribution. (define len-v #(1 1 1 1 1 3 1 4 4 3 3 3 2 2 6 7 1 3 1 3 2 1 1 2 2 2 2 4 1 1 1 1 1 1 1 4 @@ -13,607 +13,547 @@ 1 2 2 3 1 1 2 1 2 2 3 2 3 3 4 3 2 2 1 3 2 4 3 1 2 2 1 1 2 1 2 2 3 5 4 2 5 4 2 1 1 1 1 2 2 4 2 1 2 1 1 3 1 3 2 5 6 4 5 2 1 3 1 3 1 1 1 1 2 1 1 3 5 4 4 3 6 6 5 4 4 4 3 2 1 3 2 1 2 1 3 1 3 2 2 1 1 3 2 1 1 2 1 3 5 4 4 3 6 5 6 - 4 3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 2 0 1 1 1 1 1 1 1 3 4 - 3 3 2 1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 2 2 0 1 1 1 1 5 4 3 1 - 2 0 1 1 1 1 1 1 1 2 1 1 1)) + 4 3 3 2 5 4 5 4 3 4 3 3 2 1 1 3 4 2 1 4 3 2 1 2 3 2 1 1 1 1 1 1 1 3 4 3 3 + 2 1 2 1 1 2 1 5 7 5 5 7 8 2 1 1 0 1 3 2 2 3 2 1 2 1 1 1 1 5 4 3 1 2 0 1 1 + 1 1 1 1 1 2 1 1 1)) (define pat-v - #(((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) ( - 9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) ( - 431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22 - ) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . - 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 - . 36) (430 . 37)) ((-1 . -36)) ((78 . 119) (305 . 120) (304 . 121) (-1 . - -40)) ((303 . 117) (302 . 118) (-1 . -43)) ((301 . 115) (300 . 116) (-1 . - -46)) ((299 . 111) (298 . 112) (297 . 113) (296 . 114) (-1 . -51)) ((295 - . 109) (294 . 110) (-1 . -54)) ((293 . 108) (-1 . -56)) ((-1 . -303)) ((-1 - . -302)) ((-1 . -301)) ((-1 . -300)) ((-1 . -299)) ((-1 . -298)) ((292 . - 107) (-1 . -58)) ((291 . 106) (-1 . -60)) ((9 . 105) (-1 . -4)) ((-1 . -3) - ) ((-1 . -2)) ((290 . 104) (-1 . -62)) ((-1 . -33)) ((-1 . -32)) ((-1 . - -31)) ((-1 . -30)) ((-1 . -29)) ((-1 . -28)) ((418 . 1) (417 . 2) (416 . 3 - ) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11 - ) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) - (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . - 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 - . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 36) (430 . 66) (68 . 67) ( - 161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74 - ) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80) (156 - . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) ( - 264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) - (10 . 95) (270 . 96) (399 . 97) (400 . 98) (401 . 99) (402 . 100) (422 . - 101) (385 . 102) (426 . 103)) ((-1 . -6)) ((288 . 64) (289 . 65) (-1 . -64 - )) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . - 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 - . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) ( - 420 . 62) (25 . 63)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) - (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . - 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 - . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 61)) ((9 . 8) (2 . 9) (3 . 10 - ) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) ( - 310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 57) (429 . 27) - (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 59)) ((9 . 8 - ) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 - . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 - . 57) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) ( - 420 . 58)) ((59 . 51) (25 . 52) (57 . 53) (334 . 54) (320 . 55) (319 . 56) - (-1 . -22)) ((276 . 39) (277 . 40) (278 . 41) (279 . 42) (280 . 43) (281 - . 44) (282 . 45) (283 . 46) (284 . 47) (285 . 48) (60 . 49) (406 . 50) (-1 - . -34)) ((-1 . -66)) ((-1 . -79)) ((61 . 38) (347 . 0)) ((418 . 1) (417 - . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 - . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . - 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 - . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) ( - 319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 190)) ((-1 . - -78)) ((-1 . -77)) ((-1 . -76)) ((-1 . -75)) ((-1 . -74)) ((-1 . -73)) (( - -1 . -72)) ((-1 . -71)) ((-1 . -70)) ((-1 . -69)) ((-1 . -68)) ((418 . 1) - (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9 - ) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) ( - 432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23 - ) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . - 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 189)) (( - 418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . - 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 - . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) ( - 303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) - (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . - 36) (430 . 188)) ((23 . 183) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 - . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . - 13) (411 . 14) (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 - . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) ( - 226 . 79) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (155 . 80) (156 . 81 - ) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 - . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 - . 95) (270 . 96) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) ( - 78 . 24) (293 . 25) (25 . 26) (429 . 27) (399 . 97) (400 . 146) (401 . 147 - ) (402 . 100) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 - . 33) (420 . 34) (407 . 35) (422 . 184) (423 . 185) (424 . 186) (427 . 187 - )) ((5 . 12) (6 . 13) (433 . 182)) ((5 . 12) (6 . 13) (433 . 181)) ((-1 . - -12)) ((-1 . -13)) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) - (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . - 78) (226 . 79) (155 . 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 - . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) ( - 266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 98) - (401 . 99) (402 . 100) (422 . 101) (385 . 102) (426 . 180) (418 . 1) (417 - . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 - . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . - 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 - . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) ( - 319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 36) (430 . 66 - )) ((-1 . -23)) ((-1 . -24)) ((-1 . -34)) ((-1 . -25)) ((-1 . -26)) ((68 - . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) ( - 206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80 - ) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 - . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) ( - 268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 98) (401 . 99) (402 . 100 - ) (422 . 101) (385 . 102) (426 . 179) (418 . 1) (417 . 2) (416 . 3) (415 - . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . - 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 - . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 - . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) ( - 428 . 33) (420 . 34) (407 . 35) (424 . 36) (430 . 66)) ((418 . 1) (417 . 2 - ) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . - 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) - (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . - 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 - . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 36) (430 . 178)) - ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) - (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . - 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 - . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . - 6) (412 . 7) (411 . 14) (410 . 15) (409 . 177)) ((23 . 176) (61 . 38)) (( - -1 . -234)) ((8 . 174) (5 . 12) (6 . 13) (68 . 67) (390 . 169) (433 . 170) - (389 . 175)) ((8 . 172) (5 . 12) (6 . 13) (68 . 67) (390 . 169) (433 . - 170) (389 . 173)) ((8 . 168) (5 . 12) (6 . 13) (68 . 67) (390 . 169) (433 - . 170) (389 . 171)) ((-1 . -139)) ((194 . 167) (-1 . -137)) ((194 . 166) ( - -1 . -136)) ((-1 . -133)) ((226 . 162) (214 . 163) (196 . 164) (206 . 165) - (-1 . -128)) ((214 . 159) (196 . 160) (195 . 161) (-1 . -117)) ((-1 . - -114)) ((226 . 155) (214 . 156) (196 . 157) (206 . 158) (-1 . -115)) ((214 - . 154) (-1 . -110)) ((-1 . -177)) ((-1 . -176)) ((-1 . -175)) ((-1 . -174 - )) ((-1 . -109)) ((-1 . -108)) ((-1 . -107)) ((-1 . -106)) ((-1 . -105)) ( - (-1 . -104)) ((-1 . -103)) ((-1 . -102)) ((-1 . -101)) ((-1 . -100)) ((-1 - . -99)) ((-1 . -98)) ((-1 . -97)) ((68 . 67) (161 . 68) (180 . 69) (187 . - 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 - . 77) (209 . 78) (226 . 79) (155 . 80) (156 . 81) (157 . 82) (158 . 83) ( - 390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90 - ) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . - 97) (400 . 146) (401 . 147) (402 . 100) (422 . 153) (-1 . -91)) ((155 . 80 - ) (266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) (402 . - 100) (422 . 151) (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) ( - 195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78 - ) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 98) ( - 401 . 99) (385 . 152) (23 . -89) (78 . -159) (59 . -159) (25 . -159)) (( - 155 . 80) (266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) - (402 . 100) (422 . 149) (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . - 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 - . 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) ( - 392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 98 - ) (401 . 99) (385 . 150) (23 . -87) (78 . -157) (59 . -157) (25 . -157)) ( - (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73 - ) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 - . 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) ( - 393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) - (268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 146) (401 . 147) (402 - . 100) (422 . 148) (-1 . -85)) ((23 . -209)) ((59 . 140) (25 . 141) (78 . - 142) (372 . 143) (379 . 144) (421 . 145)) ((23 . 139)) ((9 . 8) (2 . 9) (3 - . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . - 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 - . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) ( - 418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (411 - . 14) (410 . 138)) ((-1 . -304)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . - 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 - . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) ( - 319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) ( - 416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (411 . 137)) ((9 . 8) (2 - . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) - (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27 - ) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . - 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 136 - )) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . - 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 - . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) ( - 25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 - . 135)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) ( - 432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) - (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . - 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . - 134)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 - . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) ( - 293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33 - ) (25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 133) - ) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . - 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 - . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) ( - 25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 132)) ((9 . 8) (2 - . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) - (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . - 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 - . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 131)) ((9 . 8) (2 . 9) (3 . 10) - (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) ( - 310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) - (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1 - ) (417 . 2) (416 . 3) (415 . 130)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 - . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 - . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) ( - 319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) ( - 416 . 3) (415 . 129)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) - (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . - 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 - . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 128)) ((9 - . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) ( - 433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) - (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . - 26) (420 . 60) (418 . 1) (417 . 2) (416 . 127)) ((9 . 8) (2 . 9) (3 . 10) - (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) ( - 310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) - (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1 - ) (417 . 126)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 - . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) ( - 78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) - (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 125)) ((9 . 8) (2 . 9) ( - 3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 - . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) ( - 317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) - (418 . 124)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . - 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 - . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) ( - 428 . 33) (25 . 26) (420 . 60) (418 . 123)) ((9 . 8) (2 . 9) (3 . 10) (4 - . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 - . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) ( - 419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 122 - )) ((-1 . -39)) ((-1 . -38)) ((-1 . -37)) ((78 . 119) (305 . 120) (304 . - 121) (-1 . -42)) ((78 . 119) (305 . 120) (304 . 121) (-1 . -41)) ((303 . - 117) (302 . 118) (-1 . -45)) ((303 . 117) (302 . 118) (-1 . -44)) ((301 . - 115) (300 . 116) (-1 . -50)) ((301 . 115) (300 . 116) (-1 . -49)) ((301 . - 115) (300 . 116) (-1 . -48)) ((301 . 115) (300 . 116) (-1 . -47)) ((299 . - 111) (298 . 112) (297 . 113) (296 . 114) (-1 . -53)) ((299 . 111) (298 . - 112) (297 . 113) (296 . 114) (-1 . -52)) ((295 . 109) (294 . 110) (-1 . - -55)) ((293 . 108) (-1 . -57)) ((292 . 107) (-1 . -59)) ((291 . 106) (-1 - . -61)) ((8 . 237) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23 - ) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . - 32) (428 . 33) (25 . 26) (420 . 60) (418 . 238)) ((418 . 1) (417 . 2) (416 - . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 - . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 - . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (293 . 25) ( - 25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) - (428 . 33) (420 . 34) (407 . 35) (424 . 232) (58 . 233) (84 . 234) (156 - . 81) (157 . 82) (158 . 83) (400 . 223) (377 . 235) (78 . 236)) ((59 . 140 - ) (25 . 141) (78 . 142) (372 . 143) (379 . 144) (421 . 226) (68 . 67) (161 - . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) ( - 207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80) (156 . 81 - ) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 - . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 - . 95) (270 . 96) (399 . 97) (400 . 146) (401 . 147) (402 . 100) (422 . - 227) (373 . 228) (374 . 229) (376 . 230) (23 . 231)) ((156 . 81) (157 . 82 - ) (158 . 83) (400 . 223) (377 . 224) (78 . 142) (379 . 225) (-1 . -194)) ( - (59 . 221) (25 . 222) (23 . -212) (61 . -212)) ((59 . 140) (25 . 141) (372 - . 220) (23 . -210) (61 . -210)) ((23 . -208)) ((68 . 67) (161 . 68) (180 - . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) ( - 196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80) (156 . 81) (157 . 82 - ) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) (394 - . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 - . 96) (399 . 97) (400 . 146) (401 . 147) (402 . 100) (422 . 151) (-1 . - -89)) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) ( - 200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79 - ) (155 . 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) ( - 84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 146) (401 . 147 - ) (402 . 100) (422 . 149) (-1 . -87)) ((-1 . -86)) ((-1 . -88)) ((-1 . - -156)) ((-1 . -90)) ((-1 . -158)) ((-1 . -92)) ((-1 . -111)) ((214 . 219) - (-1 . -112)) ((-1 . -116)) ((196 . 217) (214 . 218) (-1 . -119)) ((-1 . - -134)) ((-1 . -118)) ((214 . 216) (-1 . -121)) ((194 . 215) (-1 . -138)) ( - (214 . 214) (-1 . -126)) ((-1 . -127)) ((196 . 212) (214 . 213) (-1 . -130 - )) ((-1 . -135)) ((-1 . -140)) ((-1 . -141)) ((68 . 67) (161 . 68) (180 . - 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 - . 76) (214 . 77) (209 . 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) ( - 390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90 - ) (265 . 91) (400 . 203) (401 . 204) (345 . 205) (385 . 206) (386 . 207) ( - 387 . 208) (388 . 211)) ((-1 . -150)) ((-1 . -149)) ((8 . 210) (-1 . -145) - ) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 - . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) ( - 156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87 - ) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) (401 . 204) (345 - . 205) (385 . 206) (386 . 207) (387 . 208) (388 . 209)) ((8 . 202) (-1 . - -148)) ((5 . 12) (6 . 13) (433 . 199) (380 . 200) (381 . 201)) ((8 . 198) - (-1 . -169)) ((-1 . -5)) ((290 . 104) (-1 . -63)) ((52 . 197) (61 . 38)) ( - (23 . 196)) ((23 . 195)) ((-1 . -11)) ((-1 . -10)) ((-1 . -9)) ((59 . 140) - (25 . 141) (78 . 142) (372 . 143) (379 . 144) (421 . 194) (23 . -21) (61 - . -21)) ((23 . -18) (61 . -18)) ((23 . -16) (61 . -16)) ((23 . 192) (61 . - 193)) ((58 . 191) (61 . 38)) ((-1 . -67)) ((-1 . -80)) ((-1 . -7)) ((-1 . - -8)) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) ( - 200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79 - ) (155 . 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) ( - 84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 146) (401 . 147 - ) (402 . 100) (422 . 184) (423 . 291) (418 . 1) (417 . 2) (416 . 3) (415 - . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . - 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 - . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 - . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) ( - 428 . 33) (420 . 34) (407 . 35) (424 . 292)) ((23 . -20) (61 . -20)) ((8 - . 237)) ((8 . 237) (-1 . -27)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) - (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22 - ) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . - 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . - 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (411 . 14) (410 . 15) (409 . 19 - ) (408 . 28) (407 . 290)) ((5 . 12) (6 . 13) (433 . 199) (380 . 200) (381 - . 289)) ((60 . 288) (7 . -172) (61 . -172)) ((7 . -170) (61 . -170)) ((7 - . 286) (61 . 287)) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) - (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . - 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) - (401 . 204) (345 . 205) (385 . 206) (386 . 207) (387 . 208) (388 . 285)) ( - (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73 - ) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (156 - . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) ( - 264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) (401 . 204) (385 . - 152) (-1 . -159)) ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) ( - 195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78 - ) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) ( - 401 . 204) (385 . 150) (-1 . -157)) ((345 . -306) (-1 . -306)) ((5 . 12) ( - 6 . 13) (78 . 142) (25 . 279) (433 . 257) (378 . 258) (379 . 280) (52 . - 281) (397 . 282) (383 . 283) (384 . 284)) ((345 . -152) (-1 . -152)) ((345 - . -151) (-1 . -151)) ((7 . 278) (68 . 67) (161 . 68) (180 . 69) (187 . 70 - ) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 - . 77) (209 . 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) ( - 391 . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91 - ) (400 . 203) (401 . 204) (385 . 206) (387 . 275) (345 . 205) (386 . 276)) - ((68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . - 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (156 - . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) ( - 264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) (401 . 204) (345 . - 205) (385 . 206) (386 . 207) (387 . 208) (388 . 277)) ((7 . 274) (68 . 67) - (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . - 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (156 . 81) (157 - . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) ( - 394 . 89) (395 . 90) (265 . 91) (400 . 203) (401 . 204) (385 . 206) (387 - . 275) (345 . 205) (386 . 276)) ((214 . 273) (-1 . -132)) ((-1 . -129)) (( - -1 . -125)) ((-1 . -142)) ((-1 . -122)) ((214 . 272) (-1 . -123)) ((-1 . - -120)) ((-1 . -113)) ((59 . 221) (25 . 222) (23 . -211) (61 . -211)) ((84 - . 267) (58 . 268) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 - . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . - 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 - . 21) (302 . 22) (303 . 23) (78 . 269) (293 . 25) (25 . 26) (429 . 27) ( - 408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34 - ) (407 . 35) (424 . 270) (156 . 81) (157 . 82) (158 . 83) (400 . 223) (377 - . 271)) ((23 . 265) (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) - (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . - 78) (226 . 79) (155 . 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 - . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) ( - 266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 146) - (401 . 147) (402 . 100) (422 . 227) (373 . 228) (374 . 229) (376 . 266)) - ((-1 . -197)) ((78 . 142) (379 . 264) (156 . 81) (157 . 82) (158 . 83) ( - 400 . 250) (-1 . -193)) ((-1 . -196)) ((23 . 263)) ((5 . 12) (6 . 13) (433 - . 257) (378 . 258) (397 . 259) (59 . 140) (25 . 260) (78 . 142) (372 . - 143) (379 . 261) (421 . 262) (23 . -205) (61 . -205)) ((61 . -201) (23 . - -201)) ((61 . 256) (23 . -199)) ((23 . 255)) ((-1 . -233)) ((58 . 254)) (( - -1 . -224)) ((156 . 81) (157 . 82) (158 . 83) (400 . 223) (377 . 253)) (( - 84 . 249) (156 . 81) (157 . 82) (158 . 83) (400 . 250) (58 . 251) (418 . 1 - ) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 - . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) - (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . - 23) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 - . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 252)) - ((58 . 248) (-1 . -29)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) - (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20 - ) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . - 27) (57 . 239) (59 . 240) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 - . 32) (428 . 33) (369 . 241) (420 . 34) (407 . 35) (370 . 242) (8 . 243) - (424 . 244) (396 . 245) (371 . 246) (425 . 247)) ((-1 . -35)) ((5 . 12) (6 - . 13) (433 . 329)) ((9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 431 . 16) (432 . 17) (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23 - ) (78 . 24) (293 . 25) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . - 32) (428 . 33) (25 . 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4 - ) (414 . 5) (413 . 6) (412 . 7) (411 . 14) (410 . 15) (409 . 19) (408 . 28 - ) (407 . 295) (382 . 328)) ((60 . -243) (57 . -243) (59 . -243)) ((60 . - 326) (57 . 239) (59 . 240) (369 . 327)) ((418 . 1) (417 . 2) (416 . 3) ( - 415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) ( - 5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) ( - 409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) - (25 . 26) (429 . 27) (57 . 239) (59 . 240) (408 . 28) (317 . 29) (419 . - 30) (319 . 31) (320 . 32) (428 . 33) (369 . 241) (420 . 34) (407 . 35) ( - 370 . 242) (8 . 243) (424 . 244) (396 . 245) (371 . 246) (425 . 325)) ((7 - . -235) (61 . -235)) ((7 . -239) (61 . -239)) ((418 . 1) (417 . 2) (416 . - 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . - 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . - 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 - . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) ( - 320 . 32) (428 . 33) (420 . 34) (407 . 35) (8 . 243) (424 . 244) (396 . - 324)) ((7 . 322) (61 . 323)) ((-1 . -229)) ((418 . 1) (417 . 2) (416 . 3) - (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) - (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) ( - 409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) - (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . - 32) (428 . 33) (420 . 34) (407 . 35) (424 . 321)) ((-1 . -198)) ((-1 . - -222)) ((58 . 320)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) ( - 413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20 - ) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . - 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 - . 34) (407 . 35) (424 . 318) (156 . 81) (157 . 82) (158 . 83) (400 . 250) - (58 . 319)) ((-1 . -223)) ((-1 . -232)) ((68 . 67) (161 . 68) (180 . 69) - (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . - 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80) (156 . 81) (157 . 82) (158 - . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) ( - 395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 . 95) (270 . 96) - (399 . 97) (400 . 146) (401 . 147) (402 . 100) (422 . 227) (373 . 316) ( - 121 . 317)) ((-1 . -180)) ((59 . 314) (25 . 315) (-1 . -179)) ((23 . -203) - (61 . -203)) ((59 . 140) (372 . 143) (421 . 226) (68 . 67) (161 . 68) ( - 180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75 - ) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . 80) (156 . 81) (157 - . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 . 87) (264 . 88) ( - 394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) (268 . 94) (10 . 95) - (270 . 96) (399 . 97) (400 . 146) (401 . 147) (402 . 100) (422 . 227) (373 - . 228) (374 . 229) (376 . 230) (23 . 231) (5 . 12) (6 . 13) (78 . 142) ( - 25 . 260) (433 . 257) (378 . 258) (379 . 261) (397 . 305)) ((59 . 140) ( - 372 . 220) (5 . 12) (6 . 13) (25 . 260) (433 . 257) (378 . 304) (23 . -210 - ) (61 . -210)) ((23 . -204) (61 . -204)) ((-1 . -213)) ((-1 . -195)) ((-1 - . -231)) ((23 . 313)) ((156 . 81) (157 . 82) (158 . 83) (400 . 223) (377 - . 312)) ((-1 . -217)) ((58 . 311) (-1 . -29)) ((58 . 310)) ((418 . 1) (417 - . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 - . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . - 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 - . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) ( - 319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 307) (156 . - 81) (157 . 82) (158 . 83) (400 . 250) (58 . 308) (84 . 309)) ((-1 . -124)) - ((-1 . -131)) ((-1 . -144)) ((345 . -153) (-1 . -153)) ((345 . -154) (-1 - . -154)) ((7 . 306) (68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) - (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . - 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 - . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (400 . 203) - (401 . 204) (385 . 206) (387 . 275) (345 . 205) (386 . 276)) ((-1 . -147)) - ((5 . 12) (6 . 13) (78 . 142) (25 . 279) (433 . 257) (378 . 258) (379 . - 280) (397 . 305)) ((5 . 12) (6 . 13) (25 . 279) (433 . 257) (378 . 304)) ( - (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) - (433 . 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25 - ) (429 . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . - 26) (420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) - (412 . 7) (411 . 14) (410 . 15) (409 . 19) (408 . 28) (407 . 295) (382 . - 303)) ((52 . 302) (11 . -162) (61 . -162)) ((11 . -160) (61 . -160)) ((11 - . 300) (61 . 301)) ((7 . 299) (68 . 67) (161 . 68) (180 . 69) (187 . 70) ( - 194 . 71) (195 . 72) (200 . 73) (206 . 74) (207 . 75) (196 . 76) (214 . 77 - ) (209 . 78) (226 . 79) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 - . 85) (392 . 86) (393 . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) ( - 400 . 203) (401 . 204) (385 . 206) (387 . 275) (345 . 205) (386 . 276)) (( - -1 . -167)) ((7 . 297) (5 . 12) (6 . 13) (433 . 199) (380 . 298)) ((9 . 8) - (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . - 18) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 - . 27) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) ( - 420 . 60) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 - . 7) (411 . 14) (410 . 15) (409 . 19) (408 . 28) (407 . 295) (382 . 296)) - ((61 . 293) (7 . 294)) ((-1 . -65)) ((23 . -19) (61 . -19)) ((23 . -17) ( - 61 . -17)) ((5 . 12) (6 . 13) (433 . 199) (380 . 298) (7 . 357)) ((-1 . - -165)) ((-1 . -81)) ((7 . -173) (61 . -173)) ((-1 . -168)) ((7 . -171) (61 - . -171)) ((-1 . -146)) ((344 . 354) (348 . 355) (403 . 356) (345 . -296) - (-1 . -296)) ((5 . 12) (6 . 13) (78 . 142) (25 . 279) (433 . 257) (378 . - 258) (379 . 280) (52 . 281) (397 . 282) (383 . 353)) ((9 . 8) (2 . 9) (3 - . 10) (4 . 11) (5 . 12) (6 . 13) (431 . 16) (432 . 17) (433 . 18) (309 . - 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (429 . 27) (317 - . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (25 . 26) (420 . 60) ( - 418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (411 - . 14) (410 . 15) (409 . 19) (408 . 28) (407 . 295) (382 . 352)) ((11 . - -164) (61 . -164)) ((59 . 314) (25 . 315) (-1 . -178)) ((23 . 351)) ((-1 - . -143)) ((58 . 350)) ((-1 . -215)) ((418 . 1) (417 . 2) (416 . 3) (415 . - 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12 - ) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . - 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 - . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) ( - 428 . 33) (420 . 34) (407 . 35) (424 . 349)) ((-1 . -216)) ((-1 . -228)) ( - (58 . 347) (156 . 81) (157 . 82) (158 . 83) (400 . 250) (418 . 1) (417 . 2 - ) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . - 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) - (433 . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (78 . - 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 - . 31) (320 . 32) (428 . 33) (420 . 34) (407 . 35) (424 . 348)) ((-1 . -230 - )) ((84 . 342) (58 . 343) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5 - ) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) - (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . - 20) (310 . 21) (302 . 22) (303 . 23) (78 . 344) (293 . 25) (25 . 26) (429 - . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) ( - 420 . 34) (407 . 35) (424 . 345) (156 . 81) (157 . 82) (158 . 83) (400 . - 223) (377 . 346)) ((23 . 338) (5 . 12) (6 . 13) (433 . 339) (375 . 340) ( - 68 . 67) (161 . 68) (180 . 69) (187 . 70) (194 . 71) (195 . 72) (200 . 73) - (206 . 74) (207 . 75) (196 . 76) (214 . 77) (209 . 78) (226 . 79) (155 . - 80) (156 . 81) (157 . 82) (158 . 83) (390 . 84) (391 . 85) (392 . 86) (393 - . 87) (264 . 88) (394 . 89) (395 . 90) (265 . 91) (266 . 92) (84 . 93) ( - 268 . 94) (10 . 95) (270 . 96) (399 . 97) (400 . 146) (401 . 147) (402 . - 100) (422 . 227) (373 . 228) (374 . 229) (376 . 341)) ((61 . -202) (23 . - -202)) ((23 . -200)) ((58 . 337)) ((-1 . -226)) ((-1 . -221)) ((58 . 336)) - ((-1 . -14)) ((7 . 333) (418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) - (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20 - ) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . - 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 - . 34) (407 . 35) (8 . 243) (424 . 244) (396 . 334) (57 . 239) (59 . 240) - (369 . 241) (370 . 242) (371 . 335)) ((7 . -238) (61 . -238)) ((61 . 331) - (7 . 332)) ((-1 . -242)) ((60 . -244) (57 . -244) (59 . -244)) ((58 . 330) - ) ((60 . -246) (59 . -246) (57 . -246)) ((60 . -245) (59 . -245) (57 . - -245)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6) (412 - . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) (410 - . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . 21) ( - 302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 . 28) - (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) (407 . - 35) (8 . 243) (424 . 244) (396 . 334) (57 . 239) (59 . 240) (369 . 241) ( - 370 . 242) (371 . 335) (7 . 371)) ((7 . -236) (61 . -236)) ((-1 . -15)) (( - 7 . -241) (61 . -241)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) - (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( - 411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20 - ) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . - 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 - . 34) (407 . 35) (8 . 243) (424 . 244) (396 . 370)) ((-1 . -227)) ((-1 . - -225)) ((-1 . -192)) ((23 . -206) (61 . -206)) ((23 . 368) (61 . 369)) (( - 23 . 367)) ((156 . 81) (157 . 82) (158 . 83) (400 . 223) (377 . 366)) ((-1 - . -185)) ((58 . 365) (-1 . -29)) ((58 . 364)) ((418 . 1) (417 . 2) (416 - . 3) (415 . 4) (414 . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 - . 11) (5 . 12) (6 . 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 - . 18) (409 . 19) (309 . 20) (310 . 21) (302 . 22) (303 . 23) (293 . 25) ( - 25 . 26) (429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) - (428 . 33) (420 . 34) (407 . 35) (424 . 360) (156 . 81) (157 . 82) (158 - . 83) (400 . 250) (58 . 361) (84 . 362) (78 . 363)) ((-1 . -219)) ((58 . - 359)) ((58 . 358)) ((-1 . -214)) ((-1 . -181)) ((11 . -163) (61 . -163)) ( - (11 . -161) (61 . -161)) ((345 . -305) (-1 . -305)) ((345 . -297) (-1 . - -297)) ((345 . -155) (-1 . -155)) ((-1 . -166)) ((-1 . -220)) ((-1 . -218) - ) ((58 . 376)) ((-1 . -183)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 - . 5) (413 . 6) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . - 13) (411 . 14) (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 - . 20) (310 . 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) ( - 429 . 27) (408 . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33 - ) (420 . 34) (407 . 35) (424 . 375)) ((58 . 374) (-1 . -29)) ((-1 . -184)) - ((-1 . -189)) ((418 . 1) (417 . 2) (416 . 3) (415 . 4) (414 . 5) (413 . 6 - ) (412 . 7) (9 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (411 . 14) - (410 . 15) (431 . 16) (432 . 17) (433 . 18) (409 . 19) (309 . 20) (310 . - 21) (302 . 22) (303 . 23) (78 . 24) (293 . 25) (25 . 26) (429 . 27) (408 - . 28) (317 . 29) (419 . 30) (319 . 31) (320 . 32) (428 . 33) (420 . 34) ( - 407 . 35) (424 . 373) (156 . 81) (157 . 82) (158 . 83) (400 . 250)) ((-1 - . -190)) ((-1 . -191)) ((5 . 12) (6 . 13) (433 . 372)) ((7 . -240) (61 . - -240)) ((7 . -237) (61 . -237)) ((23 . -207) (61 . -207)) ((58 . 378)) (( - -1 . -188)) ((58 . 377)) ((-1 . -182)) ((-1 . -187)) ((-1 . -186)))) + #(((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) ( + 7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) ( + 176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) ( + 78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) ( + 164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 36) + (175 . 37)) ((-1 . -36)) ((79 . 119) (74 . 120) (73 . 121) (-1 . -40)) (( + 78 . 117) (77 . 118) (-1 . -43)) ((72 . 115) (71 . 116) (-1 . -46)) ((70 + . 111) (69 . 112) (68 . 113) (67 . 114) (-1 . -51)) ((66 . 109) (65 . 110) + (-1 . -54)) ((80 . 108) (-1 . -56)) ((-1 . -299)) ((-1 . -298)) ((-1 . + -297)) ((-1 . -296)) ((-1 . -295)) ((-1 . -294)) ((64 . 107) (-1 . -58)) ( + (63 . 106) (-1 . -60)) ((7 . 105) (-1 . -4)) ((-1 . -3)) ((-1 . -2)) ((62 + . 104) (-1 . -62)) ((-1 . -33)) ((-1 . -32)) ((-1 . -31)) ((-1 . -30)) (( + -1 . -29)) ((-1 . -28)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) + (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( + 156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) + (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) ( + 153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) ( + 152 . 35) (169 . 36) (175 . 66) (21 . 67) (27 . 68) (28 . 69) (29 . 70) ( + 30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 + . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . + 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . + 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . + 99) (147 . 100) (167 . 101) (130 . 102) (171 . 103)) ((-1 . -6)) ((60 . 64 + ) (61 . 65) (-1 . -64)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . + 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . + 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32 + ) (173 . 33) (165 . 62) (92 . 63)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 + . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . + 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31 + ) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 61)) ((7 . 8) (2 . 9) ( + 3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . + 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 57) (174 . 27) + (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 59)) ((7 . 8) + (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . + 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 57) + (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 58)) + ((90 . 51) (92 . 52) (88 . 53) (87 . 54) (86 . 55) (85 . 56) (-1 . -22)) + ((48 . 39) (49 . 40) (50 . 41) (51 . 42) (52 . 43) (53 . 44) (54 . 45) (55 + . 46) (56 . 47) (57 . 48) (58 . 49) (151 . 50) (-1 . -34)) ((-1 . -66)) ( + (-1 . -79)) ((82 . 38) (96 . 0)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) + (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) ( + 6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) + (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 + . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 + . 34) (152 . 35) (169 . 190)) ((-1 . -78)) ((-1 . -77)) ((-1 . -76)) ((-1 + . -75)) ((-1 . -74)) ((-1 . -73)) ((-1 . -72)) ((-1 . -71)) ((-1 . -70)) + ((-1 . -69)) ((-1 . -68)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . + 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) + (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . + 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) + (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) + (152 . 35) (169 . 189)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5 + ) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) + (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20 + ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) ( + 153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) ( + 152 . 35) (169 . 36) (175 . 188)) ((91 . 183) (163 . 1) (162 . 2) (161 . 3 + ) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11 + ) (5 . 12) (6 . 13) (156 . 14) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 + . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . + 78) (39 . 79) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (23 . 80) (24 . + 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . + 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95 + ) (46 . 96) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) ( + 80 . 25) (92 . 26) (174 . 27) (144 . 97) (145 . 146) (146 . 147) (147 . + 100) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 + . 34) (152 . 35) (167 . 184) (168 . 185) (169 . 186) (172 . 187)) ((5 . 12 + ) (6 . 13) (178 . 182)) ((5 . 12) (6 . 13) (178 . 181)) ((-1 . -12)) ((-1 + . -13)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 + . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80 + ) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87 + ) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) + (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . 99) (147 . 100) (167 . + 101) (130 . 102) (171 . 180) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 + . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . + 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 + . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . + 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . + 34) (152 . 35) (169 . 36) (175 . 66)) ((-1 . -23)) ((-1 . -24)) ((-1 . -34 + )) ((-1 . -25)) ((-1 . -26)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 + . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78 + ) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) + (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) + (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 98) (146 . 99) ( + 147 . 100) (167 . 101) (130 . 102) (171 . 179) (163 . 1) (162 . 2) (161 . + 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . + 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . + 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) + (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) + (173 . 33) (165 . 34) (152 . 35) (169 . 36) (175 . 66)) ((163 . 1) (162 . + 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . + 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) + (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) ( + 80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) ( + 86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 36) (175 . 178)) ((7 . 8) + (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . + 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) + (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) + (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 + . 14) (155 . 15) (154 . 177)) ((91 . 176) (82 . 38)) ((-1 . -234)) ((84 + . 174) (5 . 12) (6 . 13) (178 . 175)) ((84 . 172) (5 . 12) (6 . 13) (21 . + 67) (135 . 169) (178 . 170) (134 . 173)) ((84 . 168) (5 . 12) (6 . 13) (21 + . 67) (135 . 169) (178 . 170) (134 . 171)) ((-1 . -139)) ((30 . 167) (-1 + . -137)) ((30 . 166) (-1 . -136)) ((-1 . -133)) ((39 . 162) (37 . 163) (35 + . 164) (33 . 165) (-1 . -128)) ((37 . 159) (35 . 160) (31 . 161) (-1 . + -117)) ((-1 . -114)) ((39 . 155) (37 . 156) (35 . 157) (33 . 158) (-1 . + -115)) ((37 . 154) (-1 . -110)) ((-1 . -177)) ((-1 . -176)) ((-1 . -175)) + ((-1 . -174)) ((-1 . -109)) ((-1 . -108)) ((-1 . -107)) ((-1 . -106)) ((-1 + . -105)) ((-1 . -104)) ((-1 . -103)) ((-1 . -102)) ((-1 . -101)) ((-1 . + -100)) ((-1 . -99)) ((-1 . -98)) ((-1 . -97)) ((21 . 67) (27 . 68) (28 . + 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) + (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 + . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) ( + 41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 + . 146) (146 . 147) (147 . 100) (167 . 153) (-1 . -91)) ((23 . 80) (42 . + 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (147 . 100) (167 . + 151) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) + (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 + . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) ( + 139 . 89) (140 . 90) (41 . 91) (145 . 98) (146 . 99) (130 . 152) (91 . -89 + ) (79 . -159) (90 . -159) (92 . -159)) ((23 . 80) (42 . 92) (43 . 93) (44 + . 94) (45 . 95) (46 . 96) (144 . 97) (147 . 100) (167 . 149) (21 . 67) (27 + . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . + 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) + (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90 + ) (41 . 91) (145 . 98) (146 . 99) (130 . 150) (91 . -87) (79 . -157) (90 + . -157) (92 . -157)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) ( + 31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 + . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 + . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 + . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) ( + 147 . 100) (167 . 148) (-1 . -85)) ((91 . -209)) ((90 . 140) (92 . 141) ( + 79 . 142) (117 . 143) (124 . 144) (166 . 145)) ((91 . 139)) ((7 . 8) (2 . + 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) ( + 75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 + . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 + . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 14 + ) (155 . 138)) ((-1 . -300)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) ( + 6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 + . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 + . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 + . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 137)) ((7 . 8) (2 . 9) (3 . 10) + (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 + . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . + 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2 + ) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 136)) ((7 . 8) (2 . 9) (3 + . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . + 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) + (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) + (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 135)) ((7 . 8) (2 . 9) (3 + . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20 + ) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) ( + 164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) ( + 162 . 2) (161 . 3) (160 . 4) (159 . 134)) ((7 . 8) (2 . 9) (3 . 10) (4 . + 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) + (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) ( + 85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) ( + 161 . 3) (160 . 4) (159 . 133)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12 + ) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) + (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) ( + 86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) ( + 160 . 132)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16 + ) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) + (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) ( + 92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 131)) ((7 . 8) (2 + . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) + (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) ( + 81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) ( + 163 . 1) (162 . 2) (161 . 3) (160 . 130)) ((7 . 8) (2 . 9) (3 . 10) (4 . + 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) + (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) ( + 85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) ( + 161 . 3) (160 . 129)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) + (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) + (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) ( + 173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 128)) ((7 . 8) ( + 2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18 + ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) ( + 81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) ( + 163 . 1) (162 . 2) (161 . 127)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12 + ) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) + (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) ( + 86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 126)) ((7 . 8) ( + 2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18 + ) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) ( + 81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) ( + 163 . 1) (162 . 125)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) + (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) + (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) ( + 173 . 33) (92 . 26) (165 . 60) (163 . 124)) ((7 . 8) (2 . 9) (3 . 10) (4 + . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . + 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30 + ) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 123)) ((7 . 8 + ) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 + . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . + 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . + 60) (163 . 122)) ((-1 . -39)) ((-1 . -38)) ((-1 . -37)) ((79 . 119) (74 . + 120) (73 . 121) (-1 . -42)) ((79 . 119) (74 . 120) (73 . 121) (-1 . -41)) + ((78 . 117) (77 . 118) (-1 . -45)) ((78 . 117) (77 . 118) (-1 . -44)) ((72 + . 115) (71 . 116) (-1 . -50)) ((72 . 115) (71 . 116) (-1 . -49)) ((72 . + 115) (71 . 116) (-1 . -48)) ((72 . 115) (71 . 116) (-1 . -47)) ((70 . 111) + (69 . 112) (68 . 113) (67 . 114) (-1 . -53)) ((70 . 111) (69 . 112) (68 + . 113) (67 . 114) (-1 . -52)) ((66 . 109) (65 . 110) (-1 . -55)) ((80 . + 108) (-1 . -57)) ((64 . 107) (-1 . -59)) ((63 . 106) (-1 . -61)) ((84 . + 237) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 + . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . + 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . + 26) (165 . 60) (163 . 238)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 + . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . + 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 + . 20) (76 . 21) (77 . 22) (78 . 23) (80 . 25) (92 . 26) (174 . 27) (153 . + 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . + 35) (169 . 232) (89 . 233) (43 . 234) (24 . 81) (25 . 82) (26 . 83) (145 + . 223) (122 . 235) (79 . 236)) ((90 . 140) (92 . 141) (79 . 142) (117 . + 143) (124 . 144) (166 . 226) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 + . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78 + ) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) + (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) + (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) + (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 230) (91 . 231)) ( + (24 . 81) (25 . 82) (26 . 83) (145 . 223) (122 . 224) (79 . 142) (124 . + 225) (-1 . -194)) ((90 . 221) (92 . 222) (91 . -212) (82 . -212)) ((90 . + 140) (92 . 141) (117 . 220) (91 . -210) (82 . -210)) ((91 . -208)) ((21 . + 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) + (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 + . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 + . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . + 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 151) (-1 . -89)) + ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) ( + 33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 + . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 + . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . + 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 149) ( + -1 . -87)) ((-1 . -86)) ((-1 . -88)) ((-1 . -156)) ((-1 . -90)) ((-1 . + -158)) ((-1 . -92)) ((-1 . -111)) ((37 . 219) (-1 . -112)) ((-1 . -116)) ( + (35 . 217) (37 . 218) (-1 . -119)) ((-1 . -134)) ((-1 . -118)) ((37 . 216) + (-1 . -121)) ((30 . 215) (-1 . -138)) ((37 . 214) (-1 . -126)) ((-1 . + -127)) ((35 . 212) (37 . 213) (-1 . -130)) ((-1 . -135)) ((-1 . -140)) (( + -1 . -141)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) ( + 32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 + . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 + . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204) (94 . 205) ( + 130 . 206) (131 . 207) (132 . 208) (133 . 211)) ((-1 . -150)) ((-1 . -149) + ) ((84 . 210) (-1 . -145)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . + 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) + (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) ( + 138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204 + ) (94 . 205) (130 . 206) (131 . 207) (132 . 208) (133 . 209)) ((84 . 202) + (-1 . -148)) ((5 . 12) (6 . 13) (178 . 199) (125 . 200) (126 . 201)) ((84 + . 198) (-1 . -169)) ((-1 . -5)) ((62 . 104) (-1 . -63)) ((59 . 197) (82 . + 38)) ((91 . 196)) ((91 . 195)) ((-1 . -11)) ((-1 . -10)) ((-1 . -9)) ((90 + . 140) (92 . 141) (79 . 142) (117 . 143) (124 . 144) (166 . 194) (91 . -21 + ) (82 . -21)) ((91 . -18) (82 . -18)) ((91 . -16) (82 . -16)) ((91 . 192) + (82 . 193)) ((89 . 191) (82 . 38)) ((-1 . -67)) ((-1 . -80)) ((-1 . -7)) ( + (-1 . -8)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) ( + 32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 + . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 + . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . + 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) ( + 167 . 184) (168 . 291) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) ( + 158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( + 156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) + (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) ( + 153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) ( + 152 . 35) (169 . 292)) ((91 . -20) (82 . -20)) ((84 . 237)) ((84 . 237) ( + -1 . -27)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) + (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) ( + 80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) ( + 92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 + . 6) (157 . 7) (156 . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 290)) ( + (5 . 12) (6 . 13) (178 . 199) (125 . 200) (126 . 289)) ((58 . 288) (83 . + -172) (82 . -172)) ((83 . -170) (82 . -170)) ((83 . 286) (82 . 287)) ((21 + . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74 + ) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) ( + 26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) + (140 . 90) (41 . 91) (145 . 203) (146 . 204) (94 . 205) (130 . 206) (131 + . 207) (132 . 208) (133 . 285)) ((21 . 67) (27 . 68) (28 . 69) (29 . 70) ( + 30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 + . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 + . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) ( + 146 . 204) (130 . 152) (-1 . -159)) ((21 . 67) (27 . 68) (28 . 69) (29 . + 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) + (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) ( + 137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) + (146 . 204) (130 . 150) (-1 . -157)) ((94 . -302) (-1 . -302)) ((5 . 12) + (6 . 13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280) (59 . + 281) (142 . 282) (128 . 283) (129 . 284)) ((94 . -152) (-1 . -152)) ((94 + . -151) (-1 . -151)) ((83 . 278) (21 . 67) (27 . 68) (28 . 69) (29 . 70) ( + 30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 + . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 + . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) ( + 146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((21 . 67) (27 + . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75 + ) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) ( + 135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) + (41 . 91) (145 . 203) (146 . 204) (94 . 205) (130 . 206) (131 . 207) (132 + . 208) (133 . 277)) ((83 . 274) (21 . 67) (27 . 68) (28 . 69) (29 . 70) ( + 30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 + . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 + . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) ( + 146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((37 . 273) (-1 + . -132)) ((-1 . -129)) ((-1 . -125)) ((-1 . -142)) ((-1 . -122)) ((37 . + 272) (-1 . -123)) ((-1 . -120)) ((-1 . -113)) ((90 . 221) (92 . 222) (91 + . -211) (82 . -211)) ((43 . 267) (89 . 268) (163 . 1) (162 . 2) (161 . 3) + (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) + (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) ( + 154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 269) (80 . 25) (92 + . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 + . 33) (165 . 34) (152 . 35) (169 . 270) (24 . 81) (25 . 82) (26 . 83) ( + 145 . 223) (122 . 271)) ((91 . 265) (21 . 67) (27 . 68) (28 . 69) (29 . 70 + ) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) ( + 36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 + . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 + . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 + . 147) (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 266)) ((-1 + . -197)) ((79 . 142) (124 . 264) (24 . 81) (25 . 82) (26 . 83) (145 . 250) + (-1 . -193)) ((-1 . -196)) ((91 . 263)) ((5 . 12) (6 . 13) (178 . 257) ( + 123 . 258) (142 . 259) (90 . 140) (92 . 260) (79 . 142) (117 . 143) (124 + . 261) (166 . 262) (91 . -205) (82 . -205)) ((82 . -201) (91 . -201)) ((82 + . 256) (91 . -199)) ((91 . 255)) ((-1 . -233)) ((89 . 254)) ((-1 . -224)) + ((24 . 81) (25 . 82) (26 . 83) (145 . 223) (122 . 253)) ((43 . 249) (24 + . 81) (25 . 82) (26 . 83) (145 . 250) (89 . 251) (163 . 1) (162 . 2) (161 + . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 + . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 + . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . + 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . + 32) (173 . 33) (165 . 34) (152 . 35) (169 . 252)) ((89 . 248) (-1 . -29)) + ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 + . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) ( + 176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) ( + 78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (88 . 239) (90 . 240) ( + 153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (114 . 241) + (165 . 34) (152 . 35) (115 . 242) (84 . 243) (169 . 244) (141 . 245) (116 + . 246) (170 . 247)) ((-1 . -35)) ((5 . 12) (6 . 13) (178 . 329)) ((7 . 8) + (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . + 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) + (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) + (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 + . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 295) (127 . 328)) ((58 . + -243) (88 . -243) (90 . -243)) ((58 . 326) (88 . 239) (90 . 240) (114 . + 327)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . + 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . + 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . + 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (88 . 239) (90 . + 240) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (114 + . 241) (165 . 34) (152 . 35) (115 . 242) (84 . 243) (169 . 244) (141 . 245 + ) (116 . 246) (170 . 325)) ((83 . -235) (82 . -235)) ((83 . -239) (82 . + -239)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 + . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 + . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 + . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . + 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . + 243) (169 . 244) (141 . 324)) ((83 . 322) (82 . 323)) ((-1 . -229)) ((163 + . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) ( + 2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16 + ) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) + (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) + (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 321)) ((-1 . + -198)) ((-1 . -222)) ((89 . 320)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) + (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) + (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) + (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) ( + 174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) ( + 165 . 34) (152 . 35) (169 . 318) (24 . 81) (25 . 82) (26 . 83) (145 . 250) + (89 . 319)) ((-1 . -223)) ((-1 . -232)) ((21 . 67) (27 . 68) (28 . 69) ( + 29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 + . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . + 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 + . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . + 146) (146 . 147) (147 . 100) (167 . 227) (118 . 316) (22 . 317)) ((-1 . + -180)) ((90 . 314) (92 . 315) (-1 . -179)) ((91 . -203) (82 . -203)) ((90 + . 140) (117 . 143) (166 . 226) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 + . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . + 78) (39 . 79) (23 . 80) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85 + ) (137 . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (42 . 92 + ) (43 . 93) (44 . 94) (45 . 95) (46 . 96) (144 . 97) (145 . 146) (146 . + 147) (147 . 100) (167 . 227) (118 . 228) (119 . 229) (121 . 230) (91 . 231 + ) (5 . 12) (6 . 13) (79 . 142) (92 . 260) (178 . 257) (123 . 258) (124 . + 261) (142 . 305)) ((90 . 140) (117 . 220) (5 . 12) (6 . 13) (92 . 260) ( + 178 . 257) (123 . 304) (91 . -210) (82 . -210)) ((91 . -204) (82 . -204)) + ((-1 . -213)) ((-1 . -195)) ((-1 . -231)) ((91 . 313)) ((24 . 81) (25 . 82 + ) (26 . 83) (145 . 223) (122 . 312)) ((-1 . -217)) ((89 . 311) (-1 . -29)) + ((89 . 310)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) + (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) + (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) + (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) ( + 81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) ( + 169 . 307) (24 . 81) (25 . 82) (26 . 83) (145 . 250) (89 . 308) (43 . 309) + ) ((-1 . -124)) ((-1 . -131)) ((-1 . -144)) ((94 . -153) (-1 . -153)) ((94 + . -154) (-1 . -154)) ((83 . 306) (21 . 67) (27 . 68) (28 . 69) (29 . 70) + (30 . 71) (31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 + . 78) (39 . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 + . 86) (138 . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) ( + 146 . 204) (130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((-1 . -147)) ( + (5 . 12) (6 . 13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280 + ) (142 . 305)) ((5 . 12) (6 . 13) (92 . 279) (178 . 257) (123 . 304)) ((7 + . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) ( + 178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 + . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 + . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7 + ) (156 . 14) (155 . 15) (154 . 19) (153 . 28) (152 . 295) (127 . 303)) (( + 59 . 302) (47 . -162) (82 . -162)) ((47 . -160) (82 . -160)) ((47 . 300) ( + 82 . 301)) ((83 . 299) (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) ( + 31 . 72) (32 . 73) (33 . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 + . 79) (24 . 81) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 + . 87) (40 . 88) (139 . 89) (140 . 90) (41 . 91) (145 . 203) (146 . 204) ( + 130 . 206) (132 . 275) (94 . 205) (131 . 276)) ((-1 . -167)) ((83 . 297) ( + 5 . 12) (6 . 13) (178 . 199) (125 . 298)) ((7 . 8) (2 . 9) (3 . 10) (4 . + 11) (5 . 12) (6 . 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) + (77 . 22) (78 . 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) ( + 85 . 31) (86 . 32) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) ( + 161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (156 . 14) (155 . 15) ( + 154 . 19) (153 . 28) (152 . 295) (127 . 296)) ((82 . 293) (83 . 294)) ((-1 + . -65)) ((91 . -19) (82 . -19)) ((91 . -17) (82 . -17)) ((5 . 12) (6 . 13 + ) (178 . 199) (125 . 298) (83 . 357)) ((-1 . -165)) ((-1 . -81)) ((83 . + -173) (82 . -173)) ((-1 . -168)) ((83 . -171) (82 . -171)) ((-1 . -146)) ( + (93 . 354) (97 . 355) (148 . 356) (94 . -292) (-1 . -292)) ((5 . 12) (6 . + 13) (79 . 142) (92 . 279) (178 . 257) (123 . 258) (124 . 280) (59 . 281) ( + 142 . 282) (128 . 353)) ((7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . + 13) (176 . 16) (177 . 17) (178 . 18) (75 . 20) (76 . 21) (77 . 22) (78 . + 23) (79 . 24) (80 . 25) (174 . 27) (81 . 29) (164 . 30) (85 . 31) (86 . 32 + ) (173 . 33) (92 . 26) (165 . 60) (163 . 1) (162 . 2) (161 . 3) (160 . 4) + (159 . 5) (158 . 6) (157 . 7) (156 . 14) (155 . 15) (154 . 19) (153 . 28) + (152 . 295) (127 . 352)) ((47 . -164) (82 . -164)) ((90 . 314) (92 . 315) + (-1 . -178)) ((91 . 351)) ((-1 . -143)) ((89 . 350)) ((-1 . -215)) ((163 + . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) ( + 2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16 + ) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) + (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) + (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 349)) ((-1 . + -216)) ((-1 . -228)) ((89 . 347) (24 . 81) (25 . 82) (26 . 83) (145 . 250) + (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 + . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) ( + 176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) ( + 78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) ( + 164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 348) + ) ((-1 . -230)) ((43 . 342) (89 . 343) (163 . 1) (162 . 2) (161 . 3) (160 + . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . + 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 + . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 344) (80 . 25) (92 . + 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . + 33) (165 . 34) (152 . 35) (169 . 345) (24 . 81) (25 . 82) (26 . 83) (145 + . 223) (122 . 346)) ((91 . 338) (5 . 12) (6 . 13) (178 . 339) (120 . 340) + (21 . 67) (27 . 68) (28 . 69) (29 . 70) (30 . 71) (31 . 72) (32 . 73) (33 + . 74) (34 . 75) (35 . 76) (37 . 77) (36 . 78) (39 . 79) (23 . 80) (24 . 81 + ) (25 . 82) (26 . 83) (135 . 84) (136 . 85) (137 . 86) (138 . 87) (40 . 88 + ) (139 . 89) (140 . 90) (41 . 91) (42 . 92) (43 . 93) (44 . 94) (45 . 95) + (46 . 96) (144 . 97) (145 . 146) (146 . 147) (147 . 100) (167 . 227) (118 + . 228) (119 . 229) (121 . 341)) ((82 . -202) (91 . -202)) ((91 . -200)) (( + 89 . 337)) ((-1 . -226)) ((-1 . -221)) ((89 . 336)) ((-1 . -14)) ((83 . + 333) (163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) + (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) + (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) + (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) ( + 164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) + (169 . 244) (141 . 334) (88 . 239) (90 . 240) (114 . 241) (115 . 242) (116 + . 335)) ((83 . -238) (82 . -238)) ((82 . 331) (83 . 332)) ((-1 . -242)) ( + (58 . -244) (88 . -244) (90 . -244)) ((89 . 330)) ((58 . -246) (90 . -246) + (88 . -246)) ((58 . -245) (90 . -245) (88 . -245)) ((163 . 1) (162 . 2) ( + 161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) + (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) ( + 178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 + . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 + . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) (169 . 244) (141 . 334) + (88 . 239) (90 . 240) (114 . 241) (115 . 242) (116 . 335) (83 . 371)) ((83 + . -236) (82 . -236)) ((-1 . -15)) ((83 . -241) (82 . -241)) ((163 . 1) ( + 162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) + (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 + . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 + . 24) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 + . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (84 . 243) (169 . 244) ( + 141 . 370)) ((-1 . -227)) ((-1 . -225)) ((-1 . -192)) ((91 . -206) (82 . + -206)) ((91 . 368) (82 . 369)) ((91 . 367)) ((24 . 81) (25 . 82) (26 . 83) + (145 . 223) (122 . 366)) ((-1 . -185)) ((89 . 365) (-1 . -29)) ((89 . 364 + )) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) (158 . 6) (157 . 7) + (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) (156 . 14) (155 . 15) + (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) (76 . 21) (77 . 22) + (78 . 23) (80 . 25) (92 . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) ( + 85 . 31) (86 . 32) (173 . 33) (165 . 34) (152 . 35) (169 . 360) (24 . 81) + (25 . 82) (26 . 83) (145 . 250) (89 . 361) (43 . 362) (79 . 363)) ((-1 . + -219)) ((89 . 359)) ((89 . 358)) ((-1 . -214)) ((-1 . -181)) ((47 . -163) + (82 . -163)) ((47 . -161) (82 . -161)) ((94 . -301) (-1 . -301)) ((94 . + -293) (-1 . -293)) ((94 . -155) (-1 . -155)) ((-1 . -166)) ((-1 . -220)) ( + (-1 . -218)) ((89 . 376)) ((-1 . -183)) ((163 . 1) (162 . 2) (161 . 3) ( + 160 . 4) (159 . 5) (158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) ( + 5 . 12) (6 . 13) (156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) ( + 154 . 19) (75 . 20) (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 + . 26) (174 . 27) (153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 + . 33) (165 . 34) (152 . 35) (169 . 375)) ((89 . 374) (-1 . -29)) ((-1 . + -184)) ((-1 . -189)) ((163 . 1) (162 . 2) (161 . 3) (160 . 4) (159 . 5) ( + 158 . 6) (157 . 7) (7 . 8) (2 . 9) (3 . 10) (4 . 11) (5 . 12) (6 . 13) ( + 156 . 14) (155 . 15) (176 . 16) (177 . 17) (178 . 18) (154 . 19) (75 . 20) + (76 . 21) (77 . 22) (78 . 23) (79 . 24) (80 . 25) (92 . 26) (174 . 27) ( + 153 . 28) (81 . 29) (164 . 30) (85 . 31) (86 . 32) (173 . 33) (165 . 34) ( + 152 . 35) (169 . 373) (24 . 81) (25 . 82) (26 . 83) (145 . 250)) ((-1 . + -190)) ((-1 . -191)) ((5 . 12) (6 . 13) (178 . 372)) ((83 . -240) (82 . + -240)) ((83 . -237) (82 . -237)) ((91 . -207) (82 . -207)) ((89 . 378)) (( + -1 . -188)) ((89 . 377)) ((-1 . -182)) ((-1 . -187)) ((-1 . -186)))) (define rto-v - #(#f 435 429 429 429 429 428 428 428 428 428 428 428 428 428 428 427 427 - 427 427 423 423 420 420 420 420 420 420 419 419 419 419 419 419 418 418 - 417 417 417 417 416 416 416 415 415 415 414 414 414 414 414 413 413 413 - 412 412 411 411 410 410 409 409 408 408 407 407 424 424 406 406 406 406 - 406 406 406 406 406 406 406 430 430 382 356 356 404 422 422 422 422 422 - 422 422 422 405 405 398 398 402 402 402 402 402 401 401 401 401 401 401 - 401 401 395 395 395 395 395 395 395 395 395 395 395 395 395 395 395 395 - 395 395 395 395 395 395 395 395 395 395 394 394 394 393 393 393 393 392 - 392 392 392 392 392 389 389 388 388 388 388 387 385 385 385 385 384 384 - 383 383 383 391 391 391 391 391 381 381 380 380 400 400 400 399 397 397 - 378 378 378 378 378 378 378 378 378 378 378 378 378 379 379 379 379 377 - 377 376 376 374 374 373 373 373 375 375 426 426 421 421 421 372 372 372 - 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 372 - 390 396 396 396 425 425 425 425 371 370 370 369 369 359 368 367 367 367 - 367 367 367 367 366 366 366 365 365 358 358 357 357 364 364 363 363 363 - 362 362 362 355 355 355 354 354 361 361 361 361 361 434 434 353 352 351 - 351 351 351 351 350 350 349 349 403 403 433 433 432 432 432 431 431 348 - 386 360)) + #(#f 180 174 174 174 174 173 173 173 173 173 173 173 173 173 173 172 172 + 172 172 168 168 165 165 165 165 165 165 164 164 164 164 164 164 163 163 + 162 162 162 162 161 161 161 160 160 160 159 159 159 159 159 158 158 158 + 157 157 156 156 155 155 154 154 153 153 152 152 169 169 151 151 151 151 + 151 151 151 151 151 151 151 175 175 127 103 103 149 167 167 167 167 167 + 167 167 167 150 150 143 143 147 147 147 147 147 146 146 146 146 146 146 + 146 146 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 140 + 140 140 140 140 140 140 140 140 140 140 139 139 139 138 138 138 138 137 + 137 137 137 137 137 134 134 133 133 133 133 132 130 130 130 130 129 129 + 128 128 128 136 136 136 136 136 126 126 125 125 145 145 145 144 142 142 + 123 123 123 123 123 123 123 123 123 123 123 123 123 124 124 124 124 122 + 122 121 121 119 119 118 118 118 120 120 171 171 166 166 166 117 117 117 + 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 117 + 135 141 141 141 170 170 170 170 116 115 115 114 114 106 106 106 106 106 + 106 106 113 113 113 112 112 105 105 104 104 111 111 110 110 110 109 109 + 109 102 102 102 101 101 108 108 108 108 108 179 179 100 100 100 100 100 99 + 99 98 98 148 148 178 178 177 177 177 176 176 97 131 107)) (define mtab '((cpp-stmt . 1) ($chlit . 2) ($float . 3) ($fixed . 4) (cpp-ident . 5) ( - $ident . 6) ("}" . 7) ("{" . 8) ($string . 9) ("extern" . 10) (";" . 11) ( - "return" . 12) (";" . 11) ("return" . 12) (";" . 11) ("break" . 16) (";" - . 11) ("continue" . 18) (";" . 11) ("goto" . 20) (";" . 11) (";" . 11) ( - ")" . 23) (";" . 11) ("(" . 25) ("for" . 26) (";" . 11) (")" . 23) ("(" . - 25) ("while" . 30) ("do" . 31) (")" . 23) ("(" . 25) ("while" . 30) (")" - . 23) ("(" . 25) ("switch" . 37) ("else" . 38) (")" . 23) ("(" . 25) ("if" - . 41) (then . 42) (")" . 23) ("(" . 25) ("if" . 41) (";" . 11) (";" . 11) - ("}" . 7) ("{" . 8) ("}" . 7) ("{" . 8) (":" . 52) ("default" . 53) (":" - . 52) ("case" . 55) (":" . 52) ("." . 57) ("]" . 58) ("[" . 59) ("=" . 60) - ("," . 61) ("," . 61) ("}" . 7) ("," . 61) ("{" . 8) ("}" . 7) ("{" . 8) - (typename . 68) (")" . 23) ("(" . 25) (")" . 23) ("(" . 25) (")" . 23) ( - "(" . 25) (")" . 23) ("(" . 25) ("]" . 58) ("*" . 78) ("[" . 59) ("]" . 58 - ) ("*" . 78) ("[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ( - "static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) - ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . - 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) ("[" - . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . - 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) (")" . 23) ("(" - . 25) ("," . 61) ("," . 61) ("..." . 121) ("," . 61) ("*" . 78) ("*" . 78 - ) ("*" . 78) ("*" . 78) (")" . 23) ("(" . 25) (")" . 23) ("(" . 25) (")" - . 23) ("(" . 25) ("]" . 58) ("*" . 78) ("[" . 59) ("]" . 58) ("*" . 78) ( - "[" . 59) ("]" . 58) ("static" . 84) ("[" . 59) ("]" . 58) ("static" . 84) - ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . 59) ("]" . 58) ("[" . - 59) ("]" . 58) ("[" . 59) (")" . 23) ("(" . 25) ("inline" . 155) ( - "restrict" . 156) ("volatile" . 157) ("const" . 158) ("=" . 60) ("," . 61) - ("enum" . 161) ("}" . 7) ("," . 61) ("{" . 8) ("enum" . 161) ("}" . 7) ( - "{" . 8) ("enum" . 161) ("}" . 7) ("," . 61) ("{" . 8) ("enum" . 161) ("}" - . 7) ("{" . 8) ("enum" . 161) (":" . 52) (":" . 52) ("," . 61) (";" . 11) - ("union" . 180) ("}" . 7) ("{" . 8) ("union" . 180) ("}" . 7) ("{" . 8) ( - "union" . 180) ("struct" . 187) ("}" . 7) ("{" . 8) ("struct" . 187) ("}" - . 7) ("{" . 8) ("struct" . 187) ("_Complex" . 194) ("double" . 195) ( - "long" . 196) ("_Complex" . 194) ("double" . 195) ("_Complex" . 194) ( - "float" . 200) ("_Complex" . 194) ("double" . 195) ("long" . 196) ( - "double" . 195) ("float" . 200) ("char" . 206) ("unsigned" . 207) ("char" - . 206) ("signed" . 209) ("char" . 206) ("long" . 196) ("long" . 196) ( - "unsigned" . 207) ("int" . 214) ("long" . 196) ("long" . 196) ("unsigned" - . 207) ("long" . 196) ("unsigned" . 207) ("int" . 214) ("long" . 196) ( - "unsigned" . 207) ("unsigned" . 207) ("int" . 214) ("unsigned" . 207) ( - "short" . 226) ("unsigned" . 207) ("int" . 214) ("short" . 226) ( - "unsigned" . 207) ("int" . 214) ("long" . 196) ("long" . 196) ("signed" . - 209) ("long" . 196) ("long" . 196) ("signed" . 209) ("int" . 214) ("long" - . 196) ("long" . 196) ("long" . 196) ("long" . 196) ("int" . 214) ("long" - . 196) ("signed" . 209) ("long" . 196) ("signed" . 209) ("int" . 214) ( - "long" . 196) ("long" . 196) ("int" . 214) ("signed" . 209) ("signed" . - 209) ("int" . 214) ("int" . 214) ("short" . 226) ("signed" . 209) ("short" - . 226) ("signed" . 209) ("int" . 214) ("short" . 226) (imp . 262) ( - "short" . 226) ("_Bool" . 264) ("void" . 265) ("typedef" . 266) ("static" - . 84) ("register" . 268) ("extern" . 10) ("auto" . 270) ("=" . 60) ("," . - 61) (";" . 11) (";" . 11) ("," . 61) ("|=" . 276) ("^=" . 277) ("&=" . 278 - ) (">>=" . 279) ("<<=" . 280) ("%=" . 281) ("/=" . 282) ("*=" . 283) ("-=" - . 284) ("+=" . 285) ("=" . 60) (":" . 52) ("?" . 288) ("||" . 289) ("&&" - . 290) ("|" . 291) ("^" . 292) ("&" . 293) ("!=" . 294) ("==" . 295) (">=" - . 296) ("<=" . 297) (">" . 298) ("<" . 299) (">>" . 300) ("<<" . 301) ( - "-" . 302) ("+" . 303) ("%" . 304) ("/" . 305) ("*" . 78) (")" . 23) ("(" - . 25) ("!" . 309) ("~" . 310) ("-" . 302) ("+" . 303) ("*" . 78) ("&" . - 293) (")" . 23) ("(" . 25) ("sizeof" . 317) ("sizeof" . 317) ("--" . 319) - ("++" . 320) ("," . 61) ("," . 61) ("}" . 7) ("," . 61) ("{" . 8) (")" . - 23) ("(" . 25) ("}" . 7) ("{" . 8) (")" . 23) ("(" . 25) ("--" . 319) ( - "++" . 320) ("->" . 334) ("." . 57) (")" . 23) ("(" . 25) (")" . 23) ("(" - . 25) ("]" . 58) ("[" . 59) (")" . 23) ("(" . 25) ($code-comm . 344) ( - $lone-comm . 345) ($error . 346) ($end . 347))) + $ident . 6) ($string . 7) ("return" . 8) ("break" . 9) ("continue" . 10) ( + "goto" . 11) ("for" . 12) ("do" . 13) ("while" . 14) ("switch" . 15) ( + "else" . 16) (then . 17) ("if" . 18) ("default" . 19) ("case" . 20) ( + typename . 21) ("..." . 22) ("inline" . 23) ("restrict" . 24) ("volatile" + . 25) ("const" . 26) ("enum" . 27) ("union" . 28) ("struct" . 29) ( + "_Complex" . 30) ("double" . 31) ("float" . 32) ("char" . 33) ("unsigned" + . 34) ("long" . 35) ("signed" . 36) ("int" . 37) (imp . 38) ("short" . 39) + ("_Bool" . 40) ("void" . 41) ("typedef" . 42) ("static" . 43) ("register" + . 44) ("extern" . 45) ("auto" . 46) (";" . 47) ("|=" . 48) ("^=" . 49) ( + "&=" . 50) (">>=" . 51) ("<<=" . 52) ("%=" . 53) ("/=" . 54) ("*=" . 55) ( + "-=" . 56) ("+=" . 57) ("=" . 58) (":" . 59) ("?" . 60) ("||" . 61) ("&&" + . 62) ("|" . 63) ("^" . 64) ("!=" . 65) ("==" . 66) (">=" . 67) ("<=" . 68 + ) (">" . 69) ("<" . 70) (">>" . 71) ("<<" . 72) ("%" . 73) ("/" . 74) ("!" + . 75) ("~" . 76) ("-" . 77) ("+" . 78) ("*" . 79) ("&" . 80) ("sizeof" . + 81) ("," . 82) ("}" . 83) ("{" . 84) ("--" . 85) ("++" . 86) ("->" . 87) ( + "." . 88) ("]" . 89) ("[" . 90) (")" . 91) ("(" . 92) ($code-comm . 93) ( + $lone-comm . 94) ($error . 95) ($end . 96))) ;;; end tables diff --git a/module/nyacc/lang/c99/mach.d/cppact.scm b/module/nyacc/lang/c99/mach.d/cppact.scm index 4c6ac07c..f0b800fa 100644 --- a/module/nyacc/lang/c99/mach.d/cppact.scm +++ b/module/nyacc/lang/c99/mach.d/cppact.scm @@ -1,6 +1,6 @@ ;; ./mach.d/cppact.scm -;; +;; Copyright (C) 2016,2017 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, ;; or any later version published by the Free Software Foundation. See diff --git a/module/nyacc/lang/c99/mach.d/cpptab.scm b/module/nyacc/lang/c99/mach.d/cpptab.scm index 98141bbf..80945c53 100644 --- a/module/nyacc/lang/c99/mach.d/cpptab.scm +++ b/module/nyacc/lang/c99/mach.d/cpptab.scm @@ -1,6 +1,6 @@ ;; ./mach.d/cpptab.scm -;; +;; Copyright (C) 2016,2017 Matthew R. Wette ;; ;; This software is covered by the GNU GENERAL PUBLIC LICENCE, Version 3, ;; or any later version published by the Free Software Foundation. See diff --git a/module/nyacc/lang/c99/mach.scm b/module/nyacc/lang/c99/mach.scm index 20f7ac7e..9f29c9e3 100644 --- a/module/nyacc/lang/c99/mach.scm +++ b/module/nyacc/lang/c99/mach.scm @@ -1,6 +1,6 @@ ;;; lang/c99/mach.scm ;;; -;;; Copyright (C) 2015,2016 Matthew R. Wette +;;; Copyright (C) 2015-2017 Matthew R. Wette ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -26,9 +26,7 @@ #:use-module (nyacc parse) #:use-module (nyacc lex) #:use-module (nyacc util) - #:use-module ((srfi srfi-9) #:select (define-record-type)) #:use-module ((srfi srfi-43) #:select (vector-map)) - #:use-module ((sxml xpath) #:select (sxpath)) ) ;; @item c99-spec @@ -38,16 +36,15 @@ ;; The output of the end parser will be a SXML tree (w/o the @code{*TOP*} node. (define c99-spec (lalr-spec - (notice (string-append "Copyright 2016,2017 Matthew R. Wette" lang-crn-lic)) + (notice (string-append "Copyright (C) 2016,2017 Matthew R. Wette" + lang-crn-lic)) (prec< 'then "else") ; "then/else" SR-conflict resolution (prec< 'imp ; "implied type" SR-conflict resolution "char" "short" "int" "long" "float" "double" "_Complex") - (start translation-unit-proxy) + (start translation-unit) (grammar - (translation-unit-proxy (translation-unit ($$ (tl->list $1)))) - ;; expressions (primary-expression ; S 6.5.1 (identifier ($$ `(p-expr ,$1))) @@ -540,8 +537,6 @@ ;; statements (statement - (($$ (cpp-ok!)) statement-1 ($$ $2))) - (statement-1 (labeled-statement) (compound-statement) (expression-statement) @@ -602,7 +597,7 @@ (expression)) (jump-statement ; S 6.8.6 - ("goto" identifier ";" ($$ `(goto $2))) + ("goto" identifier ";" ($$ `(goto ,$2))) ("continue" ";" ($$ '(continue))) ("break" ";" ($$ '(break))) ("return" expression ";" ($$ `(return ,$2))) @@ -610,24 +605,25 @@ ) ;; external definitions - (translation-unit + (translation-unit (external-declaration-list ($$ (tl->list $1)))) + + (external-declaration-list (external-declaration ($$ (make-tl 'trans-unit $1))) - (translation-unit + (external-declaration-list external-declaration - ($$ (if (eqv? (sx-tag $2) 'extern-block) (tl-extend $1 (sx-tail $2)) + ;; A ``kludge'' to deal with @code{extern "C" ...}: + ($$ (if (eqv? (sx-tag $2) 'extern-block) (tl-extend $1 (sx-tail $2 2)) (tl-append $1 $2)))) ) (external-declaration - (($$ (cpp-ok!)) external-declaration-1 ($$ $2))) - (external-declaration-1 (function-definition) (declaration) (lone-comment) (cpp-statement) - ;; The following is a kludge to deal with @code{extern "C" @{ ...}. - ("extern" $string "{" translation-unit "}" - ($$ `(extern-block $2 (extern-C-begin) $4 (extern-C-end)))) + ("extern" $string "{" external-declaration-list "}" + ($$ `(extern-block ,$2 (extern-begin ,$2) + ,@(sx-tail (tl->list $4) 1) (extern-end)))) ) (function-definition @@ -697,15 +693,16 @@ (xdef? #f) ; expand def function: proc name mode (debug #f)) ; debug (catch - 'parse-error + #t ;; 'c99-error 'cpp-error 'nyacc-error (lambda () (let ((info (make-cpi debug cpp-defs (cons "." inc-dirs) td-dict))) - (with-fluid* *info* info - (lambda () - (raw-parser (gen-c-lexer #:mode mode #:xdef? xdef?) - #:debug debug))))) + (with-fluid* + *info* info + (lambda () + (raw-parser (gen-c-lexer #:mode mode #:xdef? xdef?) + #:debug debug))))) (lambda (key fmt . rest) - (apply simple-format (current-error-port) (string-append fmt "\n") rest) + (report-error fmt rest) #f))) (define dev-parse-c dev-parse-c99) @@ -729,9 +726,7 @@ (b (move-if-changed (xtra-dir "c99tab.scm.new") (xtra-dir "c99tab.scm")))) (when (or a b) - (system (string-append "touch " (lang-dir "parser.scm"))) - #;(compile-file (lang-dir "parser.scm")) - ))) + (system (string-append "touch " (lang-dir "parser.scm")))))) ;; @item gen-c99x-files [dir] => #t ;; Update or generate the files @quot{c99xact.scm} and @quot{c99xtab.scm}. diff --git a/module/nyacc/lang/c99/parser.scm b/module/nyacc/lang/c99/parser.scm index 0af1a342..80f94f31 100644 --- a/module/nyacc/lang/c99/parser.scm +++ b/module/nyacc/lang/c99/parser.scm @@ -1,6 +1,6 @@ ;;; nyacc/lang/c99/parser.scm ;;; -;;; Copyright (C) 2015 Matthew R. Wette +;;; Copyright (C) 2015-2017 Matthew R. Wette ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -18,14 +18,15 @@ ;; C parser (define-module (nyacc lang c99 parser) - #:export (parse-c parse-c99 def-xdef? std-dict) + #:export (parse-c99 + def-xdef? c99-std-dict + gen-c-lexer + gen-gcc-defs + ) #:use-module (nyacc lex) #:use-module (nyacc parse) #:use-module (nyacc lang util) #:use-module (nyacc lang c99 cpp) - #:use-module ((srfi srfi-9) #:select (define-record-type)) - #:use-module ((sxml xpath) #:select (sxpath)) - ;;#:use-module (nyacc lang c99 my-parse) ) (cond-expand @@ -40,53 +41,75 @@ (include-from-path "nyacc/lang/c99/mach.d/c99act.scm") ;; Parse given a token generator. Uses fluid @code{*info*}. +;; A little ugly wrt re-throw but (define raw-parser - ;;(make-c99-ia-parser - (make-lalr-parser - (list - (cons 'len-v len-v) - (cons 'pat-v pat-v) - (cons 'rto-v rto-v) - (cons 'mtab mtab) - (cons 'act-v act-v)))) - -(define* (my-c-lexer #:key (mode 'file) (xdef? #f)) - (let ((def-lxr (gen-c-lexer #:mode mode #:xdef? xdef?))) - (lambda () - (let ((tok (def-lxr))) - ;;(simple-format #t "~S\n" tok) - tok)))) + (let ((c99-parser (make-lalr-parser + (list (cons 'len-v len-v) (cons 'pat-v pat-v) + (cons 'rto-v rto-v) (cons 'mtab mtab) + (cons 'act-v act-v))))) + (lambda* (lexer #:key (debug #f)) + (with-throw-handler + 'nyacc-error + (lambda () (c99-parser lexer #:debug debug)) + (lambda (key fmt . args) (apply throw 'c99-error fmt args)))))) +;; This is used to parse included files at top level. (define (run-parse) (let ((info (fluid-ref *info*))) - ;;(raw-parser (my-c-lexer) #:debug (cpi-debug info)))) (raw-parser (gen-c-lexer) #:debug (cpi-debug info)))) -;; @item parse-c [#:cpp-defs def-a-list] [#:inc-dirs dir-list] [#:debug bool] \ -;; [#:mode ('code|'file)] +;; @deffn parse-c99 [#:cpp-defs def-a-list] [#:inc-dirs dir-list] \ +;; [#:mode ('code|'file)] [#:debug bool] ;; This needs to be explained in some detail. ;; tdd = typedef dict: (("