From 590c069158867db9b4a3e2e6c70c92e93ab0ab7a Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Tue, 23 Mar 2010 00:18:50 -0400 Subject: [PATCH] CoffeeScript 0.5.6 --- documentation/coffee/binding.coffee | 5 + documentation/coffee/conditionals.coffee | 2 +- .../coffee/interpolation_expression.coffee | 2 + .../coffee/patterns_and_splats.coffee | 7 + documentation/docs/coffee-script.html | 11 +- documentation/docs/command.html | 2 +- documentation/docs/grammar.html | 18 +- documentation/docs/helpers.html | 14 +- documentation/docs/lexer.html | 151 ++++--- documentation/docs/nodes.html | 427 +++++++++++------- documentation/docs/rewriter.html | 38 +- documentation/docs/underscore.html | 11 +- documentation/index.html.erb | 73 ++- documentation/js/binding.js | 12 + documentation/js/expressions.js | 6 +- documentation/js/expressions_assignment.js | 2 +- documentation/js/heredocs.js | 2 +- documentation/js/interpolation_expression.js | 6 +- documentation/js/overview.js | 2 +- documentation/js/patterns_and_splats.js | 8 + documentation/js/scope.js | 3 +- documentation/js/splats.js | 5 +- examples/underscore.coffee | 11 +- extras/coffee-script.js | 2 +- index.html | 195 +++++--- lib/coffee-script.js | 2 +- lib/helpers.js | 6 +- lib/lexer.js | 44 +- lib/nodes.js | 109 ++--- lib/optparse.js | 2 +- lib/rewriter.js | 2 +- lib/scope.js | 2 +- package.json | 2 +- src/coffee-script.coffee | 2 +- src/lexer.coffee | 4 +- src/nodes.coffee | 11 +- 36 files changed, 744 insertions(+), 457 deletions(-) create mode 100644 documentation/coffee/binding.coffee create mode 100644 documentation/coffee/patterns_and_splats.coffee create mode 100644 documentation/js/binding.js create mode 100644 documentation/js/patterns_and_splats.js diff --git a/documentation/coffee/binding.coffee b/documentation/coffee/binding.coffee new file mode 100644 index 00000000..651274a0 --- /dev/null +++ b/documentation/coffee/binding.coffee @@ -0,0 +1,5 @@ +url: "documentation/coffee/binding.coffee" + +get_source: jQuery.get <- jQuery, url + +get_source (response) -> alert response diff --git a/documentation/coffee/conditionals.coffee b/documentation/coffee/conditionals.coffee index 50c18c43..0e59bdd9 100644 --- a/documentation/coffee/conditionals.coffee +++ b/documentation/coffee/conditionals.coffee @@ -6,4 +6,4 @@ if happy and knows_it date: if friday then sue else jill -expensive ||= do_the_math() \ No newline at end of file +expensive: or do_the_math() \ No newline at end of file diff --git a/documentation/coffee/interpolation_expression.coffee b/documentation/coffee/interpolation_expression.coffee index ed210d35..19b0da87 100644 --- a/documentation/coffee/interpolation_expression.coffee +++ b/documentation/coffee/interpolation_expression.coffee @@ -1,4 +1,6 @@ sentence: "${ 22 / 7 } is a decent approximation of π" +sep: "[.\\/\\- ]" +dates: /\d+$sep\d+$sep\d+/g diff --git a/documentation/coffee/patterns_and_splats.coffee b/documentation/coffee/patterns_and_splats.coffee new file mode 100644 index 00000000..b18cf23b --- /dev/null +++ b/documentation/coffee/patterns_and_splats.coffee @@ -0,0 +1,7 @@ +tag: "" + +[open, contents..., close]: tag.split("") + + + + diff --git a/documentation/docs/coffee-script.html b/documentation/docs/coffee-script.html index 78845f99..7e9d0ecd 100644 --- a/documentation/docs/coffee-script.html +++ b/documentation/docs/coffee-script.html @@ -16,9 +16,9 @@ execute all scripts present in text/coffeescript tags.

this.exports: this.CoffeeScript: {} Lexer: this.Lexer parser: this.parser - helpers: this.helpers
#

The current CoffeeScript version number.

exports.VERSION: '0.5.5'
#

Instantiate a Lexer for our use here.

lexer: new Lexer()
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison + helpers: this.helpers

#

The current CoffeeScript version number.

exports.VERSION: '0.5.6'
#

Instantiate a Lexer for our use here.

lexer: new Lexer()
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison compiler.

exports.compile: compile: (code, options) ->
-  options ||= {}
+  options: or {}
   try
     (parser.parse lexer.tokenize code).compile options
   catch err
@@ -28,10 +28,11 @@ compiler.

.compile() on the root, or traverse it by using .traverse() with a callback.

exports.nodes: (code) ->
   parser.parse lexer.tokenize code
#

Compile and execute a string of CoffeeScript (on the server), correctly -setting __filename, __dirname, and relative require().

exports.run: (code, options) ->
+setting __filename, __dirname, and relative require().

exports.run: ((code, options) ->
   module.filename: __filename: options.source
   __dirname: path.dirname __filename
-  eval exports.compile code, options
#

Extend CoffeeScript with a custom language extension. It should hook in to + eval exports.compile code, options +)

#

Extend CoffeeScript with a custom language extension. It should hook in to the Lexer (as a peer of any of the lexer's tokenizing methods), and push a token on to the stack that contains a Node as the value (as a peer of the nodes in nodes.coffee).

exports.extend: (func) ->
@@ -40,7 +41,7 @@ thin wrapper around it, compatible with the Jison API. We can then pass it
 directly as a "Jison lexer".

parser.lexer: {
   lex: ->
     token: @tokens[@pos] or [""]
-    @pos += 1
+    @pos: + 1
     this.yylineno: token[2]
     this.yytext:   token[1]
     token[0]
diff --git a/documentation/docs/command.html b/documentation/docs/command.html
index 0fa50397..5e4ea7c7 100644
--- a/documentation/docs/command.html
+++ b/documentation/docs/command.html
@@ -70,7 +70,7 @@ and write them back to stdout.

code: '' process.stdio.open() process.stdio.addListener 'data', (string) -> - code += string if string + code: + string if string process.stdio.addListener 'close', -> compile_script 'stdio', code
#

Watch a list of source CoffeeScript files using fs.watchFile, recompiling them every time the files are updated. May be used in combination with other diff --git a/documentation/docs/grammar.html b/documentation/docs/grammar.html index eed142f7..f7538f49 100644 --- a/documentation/docs/grammar.html +++ b/documentation/docs/grammar.html @@ -48,6 +48,7 @@ CoffeeScript is the Expression -- you'll notice that there is n of many other rules, making them somewhat circular.

  Expression: [
     o "Value"
     o "Call"
+    o "Curry"
     o "Code"
     o "Operation"
     o "Assign"
@@ -169,6 +170,10 @@ and calling super()

o "Invocation" o "NEW Invocation", -> $2.new_instance() o "Super" + ] + + Curry: [ + o "Value <- Arguments", -> new CurryNode $1, $3 ]
#

Extending an object by setting its prototype chain to reference a parent object.

  Extends: [
     o "Value EXTENDS Value",                    -> new ExtendsNode $1, $3
@@ -284,7 +289,6 @@ rules are necessary.

o "!! Expression", -> new OpNode '!!', $2 o("- Expression", (-> new OpNode('-', $2)), {prec: 'UMINUS'}) o("+ Expression", (-> new OpNode('+', $2)), {prec: 'UPLUS'}) - o "NOT Expression", -> new OpNode 'not', $2 o "~ Expression", -> new OpNode '~', $2 o "-- Expression", -> new OpNode '--', $2 o "++ Expression", -> new OpNode '++', $2 @@ -314,13 +318,9 @@ rules are necessary.

o "Expression == Expression", -> new OpNode '==', $1, $3 o "Expression != Expression", -> new OpNode '!=', $1, $3 - o "Expression IS Expression", -> new OpNode 'is', $1, $3 - o "Expression ISNT Expression", -> new OpNode 'isnt', $1, $3 o "Expression && Expression", -> new OpNode '&&', $1, $3 o "Expression || Expression", -> new OpNode '||', $1, $3 - o "Expression AND Expression", -> new OpNode 'and', $1, $3 - o "Expression OR Expression", -> new OpNode 'or', $1, $3 o "Expression ? Expression", -> new OpNode '?', $1, $3 o "Expression -= Expression", -> new OpNode '-=', $1, $3 @@ -347,15 +347,15 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

(2 + 3) * 4
 
operators: [
   ["left",      '?']
-  ["nonassoc",  'UMINUS', 'UPLUS', 'NOT', '!', '!!', '~', '++', '--']
+  ["nonassoc",  'UMINUS', 'UPLUS', '!', '!!', '~', '++', '--']
   ["left",      '*', '/', '%']
   ["left",      '+', '-']
   ["left",      '<<', '>>', '>>>']
   ["left",      '&', '|', '^']
   ["left",      '<=', '<', '>', '>=']
   ["right",     'DELETE', 'INSTANCEOF', 'TYPEOF']
-  ["left",      '==', '!=', 'IS', 'ISNT']
-  ["left",      '&&', '||', 'AND', 'OR']
+  ["left",      '==', '!=']
+  ["left",      '&&', '||']
   ["right",     '-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=']
   ["left",      '.']
   ["right",     'INDENT']
@@ -364,7 +364,7 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

["right", 'FOR', 'NEW', 'SUPER', 'CLASS'] ["left", 'EXTENDS'] ["right", 'ASSIGN', 'RETURN'] - ["right", '->', '=>', 'UNLESS', 'IF', 'ELSE', 'WHILE'] + ["right", '->', '=>', '<-', 'UNLESS', 'IF', 'ELSE', 'WHILE'] ]
#

Wrapping Up

#

Finally, now what we have our grammar and our operators, we can create our Jison.Parser. We do this by processing all of our rules, recording all terminals (every symbol which does not appear as the name of a rule above) diff --git a/documentation/docs/helpers.html b/documentation/docs/helpers.html index 474157e1..f02682fa 100644 --- a/documentation/docs/helpers.html +++ b/documentation/docs/helpers.html @@ -7,7 +7,7 @@ arrays, count characters, that sort of thing.

num: 0 pos: string.indexOf(letter) while pos isnt -1 - num += 1 + num: + 1 pos: string.indexOf(letter, pos + 1) num
#

Merge objects, returning a fresh copy with attributes from both sides. Used every time BaseNode#compile is called, to allow properties in the @@ -30,27 +30,27 @@ looking for a particular method in an options hash.

a series of delimiters, all of which must be nested correctly within the contents of the string. This method allows us to have strings within interpolations within strings, ad infinitum.

helpers.balanced_string: balanced_string: (str, delimited, options) ->
-  options ||= {}
+  options: or {}
   slash: delimited[0][0] is '/'
   levels: []
   i: 0
   while i < str.length
     if levels.length and starts str, '\\', i
-      i += 1
+      i: + 1
     else
       for pair in delimited
         [open, close]: pair
         if levels.length and starts(str, close, i) and levels[levels.length - 1] is pair
           levels.pop()
-          i += close.length - 1
-          i += 1 unless levels.length
+          i: + close.length - 1
+          i: + 1 unless levels.length
           break
         else if starts str, open, i
           levels.push(pair)
-          i += open.length - 1
+          i: + open.length - 1
           break
     break if not levels.length or slash and starts str, '\n', i
-    i += 1
+    i: + 1
   if levels.length
     return false if slash
     throw new Error "SyntaxError: Unterminated ${levels.pop()[0]} starting on line ${@line + 1}"
diff --git a/documentation/docs/lexer.html b/documentation/docs/lexer.html
index 539fce29..ab619d5b 100644
--- a/documentation/docs/lexer.html
+++ b/documentation/docs/lexer.html
@@ -68,17 +68,20 @@ referenced as property names here, so you can still do jQuery.is()
 though is means === otherwise.

  identifier_token: ->
     return false unless id: @match IDENTIFIER, 1
     @name_access_type()
+    accessed: include ACCESSORS, @tag(0)
     tag: 'IDENTIFIER'
-    tag: id.toUpperCase() if include(KEYWORDS, id) and
-      not (include(ACCESSORS, @tag(0)) and not @prev().spaced)
-    @identifier_error id  if include RESERVED, id
-    tag: 'LEADING_WHEN'   if tag is 'WHEN' and include BEFORE_WHEN, @tag()
+    tag: id.toUpperCase()     if not accessed and include(KEYWORDS, id)
+    @identifier_error id      if include RESERVED, id
+    tag: 'LEADING_WHEN'       if tag is 'WHEN' and include LINE_BREAK, @tag()
+    @i: + id.length
+    if not accessed
+      tag: id: CONVERSIONS[id]         if include COFFEE_ALIASES, id
+      return @tag_half_assignment(tag) if @prev() and @prev()[0] is 'ASSIGN' and include HALF_ASSIGNMENTS, tag
     @token(tag, id)
-    @i += id.length
     true
#

Matches numbers, including decimals, hex, and exponential notation.

  number_token: ->
     return false unless number: @match NUMBER, 1
     @token 'NUMBER', number
-    @i += number.length
+    @i: + number.length
     true
#

Matches strings, including multi-line strings. Ensures that quotation marks are balanced within the string's contents, and within nested interpolations.

  string_token: ->
     return false unless starts(@chunk, '"') or starts(@chunk, "'")
@@ -86,20 +89,21 @@ are balanced within the string's contents, and within nested interpolations.

@balanced_token(['"', '"'], ['${', '}']) or @balanced_token ["'", "'"] @interpolate_string string.replace(STRING_NEWLINES, " \\\n") - @line += count string, "\n" - @i += string.length + @line: + count string, "\n" + @i: + string.length true
#

Matches heredocs, adjusting indentation to the correct level, as heredocs preserve whitespace, but ignore indentation to the left.

  heredoc_token: ->
-    return false unless match = @chunk.match(HEREDOC)
-    doc: @sanitize_heredoc match[2] or match[4]
-    @token 'STRING', "\"$doc\""
-    @line += count match[1], "\n"
-    @i += match[1].length
+    return false unless match: @chunk.match(HEREDOC)
+    quote: match[1].substr(0, 1)
+    doc: @sanitize_heredoc match[2] or match[4], quote
+    @interpolate_string "$quote$doc$quote"
+    @line: + count match[1], "\n"
+    @i: + match[1].length
     true
#

Matches JavaScript interpolated directly into the source via backticks.

  js_token: ->
     return false unless starts @chunk, '`'
     return false unless script: @balanced_token ['`', '`']
     @token 'JS', script.replace(JS_CLEANER, '')
-    @i += script.length
+    @i: + script.length
     true
#

Matches regular expression literals. Lexing regular expressions is difficult to distinguish from division, so we borrow some basic heuristics from JavaScript and Ruby, borrow slash balancing from @balanced_token, and @@ -107,26 +111,28 @@ borrow interpolation from @interpolate_string.

return false unless @chunk.match REGEX_START return false if include NOT_REGEX, @tag() return false unless regex: @balanced_token ['/', '/'] - regex += (flags: @chunk.substr(regex.length).match(REGEX_FLAGS)) + regex: + (flags: @chunk.substr(regex.length).match(REGEX_FLAGS)) if regex.match REGEX_INTERPOLATION str: regex.substring(1).split('/')[0] str: str.replace REGEX_ESCAPE, (escaped) -> '\\' + escaped @tokens: @tokens.concat [['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']] @interpolate_string "\"$str\"", yes - @tokens: @tokens.concat [[',', ','], ['STRING', "'$flags'"], [')', ')'], [')', ')']] + @tokens: @tokens.concat [[',', ','], ['STRING', "\"$flags\""], [')', ')'], [')', ')']] else @token 'REGEX', regex - @i += regex.length + @i: + regex.length true
#

Matches a token in which which the passed delimiter pairs must be correctly balanced (ie. strings, JS literals).

  balanced_token: (delimited...) ->
     balanced_string @chunk, delimited
#

Matches and conumes comments. We pass through comments into JavaScript, so they're treated as real tokens, like any other part of the language.

  comment_token: ->
     return false unless comment: @match COMMENT, 1
-    @line += (comment.match(MULTILINER) or []).length
-    lines: comment.replace(COMMENT_CLEANER, '').split(MULTILINER)
-    @token 'COMMENT', compact lines
-    @token 'TERMINATOR', "\n"
-    @i += comment.length
+    @line: + (comment.match(MULTILINER) or []).length
+    lines: compact comment.replace(COMMENT_CLEANER, '').split(MULTILINER)
+    i: @tokens.length - 1
+    if @unfinished()
+      i: - 1 while @tokens[i] and not include LINE_BREAK, @tokens[i][0]
+    @tokens.splice(i + 1, 0, ['COMMENT', lines, @line], ['TERMINATOR', '\n', @line])
+    @i: + comment.length
     true
#

Matches newlines, indents, and outdents, and determines which is which. If we can detect that the current line is continued onto the the next line, then the newline is suppressed:

@@ -139,13 +145,12 @@ then the newline is suppressed:

Keeps track of the level of indentation, because a single outdent token can close multiple indents, so we need to know how far in we happen to be.

  line_token: ->
     return false unless indent: @match MULTI_DENT, 1
-    @line += indent.match(MULTILINER).length
-    @i    += indent.length
+    @line: + indent.match(MULTILINER).length
+    @i   : + indent.length
     prev: @prev(2)
     size: indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length
     next_character: @chunk.match(MULTI_DENT)[4]
-    no_newlines: next_character is '.' or (@value() and @value().match(NO_NEWLINE) and
-      prev and (prev[0] isnt '.') and not @value().match(CODE))
+    no_newlines: next_character is '.' or @unfinished()
     if size is @indent
       return @suppress_newlines() if no_newlines
       return @newline_token(indent)
@@ -162,14 +167,14 @@ inwards past several recorded indents.

while move_out > 0 and @indents.length last_indent: @indents.pop() @token 'OUTDENT', last_indent - move_out -= last_indent + move_out: - last_indent @token 'TERMINATOR', "\n" unless @tag() is 'TERMINATOR' or no_newlines true
#

Matches and consumes non-meaningful whitespace. Tag the previous token as being "spaced", because there are some cases where it makes a difference.

  whitespace_token: ->
     return false unless space: @match WHITESPACE, 1
     prev: @prev()
     prev.spaced: true if prev
-    @i += space.length
+    @i: + space.length
     true
#

Generate a newline token. Consecutive newlines get merged together.

  newline_token: (newlines) ->
     @token 'TERMINATOR', "\n" unless @tag() is 'TERMINATOR'
     true
#

Use a \ at a line-ending to suppress the newline. @@ -182,27 +187,29 @@ here. ; and newlines are both treated as a TERMINATOR, parentheses that indicate a method call from regular parentheses, and so on.

  literal_token: ->
     match: @chunk.match(OPERATOR)
     value: match and match[1]
+    space: match and match[2]
     @tag_parameters() if value and value.match(CODE)
-    value ||= @chunk.substr(0, 1)
-    not_spaced: not @prev() or not @prev().spaced
+    value: or @chunk.substr(0, 1)
+    prev_spaced: @prev() and @prev().spaced
     tag: value
     if value.match(ASSIGNMENT)
       tag: 'ASSIGN'
       @assignment_error() if include JS_FORBIDDEN, @value
     else if value is ';'
       tag: 'TERMINATOR'
-    else if value is '[' and @tag() is '?' and not_spaced
+    else if value is '[' and @tag() is '?' and not prev_spaced
       tag: 'SOAKED_INDEX_START'
       @soaked_index: true
       @tokens.pop()
     else if value is ']' and @soaked_index
       tag: 'SOAKED_INDEX_END'
       @soaked_index: false
-    else if include(CALLABLE, @tag()) and not_spaced
+    else if include(CALLABLE, @tag()) and not prev_spaced
       tag: 'CALL_START'  if value is '('
       tag: 'INDEX_START' if value is '['
+    @i: + value.length
+    return @tag_half_assignment(tag) if space and prev_spaced and @prev()[0] is 'ASSIGN' and include HALF_ASSIGNMENTS, tag
     @token tag, value
-    @i += value.length
     true
#

Token Manipulators

#

As we consume a new IDENTIFIER, look at the previous token to determine if it's a special kind of accessor.

  name_access_type: ->
     @tag(1, 'PROTOTYPE_ACCESS') if @value() is '::'
@@ -212,29 +219,32 @@ if it's a special kind of accessor.

@tokens.splice(-2, 1) else @tag 1, 'PROPERTY_ACCESS'
#

Sanitize a heredoc by escaping internal double quotes and erasing all -external indentation on the left-hand side.

  sanitize_heredoc: (doc) ->
+external indentation on the left-hand side.

  sanitize_heredoc: (doc, quote) ->
     indent: (doc.match(HEREDOC_INDENT) or ['']).sort()[0]
     doc.replace(new RegExp("^" +indent, 'gm'), '')
        .replace(MULTILINER, "\\n")
-       .replace(/"/g, '\\"')
#

A source of ambiguity in our grammar used to be parameter lists in function + .replace(new RegExp(quote, 'g'), '\\"')

#

Tag a half assignment.

  tag_half_assignment: (tag) ->
+    last: @tokens.pop()
+    @tokens.push ["$tag=", "$tag=", last[2]]
+    true
#

A source of ambiguity in our grammar used to be parameter lists in function definitions versus argument lists in function calls. Walk backwards, tagging parameters specially in order to make things easier for the parser.

  tag_parameters: ->
     return if @tag() isnt ')'
     i: 0
     while true
-      i += 1
+      i: + 1
       tok: @prev(i)
       return if not tok
       switch tok[0]
         when 'IDENTIFIER' then tok[0]: 'PARAM'
         when ')'          then tok[0]: 'PARAM_END'
         when '('          then return tok[0]: 'PARAM_START'
-    true
#

Close up all remaining open blocks at the end of the file.

  close_indentation: ->
-    @outdent_token(@indent)
#

The error for when you try to use a forbidden word in JavaScript as + true

#

Close up all remaining open blocks at the end of the file.

  close_indentation: ->
+    @outdent_token(@indent)
#

The error for when you try to use a forbidden word in JavaScript as an identifier.

  identifier_error: (word) ->
-    throw new Error "SyntaxError: Reserved word \"$word\" on line ${@line + 1}"
#

The error for when you try to assign to a reserved word in JavaScript, + throw new Error "SyntaxError: Reserved word \"$word\" on line ${@line + 1}"

#

The error for when you try to assign to a reserved word in JavaScript, like "function" or "default".

  assignment_error: ->
-    throw new Error "SyntaxError: Reserved word \"${@value()}\" on line ${@line + 1} can't be assigned"
#

Expand variables and expressions inside double-quoted strings using + throw new Error "SyntaxError: Reserved word \"${@value()}\" on line ${@line + 1} can't be assigned"

#

Expand variables and expressions inside double-quoted strings using ECMA Harmony's interpolation syntax for substitution of bare variables as well as arbitrary expressions.

@@ -254,13 +264,13 @@ token stream.

[i, pi]: [1, 1] while i < str.length - 1 if starts str, '\\', i - i += 1 + i: + 1 else if match: str.substring(i).match INTERPOLATION [group, interp]: match interp: "this.${ interp.substring(1) }" if starts interp, '@' tokens.push ['STRING', "$quote${ str.substring(pi, i) }$quote"] if pi < i tokens.push ['IDENTIFIER', interp] - i += group.length - 1 + i: + group.length - 1 pi: i + 1 else if (expr: balanced_string str.substring(i), [['${', '}']]) tokens.push ['STRING', "$quote${ str.substring(pi, i) }$quote"] if pi < i @@ -271,11 +281,11 @@ token stream.

tokens.push ['TOKENS', nested] else tokens.push ['STRING', "$quote$quote"] - i += expr.length - 1 + i: + expr.length - 1 pi: i + 1 - i += 1 + i: + 1 tokens.push ['STRING', "$quote${ str.substring(pi, i) }$quote"] if pi < i and pi < str.length - 1 - tokens.unshift ['STRING', "''"] unless tokens[0][0] is 'STRING' + tokens.unshift ['STRING', '""'] unless tokens[0][0] is 'STRING' for token, i in tokens [tag, value]: token if tag is 'TOKENS' @@ -286,18 +296,21 @@ token stream.

else @token tag, value @token '+', '+' if i < tokens.length - 1 - tokens
#

Helpers

#

Add a token to the results, taking note of the line number.

  token: (tag, value) ->
-    @tokens.push([tag, value, @line])
#

Peek at a tag in the current token stream.

  tag: (index, tag) ->
+      tokens
#

Helpers

#

Add a token to the results, taking note of the line number.

  token: (tag, value) ->
+    @tokens.push([tag, value, @line])
#

Peek at a tag in the current token stream.

  tag: (index, tag) ->
     return unless tok: @prev(index)
     return tok[0]: tag if tag?
-    tok[0]
#

Peek at a value in the current token stream.

  value: (index, val) ->
+    tok[0]
#

Peek at a value in the current token stream.

  value: (index, val) ->
     return unless tok: @prev(index)
     return tok[1]: val if val?
-    tok[1]
#

Peek at a previous token, entire.

  prev: (index) ->
-    @tokens[@tokens.length - (index or 1)]
#

Attempt to match a string against the current chunk, returning the indexed + tok[1]

#

Peek at a previous token, entire.

  prev: (index) ->
+    @tokens[@tokens.length - (index or 1)]
#

Attempt to match a string against the current chunk, returning the indexed match if successful, and false otherwise.

  match: (regex, index) ->
     return false unless m: @chunk.match(regex)
-    if m then m[index] else false
#

There are no exensions to the core lexer by default.

Lexer.extensions: []
#

Constants

#

Keywords that CoffeeScript shares in common with JavaScript.

JS_KEYWORDS: [
+    if m then m[index] else false
#

Are we in the midst of an unfinished expression?

  unfinished: ->
+    prev: @prev(2)
+    @value() and @value().match and @value().match(NO_NEWLINE) and
+      prev and (prev[0] isnt '.') and not @value().match(CODE)
#

There are no exensions to the core lexer by default.

Lexer.extensions: []
#

Constants

#

Keywords that CoffeeScript shares in common with JavaScript.

JS_KEYWORDS: [
   "if", "else",
   "true", "false",
   "new", "return",
@@ -306,51 +319,57 @@ match if successful, and false otherwise.

"for", "in", "while", "delete", "instanceof", "typeof", "switch", "super", "extends", "class" -]
#

CoffeeScript-only keywords, which we're more relaxed about allowing. They can't -be used standalone, but you can reference them as an attached property.

COFFEE_KEYWORDS: [
+]
#

CoffeeScript-only keywords, which we're more relaxed about allowing. They can't +be used standalone, but you can reference them as an attached property.

COFFEE_ALIASES:  ["and", "or", "is", "isnt", "not"]
+COFFEE_KEYWORDS: COFFEE_ALIASES.concat [
   "then", "unless",
   "yes", "no", "on", "off",
-  "and", "or", "is", "isnt", "not",
   "of", "by", "where", "when"
-]
#

The combined list of keywords is the superset that gets passed verbatim to -the parser.

KEYWORDS: JS_KEYWORDS.concat COFFEE_KEYWORDS
#

The list of keywords that are reserved by JavaScript, but not used, or are +]

#

The combined list of keywords is the superset that gets passed verbatim to +the parser.

KEYWORDS: JS_KEYWORDS.concat COFFEE_KEYWORDS
#

The list of keywords that are reserved by JavaScript, but not used, or are used by CoffeeScript internally. We throw an error when these are encountered, to avoid having a JavaScript error at runtime.

RESERVED: [
   "case", "default", "do", "function", "var", "void", "with"
   "const", "let", "debugger", "enum", "export", "import", "native",
   "__extends", "__hasProp"
-]
#

The superset of both JavaScript keywords and reserved words, none of which may -be used as identifiers or properties.

JS_FORBIDDEN: JS_KEYWORDS.concat RESERVED
#

Token matching regexes.

IDENTIFIER    : /^([a-zA-Z\$_](\w|\$)*)/
+]
#

The superset of both JavaScript keywords and reserved words, none of which may +be used as identifiers or properties.

JS_FORBIDDEN: JS_KEYWORDS.concat RESERVED
#

Token matching regexes.

IDENTIFIER    : /^([a-zA-Z\$_](\w|\$)*)/
 NUMBER        : /^(\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?)))\b/i
 HEREDOC       : /^("{6}|'{6}|"{3}\n?([\s\S]*?)\n?([ \t]*)"{3}|'{3}\n?([\s\S]*?)\n?([ \t]*)'{3})/
 INTERPOLATION : /^\$([a-zA-Z_@]\w*(\.\w+)*)/
-OPERATOR      : /^([+\*&|\/\-%=<>:!?]+)/
+OPERATOR      : /^([+\*&|\/\-%=<>:!?]+)([ \t]*)/
 WHITESPACE    : /^([ \t]+)/
 COMMENT       : /^(((\n?[ \t]*)?#[^\n]*)+)/
 CODE          : /^((-|=)>)/
 MULTI_DENT    : /^((\n([ \t]*))+)(\.)?/
 LAST_DENTS    : /\n([ \t]*)/g
 LAST_DENT     : /\n([ \t]*)/
-ASSIGNMENT    : /^(:|=)$/
#

Regex-matching-regexes.

REGEX_START        : /^\/[^\/ ]/
+ASSIGNMENT    : /^(:|=)$/
#

Regex-matching-regexes.

REGEX_START        : /^\/[^\/ ]/
 REGEX_INTERPOLATION: /([^\\]\$[a-zA-Z_@]|[^\\]\$\{.*[^\\]\})/
 REGEX_FLAGS        : /^[imgy]{0,4}/
-REGEX_ESCAPE       : /\\[^\$]/g
#

Token cleaning regexes.

JS_CLEANER      : /(^`|`$)/g
+REGEX_ESCAPE       : /\\[^\$]/g
#

Token cleaning regexes.

JS_CLEANER      : /(^`|`$)/g
 MULTILINER      : /\n/g
 STRING_NEWLINES : /\n[ \t]*/g
 COMMENT_CLEANER : /(^[ \t]*#|\n[ \t]*$)/mg
 NO_NEWLINE      : /^([+\*&|\/\-%=<>:!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/
-HEREDOC_INDENT  : /^[ \t]+/mg
#

Tokens which a regular expression will never immediately follow, but which +HEREDOC_INDENT : /^[ \t]+/mg

#

Tokens which a regular expression will never immediately follow, but which a division operator might.

See: http://www.mozilla.org/js/language/js20-2002-04/rationale/syntax.html#regular-expressions

Our list is shorter, due to sans-parentheses method calls.

NOT_REGEX: [
   'NUMBER', 'REGEX', '++', '--', 'FALSE', 'NULL', 'TRUE'
-]
#

Tokens which could legitimately be invoked or indexed. A opening +]

#

Tokens which could legitimately be invoked or indexed. A opening parentheses or bracket following these tokens will be recorded as the start -of a function invocation or indexing operation.

CALLABLE: ['IDENTIFIER', 'SUPER', ')', ']', '}', 'STRING', '@']
#

Tokens that indicate an access -- keywords immediately following will be -treated as identifiers.

ACCESSORS: ['PROPERTY_ACCESS', 'PROTOTYPE_ACCESS', 'SOAK_ACCESS', '@']
#

Tokens that, when immediately preceding a WHEN, indicate that the WHEN +of a function invocation or indexing operation.

CALLABLE: ['IDENTIFIER', 'SUPER', ')', ']', '}', 'STRING', '@']
#

Tokens that indicate an access -- keywords immediately following will be +treated as identifiers.

ACCESSORS: ['PROPERTY_ACCESS', 'PROTOTYPE_ACCESS', 'SOAK_ACCESS', '@']
#

Tokens that, when immediately preceding a WHEN, indicate that the WHEN occurs at the start of a line. We disambiguate these from trailing whens to -avoid an ambiguity in the grammar.

BEFORE_WHEN: ['INDENT', 'OUTDENT', 'TERMINATOR']
+avoid an ambiguity in the grammar.

LINE_BREAK: ['INDENT', 'OUTDENT', 'TERMINATOR']
#

Half-assignments...

HALF_ASSIGNMENTS: ['-', '+', '/', '*', '%', '||', '&&', '?']
#

Conversions from CoffeeScript operators into JavaScript ones.

CONVERSIONS: {
+  'and':  '&&'
+  'or':   '||'
+  'is':   '=='
+  'isnt': '!='
+  'not':  '!'
+}
 
 
\ No newline at end of file diff --git a/documentation/docs/nodes.html b/documentation/docs/nodes.html index 2d7503e0..6a13dcd5 100644 --- a/documentation/docs/nodes.html +++ b/documentation/docs/nodes.html @@ -39,7 +39,8 @@ top-level statement within the function body.

del @options, 'operation' unless this instanceof ValueNode top: if @top_sensitive() then @options.top else del @options, 'top' closure: @is_statement() and not @is_pure_statement() and not top and - not @options.returns and not (this instanceof CommentNode) + not @options.as_statement and not (this instanceof CommentNode) and + not @contains_pure_statement() if closure then @compile_closure(@options) else @compile_node(@options)
#

Statements converted into expressions via closure-wrapping share a scope object with their parent closure, to preserve the expected lexical scope.

  compile_closure: (o) ->
     @tab: o.indent
@@ -52,77 +53,84 @@ by assigning it to a temporary variable.

[compiled, reference]
#

Convenience method to grab the current indentation level, plus tabbing in.

  idt: (tabs) ->
     idt: @tab or ''
     num: (tabs or 0) + 1
-    idt += TAB while num -= 1
-    idt
#

Does this node, or any of its children, contain a node of a certain kind? + idt: + TAB while num: - 1 + idt

#

Construct a node that returns the current node's result. +Note that this is overridden for smarter behavior for +many statement nodes (eg IfNode, ForNode)...

  make_return: ->
+    new ReturnNode this
#

Does this node, or any of its children, contain a node of a certain kind? Recursively traverses down the children of the nodes, yielding to a block and returning true when the block finds a match. contains does not cross scope boundaries.

  contains: (block) ->
     for node in @children
       return true if block(node)
       return true if node.contains and node.contains block
-    false
#

Perform an in-order traversal of the AST. Crosses scope boundaries.

  traverse: (block) ->
+    false
#

Convenience for the most common use of contains. Does the node contain +a pure statement?

  contains_pure_statement: ->
+    @is_pure_statement() or @contains (n) -> n.is_pure_statement()
#

Perform an in-order traversal of the AST. Crosses scope boundaries.

  traverse: (block) ->
     for node in @children
       block node
-      node.traverse block if node.traverse
#

toString representation of the node, for inspecting the parse tree. + node.traverse block if node.traverse

#

toString representation of the node, for inspecting the parse tree. This is what coffee --nodes prints out.

  toString: (idt) ->
-    idt ||= ''
-    '\n' + idt + @type + (child.toString(idt + TAB) for child in @children).join('')
#

Default implementations of the common node identification methods. Nodes + idt: or '' + '\n' + idt + @type + (child.toString(idt + TAB) for child in @children).join('')

#

Default implementations of the common node identification methods. Nodes will override these with custom logic, if needed.

  unwrap:               -> this
   children:             []
   is_statement:         -> false
   is_pure_statement:    -> false
-  top_sensitive:        -> false
#

Expressions

#

The expressions body is the list of expressions that forms the body of an + top_sensitive: -> false

#

Expressions

#

The expressions body is the list of expressions that forms the body of an indented block of code -- the implementation of a function, a clause in an if, switch, or try, and so on...

exports.Expressions: class Expressions extends BaseNode
   type: 'Expressions'
 
   constructor: (nodes) ->
-    @children: @expressions: compact flatten nodes or []
#

Tack an expression on to the end of this expression list.

  push: (node) ->
+    @children: @expressions: compact flatten nodes or []
#

Tack an expression on to the end of this expression list.

  push: (node) ->
     @expressions.push(node)
-    this
#

Add an expression at the beginning of this expression list.

  unshift: (node) ->
+    this
#

Add an expression at the beginning of this expression list.

  unshift: (node) ->
     @expressions.unshift(node)
-    this
#

If this Expressions consists of just a single node, unwrap it by pulling + this

#

If this Expressions consists of just a single node, unwrap it by pulling it back out.

  unwrap: ->
-    if @expressions.length is 1 then @expressions[0] else this
#

Is this an empty block of code?

  empty: ->
-    @expressions.length is 0
#

Is the given node the last one in this block of expressions?

  is_last: (node) ->
-    l: @expressions.length
-    last_index: if @expressions[l - 1] instanceof CommentNode then 2 else 1
-    node is @expressions[l - last_index]
#

An Expressions is the only node that can serve as the root.

  compile: (o) ->
-    o ||= {}
+    if @expressions.length is 1 then @expressions[0] else this
#

Is this an empty block of code?

  empty: ->
+    @expressions.length is 0
#

Make a copy of this node.

  copy: ->
+    new Expressions @children.slice()
#

An Expressions node does not return its entire body, rather it +ensures that the final expression is returned.

  make_return: ->
+    idx:  @expressions.length - 1
+    last: @expressions[idx]
+    last: @expressions[idx: - 1] if last instanceof CommentNode
+    return this if not last or last instanceof ReturnNode
+    @expressions[idx]: last.make_return() unless last.contains_pure_statement()
+    this
#

An Expressions is the only node that can serve as the root.

  compile: (o) ->
+    o: or {}
     if o.scope then super(o) else @compile_root(o)
 
   compile_node: (o) ->
-    (@compile_expression(node, merge(o)) for node in @expressions).join("\n")
#

If we happen to be the top-level Expressions, wrap everything in + (@compile_expression(node, merge(o)) for node in @expressions).join("\n")

#

If we happen to be the top-level Expressions, wrap everything in a safety closure, unless requested not to.

  compile_root: (o) ->
     o.indent: @tab: if o.no_wrap then '' else TAB
     o.scope: new Scope(null, this, null)
     code: if o.globals then @compile_node(o) else @compile_with_declarations(o)
     code: code.replace(TRAILING_WHITESPACE, '')
-    if o.no_wrap then code else "(function(){\n$code\n})();\n"
#

Compile the expressions body for the contents of a function, with + if o.no_wrap then code else "(function(){\n$code\n})();\n"

#

Compile the expressions body for the contents of a function, with declarations of all inner variables pushed up to the top.

  compile_with_declarations: (o) ->
     code: @compile_node(o)
     code: "${@tab}var ${o.scope.compiled_assignments()};\n$code"  if o.scope.has_assignments(this)
     code: "${@tab}var ${o.scope.compiled_declarations()};\n$code" if o.scope.has_declarations(this)
-    code
#

Compiles a single expression within the expressions body. If we need to + code

#

Compiles a single expression within the expressions body. If we need to return the result, and it's an expression, simply return it. If it's a statement, ask the statement to do so.

  compile_expression: (node, o) ->
     @tab: o.indent
-    stmt:    node.is_statement()
-    returns: del(o, 'returns') and @is_last(node) and not node.is_pure_statement()
-    return (if stmt then '' else @idt()) + node.compile(merge(o, {top: true})) + (if stmt then '' else ';') unless returns
-    return node.compile(merge(o, {returns: true})) if node.is_statement()
-    "${@tab}return ${node.compile(o)};"
#

Wrap up the given nodes as an Expressions, unless it already happens + compiled_node: node.compile merge o, {top: true} + if node.is_statement() then compiled_node else "${@idt()}$compiled_node;"

#

Wrap up the given nodes as an Expressions, unless it already happens to be one.

Expressions.wrap: (nodes) ->
   return nodes[0] if nodes.length is 1 and nodes[0] instanceof Expressions
   new Expressions(nodes)
 
-statement Expressions
#

LiteralNode

#

Literals are static values that can be passed through directly into +statement Expressions

#

LiteralNode

#

Literals are static values that can be passed through directly into JavaScript without translation, such as: strings, numbers, true, false, null...

exports.LiteralNode: class LiteralNode extends BaseNode
   type: 'Literal'
 
   constructor: (value) ->
-    @value: value
#

Break and continue must be treated as pure statements -- they lose their + @value: value

#

Break and continue must be treated as pure statements -- they lose their meaning when wrapped in a closure.

  is_statement: ->
     @value is 'break' or @value is 'continue'
   is_pure_statement: LiteralNode::is_statement
@@ -133,7 +141,7 @@ meaning when wrapped in a closure.

"$idt$@value$end" toString: (idt) -> - " \"$@value\""
#

ReturnNode

#

A return is a pure_statement -- wrapping it in a closure wouldn't + " \"$@value\""

#

ReturnNode

#

A return is a pure_statement -- wrapping it in a closure wouldn't make sense.

exports.ReturnNode: class ReturnNode extends BaseNode
   type: 'Return'
 
@@ -141,31 +149,34 @@ make sense.

@children: [@expression: expression] compile_node: (o) -> - return @expression.compile(merge(o, {returns: true})) if @expression.is_statement() + o.as_statement: true if @expression.is_statement() "${@tab}return ${@expression.compile(o)};" -statement ReturnNode, true
#

ValueNode

#

A value, variable or literal or parenthesized, indexed or dotted into, +statement ReturnNode, true

#

ValueNode

#

A value, variable or literal or parenthesized, indexed or dotted into, or vanilla.

exports.ValueNode: class ValueNode extends BaseNode
   type: 'Value'
 
-  SOAK: " == undefined ? undefined : "
#

A ValueNode has a base and a list of property accesses.

  constructor: (base, properties) ->
-    @children:   flatten [@base: base, @properties: (properties or [])]
#

Add a property access to the list.

  push: (prop) ->
+  SOAK: " == undefined ? undefined : "
#

A ValueNode has a base and a list of property accesses.

  constructor: (base, properties) ->
+    @children:   flatten [@base: base, @properties: (properties or [])]
#

Add a property access to the list.

  push: (prop) ->
     @properties.push(prop)
     @children.push(prop)
     this
 
   has_properties: ->
-    !!@properties.length
#

Some boolean checks for the benefit of other nodes.

  is_array: ->
+    !!@properties.length
#

Some boolean checks for the benefit of other nodes.

  is_array: ->
     @base instanceof ArrayNode and not @has_properties()
 
   is_object: ->
     @base instanceof ObjectNode and not @has_properties()
 
   is_splice: ->
-    @has_properties() and @properties[@properties.length - 1] instanceof SliceNode
#

The value can be unwrapped as its inner node, if there are no attached + @has_properties() and @properties[@properties.length - 1] instanceof SliceNode + + make_return: -> + if @has_properties() then super() else @base.make_return()

#

The value can be unwrapped as its inner node, if there are no attached properties.

  unwrap: ->
-    if @properties.length then this else @base
#

Values are considered to be statements if their base is a statement.

  is_statement: ->
-    @base.is_statement and @base.is_statement() and not @has_properties()
#

We compile a value to JavaScript by compiling and joining each property. + if @properties.length then this else @base

#

Values are considered to be statements if their base is a statement.

  is_statement: ->
+    @base.is_statement and @base.is_statement() and not @has_properties()
#

We compile a value to JavaScript by compiling and joining each property. Things get much more insteresting if the chain of properties has soak operators ?. interspersed. Then we have to take care not to accidentally evaluate a anything twice when building the soak chain.

  compile_node: (o) ->
@@ -185,14 +196,14 @@ evaluate a anything twice when building the soak chain.

temp: o.scope.free_variable() complete: "($temp = $complete)$@SOAK" + (baseline: temp + prop.compile(o)) else - complete: complete + @SOAK + (baseline += prop.compile(o)) + complete: complete + @SOAK + (baseline: + prop.compile(o)) else part: prop.compile(o) - baseline += part - complete += part + baseline: + part + complete: + part @last: part - if op and soaked then "($complete)" else complete
#

CommentNode

#

CoffeeScript passes through comments as JavaScript comments at the + if op and soaked then "($complete)" else complete

#

CommentNode

#

CoffeeScript passes through comments as JavaScript comments at the same position.

exports.CommentNode: class CommentNode extends BaseNode
   type: 'Comment'
 
@@ -200,29 +211,39 @@ same position.

@lines: lines this + make_return: -> + this + compile_node: (o) -> "$@tab//" + @lines.join("\n$@tab//") -statement CommentNode
#

CallNode

#

Node for a function invocation. Takes care of converting super() calls into +statement CommentNode

#

CallNode

#

Node for a function invocation. Takes care of converting super() calls into calls against the prototype's function of the same name.

exports.CallNode: class CallNode extends BaseNode
   type: 'Call'
 
   constructor: (variable, args) ->
-    @children:  flatten [@variable: variable, @args: (args or [])]
-    @prefix:    ''
#

Tag this invocation as creating a new instance.

  new_instance: ->
-    @prefix: 'new '
-    this
#

Compile a vanilla function call.

  compile_node: (o) ->
-    return @compile_splat(o) if @args[@args.length - 1] instanceof SplatNode
+    @is_new:   false
+    @is_super: variable is 'super'
+    @variable: if @is_super then null else variable
+    @children: compact flatten [@variable, @args: (args or [])]
+    @compile_splat_arguments: SplatNode.compile_mixed_array <- @, @args
#

Tag this invocation as creating a new instance.

  new_instance: ->
+    @is_new: true
+    this
+
+  prefix: ->
+    if @is_new then 'new ' else ''
#

Compile a vanilla function call.

  compile_node: (o) ->
+    for arg in @args
+      return @compile_splat(o) if arg instanceof SplatNode
     args: (arg.compile(o) for arg in @args).join(', ')
-    return @compile_super(args, o) if @variable is 'super'
-    "$@prefix${@variable.compile(o)}($args)"
#

super() is converted into a call against the superclass's implementation + return @compile_super(args, o) if @is_super + "${@prefix()}${@variable.compile(o)}($args)"

#

super() is converted into a call against the superclass's implementation of the current function.

  compile_super: (args, o) ->
     methname: o.scope.method.name
     meth: if o.scope.method.proto
       "${o.scope.method.proto}.__superClass__.$methname"
     else
       "${methname}.__superClass__.constructor"
-    "${meth}.call(this${ if args.length then ', ' else '' }$args)"
#

If you call a function with a splat, it's converted into a JavaScript + "${meth}.call(this${ if args.length then ', ' else '' }$args)"

#

If you call a function with a splat, it's converted into a JavaScript .apply() call to allow an array of arguments to be passed.

  compile_splat: (o) ->
     meth: @variable.compile o
     obj:  @variable.source or 'this'
@@ -230,11 +251,27 @@ of the current function.

temp: o.scope.free_variable() obj: temp meth: "($temp = ${ @variable.source })${ @variable.last }" - args: for arg, i in @args - code: arg.compile o - code: if arg instanceof SplatNode then code else "[$code]" - if i is 0 then code else ".concat($code)" - "$@prefix${meth}.apply($obj, ${ args.join('') })"
#

ExtendsNode

#

Node to extend an object's prototype with an ancestor object. + "${@prefix()}${meth}.apply($obj, ${ @compile_splat_arguments(o) })"

#

CurryNode

#

Binds a context object and a list of arguments to a function, +returning the bound function. After ECMAScript 5, Prototype.js, and +Underscore's bind functions.

exports.CurryNode: class CurryNode extends CallNode
+  type: 'Curry'
+
+  body: 'func.apply(obj, args.concat(Array.prototype.slice.call(arguments, 0)))'
+
+  constructor: (meth, args) ->
+    @children:  flatten [@meth: meth, @context: args[0], @args: (args.slice(1) or [])]
+    @compile_splat_arguments: SplatNode.compile_mixed_array <- @, @args
+
+  arguments: (o) ->
+    for arg in @args
+      return @compile_splat_arguments(o) if arg instanceof SplatNode
+    (new ArrayNode(@args)).compile o
+
+  compile_node: (o) ->
+    body: Expressions.wrap([literal @body])
+    curried: new CodeNode([], body)
+    curry: new CodeNode([literal('func'), literal('obj'), literal('args')], Expressions.wrap([curried]))
+    (new ParentheticalNode(new CallNode(curry, [@meth, @context, literal(@arguments(o))]))).compile o
#

ExtendsNode

#

Node to extend an object's prototype with an ancestor object. After goog.inherits from the Closure Library.

exports.ExtendsNode: class ExtendsNode extends BaseNode
   type: 'Extends'
@@ -250,11 +287,11 @@ After goog.inherits from the
         '''
 
   constructor: (child, parent) ->
-    @children:  [@child: child, @parent: parent]
#

Hooks one constructor into another's prototype chain.

  compile_node: (o) ->
+    @children:  [@child: child, @parent: parent]
#

Hooks one constructor into another's prototype chain.

  compile_node: (o) ->
     o.scope.assign('__extends', @code, true)
     ref:  new ValueNode literal('__extends')
     call: new CallNode ref, [@child, @parent]
-    call.compile(o)
#

AccessorNode

#

A . accessor into a property of a value, or the :: shorthand for + call.compile(o)

#

AccessorNode

#

A . accessor into a property of a value, or the :: shorthand for an accessor into the object's prototype.

exports.AccessorNode: class AccessorNode extends BaseNode
   type: 'Accessor'
 
@@ -266,7 +303,7 @@ an accessor into the object's prototype.

compile_node: (o) -> proto_part: if @prototype then 'prototype.' else '' - ".$proto_part${@name.compile(o)}"
#

IndexNode

#

A [ ... ] indexed accessor into an array or object.

exports.IndexNode: class IndexNode extends BaseNode
+    ".$proto_part${@name.compile(o)}"
#

IndexNode

#

A [ ... ] indexed accessor into an array or object.

exports.IndexNode: class IndexNode extends BaseNode
   type: 'Index'
 
   constructor: (index, tag) ->
@@ -275,18 +312,18 @@ an accessor into the object's prototype.

compile_node: (o) -> idx: @index.compile o - "[$idx]"
#

RangeNode

#

A range literal. Ranges can be used to extract portions (slices) of arrays, + "[$idx]"

#

RangeNode

#

A range literal. Ranges can be used to extract portions (slices) of arrays, to specify a range for comprehensions, or as a value, to be expanded into the corresponding array of integers at runtime.

exports.RangeNode: class RangeNode extends BaseNode
   type: 'Range'
 
   constructor: (from, to, exclusive) ->
     @children:  [@from: from, @to: to]
-    @exclusive: !!exclusive
#

Compiles the range's source variables -- where it starts and where it ends.

  compile_variables: (o) ->
+    @exclusive: !!exclusive
#

Compiles the range's source variables -- where it starts and where it ends.

  compile_variables: (o) ->
     @tab: o.indent
     [@from_var, @to_var]: [o.scope.free_variable(), o.scope.free_variable()]
     [from, to]:           [@from.compile(o), @to.compile(o)]
-    "$@from_var = $from; $@to_var = $to;\n$@tab"
#

When compiled normally, the range returns the contents of the for loop + "$@from_var = $from; $@to_var = $to;\n$@tab"

#

When compiled normally, the range returns the contents of the for loop needed to iterate over the values in the range. Used by comprehensions.

  compile_node: (o) ->
     return    @compile_array(o) unless o.index
     idx:      del o, 'index'
@@ -297,13 +334,13 @@ needed to iterate over the values in the range. Used by comprehensions.

intro: "($@from_var <= $@to_var ? $idx" compare: "$intro <$equals $@to_var : $idx >$equals $@to_var)" incr: "$intro += $step : $idx -= $step)" - "$vars; $compare; $incr"
#

When used as a value, expand the range into the equivalent array. In the + "$vars; $compare; $incr"

#

When used as a value, expand the range into the equivalent array. In the future, the code this generates should probably be cleaned up by handwriting it instead of wrapping nodes.

  compile_array: (o) ->
     name: o.scope.free_variable()
     body: Expressions.wrap([literal(name)])
     arr:  Expressions.wrap([new ForNode(body, {source: (new ValueNode(this))}, literal(name))])
-    (new ParentheticalNode(new CallNode(new CodeNode([], arr)))).compile(o)
#

SliceNode

#

An array slice literal. Unlike JavaScript's Array#slice, the second parameter + (new ParentheticalNode(new CallNode(new CodeNode([], arr.make_return())))).compile(o)

#

SliceNode

#

An array slice literal. Unlike JavaScript's Array#slice, the second parameter specifies the index of the end of the slice, just as the first parameter is the index of the beginning.

exports.SliceNode: class SliceNode extends BaseNode
   type: 'Slice'
@@ -316,11 +353,11 @@ is the index of the beginning.

from: @range.from.compile(o) to: @range.to.compile(o) plus_part: if @range.exclusive then '' else ' + 1' - ".slice($from, $to$plus_part)"
#

ObjectNode

#

An object literal, nothing fancy.

exports.ObjectNode: class ObjectNode extends BaseNode
+    ".slice($from, $to$plus_part)"
#

ObjectNode

#

An object literal, nothing fancy.

exports.ObjectNode: class ObjectNode extends BaseNode
   type: 'Object'
 
   constructor: (props) ->
-    @children: @objects: @properties: props or []
#

All the mucking about with commas is to make sure that CommentNodes and + @children: @objects: @properties: props or []

#

All the mucking about with commas is to make sure that CommentNodes and AssignNodes get interleaved correctly, with no trailing commas or commas affixed to comments.

@@ -336,35 +373,43 @@ commas affixed to comments.

indent + prop.compile(o) + join props: props.join('') inner: if props then '\n' + props + '\n' + @idt() else '' - "{$inner}"
#

ArrayNode

#

An array literal.

exports.ArrayNode: class ArrayNode extends BaseNode
+    "{$inner}"
#

ArrayNode

#

An array literal.

exports.ArrayNode: class ArrayNode extends BaseNode
   type: 'Array'
 
   constructor: (objects) ->
     @children: @objects: objects or []
+    @compile_splat_literal: SplatNode.compile_mixed_array <- @, @objects
 
   compile_node: (o) ->
     o.indent: @idt(1)
-    objects: for obj, i in @objects
+    objects: []
+    for obj, i in @objects
       code: obj.compile(o)
-      if obj instanceof CommentNode
-        "\n$code\n$o.indent"
+      if obj instanceof SplatNode
+        return @compile_splat_literal(@objects, o)
+      else if obj instanceof CommentNode
+        objects.push "\n$code\n$o.indent"
       else if i is @objects.length - 1
-        code
+        objects.push code
       else
-        "$code, "
+        objects.push "$code, "
     objects: objects.join('')
     ending: if objects.indexOf('\n') >= 0 then "\n$@tab]" else ']'
-    "[$objects$ending"
#

ClassNode

#

The CoffeeScript class definition.

exports.ClassNode: class ClassNode extends BaseNode
-  type: 'Class'
#

Initialize a ClassNode with its name, an optional superclass, and a + "[$objects$ending"

#

ClassNode

#

The CoffeeScript class definition.

exports.ClassNode: class ClassNode extends BaseNode
+  type: 'Class'
#

Initialize a ClassNode with its name, an optional superclass, and a list of prototype property assignments.

  constructor: (variable, parent, props) ->
-    @children: compact flatten [@variable: variable, @parent: parent, @properties: props or []]
#

Instead of generating the JavaScript string directly, we build up the + @children: compact flatten [@variable: variable, @parent: parent, @properties: props or []] + @returns: false + + make_return: -> + @returns: true + this

#

Instead of generating the JavaScript string directly, we build up the equivalent syntax tree and compile that, in pieces. You can see the constructor, property assignments, and inheritance getting built out below.

  compile_node: (o) ->
     extension:   @parent and new ExtendsNode(@variable, @parent)
     constructor: null
     props:       new Expressions()
     o.top:       true
-    ret:         del o, 'returns'
 
     for prop in @properties
       if prop.variable and prop.variable.base.value is 'constructor'
@@ -389,12 +434,12 @@ constructor, property assignments, and inheritance getting built out below.

construct: @idt() + constructor.compile(o) + ';\n' props: if props.empty() then '' else props.compile(o) + '\n' extension: if extension then @idt() + extension.compile(o) + ';\n' else '' - returns: if ret then '\n' + @idt() + 'return ' + @variable.compile(o) + ';' else '' + returns: if @returns then new ReturnNode(@variable).compile(o) else '' "$construct$extension$props$returns" -statement ClassNode
#

AssignNode

#

The AssignNode is used to assign a local variable to value, or to set the +statement ClassNode

#

AssignNode

#

The AssignNode is used to assign a local variable to value, or to set the property of an object -- including within object literals.

exports.AssignNode: class AssignNode extends BaseNode
-  type: 'Assign'
#

Matchers for detecting prototype assignments.

  PROTO_ASSIGN: /^(\S+)\.prototype/
+  type: 'Assign'
#

Matchers for detecting prototype assignments.

  PROTO_ASSIGN: /^(\S+)\.prototype/
   LEADING_DOT:  /^\.(prototype\.)?/
 
   constructor: (variable, value, context) ->
@@ -407,8 +452,11 @@ property of an object -- including within object literals.

is_value: -> @variable instanceof ValueNode + make_return: -> + return new Expressions [this, new ReturnNode(@variable)] + is_statement: -> - @is_value() and (@variable.is_array() or @variable.is_object())
#

Compile an assignment, delegating to compile_pattern_match or + @is_value() and (@variable.is_array() or @variable.is_object())

#

Compile an assignment, delegating to compile_pattern_match or compile_splice if appropriate. Keep track of the name of the base object we've been assigned to, for correct internal references. If the variable has not been seen yet within the current scope, declare it.

  compile_node: (o) ->
@@ -428,9 +476,7 @@ has not been seen yet within the current scope, declare it.

o.scope.find name unless @is_value() and @variable.has_properties() val: "$name = $val" return "$@tab$val;" if stmt - val: "($val)" if not top or o.returns - val: "${@tab}return $val" if o.returns - val
#

Brief implementation of recursive pattern matching, when assigning array or + if top then val else "($val)"

#

Brief implementation of recursive pattern matching, when assigning array or object literals to a value. Peeks at their properties to assign inner names. See the ECMAScript Harmony Wiki for details.

  compile_pattern_match: (o) ->
@@ -439,19 +485,22 @@ for details.

< assigns: ["$@tab$val_var = ${ value.compile(o) };"] o.top: true o.as_statement: true + splat: false for obj, i in @variable.base.objects idx: i [obj, idx]: [obj.value, obj.variable.base] if @variable.is_object() access_class: if @variable.is_array() then IndexNode else AccessorNode - if obj instanceof SplatNode - val: literal(obj.compile_value(o, val_var, @variable.base.objects.indexOf(obj))) + if obj instanceof SplatNode and not splat + val: literal(obj.compile_value(o, val_var, + (oindex: @variable.base.objects.indexOf(obj)), + (olength: @variable.base.objects.length) - oindex - 1)) + splat: true else - idx: literal(idx) unless typeof idx is 'object' + idx: literal(if splat then "${val_var}.length - ${olength - idx}" else idx) if typeof idx isnt 'object' val: new ValueNode(literal(val_var), [new access_class(idx)]) assigns.push(new AssignNode(obj, val).compile(o)) code: assigns.join("\n") - code += "\n${@tab}return ${ @variable.compile(o) };" if o.returns - code
#

Compile the assignment from an array splice literal, using JavaScript's + code

#

Compile the assignment from an array splice literal, using JavaScript's Array#splice method.

  compile_splice: (o) ->
     name:   @variable.compile(merge(o, {only_first: true}))
     l:      @variable.properties.length
@@ -460,7 +509,7 @@ for details.

< from: range.from.compile(o) to: range.to.compile(o) + ' - ' + from + plus val: @value.compile(o) - "${name}.splice.apply($name, [$from, $to].concat($val))"
#

CodeNode

#

A function definition. This is the only node that creates a new Scope. + "${name}.splice.apply($name, [$from, $to].concat($val))"

#

CodeNode

#

A function definition. This is the only node that creates a new Scope. When for the purposes of walking the contents of a function body, the CodeNode has no children -- they're within the inner scope.

exports.CodeNode: class CodeNode extends BaseNode
   type: 'Code'
@@ -468,7 +517,7 @@ has no children -- they're within the inner scope.

constructor: (params, body, tag) -> @params: params or [] @body: body or new Expressions() - @bound: tag is 'boundfunc'
#

Compilation creates a new scope unless explicitly asked to share with the + @bound: tag is 'boundfunc'

#

Compilation creates a new scope unless explicitly asked to share with the outer scope. Handles splat parameters in the parameter list by peeking at the JavaScript arguments objects. If the function is bound with the => arrow, generates a wrapper that saves the current value of this through @@ -476,16 +525,26 @@ a closure.

shared_scope: del o, 'shared_scope' top: del o, 'top' o.scope: shared_scope or new Scope(o.scope, @body, this) - o.returns: true o.top: true o.indent: @idt(if @bound then 2 else 1) del o, 'no_wrap' del o, 'globals' - if @params[@params.length - 1] instanceof SplatNode - splat: @params.pop() - splat.index: @params.length - @body.unshift(splat) - params: (param.compile(o) for param in @params) + i: 0 + splat: undefined + params: [] + for param in @params + if param instanceof SplatNode and not splat? + splat: param + splat.index: i + @body.unshift(splat) + splat.trailings: [] + else if splat? + splat.trailings.push(param) + else + params.push(param) + i: + 1 + params: (param.compile(o) for param in params) + @body.make_return() (o.scope.parameter(param)) for param in params code: if @body.expressions.length then "\n${ @body.compile_with_declarations(o) }\n" else '' name_part: if @name then ' ' + @name else '' @@ -496,16 +555,16 @@ a closure.

"(function(__this) {\n${@idt(1)}var __func = $func;\n${@idt(1)}return $inner\n$@tab})(this)" top_sensitive: -> - true
#

When traversing (for printing or inspecting), return the real children of + true

#

When traversing (for printing or inspecting), return the real children of the function -- the parameters and body of expressions.

  real_children: ->
-    flatten [@params, @body.expressions]
#

Custom traverse implementation that uses the real_children.

  traverse: (block) ->
+    flatten [@params, @body.expressions]
#

Custom traverse implementation that uses the real_children.

  traverse: (block) ->
     block this
     child.traverse block for child in @real_children()
 
   toString: (idt) ->
-    idt ||= ''
+    idt: or ''
     children: (child.toString(idt + TAB) for child in @real_children()).join('')
-    "\n$idt$children"
#

SplatNode

#

A splat, either as a parameter to a function, an argument to a call, + "\n$idt$children"

#

SplatNode

#

A splat, either as a parameter to a function, an argument to a call, or as part of a destructuring assignment.

exports.SplatNode: class SplatNode extends BaseNode
   type: 'Splat'
 
@@ -514,13 +573,36 @@ or as part of a destructuring assignment.

@children: [@name: name] compile_node: (o) -> - if @index? then @compile_param(o) else @name.compile(o)
#

Compiling a parameter splat means recovering the parameters that succeed + if @index? then @compile_param(o) else @name.compile(o)

#

Compiling a parameter splat means recovering the parameters that succeed the splat in the parameter list, by slicing the arguments object.

  compile_param: (o) ->
     name: @name.compile(o)
     o.scope.find name
-    "$name = Array.prototype.slice.call(arguments, $@index)"
#

A compiling a splat as a destructuring assignment means slicing arguments -from the right-hand-side's corresponding array.

  compile_value: (o, name, index) ->
-    "Array.prototype.slice.call($name, $index)"
#

WhileNode

#

A while loop, the only sort of low-level loop exposed by CoffeeScript. From + i: 0 + for trailing in @trailings + o.scope.assign(trailing.compile(o), "arguments[arguments.length - $@trailings.length + $i]") + i: + 1 + "$name = Array.prototype.slice.call(arguments, $@index, arguments.length - ${@trailings.length})"

#

A compiling a splat as a destructuring assignment means slicing arguments +from the right-hand-side's corresponding array.

  compile_value: (o, name, index, trailings) ->
+    if trailings? then "Array.prototype.slice.call($name, $index, ${name}.length - $trailings)" \
+    else "Array.prototype.slice.call($name, $index)"
#

Utility function that converts arbitrary number of elements, mixed with +splats, to a proper array

SplatNode.compile_mixed_array: (list, o) ->
+  args: []
+  i: 0
+  for arg in list
+    code: arg.compile o
+    if not (arg instanceof SplatNode)
+      prev: args[i - 1]
+      if i is 1 and prev.substr(0, 1) is '[' and prev.substr(prev.length - 1, 1) is ']'
+        args[i - 1]: "${prev.substr(0, prev.length - 1)}, $code]"
+        continue
+      else if i > 1 and prev.substr(0, 9) is '.concat([' and prev.substr(prev.length - 2, 2) is '])'
+        args[i - 1]: "${prev.substr(0, prev.length - 2)}, $code])"
+        continue
+      else
+        code: "[$code]"
+    args.push(if i is 0 then code else ".concat($code)")
+    i: + 1
+  args.join('')
#

WhileNode

#

A while loop, the only sort of low-level loop exposed by CoffeeScript. From it, all other loops can be manufactured. Useful in cases where you need more flexibility or more speed than a comprehension can provide.

exports.WhileNode: class WhileNode extends BaseNode
   type: 'While'
@@ -533,12 +615,15 @@ flexibility or more speed than a comprehension can provide.

@children.push @body: body this + make_return: -> + @returns: true + this + top_sensitive: -> - true
#

The main difference from a JavaScript while is that the CoffeeScript + true

#

The main difference from a JavaScript while is that the CoffeeScript while can be used as a part of a larger expression -- while loops may return an array containing the computed result of each iteration.

  compile_node: (o) ->
-    returns:    del(o, 'returns')
-    top:        del(o, 'top') and not returns
+    top:        del(o, 'top') and not @returns
     o.indent:   @idt(1)
     o.top:      true
     cond:       @condition.compile(o)
@@ -547,27 +632,25 @@ return an array containing the computed result of each iteration.

rvar: o.scope.free_variable() set: "$@tab$rvar = [];\n" @body: PushNode.wrap(rvar, @body) if @body - post: if returns then "\n${@tab}return $rvar;" else '' pre: "$set${@tab}while ($cond)" - return "$pre null;$post" if not @body + return "$pre null;$post" if not @body @body: Expressions.wrap([new IfNode(@filter, @body)]) if @filter - "$pre {\n${ @body.compile(o) }\n$@tab}$post" + if @returns + post: new ReturnNode(literal(rvar)).compile(merge(o, {indent: @idt()})) + else + post: '' + "$pre {\n${ @body.compile(o) }\n$@tab}\n$post" -statement WhileNode
#

OpNode

#

Simple Arithmetic and logical operations. Performs some conversion from +statement WhileNode

#

OpNode

#

Simple Arithmetic and logical operations. Performs some conversion from CoffeeScript operations into their JavaScript equivalents.

exports.OpNode: class OpNode extends BaseNode
-  type: 'Op'
#

The map of conversions from CoffeeScript to JavaScript symbols.

  CONVERSIONS: {
-    '==':   '==='
-    '!=':   '!=='
-    'and':  '&&'
-    'or':   '||'
-    'is':   '==='
-    'isnt': '!=='
-    'not':  '!'
-  }
#

The list of operators for which we perform -Python-style comparison chaining.

  CHAINABLE:        ['<', '>', '>=', '<=', '===', '!==']
#

Our assignment operators that have no JavaScript equivalent.

  ASSIGNMENT:       ['||=', '&&=', '?=']
#

Operators must come before their operands with a space.

  PREFIX_OPERATORS: ['typeof', 'delete']
+  type: 'Op'
#

The map of conversions from CoffeeScript to JavaScript symbols.

  CONVERSIONS: {
+    '==': '==='
+    '!=': '!=='
+  }
#

The list of operators for which we perform +Python-style comparison chaining.

  CHAINABLE:        ['<', '>', '>=', '<=', '===', '!==']
#

Our assignment operators that have no JavaScript equivalent.

  ASSIGNMENT:       ['||=', '&&=', '?=']
#

Operators must come before their operands with a space.

  PREFIX_OPERATORS: ['typeof', 'delete']
 
   constructor: (operator, first, second, flip) ->
-    @type += ' ' + operator
+    @type: + ' ' + operator
     @children: compact [@first: first, @second: second]
     @operator: @CONVERSIONS[operator] or operator
     @flip: !!flip
@@ -584,7 +667,7 @@ CoffeeScript operations into their JavaScript equivalents.

return @compile_assignment(o) if @ASSIGNMENT.indexOf(@operator) >= 0 return @compile_unary(o) if @is_unary() return @compile_existence(o) if @operator is '?' - [@first.compile(o), @operator, @second.compile(o)].join ' '
#

Mimic Python's chained comparisons when multiple comparison operators are + [@first.compile(o), @operator, @second.compile(o)].join ' '

#

Mimic Python's chained comparisons when multiple comparison operators are used sequentially. For example:

bin/coffee -e "puts 50 < 65 > 10"
@@ -593,46 +676,52 @@ true
     shared: @first.unwrap().second
     [@first.second, shared]: shared.compile_reference(o) if shared instanceof CallNode
     [first, second, shared]: [@first.compile(o), @second.compile(o), shared.compile(o)]
-    "($first) && ($shared $@operator $second)"
#

When compiling a conditional assignment, take care to ensure that the + "($first) && ($shared $@operator $second)"

#

When compiling a conditional assignment, take care to ensure that the operands are only evaluated once, even though we have to reference them more than once.

  compile_assignment: (o) ->
     [first, second]: [@first.compile(o), @second.compile(o)]
     o.scope.find(first) if first.match(IDENTIFIER)
     return "$first = ${ ExistenceNode.compile_test(o, @first) } ? $first : $second" if @operator is '?='
-    "$first = $first ${ @operator.substr(0, 2) } $second"
#

If this is an existence operator, we delegate to ExistenceNode.compile_test + "$first = $first ${ @operator.substr(0, 2) } $second"

#

If this is an existence operator, we delegate to ExistenceNode.compile_test to give us the safe references for the variables.

  compile_existence: (o) ->
     [first, second]: [@first.compile(o), @second.compile(o)]
     test: ExistenceNode.compile_test(o, @first)
-    "$test ? $first : $second"
#

Compile a unary OpNode.

  compile_unary: (o) ->
+    "$test ? $first : $second"
#

Compile a unary OpNode.

  compile_unary: (o) ->
     space: if @PREFIX_OPERATORS.indexOf(@operator) >= 0 then ' ' else ''
     parts: [@operator, space, @first.compile(o)]
     parts: parts.reverse() if @flip
-    parts.join('')
#

TryNode

#

A classic try/catch/finally block.

exports.TryNode: class TryNode extends BaseNode
+    parts.join('')
#

TryNode

#

A classic try/catch/finally block.

exports.TryNode: class TryNode extends BaseNode
   type: 'Try'
 
   constructor: (attempt, error, recovery, ensure) ->
     @children: compact [@attempt: attempt, @recovery: recovery, @ensure: ensure]
     @error: error
-    this
#

Compilation is more or less as you would expect -- the finally clause + this + + make_return: -> + @attempt: @attempt.make_return() if @attempt + @recovery: @recovery.make_return() if @recovery + this

#

Compilation is more or less as you would expect -- the finally clause is optional, the catch is not.

  compile_node: (o) ->
     o.indent:     @idt(1)
     o.top:        true
     attempt_part: @attempt.compile(o)
     error_part:   if @error then " (${ @error.compile(o) }) " else ' '
     catch_part:   if @recovery then " catch$error_part{\n${ @recovery.compile(o) }\n$@tab}" else ''
-    finally_part: (@ensure or '') and ' finally {\n' + @ensure.compile(merge(o, {returns: null})) + "\n$@tab}"
+    finally_part: (@ensure or '') and ' finally {\n' + @ensure.compile(merge(o)) + "\n$@tab}"
     "${@tab}try {\n$attempt_part\n$@tab}$catch_part$finally_part"
 
-statement TryNode
#

ThrowNode

#

Simple node to throw an exception.

exports.ThrowNode: class ThrowNode extends BaseNode
+statement TryNode
#

ThrowNode

#

Simple node to throw an exception.

exports.ThrowNode: class ThrowNode extends BaseNode
   type: 'Throw'
 
   constructor: (expression) ->
-    @children: [@expression: expression]
+    @children: [@expression: expression]
#

A ThrowNode is already a return, of sorts...

  make_return: ->
+    return this
 
   compile_node: (o) ->
     "${@tab}throw ${@expression.compile(o)};"
 
-statement ThrowNode
#

ExistenceNode

#

Checks a variable for existence -- not null and not undefined. This is +statement ThrowNode

#

ExistenceNode

#

Checks a variable for existence -- not null and not undefined. This is similar to .nil? in Ruby, and avoids having to consult a JavaScript truth table.

exports.ExistenceNode: class ExistenceNode extends BaseNode
   type: 'Existence'
@@ -641,14 +730,14 @@ table.

@children: [@expression: expression] compile_node: (o) -> - ExistenceNode.compile_test(o, @expression)
#

The meat of the ExistenceNode is in this static compile_test method + ExistenceNode.compile_test(o, @expression)

#

The meat of the ExistenceNode is in this static compile_test method because other nodes like to check the existence of their variables as well. Be careful not to double-evaluate anything.

ExistenceNode.compile_test: (o, variable) ->
   [first, second]: [variable, variable]
   if variable instanceof CallNode or (variable instanceof ValueNode and variable.has_properties())
     [first, second]: variable.compile_reference(o)
   [first, second]: [first.compile(o), second.compile(o)]
-  "(typeof $first !== \"undefined\" && $second !== null)"
#

ParentheticalNode

#

An extra set of parentheses, specified explicitly in the source. At one time + "(typeof $first !== \"undefined\" && $second !== null)"

#

ParentheticalNode

#

An extra set of parentheses, specified explicitly in the source. At one time we tried to clean up the results by detecting and removing redundant parentheses, but no longer -- you can put in as many as you please.

@@ -661,12 +750,15 @@ parentheses, but no longer -- you can put in as many as you please.

is_statement: -> @expression.is_statement() + make_return: -> + @expression.make_return() + compile_node: (o) -> code: @expression.compile(o) return code if @is_statement() l: code.length code: code.substr(o, l-1) if code.substr(l-1, 1) is ';' - "($code)"
#

ForNode

#

CoffeeScript's replacement for the for loop is our array and object + if @expression instanceof AssignNode then code else "($code)"

#

ForNode

#

CoffeeScript's replacement for the for loop is our array and object comprehensions, that compile into for loops here. They also act as an expression, able to return the result of each filtered iteration.

@@ -685,13 +777,22 @@ you can map and filter in a single pass.

@object: !!source.object [@name, @index]: [@index, @name] if @object @children: compact [@body, @source, @filter] + @returns: false top_sensitive: -> - true
#

Welcome to the hairiest method in all of CoffeeScript. Handles the inner + true + + make_return: -> + @returns: true + this + + compile_return_value: (val, o) -> + return new ReturnNode(literal(val)).compile(o) if @returns + val or ''

#

Welcome to the hairiest method in all of CoffeeScript. Handles the inner loop, filtering, stepping, and result saving for array, object, and range comprehensions. Some of the generated code can be shared in common, and some cannot.

  compile_node: (o) ->
-    top_level:      del(o, 'top') and not o.returns
+    top_level:      del(o, 'top') and not @returns
     range:          @source instanceof ValueNode and @source.base instanceof RangeNode and not @source.properties.length
     source:         if range then @source.base else @source
     scope:          o.scope
@@ -719,25 +820,21 @@ some cannot.

< step_part: if @step then "$ivar += ${ @step.compile(o) }" else "$ivar++" for_part: "$ivar = 0, $lvar = ${svar}.length; $ivar < $lvar; $step_part" set_result: if rvar then @idt() + rvar + ' = []; ' else @idt() - return_result: rvar or '' + return_result: @compile_return_value(rvar, o) + body: ClosureNode.wrap(body, true) if top_level and body.contains (n) -> n instanceof CodeNode body: PushNode.wrap(rvar, body) unless top_level - if o.returns - return_result: 'return ' + return_result - del o, 'returns' - body: new IfNode(@filter, body, null, {statement: true}) if @filter - else if @filter + if @filter body: Expressions.wrap([new IfNode(@filter, body)]) if @object o.scope.assign('__hasProp', 'Object.prototype.hasOwnProperty', true) for_part: "$ivar in $svar) { if (__hasProp.call($svar, $ivar)" - return_result: "\n$@tab$return_result;" unless top_level body: body.compile(merge(o, {indent: body_dent, top: true})) vars: if range then name else "$name, $ivar" close: if @object then '}}\n' else '}\n' - "$set_result${source_part}for ($for_part) {\n$var_part$body\n$@tab$close$@tab$return_result" + "$set_result${source_part}for ($for_part) {\n$var_part$body\n$@tab$close$return_result" -statement ForNode
#

IfNode

#

If/else statements. Our switch/when will be compiled into this. Acts as an +statement ForNode

#

IfNode

#

If/else statements. Our switch/when will be compiled into this. Acts as an expression by pushing down requested returns to the last line of each clause.

Single-expression IfNodes are compiled into ternary operators if possible, @@ -748,10 +845,10 @@ because ternaries are already proper expressions, and don't need conversion.

@condition: condition @body: body and body.unwrap() @else_body: else_body and else_body.unwrap() - @children: compact [@condition, @body, @else_body] + @children: compact flatten [@condition, @body, @else_body] @tags: tags or {} @multiple: true if @condition instanceof Array - @condition: new OpNode('!', new ParentheticalNode(@condition)) if @tags.invert
#

Add a new else clause to this IfNode, or push it down to the bottom + @condition: new OpNode('!', new ParentheticalNode(@condition)) if @tags.invert

#

Add a new else clause to this IfNode, or push it down to the bottom of the chain recursively.

  push: (else_body) ->
     eb: else_body.unwrap()
     if @else_body then @else_body.push(eb) else @else_body: eb
@@ -759,10 +856,10 @@ of the chain recursively.

force_statement: -> @tags.statement: true - this
#

Tag a chain of IfNodes with their object(s) to switch on for equality + this

#

Tag a chain of IfNodes with their object(s) to switch on for equality tests. rewrite_switch will perform the actual change at compile time.

  rewrite_condition: (expression) ->
     @switcher: expression
-    this
#

Rewrite a chain of IfNodes with their switch condition for equality. + this

#

Rewrite a chain of IfNodes with their switch condition for equality. Ensure that the switch expression isn't evaluated more than once.

  rewrite_switch: (o) ->
     assigner: @switcher
     if not (@switcher.unwrap() instanceof LiteralNode)
@@ -771,31 +868,35 @@ Ensure that the switch expression isn't evaluated more than once.

@switcher: variable @condition: if @multiple for cond, i in @condition - new OpNode('is', (if i is 0 then assigner else @switcher), cond) + new OpNode('==', (if i is 0 then assigner else @switcher), cond) else - new OpNode('is', assigner, @condition) + new OpNode('==', assigner, @condition) @else_body.rewrite_condition(@switcher) if @is_chain() - this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  add_else: (exprs, statement) ->
+    this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  add_else: (exprs, statement) ->
     if @is_chain()
       @else_body.add_else exprs, statement
     else
       exprs: exprs.unwrap() unless statement
       @children.push @else_body: exprs
-    this
#

If the else_body is an IfNode itself, then we've got an if-else chain.

  is_chain: ->
-    @chain ||= @else_body and @else_body instanceof IfNode
#

The IfNode only compiles into a statement if either of its bodies needs + this

#

If the else_body is an IfNode itself, then we've got an if-else chain.

  is_chain: ->
+    @chain: or @else_body and @else_body instanceof IfNode
#

The IfNode only compiles into a statement if either of its bodies needs to be a statement. Otherwise a ternary is safe.

  is_statement: ->
-    @statement ||= !!(@comment or @tags.statement or @body.is_statement() or (@else_body and @else_body.is_statement()))
+    @statement: or !!(@comment or @tags.statement or @body.is_statement() or (@else_body and @else_body.is_statement()))
 
   compile_condition: (o) ->
     (cond.compile(o) for cond in flatten([@condition])).join(' || ')
 
   compile_node: (o) ->
-    if @is_statement() then @compile_statement(o) else @compile_ternary(o)
#

Compile the IfNode as a regular if-else statement. Flattened chains + if @is_statement() then @compile_statement(o) else @compile_ternary(o) + + make_return: -> + @body: and @body.make_return() + @else_body: and @else_body.make_return() + this

#

Compile the IfNode as a regular if-else statement. Flattened chains force inner else bodies into statement form.

  compile_statement: (o) ->
     @rewrite_switch(o) if @switcher
     child:        del o, 'chain_child'
     cond_o:       merge o
-    del cond_o, 'returns'
     o.indent:     @idt(1)
     o.top:        true
     if_dent:      if child then '' else @idt()
@@ -808,30 +909,30 @@ force inner else bodies into statement form.

' else ' + @else_body.compile(merge(o, {indent: @idt(), chain_child: true})) else " else {\n${ Expressions.wrap([@else_body]).compile(o) }\n$@tab}" - "$if_part$else_part"
#

Compile the IfNode as a ternary operator.

  compile_ternary: (o) ->
+    "$if_part$else_part"
#

Compile the IfNode as a ternary operator.

  compile_ternary: (o) ->
     if_part:    @condition.compile(o) + ' ? ' + @body.compile(o)
     else_part:  if @else_body then @else_body.compile(o) else 'null'
-    "$if_part : $else_part"
#

Faux-Nodes

#

PushNode

#

Faux-nodes are never created by the grammar, but are used during code + "$if_part : $else_part"

#

Faux-Nodes

#

PushNode

#

Faux-nodes are never created by the grammar, but are used during code generation to generate other combinations of nodes. The PushNode creates the tree for array.push(value), which is helpful for recording the result arrays from comprehensions.

PushNode: exports.PushNode: {
 
   wrap: (array, expressions) ->
     expr: expressions.unwrap()
-    return expressions if expr.is_pure_statement() or expr.contains (n) -> n.is_pure_statement()
+    return expressions if expr.is_pure_statement() or expr.contains_pure_statement()
     Expressions.wrap([new CallNode(
       new ValueNode(literal(array), [new AccessorNode(literal('push'))]), [expr]
     )])
 
-}
#

ClosureNode

#

A faux-node used to wrap an expressions body in a closure.

ClosureNode: exports.ClosureNode: {
#

Wrap the expressions body, unless it contains a pure statement, +}

#

ClosureNode

#

A faux-node used to wrap an expressions body in a closure.

ClosureNode: exports.ClosureNode: {
#

Wrap the expressions body, unless it contains a pure statement, in which case, no dice.

  wrap: (expressions, statement) ->
-    return expressions if expressions.contains (n) -> n.is_pure_statement()
+    return expressions if expressions.contains_pure_statement()
     func: new ParentheticalNode(new CodeNode([], Expressions.wrap([expressions])))
     call: new CallNode(new ValueNode(func, [new AccessorNode(literal('call'))]), [literal('this')])
     if statement then Expressions.wrap([call]) else call
 
-}
#

Constants

#

Tabs are two spaces for pretty printing.

TAB: '  '
#

Trim out all trailing whitespace, so that the generated code plays nice -with Git.

TRAILING_WHITESPACE: /\s+$/gm
#

Keep this identifier regex in sync with the Lexer.

IDENTIFIER: /^[a-zA-Z\$_](\w|\$)*$/
#

Utility Functions

#

Handy helper for a generating LiteralNode.

literal: (name) ->
+}
#

Constants

#

Tabs are two spaces for pretty printing.

TAB: '  '
#

Trim out all trailing whitespace, so that the generated code plays nice +with Git.

TRAILING_WHITESPACE: /\s+$/gm
#

Keep this identifier regex in sync with the Lexer.

IDENTIFIER: /^[a-zA-Z\$_](\w|\$)*$/
#

Utility Functions

#

Handy helper for a generating LiteralNode.

literal: (name) ->
   new LiteralNode(name)
 
 
\ No newline at end of file diff --git a/documentation/docs/rewriter.html b/documentation/docs/rewriter.html index dfadaddc..35e71c7e 100644 --- a/documentation/docs/rewriter.html +++ b/documentation/docs/rewriter.html @@ -31,7 +31,7 @@ our feet.

while true break unless @tokens[i] move: block(@tokens[i - 1], @tokens[i], @tokens[i + 1], i) - i += move + i: + move true
#

Massage newlines and indentations so that comments don't have to be correctly indented, or appear on a line of their own.

  adjust_comments: ->
     @scan_tokens (prev, token, post, i) =>
@@ -61,20 +61,20 @@ close.

switch token[0] when 'CALL_START' then parens.push(0) when 'INDEX_START' then brackets.push(0) - when '(' then parens[parens.length - 1] += 1 - when '[' then brackets[brackets.length - 1] += 1 + when '(' then parens[parens.length - 1]: + 1 + when '[' then brackets[brackets.length - 1]: + 1 when ')' if parens[parens.length - 1] is 0 parens.pop() token[0]: 'CALL_END' else - parens[parens.length - 1] -= 1 + parens[parens.length - 1]: - 1 when ']' if brackets[brackets.length - 1] == 0 brackets.pop() token[0]: 'INDEX_END' else - brackets[brackets.length - 1] -= 1 + brackets[brackets.length - 1]: - 1 return 1
#

Methods may be optionally called without parentheses, for simple cases. Insert the implicit parentheses here, so that the parser doesn't have to deal with them.

  add_implicit_parentheses: ->
@@ -83,15 +83,15 @@ deal with them.

@scan_tokens (prev, token, post, i) => tag: token[0] switch tag - when 'CALL_START' then calls += 1 - when 'CALL_END' then calls -= 1 + when 'CALL_START' then calls: + 1 + when 'CALL_END' then calls: - 1 when 'INDENT' then stack.push(0) when 'OUTDENT' last: stack.pop() - stack[stack.length - 1] += last + stack[stack.length - 1]: + last open: stack[stack.length - 1] > 0 if tag is 'CALL_END' and calls < 0 and open - stack[stack.length - 1] -= 1 + stack[stack.length - 1]: - 1 @tokens.splice(i, 0, ['CALL_END', ')', token[2]]) return 2 if !post? or include IMPLICIT_END, tag @@ -107,7 +107,7 @@ deal with them.

return 1 unless prev and include(IMPLICIT_FUNC, prev[0]) and include IMPLICIT_CALL, tag calls: 0 @tokens.splice(i, 0, ['CALL_START', '(', token[2]]) - stack[stack.length - 1] += 1 + stack[stack.length - 1]: + 1 return 2
#

Because our grammar is LALR(1), it can't handle some single-line expressions that lack ending delimiters. The Rewriter adds the implicit blocks, so it doesn't need to. ')' can close a single-line block, @@ -121,7 +121,7 @@ but we need to make sure it's balanced.

idx: i + 1 parens: 0 while true - idx += 1 + idx: + 1 tok: @tokens[idx] pre: @tokens[idx - 1] if (not tok or @@ -131,8 +131,8 @@ but we need to make sure it's balanced.

insertion: if pre[0] is "," then idx - 1 else idx @tokens.splice(insertion, 0, ['OUTDENT', 2, token[2]]) break - parens += 1 if tok[0] is '(' - parens -= 1 if tok[0] is ')' + parens: + 1 if tok[0] is '(' + parens: - 1 if tok[0] is ')' return 1 unless token[0] is 'THEN' @tokens.splice(i, 1) return 0
#

Ensure that all listed pairs of tokens are correctly balanced throughout @@ -142,11 +142,11 @@ the course of the token stream.

@scan_tokens (prev, token, post, i) => for pair in pairs [open, close]: pair - levels[open] ||= 0 + levels[open]: or 0 if token[0] is open open_line[open]: token[2] if levels[open] == 0 - levels[open] += 1 - levels[open] -= 1 if token[0] is close + levels[open]: + 1 + levels[open]: - 1 if token[0] is close throw new Error("too many ${token[1]} on line ${token[2] + 1}") if levels[open] < 0 return 1 unclosed: key for key, value of levels when value > 0 @@ -181,14 +181,14 @@ up balanced in the end. return 1 else if include EXPRESSION_END, tag if debt[inv] > 0 - debt[inv] -= 1 + debt[inv]: - 1 @tokens.splice i, 1 return 0 else match: stack.pop() mtag: match[0] return 1 if tag is INVERSES[mtag] - debt[mtag] += 1 + debt[mtag]: + 1 val: if mtag is 'INDENT' then match[1] else INVERSES[mtag] @tokens.splice i, 0, [INVERSES[mtag], val] return 1 @@ -199,7 +199,7 @@ up balanced in the end. look things up from either end.

INVERSES: {}
 for pair in BALANCED_PAIRS
   INVERSES[pair[0]]: pair[1]
-  INVERSES[pair[1]]: pair[0]
#

The tokens that signal the start of a balanced pair.

EXPRESSION_START: pair[0] for pair in BALANCED_PAIRS
#

The tokens that signal the end of a balanced pair.

EXPRESSION_END:   pair[1] for pair in BALANCED_PAIRS
#

Tokens that indicate the close of a clause of an expression.

EXPRESSION_CLOSE: ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
#

Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

IMPLICIT_FUNC:  ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END']
#

If preceded by an IMPLICIT_FUNC, indicates a function invocation.

IMPLICIT_CALL:  ['IDENTIFIER', 'NUMBER', 'STRING', 'JS', 'REGEX', 'NEW', 'PARAM_START',
+  INVERSES[pair[1]]: pair[0]
#

The tokens that signal the start of a balanced pair.

EXPRESSION_START: pair[0] for pair in BALANCED_PAIRS
#

The tokens that signal the end of a balanced pair.

EXPRESSION_END:   pair[1] for pair in BALANCED_PAIRS
#

Tokens that indicate the close of a clause of an expression.

EXPRESSION_CLOSE: ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
#

Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

IMPLICIT_FUNC:  ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '<-']
#

If preceded by an IMPLICIT_FUNC, indicates a function invocation.

IMPLICIT_CALL:  ['IDENTIFIER', 'NUMBER', 'STRING', 'JS', 'REGEX', 'NEW', 'PARAM_START',
                  'TRY', 'DELETE', 'TYPEOF', 'SWITCH', 'EXTENSION',
                  'TRUE', 'FALSE', 'YES', 'NO', 'ON', 'OFF', '!', '!!', 'NOT',
                  '@', '->', '=>', '[', '(', '{']
#

Tokens indicating that the implicit call must enclose a block of expressions.

IMPLICIT_BLOCK: ['->', '=>', '{', '[', ',']
#

Tokens that always mark the end of an implicit call for single-liners.

IMPLICIT_END:   ['IF', 'UNLESS', 'FOR', 'WHILE', 'TERMINATOR', 'INDENT', 'OUTDENT']
#

Single-line flavors of block expressions that have unclosed endings. diff --git a/documentation/docs/underscore.html b/documentation/docs/underscore.html index 5a04984e..2626e1da 100644 --- a/documentation/docs/underscore.html +++ b/documentation/docs/underscore.html @@ -1,6 +1,7 @@ - underscore.coffee

underscore.coffee

#
#

Underscore.coffee -(c) 2010 Jeremy Ashkenas, DocumentCloud Inc. -Underscore is freely distributable under the terms of the MIT license. + underscore.coffee

underscore.coffee

#
#

Underscore.coffee +(c) 2010 Jeremy Ashkenas, DocumentCloud Inc. +Underscore is freely distributable under the terms of the +MIT license. Portions of Underscore are inspired by or borrowed from Prototype.js, Oliver Steele's Functional, and John Resig's @@ -12,7 +13,7 @@ For all details and documentation: unshift: ArrayProto.unshift toString: ObjProto.toString hasOwnProperty: ObjProto.hasOwnProperty - propertyIsEnumerable: ObjProto.propertyIsEnumerable

#

All ECMA5 native implementations we hope to use are declared here.

  nativeForEach:        ArrayProto.forEach
+  propertyIsEnumerable: ObjProto.propertyIsEnumerable
#

All ECMA5 native implementations we hope to use are declared here.

  nativeForEach:        ArrayProto.forEach
   nativeMap:            ArrayProto.map
   nativeReduce:         ArrayProto.reduce
   nativeReduceRight:    ArrayProto.reduceRight
@@ -22,7 +23,7 @@ For all details and documentation:
   nativeIndexOf:        ArrayProto.indexOf
   nativeLastIndexOf:    ArrayProto.lastIndexOf
   nativeIsArray:        Array.isArray
-  nativeKeys:           Object.keys
#

Create a safe reference to the Underscore object for use below.

  _: (obj) -> new wrapper(obj)
#

Export the Underscore object for CommonJS.

  if typeof(exports) != 'undefined' then exports._: _
#

Export Underscore to global scope.

  root._: _
#

Current version.

  _.VERSION: '0.6.0'
#

Collection Functions

#

The cornerstone, an each implementation. + nativeKeys: Object.keys

#

Create a safe reference to the Underscore object for use below.

  _: (obj) -> new wrapper(obj)
#

Export the Underscore object for CommonJS.

  if typeof(exports) != 'undefined' then exports._: _
#

Export Underscore to global scope.

  root._: _
#

Current version.

  _.VERSION: '0.6.0'
#

Collection Functions

#

The cornerstone, an each implementation. Handles objects implementing forEach, arrays, and raw objects.

  _.each: (obj, iterator, context) ->
     try
       if nativeForEach and obj.forEach is nativeForEach
diff --git a/documentation/index.html.erb b/documentation/index.html.erb
index d78baee2..7b65cb82 100644
--- a/documentation/index.html.erb
+++ b/documentation/index.html.erb
@@ -58,8 +58,8 @@
         Switch/When/Else
         Try/Catch/Finally
         Chained Comparisons
+        String and RegExp Interpolation
         Multiline Strings and Heredocs
-        String Interpolation
         Cake, and Cakefiles
         "text/coffeescript" Script Tags
         Resources
@@ -129,7 +129,7 @@ alert reverse '.eeffoC yrT'

Latest Version: - 0.5.5 + 0.5.6

@@ -171,11 +171,11 @@ alert reverse '.eeffoC yrT'

To install, first make sure you have a working version of - Node.js version 0.1.31 or higher. + Node.js version 0.1.33 or higher. Then clone the CoffeeScript source repository from GitHub, or download the latest - release: 0.5.5. + release: 0.5.6. To install the CoffeeScript compiler system-wide under /usr/local, open the directory and run:

@@ -397,9 +397,9 @@ coffee --print app/scripts/*.coffee > concatenation.js

This behavior is effectively identical to Ruby's scope for local variables. - Because you don't have direct access to the var keyword, - it's impossible to shadow an outer variable on purpose, you may only refer - to it. So be careful that you're not reusing the name of an external + Because you don't have direct access to the var keyword, + it's impossible to shadow an outer variable on purpose, you may only refer + to it. So be careful that you're not reusing the name of an external variable accidentally, if you're writing a deeply nested function.

@@ -431,10 +431,9 @@ coffee --print app/scripts/*.coffee > concatenation.js

<%= code_for('conditionals') %>

- The conditional assignment operators are included: ||=, - which only assigns a value to a variable if the variable's current value - is falsy, and &&=, which only replaces the value of - truthy variables. + You can assign a variable to a half-expression to perform an operation + like Ruby's ||=, which only assigns a value to a variable + if the variable's current value is falsy.

@@ -662,6 +661,10 @@ coffee --print app/scripts/*.coffee > concatenation.js to help pull out deeply nested properties.

<%= code_for('object_extraction', 'poet + " — " + street') %> +

+ Pattern matching can even be combined with splats. +

+ <%= code_for('patterns_and_splats', 'contents.join("")') %>

@@ -674,7 +677,7 @@ coffee --print app/scripts/*.coffee > concatenation.js gives a good overview of the quirks.

- The fat arrow => can be used to both define a function, and to bind + The fat arrow => can be used to both define a function, and to bind it to the current value of this, right on the spot. This is helpful when using callback-based libraries like Prototype or jQuery, for creating iterator functions to pass to each, or event-handler functions @@ -687,6 +690,15 @@ coffee --print app/scripts/*.coffee > concatenation.js have referred to the undefined "customer" property of the DOM element, and trying to call purchase() on it would have raised an exception.

+

+ If you have more custom needs for function binding, CoffeeScript includes + the <- bind operator, which works the same as ECMAScript 5 + and Prototype.js's Function#bind. The first argument is the this + value, and the remainder are curried arguments. In the example below, + we curry a jQuery request for a URL, and then execute the bound function + with the missing callback argument. +

+ <%= code_for('binding', true) %>

@@ -733,6 +745,20 @@ coffee --print app/scripts/*.coffee > concatenation.js

<%= code_for('comparisons', 'healthy') %> +

+ + String and RegExp Interpolation + A version of ECMAScript Harmony's proposed string interpolation + is included in CoffeeScript. Simple variables can be included by marking + them with a dollar sign. +

+ <%= code_for('interpolation', 'quote') %> +

+ And arbitrary expressions can be interpolated by using brackets ${ ... }
+ Interpolation works the same way within regular expressions. +

+ <%= code_for('interpolation_expression', 'sentence') %> +

Multiline Strings and Heredocs @@ -746,19 +772,9 @@ coffee --print app/scripts/*.coffee > concatenation.js you can keep it all aligned with the body of your code.

<%= code_for('heredocs') %> -

- - String Interpolation - A version of ECMAScript Harmony's proposed string interpolation - is included in CoffeeScript. Simple variables can be included by marking - them with a dollar sign. + Double-quoted heredocs, like double-quoted strings, allow interpolation.

- <%= code_for('interpolation', 'quote') %> -

- And arbitrary expressions can be interpolated by using brackets ${ ... } -

- <%= code_for('interpolation_expression', 'sentence') %>

@@ -855,6 +871,17 @@ coffee --print app/scripts/*.coffee > concatenation.js Change Log

+

+ 0.5.6 + Interpolation can now be used within regular expressions and heredocs, as well as + strings. Added the <- bind operator. + Allowing assignment to half-expressions instead of special ||=-style + operators. The arguments object is no longer automatically converted into + an array. After requiring coffee-script, Node.js can now directly + load .coffee files, thanks to registerExtension. Multiple + splats can now be used in function calls, arrays, and pattern matching. +

+

0.5.5 String interpolation, contributed by diff --git a/documentation/js/binding.js b/documentation/js/binding.js new file mode 100644 index 00000000..50ca532a --- /dev/null +++ b/documentation/js/binding.js @@ -0,0 +1,12 @@ +(function(){ + var get_source, url; + url = "documentation/coffee/binding.coffee"; + get_source = (function(func, obj, args) { + return function() { + return func.apply(obj, args.concat(Array.prototype.slice.call(arguments, 0))); + }; + }(jQuery.get, jQuery, [url])); + get_source(function(response) { + return alert(response); + }); +})(); diff --git a/documentation/js/expressions.js b/documentation/js/expressions.js index 78be4173..e1dfcb7b 100644 --- a/documentation/js/expressions.js +++ b/documentation/js/expressions.js @@ -4,7 +4,11 @@ if (student.excellent_work) { return "A+"; } else if (student.okay_stuff) { - return student.tried_hard ? "B" : "B-"; + if (student.tried_hard) { + return "B"; + } else { + return "B-"; + } } else { return "C"; } diff --git a/documentation/js/expressions_assignment.js b/documentation/js/expressions_assignment.js index 4b697618..1f6d7991 100644 --- a/documentation/js/expressions_assignment.js +++ b/documentation/js/expressions_assignment.js @@ -1,4 +1,4 @@ (function(){ var one, six, three, two; - six = ((one = 1)) + ((two = 2)) + ((three = 3)); + six = (one = 1) + (two = 2) + (three = 3); })(); diff --git a/documentation/js/heredocs.js b/documentation/js/heredocs.js index a7a75b5a..bc9f2d6b 100644 --- a/documentation/js/heredocs.js +++ b/documentation/js/heredocs.js @@ -1,4 +1,4 @@ (function(){ var html; - html = "\n cup of coffeescript\n"; + html = '\n cup of coffeescript\n'; })(); diff --git a/documentation/js/interpolation_expression.js b/documentation/js/interpolation_expression.js index c4e73ce3..88fff591 100644 --- a/documentation/js/interpolation_expression.js +++ b/documentation/js/interpolation_expression.js @@ -1,4 +1,6 @@ (function(){ - var sentence; - sentence = '' + (22 / 7) + " is a decent approximation of π"; + var dates, sentence, sep; + sentence = "" + (22 / 7) + " is a decent approximation of π"; + sep = "[.\\/\\- ]"; + dates = (new RegExp("\\d+" + sep + "\\d+" + sep + "\\d+", "g")); })(); diff --git a/documentation/js/overview.js b/documentation/js/overview.js index 6164287d..31d61866 100644 --- a/documentation/js/overview.js +++ b/documentation/js/overview.js @@ -24,7 +24,7 @@ // Splats: race = function race(winner) { var runners; - runners = Array.prototype.slice.call(arguments, 1); + runners = Array.prototype.slice.call(arguments, 1, arguments.length - 0); return print(winner, runners); }; // Existence: diff --git a/documentation/js/patterns_and_splats.js b/documentation/js/patterns_and_splats.js new file mode 100644 index 00000000..cb5f7edd --- /dev/null +++ b/documentation/js/patterns_and_splats.js @@ -0,0 +1,8 @@ +(function(){ + var _a, close, contents, open, tag; + tag = ""; + _a = tag.split(""); + open = _a[0]; + contents = Array.prototype.slice.call(_a, 1, _a.length - 1); + close = _a[_a.length - 1]; +})(); diff --git a/documentation/js/scope.js b/documentation/js/scope.js index f1980c6c..3c5c4597 100644 --- a/documentation/js/scope.js +++ b/documentation/js/scope.js @@ -4,7 +4,8 @@ change_numbers = function change_numbers() { var new_num; new_num = -1; - return num = 10; + num = 10; + return num; }; new_num = change_numbers(); })(); diff --git a/documentation/js/splats.js b/documentation/js/splats.js index eab92d9b..1beeb066 100644 --- a/documentation/js/splats.js +++ b/documentation/js/splats.js @@ -3,10 +3,11 @@ gold = (silver = (the_field = "unknown")); award_medals = function award_medals(first, second) { var rest; - rest = Array.prototype.slice.call(arguments, 2); + rest = Array.prototype.slice.call(arguments, 2, arguments.length - 0); gold = first; silver = second; - return the_field = rest; + the_field = rest; + return the_field; }; contenders = ["Michael Phelps", "Liu Xiang", "Yao Ming", "Allyson Felix", "Shawn Johnson", "Roman Sebrle", "Guo Jingjing", "Tyson Gay", "Asafa Powell", "Usain Bolt"]; award_medals.apply(this, contenders); diff --git a/examples/underscore.coffee b/examples/underscore.coffee index cbb32af6..03f11e72 100644 --- a/examples/underscore.coffee +++ b/examples/underscore.coffee @@ -1,7 +1,8 @@ - # *Underscore.coffee - # (c) 2010 Jeremy Ashkenas, DocumentCloud Inc.* - # Underscore is freely distributable under the terms of the **MIT license**. + # **Underscore.coffee + # (c) 2010 Jeremy Ashkenas, DocumentCloud Inc.** + # Underscore is freely distributable under the terms of the + # [MIT license](http://en.wikipedia.org/wiki/MIT_License). # Portions of Underscore are inspired by or borrowed from # [Prototype.js](http://prototypejs.org/api), Oliver Steele's # [Functional](http://osteele.com), and John Resig's @@ -43,7 +44,7 @@ propertyIsEnumerable: ObjProto.propertyIsEnumerable - # All ECMA5 native implementations we hope to use are declared here. + # All **ECMA5** native implementations we hope to use are declared here. nativeForEach: ArrayProto.forEach nativeMap: ArrayProto.map nativeReduce: ArrayProto.reduce @@ -61,7 +62,7 @@ _: (obj) -> new wrapper(obj) - # Export the Underscore object for CommonJS. + # Export the Underscore object for **CommonJS**. if typeof(exports) != 'undefined' then exports._: _ diff --git a/extras/coffee-script.js b/extras/coffee-script.js index db1e7fdf..0e630f1d 100644 --- a/extras/coffee-script.js +++ b/extras/coffee-script.js @@ -1 +1 @@ -(function(){var balanced_string,compact,count,del,extend,flatten,helpers,include,merge,starts;var __hasProp=Object.prototype.hasOwnProperty;if(!((typeof process!=="undefined"&&process!==null))){this.exports=this}helpers=(exports.helpers={});helpers.include=(include=function include(list,value){return list.indexOf(value)>=0});helpers.starts=(starts=function starts(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.compact=(compact=function compact(array){var _a,_b,_c,_d,item;_a=[];_b=array;for(_c=0,_d=_b.length;_c<_d;_c++){item=_b[_c];if(item){_a.push(item)}}return _a});helpers.count=(count=function count(string,letter){var num,pos;num=0;pos=string.indexOf(letter);while(pos!==-1){num+=1;pos=string.indexOf(letter,pos+1)}return num});helpers.merge=(merge=function merge(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){if(__hasProp.call(_a,key)){val=_a[key];((fresh[key]=val))}}if(overrides){_b=overrides;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];((fresh[key]=val))}}}return fresh});helpers.extend=(extend=function extend(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];_a.push(((object[key]=val)))}}return _a});helpers.flatten=(flatten=function flatten(array){var _a,_b,_c,item,memo;memo=[];_a=array;for(_b=0,_c=_a.length;_b<_c;_b++){item=_a[_b];item instanceof Array?(memo=memo.concat(item)):memo.push(item)}return memo});helpers.del=(del=function del(obj,key){var val;val=obj[key];delete obj[key];return val});helpers.balanced_string=(balanced_string=function balanced_string(str,delimited,options){var _a,_b,_c,_d,close,i,levels,open,pair,slash;options=options||{};slash=delimited[0][0]==="/";levels=[];i=0;while(i0;if(tag==="CALL_END"&&calls<0&&open){stack[stack.length-1]-=1;this.tokens.splice(i,0,["CALL_END",")",token[2]]);return 2}if(!(typeof post!=="undefined"&&post!==null)||include(IMPLICIT_END,tag)){if(tag==="INDENT"&&prev&&include(IMPLICIT_BLOCK,prev[0])){return 1}if(open||tag==="INDENT"){idx=tag==="OUTDENT"?i+1:i;stack_pointer=tag==="INDENT"?2:1;_c=0;_d=stack[stack.length-stack_pointer];for(_b=0,tmp=_c;(_c<=_d?tmp<_d:tmp>_d);(_c<=_d?tmp+=1:tmp-=1),_b++){this.tokens.splice(idx,0,["CALL_END",")",token[2]])}size=stack[stack.length-stack_pointer]+1;stack[stack.length-stack_pointer]=0;return size}}if(!(prev&&include(IMPLICIT_FUNC,prev[0])&&include(IMPLICIT_CALL,tag))){return 1}calls=0;this.tokens.splice(i,0,["CALL_START","(",token[2]]);stack[stack.length-1]+=1;return 2};return(function(){return __func.apply(__this,arguments)})})(this))};Rewriter.prototype.add_implicit_indentation=function add_implicit_indentation(){return this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var idx,insertion,parens,pre,starter,tok;if(!(include(SINGLE_LINERS,token[0])&&post[0]!=="INDENT"&&!(token[0]==="ELSE"&&post[0]==="IF"))){return 1}starter=token[0];this.tokens.splice(i+1,0,["INDENT",2,token[2]]);idx=i+1;parens=0;while(true){idx+=1;tok=this.tokens[idx];pre=this.tokens[idx-1];if((!tok||(include(SINGLE_CLOSERS,tok[0])&&tok[1]!==";")||(tok[0]===")"&&parens===0))&&!(starter==="ELSE"&&tok[0]==="ELSE")){insertion=pre[0]===","?idx-1:idx;this.tokens.splice(insertion,0,["OUTDENT",2,token[2]]);break}if(tok[0]==="("){parens+=1}if(tok[0]===")"){parens-=1}}if(!(token[0]==="THEN")){return 1}this.tokens.splice(i,1);return 0};return(function(){return __func.apply(__this,arguments)})})(this))};Rewriter.prototype.ensure_balance=function ensure_balance(pairs){var _a,_b,key,levels,line,open,open_line,unclosed,value;levels={};open_line={};this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var _a,_b,_c,_d,close,open,pair;_a=pairs;for(_b=0,_c=_a.length;_b<_c;_b++){pair=_a[_b];_d=pair;open=_d[0];close=_d[1];levels[open]=levels[open]||0;if(token[0]===open){if(levels[open]===0){open_line[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error("too many "+(token[1])+" on line "+(token[2]+1))}}return 1};return(function(){return __func.apply(__this,arguments)})})(this));unclosed=(function(){_a=[];_b=levels;for(key in _b){if(__hasProp.call(_b,key)){value=_b[key];if(value>0){_a.push(key)}}}return _a}).call(this);if(unclosed.length){open=unclosed[0];line=open_line[open]+1;throw new Error("unclosed "+open+" on line "+line)}};Rewriter.prototype.rewrite_closing_parens=function rewrite_closing_parens(){var _a,debt,key,stack,val;stack=[];debt={};_a=INVERSES;for(key in _a){if(__hasProp.call(_a,key)){val=_a[key];((debt[key]=0))}}return this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var inv,match,mtag,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{match=stack.pop();mtag=match[0];if(tag===INVERSES[mtag]){return 1}debt[mtag]+=1;val=mtag==="INDENT"?match[1]:INVERSES[mtag];this.tokens.splice(i,0,[INVERSES[mtag],val]);return 1}}else{return 1}}};return(function(){return __func.apply(__this,arguments)})})(this))};return Rewriter}).call(this);BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"],["SOAKED_INDEX_START","SOAKED_INDEX_END"]];INVERSES={};_a=BALANCED_PAIRS;for(_b=0,_c=_a.length;_b<_c;_b++){pair=_a[_b];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_d=[];_e=BALANCED_PAIRS;for(_f=0,_g=_e.length;_f<_g;_f++){pair=_e[_f];_d.push(pair[0])}return _d}).call(this);EXPRESSION_END=(function(){_h=[];_i=BALANCED_PAIRS;for(_j=0,_k=_i.length;_j<_k;_j++){pair=_i[_j];_h.push(pair[1])}return _h}).call(this);EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","TRY","DELETE","TYPEOF","SWITCH","EXTENSION","TRUE","FALSE","YES","NO","ON","OFF","!","!!","NOT","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["IF","UNLESS","FOR","WHILE","TERMINATOR","INDENT","OUTDENT"];SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]})();(function(){var ACCESSORS,ASSIGNMENT,BEFORE_WHEN,CALLABLE,CODE,COFFEE_KEYWORDS,COMMENT,COMMENT_CLEANER,HEREDOC,HEREDOC_INDENT,IDENTIFIER,INTERPOLATION,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,KEYWORDS,LAST_DENT,LAST_DENTS,Lexer,MULTILINER,MULTI_DENT,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_ESCAPE,REGEX_FLAGS,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,STRING_NEWLINES,WHITESPACE,balanced_string,compact,count,helpers,include,starts;if((typeof process!=="undefined"&&process!==null)){Rewriter=require("./rewriter").Rewriter;helpers=require("./helpers").helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}include=helpers.include;count=helpers.count;starts=helpers.starts;compact=helpers.compact;balanced_string=helpers.balanced_string;exports.Lexer=(function(){Lexer=function Lexer(){};Lexer.prototype.tokenize=function tokenize(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(no_newlines){return this.suppress_newlines()}diff=size-this.indent;this.token("INDENT",diff);this.indents.push(diff)}else{this.outdent_token(this.indent-size,no_newlines)}}this.indent=size;return true};Lexer.prototype.outdent_token=function outdent_token(move_out,no_newlines){var last_indent;while(move_out>0&&this.indents.length){last_indent=this.indents.pop();this.token("OUTDENT",last_indent);move_out-=last_indent}if(!(this.tag()==="TERMINATOR"||no_newlines)){this.token("TERMINATOR","\n")}return true};Lexer.prototype.whitespace_token=function whitespace_token(){var prev,space;if(!((space=this.match(WHITESPACE,1)))){return false}prev=this.prev();if(prev){prev.spaced=true}this.i+=space.length;return true};Lexer.prototype.newline_token=function newline_token(newlines){if(!(this.tag()==="TERMINATOR")){this.token("TERMINATOR","\n")}return true};Lexer.prototype.suppress_newlines=function suppress_newlines(){if(this.value()==="\\"){this.tokens.pop()}return true};Lexer.prototype.literal_token=function literal_token(){var match,not_spaced,tag,value;match=this.chunk.match(OPERATOR);value=match&&match[1];if(value&&value.match(CODE)){this.tag_parameters()}value=value||this.chunk.substr(0,1);not_spaced=!this.prev()||!this.prev().spaced;tag=value;if(value.match(ASSIGNMENT)){tag="ASSIGN";if(include(JS_FORBIDDEN,this.value)){this.assignment_error()}}else{if(value===";"){tag="TERMINATOR"}else{if(value==="["&&this.tag()==="?"&¬_spaced){tag="SOAKED_INDEX_START";this.soaked_index=true;this.tokens.pop()}else{if(value==="]"&&this.soaked_index){tag="SOAKED_INDEX_END";this.soaked_index=false}else{if(include(CALLABLE,this.tag())&¬_spaced){if(value==="("){tag="CALL_START"}if(value==="["){tag="INDEX_START"}}}}}}this.token(tag,value);this.i+=value.length;return true};Lexer.prototype.name_access_type=function name_access_type(){if(this.value()==="::"){this.tag(1,"PROTOTYPE_ACCESS")}if(this.value()==="."&&!(this.value(2)===".")){if(this.tag(2)==="?"){this.tag(1,"SOAK_ACCESS");return this.tokens.splice(-2,1)}else{return this.tag(1,"PROPERTY_ACCESS")}}};Lexer.prototype.sanitize_heredoc=function sanitize_heredoc(doc){var indent;indent=(doc.match(HEREDOC_INDENT)||[""]).sort()[0];return doc.replace(new RegExp("^"+indent,"gm"),"").replace(MULTILINER,"\\n").replace(/"/g,'\\"')};Lexer.prototype.tag_parameters=function tag_parameters(){var _a,i,tok;if(this.tag()!==")"){return null}i=0;while(true){i+=1;tok=this.prev(i);if(!tok){return null}if((_a=tok[0])==="IDENTIFIER"){tok[0]="PARAM"}else{if(_a===")"){tok[0]="PARAM_END"}else{if(_a==="("){return(tok[0]="PARAM_START")}}}}return true};Lexer.prototype.close_indentation=function close_indentation(){return this.outdent_token(this.indent)};Lexer.prototype.identifier_error=function identifier_error(word){throw new Error('SyntaxError: Reserved word "'+word+'" on line '+(this.line+1))};Lexer.prototype.assignment_error=function assignment_error(){throw new Error('SyntaxError: Reserved word "'+(this.value())+'" on line '+(this.line+1)+" can't be assigned")};Lexer.prototype.interpolate_string=function interpolate_string(str,escape_quotes){var _a,_b,_c,_d,_e,escaped,expr,group,i,inner,interp,lexer,match,nested,pi,quote,tag,token,tokens,value;if(str.length<3||!starts(str,'"')){return this.token("STRING",str)}else{lexer=new Lexer();tokens=[];quote=str.substring(0,1);_a=[1,1];i=_a[0];pi=_a[1];while(i:!?]+)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(((\n?[ \t]*)?#[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;ASSIGNMENT=/^(:|=)$/;REGEX_START=/^\/[^\/ ]/;REGEX_INTERPOLATION=/([^\\]\$[a-zA-Z_@]|[^\\]\$\{.*[^\\]\})/;REGEX_FLAGS=/^[imgy]{0,4}/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;STRING_NEWLINES=/\n[ \t]*/g;COMMENT_CLEANER=/(^[ \t]*#|\n[ \t]*$)/mg;NO_NEWLINE=/^([+\*&|\/\-%=<>:!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/^[ \t]+/mg;NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@"];ACCESSORS=["PROPERTY_ACCESS","PROTOTYPE_ACCESS","SOAK_ACCESS","@"];BEFORE_WHEN=["INDENT","OUTDENT","TERMINATOR"]})();var parser=(function(){var parser={trace:function trace(){},yy:{},symbols_:{Root:2,TERMINATOR:3,Expressions:4,Block:5,Expression:6,Value:7,Call:8,Code:9,Operation:10,Assign:11,If:12,Try:13,Throw:14,Return:15,While:16,For:17,Switch:18,Extends:19,Class:20,Splat:21,Existence:22,Comment:23,Extension:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,STRING:31,Literal:32,JS:33,REGEX:34,BREAK:35,CONTINUE:36,TRUE:37,FALSE:38,YES:39,NO:40,ON:41,OFF:42,ASSIGN:43,AssignObj:44,RETURN:45,COMMENT:46,"?":47,PARAM_START:48,ParamList:49,PARAM_END:50,FuncGlyph:51,"->":52,"=>":53,Param:54,",":55,PARAM:56,".":57,Array:58,Object:59,Parenthetical:60,Range:61,This:62,Accessor:63,Invocation:64,PROPERTY_ACCESS:65,PROTOTYPE_ACCESS:66,"::":67,SOAK_ACCESS:68,Index:69,Slice:70,INDEX_START:71,INDEX_END:72,SOAKED_INDEX_START:73,SOAKED_INDEX_END:74,"{":75,AssignList:76,"}":77,IndentedAssignList:78,CLASS:79,EXTENDS:80,NEW:81,Super:82,Arguments:83,CALL_START:84,ArgList:85,CALL_END:86,SUPER:87,"@":88,"[":89,"]":90,SimpleArgs:91,TRY:92,Catch:93,FINALLY:94,CATCH:95,THROW:96,"(":97,")":98,EXTENSION:99,WhileSource:100,WHILE:101,WHEN:102,FOR:103,ForVariables:104,ForSource:105,IN:106,OF:107,BY:108,SWITCH:109,Whens:110,ELSE:111,When:112,LEADING_WHEN:113,IfStart:114,IF:115,ElsIf:116,IfBlock:117,UNLESS:118,"!":119,"!!":120,"-":121,"+":122,NOT:123,"~":124,"--":125,"++":126,DELETE:127,TYPEOF:128,"*":129,"/":130,"%":131,"<<":132,">>":133,">>>":134,"&":135,"|":136,"^":137,"<=":138,"<":139,">":140,">=":141,"==":142,"!=":143,IS:144,ISNT:145,"&&":146,"||":147,AND:148,OR:149,"-=":150,"+=":151,"/=":152,"*=":153,"%=":154,"||=":155,"&&=":156,"?=":157,INSTANCEOF:158,"$accept":0,"$end":1},terminals_:{"3":"TERMINATOR","25":"INDENT","26":"OUTDENT","28":"IDENTIFIER","30":"NUMBER","31":"STRING","33":"JS","34":"REGEX","35":"BREAK","36":"CONTINUE","37":"TRUE","38":"FALSE","39":"YES","40":"NO","41":"ON","42":"OFF","43":"ASSIGN","45":"RETURN","46":"COMMENT","47":"?","48":"PARAM_START","50":"PARAM_END","52":"->","53":"=>","55":",","56":"PARAM","57":".","65":"PROPERTY_ACCESS","66":"PROTOTYPE_ACCESS","67":"::","68":"SOAK_ACCESS","71":"INDEX_START","72":"INDEX_END","73":"SOAKED_INDEX_START","74":"SOAKED_INDEX_END","75":"{","77":"}","79":"CLASS","80":"EXTENDS","81":"NEW","84":"CALL_START","86":"CALL_END","87":"SUPER","88":"@","89":"[","90":"]","92":"TRY","94":"FINALLY","95":"CATCH","96":"THROW","97":"(","98":")","99":"EXTENSION","101":"WHILE","102":"WHEN","103":"FOR","106":"IN","107":"OF","108":"BY","109":"SWITCH","111":"ELSE","113":"LEADING_WHEN","115":"IF","118":"UNLESS","119":"!","120":"!!","121":"-","122":"+","123":"NOT","124":"~","125":"--","126":"++","127":"DELETE","128":"TYPEOF","129":"*","130":"/","131":"%","132":"<<","133":">>","134":">>>","135":"&","136":"|","137":"^","138":"<=","139":"<","140":">","141":">=","142":"==","143":"!=","144":"IS","145":"ISNT","146":"&&","147":"||","148":"AND","149":"OR","150":"-=","151":"+=","152":"/=","153":"*=","154":"%=","155":"||=","156":"&&=","157":"?=","158":"INSTANCEOF"},productions_:[0,[2,0],[2,1],[2,1],[2,2],[4,1],[4,3],[4,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[5,3],[5,2],[5,2],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[11,3],[44,3],[44,3],[44,1],[15,2],[15,1],[23,1],[22,2],[9,5],[9,2],[51,1],[51,1],[49,0],[49,1],[49,3],[54,1],[54,4],[21,4],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,2],[7,2],[63,2],[63,2],[63,1],[63,2],[63,1],[63,1],[69,3],[69,3],[59,3],[59,3],[20,2],[20,4],[20,3],[20,5],[76,0],[76,1],[76,3],[76,3],[76,4],[78,3],[8,1],[8,2],[8,1],[19,3],[64,2],[64,2],[83,3],[82,4],[62,1],[62,2],[61,6],[61,7],[70,6],[70,7],[58,3],[85,0],[85,1],[85,2],[85,3],[85,3],[85,4],[85,4],[85,2],[91,1],[91,3],[13,3],[13,4],[13,5],[93,3],[14,2],[60,3],[24,1],[100,2],[100,4],[16,2],[16,2],[17,4],[17,4],[104,1],[104,3],[105,2],[105,2],[105,3],[105,3],[18,5],[18,7],[110,1],[110,2],[112,3],[112,4],[112,3],[114,3],[114,2],[117,1],[117,3],[116,4],[12,1],[12,3],[12,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,2],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3],[10,3]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=$$[$0-1+1-1];break;case 13:this.$=$$[$0-1+1-1];break;case 14:this.$=$$[$0-1+1-1];break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-3+2-1];break;case 27:this.$=new Expressions();break;case 28:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 29:this.$=new LiteralNode(yytext);break;case 30:this.$=new LiteralNode(yytext);break;case 31:this.$=new LiteralNode(yytext);break;case 32:this.$=$$[$0-1+1-1];break;case 33:this.$=new LiteralNode(yytext);break;case 34:this.$=new LiteralNode(yytext);break;case 35:this.$=new LiteralNode(yytext);break;case 36:this.$=new LiteralNode(yytext);break;case 37:this.$=new LiteralNode(true);break;case 38:this.$=new LiteralNode(false);break;case 39:this.$=new LiteralNode(true);break;case 40:this.$=new LiteralNode(false);break;case 41:this.$=new LiteralNode(true);break;case 42:this.$=new LiteralNode(false);break;case 43:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 44:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 45:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 46:this.$=$$[$0-1+1-1];break;case 47:this.$=new ReturnNode($$[$0-2+2-1]);break;case 48:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 49:this.$=new CommentNode(yytext);break;case 50:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 51:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 52:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 53:this.$="func";break;case 54:this.$="boundfunc";break;case 55:this.$=[];break;case 56:this.$=[$$[$0-1+1-1]];break;case 57:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 58:this.$=new LiteralNode(yytext);break;case 59:this.$=new SplatNode($$[$0-4+1-1]);break;case 60:this.$=new SplatNode($$[$0-4+1-1]);break;case 61:this.$=new ValueNode($$[$0-1+1-1]);break;case 62:this.$=new ValueNode($$[$0-1+1-1]);break;case 63:this.$=new ValueNode($$[$0-1+1-1]);break;case 64:this.$=new ValueNode($$[$0-1+1-1]);break;case 65:this.$=new ValueNode($$[$0-1+1-1]);break;case 66:this.$=new ValueNode($$[$0-1+1-1]);break;case 67:this.$=$$[$0-1+1-1];break;case 68:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 69:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 70:this.$=new AccessorNode($$[$0-2+2-1]);break;case 71:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 72:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 73:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 74:this.$=$$[$0-1+1-1];break;case 75:this.$=new SliceNode($$[$0-1+1-1]);break;case 76:this.$=new IndexNode($$[$0-3+2-1]);break;case 77:this.$=new IndexNode($$[$0-3+2-1],"soak");break;case 78:this.$=new ObjectNode($$[$0-3+2-1]);break;case 79:this.$=new ObjectNode($$[$0-3+2-1]);break;case 80:this.$=new ClassNode($$[$0-2+2-1]);break;case 81:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 82:this.$=new ClassNode($$[$0-3+2-1],null,$$[$0-3+3-1]);break;case 83:this.$=new ClassNode($$[$0-5+2-1],$$[$0-5+4-1],$$[$0-5+5-1]);break;case 84:this.$=[];break;case 85:this.$=[$$[$0-1+1-1]];break;case 86:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 87:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 88:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 89:this.$=$$[$0-3+2-1];break;case 90:this.$=$$[$0-1+1-1];break;case 91:this.$=$$[$0-2+2-1].new_instance();break;case 92:this.$=$$[$0-1+1-1];break;case 93:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 94:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 95:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 96:this.$=$$[$0-3+2-1];break;case 97:this.$=new CallNode("super",$$[$0-4+3-1]);break;case 98:this.$=new ValueNode(new LiteralNode("this"));break;case 99:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 100:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 101:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 102:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 103:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 104:this.$=new ArrayNode($$[$0-3+2-1]);break;case 105:this.$=[];break;case 106:this.$=[$$[$0-1+1-1]];break;case 107:this.$=[$$[$0-2+2-1]];break;case 108:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 109:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 110:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 111:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 112:this.$=$$[$0-2+1-1];break;case 113:this.$=$$[$0-1+1-1];break;case 114:this.$=$$[$0-3+1-1] instanceof Array?$$[$0-3+1-1].concat([$$[$0-3+3-1]]):[$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);break;case 115:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 116:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 117:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 118:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 119:this.$=new ThrowNode($$[$0-2+2-1]);break;case 120:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 121:this.$=yytext;break;case 122:this.$=new WhileNode($$[$0-2+2-1]);break;case 123:this.$=new WhileNode($$[$0-4+2-1],{filter:$$[$0-4+4-1]});break;case 124:this.$=$$[$0-2+1-1].add_body($$[$0-2+2-1]);break;case 125:this.$=$$[$0-2+2-1].add_body(Expressions.wrap([$$[$0-2+1-1]]));break;case 126:this.$=new ForNode($$[$0-4+1-1],$$[$0-4+4-1],$$[$0-4+3-1][0],$$[$0-4+3-1][1]);break;case 127:this.$=new ForNode($$[$0-4+4-1],$$[$0-4+3-1],$$[$0-4+2-1][0],$$[$0-4+2-1][1]);break;case 128:this.$=[$$[$0-1+1-1]];break;case 129:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 130:this.$={source:$$[$0-2+2-1]};break;case 131:this.$={source:$$[$0-2+2-1],object:true};break;case 132:this.$=(function(){$$[$0-3+1-1].filter=$$[$0-3+3-1];return $$[$0-3+1-1]}());break;case 133:this.$=(function(){$$[$0-3+1-1].step=$$[$0-3+3-1];return $$[$0-3+1-1]}());break;case 134:this.$=$$[$0-5+4-1].rewrite_condition($$[$0-5+2-1]);break;case 135:this.$=$$[$0-7+4-1].rewrite_condition($$[$0-7+2-1]).add_else($$[$0-7+6-1],true);break;case 136:this.$=$$[$0-1+1-1];break;case 137:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 138:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],null,{statement:true});break;case 139:this.$=new IfNode($$[$0-4+2-1],$$[$0-4+3-1],null,{statement:true});break;case 140:this.$=(function(){$$[$0-3+3-1].comment=$$[$0-3+1-1];return $$[$0-3+3-1]}());break;case 141:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 142:this.$=$$[$0-2+1-1].add_else($$[$0-2+2-1]);break;case 143:this.$=$$[$0-1+1-1];break;case 144:this.$=$$[$0-3+1-1].add_else($$[$0-3+3-1]);break;case 145:this.$=(new IfNode($$[$0-4+3-1],$$[$0-4+4-1])).force_statement();break;case 146:this.$=$$[$0-1+1-1];break;case 147:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),null,{statement:true});break;case 148:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),null,{statement:true,invert:true});break;case 149:this.$=new OpNode("!",$$[$0-2+2-1]);break;case 150:this.$=new OpNode("!!",$$[$0-2+2-1]);break;case 151:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 152:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 153:this.$=new OpNode("not",$$[$0-2+2-1]);break;case 154:this.$=new OpNode("~",$$[$0-2+2-1]);break;case 155:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 156:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 157:this.$=new OpNode("delete",$$[$0-2+2-1]);break;case 158:this.$=new OpNode("typeof",$$[$0-2+2-1]);break;case 159:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 160:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 161:this.$=new OpNode("*",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 162:this.$=new OpNode("/",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 163:this.$=new OpNode("%",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 164:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 165:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 166:this.$=new OpNode("<<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 167:this.$=new OpNode(">>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 168:this.$=new OpNode(">>>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 169:this.$=new OpNode("&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 170:this.$=new OpNode("|",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 171:this.$=new OpNode("^",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 172:this.$=new OpNode("<=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 173:this.$=new OpNode("<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 174:this.$=new OpNode(">",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 175:this.$=new OpNode(">=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 176:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 177:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 178:this.$=new OpNode("is",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 179:this.$=new OpNode("isnt",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 180:this.$=new OpNode("&&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 181:this.$=new OpNode("||",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 182:this.$=new OpNode("and",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 183:this.$=new OpNode("or",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 184:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 185:this.$=new OpNode("-=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 186:this.$=new OpNode("+=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 187:this.$=new OpNode("/=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 188:this.$=new OpNode("*=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 189:this.$=new OpNode("%=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 190:this.$=new OpNode("||=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 191:this.$=new OpNode("&&=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 192:this.$=new OpNode("?=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 193:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 194:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break}},table:[{"1":[2,1],"2":1,"3":[1,2],"4":3,"5":4,"6":5,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[1,6],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[3]},{"1":[2,2],"23":81,"46":[1,55]},{"1":[2,3],"3":[1,82]},{"3":[1,83]},{"1":[2,5],"3":[2,5],"26":[2,5],"47":[1,109],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"4":125,"6":5,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"26":[1,126],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,8],"3":[2,8],"25":[2,8],"26":[2,8],"43":[1,128],"47":[2,8],"55":[2,8],"57":[2,8],"63":127,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,8],"73":[1,139],"74":[2,8],"77":[2,8],"80":[1,129],"83":130,"84":[1,137],"86":[2,8],"90":[2,8],"98":[2,8],"101":[2,8],"102":[2,8],"103":[2,8],"106":[2,8],"108":[2,8],"115":[2,8],"118":[2,8],"121":[2,8],"122":[2,8],"125":[2,8],"126":[2,8],"129":[2,8],"130":[2,8],"131":[2,8],"132":[2,8],"133":[2,8],"134":[2,8],"135":[2,8],"136":[2,8],"137":[2,8],"138":[2,8],"139":[2,8],"140":[2,8],"141":[2,8],"142":[2,8],"143":[2,8],"144":[2,8],"145":[2,8],"146":[2,8],"147":[2,8],"148":[2,8],"149":[2,8],"150":[2,8],"151":[2,8],"152":[2,8],"153":[2,8],"154":[2,8],"155":[2,8],"156":[2,8],"157":[2,8],"158":[2,8]},{"1":[2,9],"3":[2,9],"25":[2,9],"26":[2,9],"47":[2,9],"55":[2,9],"57":[2,9],"72":[2,9],"74":[2,9],"77":[2,9],"86":[2,9],"90":[2,9],"98":[2,9],"101":[2,9],"102":[2,9],"103":[2,9],"106":[2,9],"108":[2,9],"115":[2,9],"118":[2,9],"121":[2,9],"122":[2,9],"125":[2,9],"126":[2,9],"129":[2,9],"130":[2,9],"131":[2,9],"132":[2,9],"133":[2,9],"134":[2,9],"135":[2,9],"136":[2,9],"137":[2,9],"138":[2,9],"139":[2,9],"140":[2,9],"141":[2,9],"142":[2,9],"143":[2,9],"144":[2,9],"145":[2,9],"146":[2,9],"147":[2,9],"148":[2,9],"149":[2,9],"150":[2,9],"151":[2,9],"152":[2,9],"153":[2,9],"154":[2,9],"155":[2,9],"156":[2,9],"157":[2,9],"158":[2,9]},{"1":[2,10],"3":[2,10],"25":[2,10],"26":[2,10],"47":[2,10],"55":[2,10],"57":[2,10],"72":[2,10],"74":[2,10],"77":[2,10],"86":[2,10],"90":[2,10],"98":[2,10],"101":[2,10],"102":[2,10],"103":[2,10],"106":[2,10],"108":[2,10],"115":[2,10],"118":[2,10],"121":[2,10],"122":[2,10],"125":[2,10],"126":[2,10],"129":[2,10],"130":[2,10],"131":[2,10],"132":[2,10],"133":[2,10],"134":[2,10],"135":[2,10],"136":[2,10],"137":[2,10],"138":[2,10],"139":[2,10],"140":[2,10],"141":[2,10],"142":[2,10],"143":[2,10],"144":[2,10],"145":[2,10],"146":[2,10],"147":[2,10],"148":[2,10],"149":[2,10],"150":[2,10],"151":[2,10],"152":[2,10],"153":[2,10],"154":[2,10],"155":[2,10],"156":[2,10],"157":[2,10],"158":[2,10]},{"1":[2,11],"3":[2,11],"25":[2,11],"26":[2,11],"47":[2,11],"55":[2,11],"57":[2,11],"72":[2,11],"74":[2,11],"77":[2,11],"86":[2,11],"90":[2,11],"98":[2,11],"101":[2,11],"102":[2,11],"103":[2,11],"106":[2,11],"108":[2,11],"115":[2,11],"118":[2,11],"121":[2,11],"122":[2,11],"125":[2,11],"126":[2,11],"129":[2,11],"130":[2,11],"131":[2,11],"132":[2,11],"133":[2,11],"134":[2,11],"135":[2,11],"136":[2,11],"137":[2,11],"138":[2,11],"139":[2,11],"140":[2,11],"141":[2,11],"142":[2,11],"143":[2,11],"144":[2,11],"145":[2,11],"146":[2,11],"147":[2,11],"148":[2,11],"149":[2,11],"150":[2,11],"151":[2,11],"152":[2,11],"153":[2,11],"154":[2,11],"155":[2,11],"156":[2,11],"157":[2,11],"158":[2,11]},{"1":[2,12],"3":[2,12],"25":[2,12],"26":[2,12],"47":[2,12],"55":[2,12],"57":[2,12],"72":[2,12],"74":[2,12],"77":[2,12],"86":[2,12],"90":[2,12],"98":[2,12],"101":[2,12],"102":[2,12],"103":[2,12],"106":[2,12],"108":[2,12],"115":[2,12],"118":[2,12],"121":[2,12],"122":[2,12],"125":[2,12],"126":[2,12],"129":[2,12],"130":[2,12],"131":[2,12],"132":[2,12],"133":[2,12],"134":[2,12],"135":[2,12],"136":[2,12],"137":[2,12],"138":[2,12],"139":[2,12],"140":[2,12],"141":[2,12],"142":[2,12],"143":[2,12],"144":[2,12],"145":[2,12],"146":[2,12],"147":[2,12],"148":[2,12],"149":[2,12],"150":[2,12],"151":[2,12],"152":[2,12],"153":[2,12],"154":[2,12],"155":[2,12],"156":[2,12],"157":[2,12],"158":[2,12]},{"1":[2,13],"3":[2,13],"25":[2,13],"26":[2,13],"47":[2,13],"55":[2,13],"57":[2,13],"72":[2,13],"74":[2,13],"77":[2,13],"86":[2,13],"90":[2,13],"98":[2,13],"101":[2,13],"102":[2,13],"103":[2,13],"106":[2,13],"108":[2,13],"115":[2,13],"118":[2,13],"121":[2,13],"122":[2,13],"125":[2,13],"126":[2,13],"129":[2,13],"130":[2,13],"131":[2,13],"132":[2,13],"133":[2,13],"134":[2,13],"135":[2,13],"136":[2,13],"137":[2,13],"138":[2,13],"139":[2,13],"140":[2,13],"141":[2,13],"142":[2,13],"143":[2,13],"144":[2,13],"145":[2,13],"146":[2,13],"147":[2,13],"148":[2,13],"149":[2,13],"150":[2,13],"151":[2,13],"152":[2,13],"153":[2,13],"154":[2,13],"155":[2,13],"156":[2,13],"157":[2,13],"158":[2,13]},{"1":[2,14],"3":[2,14],"25":[2,14],"26":[2,14],"47":[2,14],"55":[2,14],"57":[2,14],"72":[2,14],"74":[2,14],"77":[2,14],"86":[2,14],"90":[2,14],"98":[2,14],"101":[2,14],"102":[2,14],"103":[2,14],"106":[2,14],"108":[2,14],"115":[2,14],"118":[2,14],"121":[2,14],"122":[2,14],"125":[2,14],"126":[2,14],"129":[2,14],"130":[2,14],"131":[2,14],"132":[2,14],"133":[2,14],"134":[2,14],"135":[2,14],"136":[2,14],"137":[2,14],"138":[2,14],"139":[2,14],"140":[2,14],"141":[2,14],"142":[2,14],"143":[2,14],"144":[2,14],"145":[2,14],"146":[2,14],"147":[2,14],"148":[2,14],"149":[2,14],"150":[2,14],"151":[2,14],"152":[2,14],"153":[2,14],"154":[2,14],"155":[2,14],"156":[2,14],"157":[2,14],"158":[2,14]},{"1":[2,15],"3":[2,15],"25":[2,15],"26":[2,15],"47":[2,15],"55":[2,15],"57":[2,15],"72":[2,15],"74":[2,15],"77":[2,15],"86":[2,15],"90":[2,15],"98":[2,15],"101":[2,15],"102":[2,15],"103":[2,15],"106":[2,15],"108":[2,15],"115":[2,15],"118":[2,15],"121":[2,15],"122":[2,15],"125":[2,15],"126":[2,15],"129":[2,15],"130":[2,15],"131":[2,15],"132":[2,15],"133":[2,15],"134":[2,15],"135":[2,15],"136":[2,15],"137":[2,15],"138":[2,15],"139":[2,15],"140":[2,15],"141":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[2,15],"151":[2,15],"152":[2,15],"153":[2,15],"154":[2,15],"155":[2,15],"156":[2,15],"157":[2,15],"158":[2,15]},{"1":[2,16],"3":[2,16],"25":[2,16],"26":[2,16],"47":[2,16],"55":[2,16],"57":[2,16],"72":[2,16],"74":[2,16],"77":[2,16],"86":[2,16],"90":[2,16],"98":[2,16],"101":[2,16],"102":[2,16],"103":[2,16],"106":[2,16],"108":[2,16],"115":[2,16],"118":[2,16],"121":[2,16],"122":[2,16],"125":[2,16],"126":[2,16],"129":[2,16],"130":[2,16],"131":[2,16],"132":[2,16],"133":[2,16],"134":[2,16],"135":[2,16],"136":[2,16],"137":[2,16],"138":[2,16],"139":[2,16],"140":[2,16],"141":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"150":[2,16],"151":[2,16],"152":[2,16],"153":[2,16],"154":[2,16],"155":[2,16],"156":[2,16],"157":[2,16],"158":[2,16]},{"1":[2,17],"3":[2,17],"25":[2,17],"26":[2,17],"47":[2,17],"55":[2,17],"57":[2,17],"72":[2,17],"74":[2,17],"77":[2,17],"86":[2,17],"90":[2,17],"98":[2,17],"101":[2,17],"102":[2,17],"103":[2,17],"106":[2,17],"108":[2,17],"115":[2,17],"118":[2,17],"121":[2,17],"122":[2,17],"125":[2,17],"126":[2,17],"129":[2,17],"130":[2,17],"131":[2,17],"132":[2,17],"133":[2,17],"134":[2,17],"135":[2,17],"136":[2,17],"137":[2,17],"138":[2,17],"139":[2,17],"140":[2,17],"141":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"150":[2,17],"151":[2,17],"152":[2,17],"153":[2,17],"154":[2,17],"155":[2,17],"156":[2,17],"157":[2,17],"158":[2,17]},{"1":[2,18],"3":[2,18],"25":[2,18],"26":[2,18],"47":[2,18],"55":[2,18],"57":[2,18],"72":[2,18],"74":[2,18],"77":[2,18],"86":[2,18],"90":[2,18],"98":[2,18],"101":[2,18],"102":[2,18],"103":[2,18],"106":[2,18],"108":[2,18],"115":[2,18],"118":[2,18],"121":[2,18],"122":[2,18],"125":[2,18],"126":[2,18],"129":[2,18],"130":[2,18],"131":[2,18],"132":[2,18],"133":[2,18],"134":[2,18],"135":[2,18],"136":[2,18],"137":[2,18],"138":[2,18],"139":[2,18],"140":[2,18],"141":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"150":[2,18],"151":[2,18],"152":[2,18],"153":[2,18],"154":[2,18],"155":[2,18],"156":[2,18],"157":[2,18],"158":[2,18]},{"1":[2,19],"3":[2,19],"25":[2,19],"26":[2,19],"47":[2,19],"55":[2,19],"57":[2,19],"72":[2,19],"74":[2,19],"77":[2,19],"86":[2,19],"90":[2,19],"98":[2,19],"101":[2,19],"102":[2,19],"103":[2,19],"106":[2,19],"108":[2,19],"115":[2,19],"118":[2,19],"121":[2,19],"122":[2,19],"125":[2,19],"126":[2,19],"129":[2,19],"130":[2,19],"131":[2,19],"132":[2,19],"133":[2,19],"134":[2,19],"135":[2,19],"136":[2,19],"137":[2,19],"138":[2,19],"139":[2,19],"140":[2,19],"141":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"150":[2,19],"151":[2,19],"152":[2,19],"153":[2,19],"154":[2,19],"155":[2,19],"156":[2,19],"157":[2,19],"158":[2,19]},{"1":[2,20],"3":[2,20],"25":[2,20],"26":[2,20],"47":[2,20],"55":[2,20],"57":[2,20],"72":[2,20],"74":[2,20],"77":[2,20],"86":[2,20],"90":[2,20],"98":[2,20],"101":[2,20],"102":[2,20],"103":[2,20],"106":[2,20],"108":[2,20],"115":[2,20],"118":[2,20],"121":[2,20],"122":[2,20],"125":[2,20],"126":[2,20],"129":[2,20],"130":[2,20],"131":[2,20],"132":[2,20],"133":[2,20],"134":[2,20],"135":[2,20],"136":[2,20],"137":[2,20],"138":[2,20],"139":[2,20],"140":[2,20],"141":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"150":[2,20],"151":[2,20],"152":[2,20],"153":[2,20],"154":[2,20],"155":[2,20],"156":[2,20],"157":[2,20],"158":[2,20]},{"1":[2,21],"3":[2,21],"25":[2,21],"26":[2,21],"47":[2,21],"55":[2,21],"57":[2,21],"72":[2,21],"74":[2,21],"77":[2,21],"86":[2,21],"90":[2,21],"98":[2,21],"101":[2,21],"102":[2,21],"103":[2,21],"106":[2,21],"108":[2,21],"115":[2,21],"118":[2,21],"121":[2,21],"122":[2,21],"125":[2,21],"126":[2,21],"129":[2,21],"130":[2,21],"131":[2,21],"132":[2,21],"133":[2,21],"134":[2,21],"135":[2,21],"136":[2,21],"137":[2,21],"138":[2,21],"139":[2,21],"140":[2,21],"141":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"150":[2,21],"151":[2,21],"152":[2,21],"153":[2,21],"154":[2,21],"155":[2,21],"156":[2,21],"157":[2,21],"158":[2,21]},{"1":[2,22],"3":[2,22],"25":[2,22],"26":[2,22],"47":[2,22],"55":[2,22],"57":[2,22],"72":[2,22],"74":[2,22],"77":[2,22],"86":[2,22],"90":[2,22],"98":[2,22],"101":[2,22],"102":[2,22],"103":[2,22],"106":[2,22],"108":[2,22],"115":[2,22],"118":[2,22],"121":[2,22],"122":[2,22],"125":[2,22],"126":[2,22],"129":[2,22],"130":[2,22],"131":[2,22],"132":[2,22],"133":[2,22],"134":[2,22],"135":[2,22],"136":[2,22],"137":[2,22],"138":[2,22],"139":[2,22],"140":[2,22],"141":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"150":[2,22],"151":[2,22],"152":[2,22],"153":[2,22],"154":[2,22],"155":[2,22],"156":[2,22],"157":[2,22],"158":[2,22]},{"1":[2,23],"3":[2,23],"25":[2,23],"26":[2,23],"47":[2,23],"55":[2,23],"57":[2,23],"72":[2,23],"74":[2,23],"77":[2,23],"86":[2,23],"90":[2,23],"98":[2,23],"101":[2,23],"102":[2,23],"103":[2,23],"106":[2,23],"108":[2,23],"115":[2,23],"118":[2,23],"121":[2,23],"122":[2,23],"125":[2,23],"126":[2,23],"129":[2,23],"130":[2,23],"131":[2,23],"132":[2,23],"133":[2,23],"134":[2,23],"135":[2,23],"136":[2,23],"137":[2,23],"138":[2,23],"139":[2,23],"140":[2,23],"141":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"150":[2,23],"151":[2,23],"152":[2,23],"153":[2,23],"154":[2,23],"155":[2,23],"156":[2,23],"157":[2,23],"158":[2,23]},{"1":[2,24],"3":[2,24],"25":[2,24],"26":[2,24],"47":[2,24],"55":[2,24],"57":[2,24],"72":[2,24],"74":[2,24],"77":[2,24],"86":[2,24],"90":[2,24],"98":[2,24],"101":[2,24],"102":[2,24],"103":[2,24],"106":[2,24],"108":[2,24],"115":[2,24],"118":[2,24],"121":[2,24],"122":[2,24],"125":[2,24],"126":[2,24],"129":[2,24],"130":[2,24],"131":[2,24],"132":[2,24],"133":[2,24],"134":[2,24],"135":[2,24],"136":[2,24],"137":[2,24],"138":[2,24],"139":[2,24],"140":[2,24],"141":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"150":[2,24],"151":[2,24],"152":[2,24],"153":[2,24],"154":[2,24],"155":[2,24],"156":[2,24],"157":[2,24],"158":[2,24]},{"1":[2,25],"3":[2,25],"25":[2,25],"26":[2,25],"47":[2,25],"55":[2,25],"57":[2,25],"72":[2,25],"74":[2,25],"77":[2,25],"86":[2,25],"90":[2,25],"98":[2,25],"101":[2,25],"102":[2,25],"103":[2,25],"106":[2,25],"108":[2,25],"115":[2,25],"118":[2,25],"121":[2,25],"122":[2,25],"125":[2,25],"126":[2,25],"129":[2,25],"130":[2,25],"131":[2,25],"132":[2,25],"133":[2,25],"134":[2,25],"135":[2,25],"136":[2,25],"137":[2,25],"138":[2,25],"139":[2,25],"140":[2,25],"141":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"150":[2,25],"151":[2,25],"152":[2,25],"153":[2,25],"154":[2,25],"155":[2,25],"156":[2,25],"157":[2,25],"158":[2,25]},{"1":[2,61],"3":[2,61],"25":[2,61],"26":[2,61],"43":[2,61],"47":[2,61],"55":[2,61],"57":[2,61],"65":[2,61],"66":[2,61],"67":[2,61],"68":[2,61],"71":[2,61],"72":[2,61],"73":[2,61],"74":[2,61],"77":[2,61],"80":[2,61],"84":[2,61],"86":[2,61],"90":[2,61],"98":[2,61],"101":[2,61],"102":[2,61],"103":[2,61],"106":[2,61],"108":[2,61],"115":[2,61],"118":[2,61],"121":[2,61],"122":[2,61],"125":[2,61],"126":[2,61],"129":[2,61],"130":[2,61],"131":[2,61],"132":[2,61],"133":[2,61],"134":[2,61],"135":[2,61],"136":[2,61],"137":[2,61],"138":[2,61],"139":[2,61],"140":[2,61],"141":[2,61],"142":[2,61],"143":[2,61],"144":[2,61],"145":[2,61],"146":[2,61],"147":[2,61],"148":[2,61],"149":[2,61],"150":[2,61],"151":[2,61],"152":[2,61],"153":[2,61],"154":[2,61],"155":[2,61],"156":[2,61],"157":[2,61],"158":[2,61]},{"1":[2,62],"3":[2,62],"25":[2,62],"26":[2,62],"43":[2,62],"47":[2,62],"55":[2,62],"57":[2,62],"65":[2,62],"66":[2,62],"67":[2,62],"68":[2,62],"71":[2,62],"72":[2,62],"73":[2,62],"74":[2,62],"77":[2,62],"80":[2,62],"84":[2,62],"86":[2,62],"90":[2,62],"98":[2,62],"101":[2,62],"102":[2,62],"103":[2,62],"106":[2,62],"108":[2,62],"115":[2,62],"118":[2,62],"121":[2,62],"122":[2,62],"125":[2,62],"126":[2,62],"129":[2,62],"130":[2,62],"131":[2,62],"132":[2,62],"133":[2,62],"134":[2,62],"135":[2,62],"136":[2,62],"137":[2,62],"138":[2,62],"139":[2,62],"140":[2,62],"141":[2,62],"142":[2,62],"143":[2,62],"144":[2,62],"145":[2,62],"146":[2,62],"147":[2,62],"148":[2,62],"149":[2,62],"150":[2,62],"151":[2,62],"152":[2,62],"153":[2,62],"154":[2,62],"155":[2,62],"156":[2,62],"157":[2,62],"158":[2,62]},{"1":[2,63],"3":[2,63],"25":[2,63],"26":[2,63],"43":[2,63],"47":[2,63],"55":[2,63],"57":[2,63],"65":[2,63],"66":[2,63],"67":[2,63],"68":[2,63],"71":[2,63],"72":[2,63],"73":[2,63],"74":[2,63],"77":[2,63],"80":[2,63],"84":[2,63],"86":[2,63],"90":[2,63],"98":[2,63],"101":[2,63],"102":[2,63],"103":[2,63],"106":[2,63],"108":[2,63],"115":[2,63],"118":[2,63],"121":[2,63],"122":[2,63],"125":[2,63],"126":[2,63],"129":[2,63],"130":[2,63],"131":[2,63],"132":[2,63],"133":[2,63],"134":[2,63],"135":[2,63],"136":[2,63],"137":[2,63],"138":[2,63],"139":[2,63],"140":[2,63],"141":[2,63],"142":[2,63],"143":[2,63],"144":[2,63],"145":[2,63],"146":[2,63],"147":[2,63],"148":[2,63],"149":[2,63],"150":[2,63],"151":[2,63],"152":[2,63],"153":[2,63],"154":[2,63],"155":[2,63],"156":[2,63],"157":[2,63],"158":[2,63]},{"1":[2,64],"3":[2,64],"25":[2,64],"26":[2,64],"43":[2,64],"47":[2,64],"55":[2,64],"57":[2,64],"65":[2,64],"66":[2,64],"67":[2,64],"68":[2,64],"71":[2,64],"72":[2,64],"73":[2,64],"74":[2,64],"77":[2,64],"80":[2,64],"84":[2,64],"86":[2,64],"90":[2,64],"98":[2,64],"101":[2,64],"102":[2,64],"103":[2,64],"106":[2,64],"108":[2,64],"115":[2,64],"118":[2,64],"121":[2,64],"122":[2,64],"125":[2,64],"126":[2,64],"129":[2,64],"130":[2,64],"131":[2,64],"132":[2,64],"133":[2,64],"134":[2,64],"135":[2,64],"136":[2,64],"137":[2,64],"138":[2,64],"139":[2,64],"140":[2,64],"141":[2,64],"142":[2,64],"143":[2,64],"144":[2,64],"145":[2,64],"146":[2,64],"147":[2,64],"148":[2,64],"149":[2,64],"150":[2,64],"151":[2,64],"152":[2,64],"153":[2,64],"154":[2,64],"155":[2,64],"156":[2,64],"157":[2,64],"158":[2,64]},{"1":[2,65],"3":[2,65],"25":[2,65],"26":[2,65],"43":[2,65],"47":[2,65],"55":[2,65],"57":[2,65],"65":[2,65],"66":[2,65],"67":[2,65],"68":[2,65],"71":[2,65],"72":[2,65],"73":[2,65],"74":[2,65],"77":[2,65],"80":[2,65],"84":[2,65],"86":[2,65],"90":[2,65],"98":[2,65],"101":[2,65],"102":[2,65],"103":[2,65],"106":[2,65],"108":[2,65],"115":[2,65],"118":[2,65],"121":[2,65],"122":[2,65],"125":[2,65],"126":[2,65],"129":[2,65],"130":[2,65],"131":[2,65],"132":[2,65],"133":[2,65],"134":[2,65],"135":[2,65],"136":[2,65],"137":[2,65],"138":[2,65],"139":[2,65],"140":[2,65],"141":[2,65],"142":[2,65],"143":[2,65],"144":[2,65],"145":[2,65],"146":[2,65],"147":[2,65],"148":[2,65],"149":[2,65],"150":[2,65],"151":[2,65],"152":[2,65],"153":[2,65],"154":[2,65],"155":[2,65],"156":[2,65],"157":[2,65],"158":[2,65]},{"1":[2,66],"3":[2,66],"25":[2,66],"26":[2,66],"43":[2,66],"47":[2,66],"55":[2,66],"57":[2,66],"65":[2,66],"66":[2,66],"67":[2,66],"68":[2,66],"71":[2,66],"72":[2,66],"73":[2,66],"74":[2,66],"77":[2,66],"80":[2,66],"84":[2,66],"86":[2,66],"90":[2,66],"98":[2,66],"101":[2,66],"102":[2,66],"103":[2,66],"106":[2,66],"108":[2,66],"115":[2,66],"118":[2,66],"121":[2,66],"122":[2,66],"125":[2,66],"126":[2,66],"129":[2,66],"130":[2,66],"131":[2,66],"132":[2,66],"133":[2,66],"134":[2,66],"135":[2,66],"136":[2,66],"137":[2,66],"138":[2,66],"139":[2,66],"140":[2,66],"141":[2,66],"142":[2,66],"143":[2,66],"144":[2,66],"145":[2,66],"146":[2,66],"147":[2,66],"148":[2,66],"149":[2,66],"150":[2,66],"151":[2,66],"152":[2,66],"153":[2,66],"154":[2,66],"155":[2,66],"156":[2,66],"157":[2,66],"158":[2,66]},{"1":[2,67],"3":[2,67],"25":[2,67],"26":[2,67],"43":[2,67],"47":[2,67],"55":[2,67],"57":[2,67],"65":[2,67],"66":[2,67],"67":[2,67],"68":[2,67],"71":[2,67],"72":[2,67],"73":[2,67],"74":[2,67],"77":[2,67],"80":[2,67],"84":[2,67],"86":[2,67],"90":[2,67],"98":[2,67],"101":[2,67],"102":[2,67],"103":[2,67],"106":[2,67],"108":[2,67],"115":[2,67],"118":[2,67],"121":[2,67],"122":[2,67],"125":[2,67],"126":[2,67],"129":[2,67],"130":[2,67],"131":[2,67],"132":[2,67],"133":[2,67],"134":[2,67],"135":[2,67],"136":[2,67],"137":[2,67],"138":[2,67],"139":[2,67],"140":[2,67],"141":[2,67],"142":[2,67],"143":[2,67],"144":[2,67],"145":[2,67],"146":[2,67],"147":[2,67],"148":[2,67],"149":[2,67],"150":[2,67],"151":[2,67],"152":[2,67],"153":[2,67],"154":[2,67],"155":[2,67],"156":[2,67],"157":[2,67],"158":[2,67]},{"1":[2,90],"3":[2,90],"25":[2,90],"26":[2,90],"47":[2,90],"55":[2,90],"57":[2,90],"63":140,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,90],"73":[1,139],"74":[2,90],"77":[2,90],"83":141,"84":[1,137],"86":[2,90],"90":[2,90],"98":[2,90],"101":[2,90],"102":[2,90],"103":[2,90],"106":[2,90],"108":[2,90],"115":[2,90],"118":[2,90],"121":[2,90],"122":[2,90],"125":[2,90],"126":[2,90],"129":[2,90],"130":[2,90],"131":[2,90],"132":[2,90],"133":[2,90],"134":[2,90],"135":[2,90],"136":[2,90],"137":[2,90],"138":[2,90],"139":[2,90],"140":[2,90],"141":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90],"152":[2,90],"153":[2,90],"154":[2,90],"155":[2,90],"156":[2,90],"157":[2,90],"158":[2,90]},{"7":143,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"58":27,"59":28,"60":29,"61":30,"62":31,"64":142,"75":[1,70],"88":[1,72],"89":[1,69],"97":[1,71]},{"1":[2,92],"3":[2,92],"25":[2,92],"26":[2,92],"47":[2,92],"55":[2,92],"57":[2,92],"72":[2,92],"74":[2,92],"77":[2,92],"86":[2,92],"90":[2,92],"98":[2,92],"101":[2,92],"102":[2,92],"103":[2,92],"106":[2,92],"108":[2,92],"115":[2,92],"118":[2,92],"121":[2,92],"122":[2,92],"125":[2,92],"126":[2,92],"129":[2,92],"130":[2,92],"131":[2,92],"132":[2,92],"133":[2,92],"134":[2,92],"135":[2,92],"136":[2,92],"137":[2,92],"138":[2,92],"139":[2,92],"140":[2,92],"141":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92],"152":[2,92],"153":[2,92],"154":[2,92],"155":[2,92],"156":[2,92],"157":[2,92],"158":[2,92]},{"49":144,"50":[2,55],"54":145,"55":[2,55],"56":[1,146]},{"3":[1,148],"5":147,"25":[1,6]},{"6":149,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":150,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":151,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":152,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":153,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":154,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":155,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":156,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":157,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":158,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,146],"3":[2,146],"25":[2,146],"26":[2,146],"47":[2,146],"55":[2,146],"57":[2,146],"72":[2,146],"74":[2,146],"77":[2,146],"86":[2,146],"90":[2,146],"98":[2,146],"101":[2,146],"102":[2,146],"103":[2,146],"106":[2,146],"108":[2,146],"115":[2,146],"118":[2,146],"121":[2,146],"122":[2,146],"125":[2,146],"126":[2,146],"129":[2,146],"130":[2,146],"131":[2,146],"132":[2,146],"133":[2,146],"134":[2,146],"135":[2,146],"136":[2,146],"137":[2,146],"138":[2,146],"139":[2,146],"140":[2,146],"141":[2,146],"142":[2,146],"143":[2,146],"144":[2,146],"145":[2,146],"146":[2,146],"147":[2,146],"148":[2,146],"149":[2,146],"150":[2,146],"151":[2,146],"152":[2,146],"153":[2,146],"154":[2,146],"155":[2,146],"156":[2,146],"157":[2,146],"158":[2,146]},{"3":[1,148],"5":159,"25":[1,6]},{"6":160,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,48],"3":[2,48],"6":161,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[2,48],"26":[2,48],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"47":[2,48],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,48],"57":[2,48],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"72":[2,48],"74":[2,48],"75":[1,70],"77":[2,48],"79":[1,54],"81":[1,33],"82":34,"86":[2,48],"87":[1,73],"88":[1,72],"89":[1,69],"90":[2,48],"92":[1,48],"96":[1,49],"97":[1,71],"98":[2,48],"99":[1,56],"100":51,"101":[2,48],"102":[2,48],"103":[1,52],"106":[2,48],"108":[2,48],"109":[1,53],"114":76,"115":[2,48],"117":47,"118":[2,48],"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46],"129":[2,48],"130":[2,48],"131":[2,48],"132":[2,48],"133":[2,48],"134":[2,48],"135":[2,48],"136":[2,48],"137":[2,48],"138":[2,48],"139":[2,48],"140":[2,48],"141":[2,48],"142":[2,48],"143":[2,48],"144":[2,48],"145":[2,48],"146":[2,48],"147":[2,48],"148":[2,48],"149":[2,48],"150":[2,48],"151":[2,48],"152":[2,48],"153":[2,48],"154":[2,48],"155":[2,48],"156":[2,48],"157":[2,48],"158":[2,48]},{"3":[1,148],"5":162,"25":[1,6]},{"27":164,"28":[1,57],"104":163},{"6":165,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"7":166,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"58":27,"59":28,"60":29,"61":30,"62":31,"64":167,"75":[1,70],"88":[1,72],"89":[1,69],"97":[1,71]},{"1":[2,49],"3":[2,49],"25":[2,49],"26":[2,49],"46":[2,49],"47":[2,49],"55":[2,49],"57":[2,49],"72":[2,49],"74":[2,49],"77":[2,49],"86":[2,49],"90":[2,49],"94":[2,49],"95":[2,49],"98":[2,49],"101":[2,49],"102":[2,49],"103":[2,49],"106":[2,49],"108":[2,49],"111":[2,49],"113":[2,49],"115":[2,49],"118":[2,49],"121":[2,49],"122":[2,49],"125":[2,49],"126":[2,49],"129":[2,49],"130":[2,49],"131":[2,49],"132":[2,49],"133":[2,49],"134":[2,49],"135":[2,49],"136":[2,49],"137":[2,49],"138":[2,49],"139":[2,49],"140":[2,49],"141":[2,49],"142":[2,49],"143":[2,49],"144":[2,49],"145":[2,49],"146":[2,49],"147":[2,49],"148":[2,49],"149":[2,49],"150":[2,49],"151":[2,49],"152":[2,49],"153":[2,49],"154":[2,49],"155":[2,49],"156":[2,49],"157":[2,49],"158":[2,49]},{"1":[2,121],"3":[2,121],"25":[2,121],"26":[2,121],"47":[2,121],"55":[2,121],"57":[2,121],"72":[2,121],"74":[2,121],"77":[2,121],"86":[2,121],"90":[2,121],"98":[2,121],"101":[2,121],"102":[2,121],"103":[2,121],"106":[2,121],"108":[2,121],"115":[2,121],"118":[2,121],"121":[2,121],"122":[2,121],"125":[2,121],"126":[2,121],"129":[2,121],"130":[2,121],"131":[2,121],"132":[2,121],"133":[2,121],"134":[2,121],"135":[2,121],"136":[2,121],"137":[2,121],"138":[2,121],"139":[2,121],"140":[2,121],"141":[2,121],"142":[2,121],"143":[2,121],"144":[2,121],"145":[2,121],"146":[2,121],"147":[2,121],"148":[2,121],"149":[2,121],"150":[2,121],"151":[2,121],"152":[2,121],"153":[2,121],"154":[2,121],"155":[2,121],"156":[2,121],"157":[2,121],"158":[2,121]},{"1":[2,29],"3":[2,29],"25":[2,29],"26":[2,29],"43":[2,29],"47":[2,29],"55":[2,29],"57":[2,29],"65":[2,29],"66":[2,29],"67":[2,29],"68":[2,29],"71":[2,29],"72":[2,29],"73":[2,29],"74":[2,29],"77":[2,29],"80":[2,29],"84":[2,29],"86":[2,29],"90":[2,29],"98":[2,29],"101":[2,29],"102":[2,29],"103":[2,29],"106":[2,29],"107":[2,29],"108":[2,29],"115":[2,29],"118":[2,29],"121":[2,29],"122":[2,29],"125":[2,29],"126":[2,29],"129":[2,29],"130":[2,29],"131":[2,29],"132":[2,29],"133":[2,29],"134":[2,29],"135":[2,29],"136":[2,29],"137":[2,29],"138":[2,29],"139":[2,29],"140":[2,29],"141":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"150":[2,29],"151":[2,29],"152":[2,29],"153":[2,29],"154":[2,29],"155":[2,29],"156":[2,29],"157":[2,29],"158":[2,29]},{"1":[2,32],"3":[2,32],"25":[2,32],"26":[2,32],"43":[2,32],"47":[2,32],"55":[2,32],"57":[2,32],"65":[2,32],"66":[2,32],"67":[2,32],"68":[2,32],"71":[2,32],"72":[2,32],"73":[2,32],"74":[2,32],"77":[2,32],"80":[2,32],"84":[2,32],"86":[2,32],"90":[2,32],"98":[2,32],"101":[2,32],"102":[2,32],"103":[2,32],"106":[2,32],"108":[2,32],"115":[2,32],"118":[2,32],"121":[2,32],"122":[2,32],"125":[2,32],"126":[2,32],"129":[2,32],"130":[2,32],"131":[2,32],"132":[2,32],"133":[2,32],"134":[2,32],"135":[2,32],"136":[2,32],"137":[2,32],"138":[2,32],"139":[2,32],"140":[2,32],"141":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32],"152":[2,32],"153":[2,32],"154":[2,32],"155":[2,32],"156":[2,32],"157":[2,32],"158":[2,32]},{"1":[2,33],"3":[2,33],"25":[2,33],"26":[2,33],"43":[2,33],"47":[2,33],"55":[2,33],"57":[2,33],"65":[2,33],"66":[2,33],"67":[2,33],"68":[2,33],"71":[2,33],"72":[2,33],"73":[2,33],"74":[2,33],"77":[2,33],"80":[2,33],"84":[2,33],"86":[2,33],"90":[2,33],"98":[2,33],"101":[2,33],"102":[2,33],"103":[2,33],"106":[2,33],"108":[2,33],"115":[2,33],"118":[2,33],"121":[2,33],"122":[2,33],"125":[2,33],"126":[2,33],"129":[2,33],"130":[2,33],"131":[2,33],"132":[2,33],"133":[2,33],"134":[2,33],"135":[2,33],"136":[2,33],"137":[2,33],"138":[2,33],"139":[2,33],"140":[2,33],"141":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33],"152":[2,33],"153":[2,33],"154":[2,33],"155":[2,33],"156":[2,33],"157":[2,33],"158":[2,33]},{"1":[2,34],"3":[2,34],"25":[2,34],"26":[2,34],"43":[2,34],"47":[2,34],"55":[2,34],"57":[2,34],"65":[2,34],"66":[2,34],"67":[2,34],"68":[2,34],"71":[2,34],"72":[2,34],"73":[2,34],"74":[2,34],"77":[2,34],"80":[2,34],"84":[2,34],"86":[2,34],"90":[2,34],"98":[2,34],"101":[2,34],"102":[2,34],"103":[2,34],"106":[2,34],"108":[2,34],"115":[2,34],"118":[2,34],"121":[2,34],"122":[2,34],"125":[2,34],"126":[2,34],"129":[2,34],"130":[2,34],"131":[2,34],"132":[2,34],"133":[2,34],"134":[2,34],"135":[2,34],"136":[2,34],"137":[2,34],"138":[2,34],"139":[2,34],"140":[2,34],"141":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34],"152":[2,34],"153":[2,34],"154":[2,34],"155":[2,34],"156":[2,34],"157":[2,34],"158":[2,34]},{"1":[2,35],"3":[2,35],"25":[2,35],"26":[2,35],"43":[2,35],"47":[2,35],"55":[2,35],"57":[2,35],"65":[2,35],"66":[2,35],"67":[2,35],"68":[2,35],"71":[2,35],"72":[2,35],"73":[2,35],"74":[2,35],"77":[2,35],"80":[2,35],"84":[2,35],"86":[2,35],"90":[2,35],"98":[2,35],"101":[2,35],"102":[2,35],"103":[2,35],"106":[2,35],"108":[2,35],"115":[2,35],"118":[2,35],"121":[2,35],"122":[2,35],"125":[2,35],"126":[2,35],"129":[2,35],"130":[2,35],"131":[2,35],"132":[2,35],"133":[2,35],"134":[2,35],"135":[2,35],"136":[2,35],"137":[2,35],"138":[2,35],"139":[2,35],"140":[2,35],"141":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35],"152":[2,35],"153":[2,35],"154":[2,35],"155":[2,35],"156":[2,35],"157":[2,35],"158":[2,35]},{"1":[2,36],"3":[2,36],"25":[2,36],"26":[2,36],"43":[2,36],"47":[2,36],"55":[2,36],"57":[2,36],"65":[2,36],"66":[2,36],"67":[2,36],"68":[2,36],"71":[2,36],"72":[2,36],"73":[2,36],"74":[2,36],"77":[2,36],"80":[2,36],"84":[2,36],"86":[2,36],"90":[2,36],"98":[2,36],"101":[2,36],"102":[2,36],"103":[2,36],"106":[2,36],"108":[2,36],"115":[2,36],"118":[2,36],"121":[2,36],"122":[2,36],"125":[2,36],"126":[2,36],"129":[2,36],"130":[2,36],"131":[2,36],"132":[2,36],"133":[2,36],"134":[2,36],"135":[2,36],"136":[2,36],"137":[2,36],"138":[2,36],"139":[2,36],"140":[2,36],"141":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36],"152":[2,36],"153":[2,36],"154":[2,36],"155":[2,36],"156":[2,36],"157":[2,36],"158":[2,36]},{"1":[2,37],"3":[2,37],"25":[2,37],"26":[2,37],"43":[2,37],"47":[2,37],"55":[2,37],"57":[2,37],"65":[2,37],"66":[2,37],"67":[2,37],"68":[2,37],"71":[2,37],"72":[2,37],"73":[2,37],"74":[2,37],"77":[2,37],"80":[2,37],"84":[2,37],"86":[2,37],"90":[2,37],"98":[2,37],"101":[2,37],"102":[2,37],"103":[2,37],"106":[2,37],"108":[2,37],"115":[2,37],"118":[2,37],"121":[2,37],"122":[2,37],"125":[2,37],"126":[2,37],"129":[2,37],"130":[2,37],"131":[2,37],"132":[2,37],"133":[2,37],"134":[2,37],"135":[2,37],"136":[2,37],"137":[2,37],"138":[2,37],"139":[2,37],"140":[2,37],"141":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37],"152":[2,37],"153":[2,37],"154":[2,37],"155":[2,37],"156":[2,37],"157":[2,37],"158":[2,37]},{"1":[2,38],"3":[2,38],"25":[2,38],"26":[2,38],"43":[2,38],"47":[2,38],"55":[2,38],"57":[2,38],"65":[2,38],"66":[2,38],"67":[2,38],"68":[2,38],"71":[2,38],"72":[2,38],"73":[2,38],"74":[2,38],"77":[2,38],"80":[2,38],"84":[2,38],"86":[2,38],"90":[2,38],"98":[2,38],"101":[2,38],"102":[2,38],"103":[2,38],"106":[2,38],"108":[2,38],"115":[2,38],"118":[2,38],"121":[2,38],"122":[2,38],"125":[2,38],"126":[2,38],"129":[2,38],"130":[2,38],"131":[2,38],"132":[2,38],"133":[2,38],"134":[2,38],"135":[2,38],"136":[2,38],"137":[2,38],"138":[2,38],"139":[2,38],"140":[2,38],"141":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38],"152":[2,38],"153":[2,38],"154":[2,38],"155":[2,38],"156":[2,38],"157":[2,38],"158":[2,38]},{"1":[2,39],"3":[2,39],"25":[2,39],"26":[2,39],"43":[2,39],"47":[2,39],"55":[2,39],"57":[2,39],"65":[2,39],"66":[2,39],"67":[2,39],"68":[2,39],"71":[2,39],"72":[2,39],"73":[2,39],"74":[2,39],"77":[2,39],"80":[2,39],"84":[2,39],"86":[2,39],"90":[2,39],"98":[2,39],"101":[2,39],"102":[2,39],"103":[2,39],"106":[2,39],"108":[2,39],"115":[2,39],"118":[2,39],"121":[2,39],"122":[2,39],"125":[2,39],"126":[2,39],"129":[2,39],"130":[2,39],"131":[2,39],"132":[2,39],"133":[2,39],"134":[2,39],"135":[2,39],"136":[2,39],"137":[2,39],"138":[2,39],"139":[2,39],"140":[2,39],"141":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39],"152":[2,39],"153":[2,39],"154":[2,39],"155":[2,39],"156":[2,39],"157":[2,39],"158":[2,39]},{"1":[2,40],"3":[2,40],"25":[2,40],"26":[2,40],"43":[2,40],"47":[2,40],"55":[2,40],"57":[2,40],"65":[2,40],"66":[2,40],"67":[2,40],"68":[2,40],"71":[2,40],"72":[2,40],"73":[2,40],"74":[2,40],"77":[2,40],"80":[2,40],"84":[2,40],"86":[2,40],"90":[2,40],"98":[2,40],"101":[2,40],"102":[2,40],"103":[2,40],"106":[2,40],"108":[2,40],"115":[2,40],"118":[2,40],"121":[2,40],"122":[2,40],"125":[2,40],"126":[2,40],"129":[2,40],"130":[2,40],"131":[2,40],"132":[2,40],"133":[2,40],"134":[2,40],"135":[2,40],"136":[2,40],"137":[2,40],"138":[2,40],"139":[2,40],"140":[2,40],"141":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40],"152":[2,40],"153":[2,40],"154":[2,40],"155":[2,40],"156":[2,40],"157":[2,40],"158":[2,40]},{"1":[2,41],"3":[2,41],"25":[2,41],"26":[2,41],"43":[2,41],"47":[2,41],"55":[2,41],"57":[2,41],"65":[2,41],"66":[2,41],"67":[2,41],"68":[2,41],"71":[2,41],"72":[2,41],"73":[2,41],"74":[2,41],"77":[2,41],"80":[2,41],"84":[2,41],"86":[2,41],"90":[2,41],"98":[2,41],"101":[2,41],"102":[2,41],"103":[2,41],"106":[2,41],"108":[2,41],"115":[2,41],"118":[2,41],"121":[2,41],"122":[2,41],"125":[2,41],"126":[2,41],"129":[2,41],"130":[2,41],"131":[2,41],"132":[2,41],"133":[2,41],"134":[2,41],"135":[2,41],"136":[2,41],"137":[2,41],"138":[2,41],"139":[2,41],"140":[2,41],"141":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41],"152":[2,41],"153":[2,41],"154":[2,41],"155":[2,41],"156":[2,41],"157":[2,41],"158":[2,41]},{"1":[2,42],"3":[2,42],"25":[2,42],"26":[2,42],"43":[2,42],"47":[2,42],"55":[2,42],"57":[2,42],"65":[2,42],"66":[2,42],"67":[2,42],"68":[2,42],"71":[2,42],"72":[2,42],"73":[2,42],"74":[2,42],"77":[2,42],"80":[2,42],"84":[2,42],"86":[2,42],"90":[2,42],"98":[2,42],"101":[2,42],"102":[2,42],"103":[2,42],"106":[2,42],"108":[2,42],"115":[2,42],"118":[2,42],"121":[2,42],"122":[2,42],"125":[2,42],"126":[2,42],"129":[2,42],"130":[2,42],"131":[2,42],"132":[2,42],"133":[2,42],"134":[2,42],"135":[2,42],"136":[2,42],"137":[2,42],"138":[2,42],"139":[2,42],"140":[2,42],"141":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42],"152":[2,42],"153":[2,42],"154":[2,42],"155":[2,42],"156":[2,42],"157":[2,42],"158":[2,42]},{"3":[2,105],"6":169,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[1,170],"26":[2,105],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,105],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"85":168,"87":[1,73],"88":[1,72],"89":[1,69],"90":[2,105],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[2,84],"23":177,"25":[1,174],"27":175,"28":[1,57],"29":176,"30":[1,78],"31":[1,79],"44":173,"46":[1,55],"55":[2,84],"76":171,"77":[2,84],"78":172},{"6":178,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,98],"3":[2,98],"25":[2,98],"26":[2,98],"27":179,"28":[1,57],"43":[2,98],"47":[2,98],"55":[2,98],"57":[2,98],"65":[2,98],"66":[2,98],"67":[2,98],"68":[2,98],"71":[2,98],"72":[2,98],"73":[2,98],"74":[2,98],"77":[2,98],"80":[2,98],"84":[2,98],"86":[2,98],"90":[2,98],"98":[2,98],"101":[2,98],"102":[2,98],"103":[2,98],"106":[2,98],"108":[2,98],"115":[2,98],"118":[2,98],"121":[2,98],"122":[2,98],"125":[2,98],"126":[2,98],"129":[2,98],"130":[2,98],"131":[2,98],"132":[2,98],"133":[2,98],"134":[2,98],"135":[2,98],"136":[2,98],"137":[2,98],"138":[2,98],"139":[2,98],"140":[2,98],"141":[2,98],"142":[2,98],"143":[2,98],"144":[2,98],"145":[2,98],"146":[2,98],"147":[2,98],"148":[2,98],"149":[2,98],"150":[2,98],"151":[2,98],"152":[2,98],"153":[2,98],"154":[2,98],"155":[2,98],"156":[2,98],"157":[2,98],"158":[2,98]},{"84":[1,180]},{"3":[2,53],"25":[2,53]},{"3":[2,54],"25":[2,54]},{"1":[2,143],"3":[2,143],"25":[2,143],"26":[2,143],"47":[2,143],"55":[2,143],"57":[2,143],"72":[2,143],"74":[2,143],"77":[2,143],"86":[2,143],"90":[2,143],"98":[2,143],"101":[2,143],"102":[2,143],"103":[2,143],"106":[2,143],"108":[2,143],"111":[1,181],"115":[2,143],"116":182,"118":[2,143],"121":[2,143],"122":[2,143],"125":[2,143],"126":[2,143],"129":[2,143],"130":[2,143],"131":[2,143],"132":[2,143],"133":[2,143],"134":[2,143],"135":[2,143],"136":[2,143],"137":[2,143],"138":[2,143],"139":[2,143],"140":[2,143],"141":[2,143],"142":[2,143],"143":[2,143],"144":[2,143],"145":[2,143],"146":[2,143],"147":[2,143],"148":[2,143],"149":[2,143],"150":[2,143],"151":[2,143],"152":[2,143],"153":[2,143],"154":[2,143],"155":[2,143],"156":[2,143],"157":[2,143],"158":[2,143]},{"6":183,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,30],"3":[2,30],"25":[2,30],"26":[2,30],"43":[2,30],"47":[2,30],"55":[2,30],"57":[2,30],"65":[2,30],"66":[2,30],"67":[2,30],"68":[2,30],"71":[2,30],"72":[2,30],"73":[2,30],"74":[2,30],"77":[2,30],"80":[2,30],"84":[2,30],"86":[2,30],"90":[2,30],"98":[2,30],"101":[2,30],"102":[2,30],"103":[2,30],"106":[2,30],"108":[2,30],"115":[2,30],"118":[2,30],"121":[2,30],"122":[2,30],"125":[2,30],"126":[2,30],"129":[2,30],"130":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"134":[2,30],"135":[2,30],"136":[2,30],"137":[2,30],"138":[2,30],"139":[2,30],"140":[2,30],"141":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"150":[2,30],"151":[2,30],"152":[2,30],"153":[2,30],"154":[2,30],"155":[2,30],"156":[2,30],"157":[2,30],"158":[2,30]},{"1":[2,31],"3":[2,31],"25":[2,31],"26":[2,31],"43":[2,31],"47":[2,31],"55":[2,31],"57":[2,31],"65":[2,31],"66":[2,31],"67":[2,31],"68":[2,31],"71":[2,31],"72":[2,31],"73":[2,31],"74":[2,31],"77":[2,31],"80":[2,31],"84":[2,31],"86":[2,31],"90":[2,31],"98":[2,31],"101":[2,31],"102":[2,31],"103":[2,31],"106":[2,31],"108":[2,31],"115":[2,31],"118":[2,31],"121":[2,31],"122":[2,31],"125":[2,31],"126":[2,31],"129":[2,31],"130":[2,31],"131":[2,31],"132":[2,31],"133":[2,31],"134":[2,31],"135":[2,31],"136":[2,31],"137":[2,31],"138":[2,31],"139":[2,31],"140":[2,31],"141":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"150":[2,31],"151":[2,31],"152":[2,31],"153":[2,31],"154":[2,31],"155":[2,31],"156":[2,31],"157":[2,31],"158":[2,31]},{"6":184,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,28],"3":[2,28],"25":[2,28],"26":[2,28],"46":[2,28],"47":[2,28],"55":[2,28],"57":[2,28],"72":[2,28],"74":[2,28],"77":[2,28],"86":[2,28],"90":[2,28],"94":[2,28],"95":[2,28],"98":[2,28],"101":[2,28],"102":[2,28],"103":[2,28],"106":[2,28],"108":[2,28],"111":[2,28],"113":[2,28],"115":[2,28],"118":[2,28],"121":[2,28],"122":[2,28],"125":[2,28],"126":[2,28],"129":[2,28],"130":[2,28],"131":[2,28],"132":[2,28],"133":[2,28],"134":[2,28],"135":[2,28],"136":[2,28],"137":[2,28],"138":[2,28],"139":[2,28],"140":[2,28],"141":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"150":[2,28],"151":[2,28],"152":[2,28],"153":[2,28],"154":[2,28],"155":[2,28],"156":[2,28],"157":[2,28],"158":[2,28]},{"1":[2,7],"3":[2,7],"6":185,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"26":[2,7],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,4]},{"1":[2,159],"3":[2,159],"25":[2,159],"26":[2,159],"47":[2,159],"55":[2,159],"57":[2,159],"72":[2,159],"74":[2,159],"77":[2,159],"86":[2,159],"90":[2,159],"98":[2,159],"101":[2,159],"102":[2,159],"103":[2,159],"106":[2,159],"108":[2,159],"115":[2,159],"118":[2,159],"121":[2,159],"122":[2,159],"125":[2,159],"126":[2,159],"129":[2,159],"130":[2,159],"131":[2,159],"132":[2,159],"133":[2,159],"134":[2,159],"135":[2,159],"136":[2,159],"137":[2,159],"138":[2,159],"139":[2,159],"140":[2,159],"141":[2,159],"142":[2,159],"143":[2,159],"144":[2,159],"145":[2,159],"146":[2,159],"147":[2,159],"148":[2,159],"149":[2,159],"150":[2,159],"151":[2,159],"152":[2,159],"153":[2,159],"154":[2,159],"155":[2,159],"156":[2,159],"157":[2,159],"158":[2,159]},{"1":[2,160],"3":[2,160],"25":[2,160],"26":[2,160],"47":[2,160],"55":[2,160],"57":[2,160],"72":[2,160],"74":[2,160],"77":[2,160],"86":[2,160],"90":[2,160],"98":[2,160],"101":[2,160],"102":[2,160],"103":[2,160],"106":[2,160],"108":[2,160],"115":[2,160],"118":[2,160],"121":[2,160],"122":[2,160],"125":[2,160],"126":[2,160],"129":[2,160],"130":[2,160],"131":[2,160],"132":[2,160],"133":[2,160],"134":[2,160],"135":[2,160],"136":[2,160],"137":[2,160],"138":[2,160],"139":[2,160],"140":[2,160],"141":[2,160],"142":[2,160],"143":[2,160],"144":[2,160],"145":[2,160],"146":[2,160],"147":[2,160],"148":[2,160],"149":[2,160],"150":[2,160],"151":[2,160],"152":[2,160],"153":[2,160],"154":[2,160],"155":[2,160],"156":[2,160],"157":[2,160],"158":[2,160]},{"6":186,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":187,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":188,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":189,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":190,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":191,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":192,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":193,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":194,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":195,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":196,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":197,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":198,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":199,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":200,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":201,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":202,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":203,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":204,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":205,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":206,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":207,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":208,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,50],"3":[2,50],"6":209,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[2,50],"26":[2,50],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"47":[2,50],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,50],"57":[2,50],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"72":[2,50],"74":[2,50],"75":[1,70],"77":[2,50],"79":[1,54],"81":[1,33],"82":34,"86":[2,50],"87":[1,73],"88":[1,72],"89":[1,69],"90":[2,50],"92":[1,48],"96":[1,49],"97":[1,71],"98":[2,50],"99":[1,56],"100":51,"101":[2,50],"102":[2,50],"103":[2,50],"106":[2,50],"108":[2,50],"109":[1,53],"114":76,"115":[2,50],"117":47,"118":[2,50],"119":[1,37],"120":[1,38],"121":[2,50],"122":[2,50],"123":[1,41],"124":[1,42],"125":[2,50],"126":[2,50],"127":[1,45],"128":[1,46],"129":[2,50],"130":[2,50],"131":[2,50],"132":[2,50],"133":[2,50],"134":[2,50],"135":[2,50],"136":[2,50],"137":[2,50],"138":[2,50],"139":[2,50],"140":[2,50],"141":[2,50],"142":[2,50],"143":[2,50],"144":[2,50],"145":[2,50],"146":[2,50],"147":[2,50],"148":[2,50],"149":[2,50],"150":[2,50],"151":[2,50],"152":[2,50],"153":[2,50],"154":[2,50],"155":[2,50],"156":[2,50],"157":[2,50],"158":[2,50]},{"6":210,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":211,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":212,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":213,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":214,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":215,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":216,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":217,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":218,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":219,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":220,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":221,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,125],"3":[2,125],"25":[2,125],"26":[2,125],"47":[2,125],"55":[2,125],"57":[2,125],"72":[2,125],"74":[2,125],"77":[2,125],"86":[2,125],"90":[2,125],"98":[2,125],"101":[2,125],"102":[2,125],"103":[2,125],"106":[2,125],"108":[2,125],"115":[2,125],"118":[2,125],"121":[2,125],"122":[2,125],"125":[2,125],"126":[2,125],"129":[2,125],"130":[2,125],"131":[2,125],"132":[2,125],"133":[2,125],"134":[2,125],"135":[2,125],"136":[2,125],"137":[2,125],"138":[2,125],"139":[2,125],"140":[2,125],"141":[2,125],"142":[2,125],"143":[2,125],"144":[2,125],"145":[2,125],"146":[2,125],"147":[2,125],"148":[2,125],"149":[2,125],"150":[2,125],"151":[2,125],"152":[2,125],"153":[2,125],"154":[2,125],"155":[2,125],"156":[2,125],"157":[2,125],"158":[2,125]},{"27":164,"28":[1,57],"104":222},{"57":[1,223]},{"3":[1,82],"26":[1,224]},{"1":[2,27],"3":[2,27],"25":[2,27],"26":[2,27],"46":[2,27],"47":[2,27],"55":[2,27],"57":[2,27],"72":[2,27],"74":[2,27],"77":[2,27],"86":[2,27],"90":[2,27],"94":[2,27],"95":[2,27],"98":[2,27],"101":[2,27],"102":[2,27],"103":[2,27],"106":[2,27],"108":[2,27],"111":[2,27],"113":[2,27],"115":[2,27],"118":[2,27],"121":[2,27],"122":[2,27],"125":[2,27],"126":[2,27],"129":[2,27],"130":[2,27],"131":[2,27],"132":[2,27],"133":[2,27],"134":[2,27],"135":[2,27],"136":[2,27],"137":[2,27],"138":[2,27],"139":[2,27],"140":[2,27],"141":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"150":[2,27],"151":[2,27],"152":[2,27],"153":[2,27],"154":[2,27],"155":[2,27],"156":[2,27],"157":[2,27],"158":[2,27]},{"1":[2,68],"3":[2,68],"25":[2,68],"26":[2,68],"43":[2,68],"47":[2,68],"55":[2,68],"57":[2,68],"65":[2,68],"66":[2,68],"67":[2,68],"68":[2,68],"71":[2,68],"72":[2,68],"73":[2,68],"74":[2,68],"77":[2,68],"80":[2,68],"84":[2,68],"86":[2,68],"90":[2,68],"98":[2,68],"101":[2,68],"102":[2,68],"103":[2,68],"106":[2,68],"108":[2,68],"115":[2,68],"118":[2,68],"121":[2,68],"122":[2,68],"125":[2,68],"126":[2,68],"129":[2,68],"130":[2,68],"131":[2,68],"132":[2,68],"133":[2,68],"134":[2,68],"135":[2,68],"136":[2,68],"137":[2,68],"138":[2,68],"139":[2,68],"140":[2,68],"141":[2,68],"142":[2,68],"143":[2,68],"144":[2,68],"145":[2,68],"146":[2,68],"147":[2,68],"148":[2,68],"149":[2,68],"150":[2,68],"151":[2,68],"152":[2,68],"153":[2,68],"154":[2,68],"155":[2,68],"156":[2,68],"157":[2,68],"158":[2,68]},{"6":225,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"7":226,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"58":27,"59":28,"60":29,"61":30,"62":31,"64":167,"75":[1,70],"88":[1,72],"89":[1,69],"97":[1,71]},{"1":[2,94],"3":[2,94],"25":[2,94],"26":[2,94],"47":[2,94],"55":[2,94],"57":[2,94],"65":[2,94],"66":[2,94],"67":[2,94],"68":[2,94],"71":[2,94],"72":[2,94],"73":[2,94],"74":[2,94],"77":[2,94],"84":[2,94],"86":[2,94],"90":[2,94],"98":[2,94],"101":[2,94],"102":[2,94],"103":[2,94],"106":[2,94],"108":[2,94],"115":[2,94],"118":[2,94],"121":[2,94],"122":[2,94],"125":[2,94],"126":[2,94],"129":[2,94],"130":[2,94],"131":[2,94],"132":[2,94],"133":[2,94],"134":[2,94],"135":[2,94],"136":[2,94],"137":[2,94],"138":[2,94],"139":[2,94],"140":[2,94],"141":[2,94],"142":[2,94],"143":[2,94],"144":[2,94],"145":[2,94],"146":[2,94],"147":[2,94],"148":[2,94],"149":[2,94],"150":[2,94],"151":[2,94],"152":[2,94],"153":[2,94],"154":[2,94],"155":[2,94],"156":[2,94],"157":[2,94],"158":[2,94]},{"27":227,"28":[1,57]},{"27":228,"28":[1,57]},{"1":[2,72],"3":[2,72],"25":[2,72],"26":[2,72],"43":[2,72],"47":[2,72],"55":[2,72],"57":[2,72],"65":[2,72],"66":[2,72],"67":[2,72],"68":[2,72],"71":[2,72],"72":[2,72],"73":[2,72],"74":[2,72],"77":[2,72],"80":[2,72],"84":[2,72],"86":[2,72],"90":[2,72],"98":[2,72],"101":[2,72],"102":[2,72],"103":[2,72],"106":[2,72],"108":[2,72],"115":[2,72],"118":[2,72],"121":[2,72],"122":[2,72],"125":[2,72],"126":[2,72],"129":[2,72],"130":[2,72],"131":[2,72],"132":[2,72],"133":[2,72],"134":[2,72],"135":[2,72],"136":[2,72],"137":[2,72],"138":[2,72],"139":[2,72],"140":[2,72],"141":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72],"152":[2,72],"153":[2,72],"154":[2,72],"155":[2,72],"156":[2,72],"157":[2,72],"158":[2,72]},{"27":229,"28":[1,57]},{"1":[2,74],"3":[2,74],"25":[2,74],"26":[2,74],"43":[2,74],"47":[2,74],"55":[2,74],"57":[2,74],"65":[2,74],"66":[2,74],"67":[2,74],"68":[2,74],"71":[2,74],"72":[2,74],"73":[2,74],"74":[2,74],"77":[2,74],"80":[2,74],"84":[2,74],"86":[2,74],"90":[2,74],"98":[2,74],"101":[2,74],"102":[2,74],"103":[2,74],"106":[2,74],"108":[2,74],"115":[2,74],"118":[2,74],"121":[2,74],"122":[2,74],"125":[2,74],"126":[2,74],"129":[2,74],"130":[2,74],"131":[2,74],"132":[2,74],"133":[2,74],"134":[2,74],"135":[2,74],"136":[2,74],"137":[2,74],"138":[2,74],"139":[2,74],"140":[2,74],"141":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74],"152":[2,74],"153":[2,74],"154":[2,74],"155":[2,74],"156":[2,74],"157":[2,74],"158":[2,74]},{"1":[2,75],"3":[2,75],"25":[2,75],"26":[2,75],"43":[2,75],"47":[2,75],"55":[2,75],"57":[2,75],"65":[2,75],"66":[2,75],"67":[2,75],"68":[2,75],"71":[2,75],"72":[2,75],"73":[2,75],"74":[2,75],"77":[2,75],"80":[2,75],"84":[2,75],"86":[2,75],"90":[2,75],"98":[2,75],"101":[2,75],"102":[2,75],"103":[2,75],"106":[2,75],"108":[2,75],"115":[2,75],"118":[2,75],"121":[2,75],"122":[2,75],"125":[2,75],"126":[2,75],"129":[2,75],"130":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"134":[2,75],"135":[2,75],"136":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75],"156":[2,75],"157":[2,75],"158":[2,75]},{"3":[2,105],"6":231,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[1,170],"26":[2,105],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,105],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"85":230,"86":[2,105],"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":232,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":233,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,69],"3":[2,69],"25":[2,69],"26":[2,69],"43":[2,69],"47":[2,69],"55":[2,69],"57":[2,69],"65":[2,69],"66":[2,69],"67":[2,69],"68":[2,69],"71":[2,69],"72":[2,69],"73":[2,69],"74":[2,69],"77":[2,69],"80":[2,69],"84":[2,69],"86":[2,69],"90":[2,69],"98":[2,69],"101":[2,69],"102":[2,69],"103":[2,69],"106":[2,69],"108":[2,69],"115":[2,69],"118":[2,69],"121":[2,69],"122":[2,69],"125":[2,69],"126":[2,69],"129":[2,69],"130":[2,69],"131":[2,69],"132":[2,69],"133":[2,69],"134":[2,69],"135":[2,69],"136":[2,69],"137":[2,69],"138":[2,69],"139":[2,69],"140":[2,69],"141":[2,69],"142":[2,69],"143":[2,69],"144":[2,69],"145":[2,69],"146":[2,69],"147":[2,69],"148":[2,69],"149":[2,69],"150":[2,69],"151":[2,69],"152":[2,69],"153":[2,69],"154":[2,69],"155":[2,69],"156":[2,69],"157":[2,69],"158":[2,69]},{"1":[2,95],"3":[2,95],"25":[2,95],"26":[2,95],"47":[2,95],"55":[2,95],"57":[2,95],"65":[2,95],"66":[2,95],"67":[2,95],"68":[2,95],"71":[2,95],"72":[2,95],"73":[2,95],"74":[2,95],"77":[2,95],"84":[2,95],"86":[2,95],"90":[2,95],"98":[2,95],"101":[2,95],"102":[2,95],"103":[2,95],"106":[2,95],"108":[2,95],"115":[2,95],"118":[2,95],"121":[2,95],"122":[2,95],"125":[2,95],"126":[2,95],"129":[2,95],"130":[2,95],"131":[2,95],"132":[2,95],"133":[2,95],"134":[2,95],"135":[2,95],"136":[2,95],"137":[2,95],"138":[2,95],"139":[2,95],"140":[2,95],"141":[2,95],"142":[2,95],"143":[2,95],"144":[2,95],"145":[2,95],"146":[2,95],"147":[2,95],"148":[2,95],"149":[2,95],"150":[2,95],"151":[2,95],"152":[2,95],"153":[2,95],"154":[2,95],"155":[2,95],"156":[2,95],"157":[2,95],"158":[2,95]},{"1":[2,91],"3":[2,91],"25":[2,91],"26":[2,91],"47":[2,91],"55":[2,91],"57":[2,91],"63":140,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,91],"73":[1,139],"74":[2,91],"77":[2,91],"83":141,"84":[1,137],"86":[2,91],"90":[2,91],"98":[2,91],"101":[2,91],"102":[2,91],"103":[2,91],"106":[2,91],"108":[2,91],"115":[2,91],"118":[2,91],"121":[2,91],"122":[2,91],"125":[2,91],"126":[2,91],"129":[2,91],"130":[2,91],"131":[2,91],"132":[2,91],"133":[2,91],"134":[2,91],"135":[2,91],"136":[2,91],"137":[2,91],"138":[2,91],"139":[2,91],"140":[2,91],"141":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91],"152":[2,91],"153":[2,91],"154":[2,91],"155":[2,91],"156":[2,91],"157":[2,91],"158":[2,91]},{"63":127,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"73":[1,139],"83":130,"84":[1,137]},{"50":[1,234],"55":[1,235]},{"50":[2,56],"55":[2,56],"57":[1,236]},{"50":[2,58],"55":[2,58],"57":[2,58]},{"1":[2,52],"3":[2,52],"25":[2,52],"26":[2,52],"47":[2,52],"55":[2,52],"57":[2,52],"72":[2,52],"74":[2,52],"77":[2,52],"86":[2,52],"90":[2,52],"98":[2,52],"101":[2,52],"102":[2,52],"103":[2,52],"106":[2,52],"108":[2,52],"115":[2,52],"118":[2,52],"121":[2,52],"122":[2,52],"125":[2,52],"126":[2,52],"129":[2,52],"130":[2,52],"131":[2,52],"132":[2,52],"133":[2,52],"134":[2,52],"135":[2,52],"136":[2,52],"137":[2,52],"138":[2,52],"139":[2,52],"140":[2,52],"141":[2,52],"142":[2,52],"143":[2,52],"144":[2,52],"145":[2,52],"146":[2,52],"147":[2,52],"148":[2,52],"149":[2,52],"150":[2,52],"151":[2,52],"152":[2,52],"153":[2,52],"154":[2,52],"155":[2,52],"156":[2,52],"157":[2,52],"158":[2,52]},{"23":81,"46":[1,55]},{"1":[2,149],"3":[2,149],"25":[2,149],"26":[2,149],"47":[1,109],"55":[2,149],"57":[2,149],"72":[2,149],"74":[2,149],"77":[2,149],"86":[2,149],"90":[2,149],"98":[2,149],"100":122,"101":[2,149],"102":[2,149],"103":[2,149],"106":[2,149],"108":[2,149],"115":[2,149],"118":[2,149],"121":[2,149],"122":[2,149],"129":[2,149],"130":[2,149],"131":[2,149],"132":[2,149],"133":[2,149],"134":[2,149],"135":[2,149],"136":[2,149],"137":[2,149],"138":[2,149],"139":[2,149],"140":[2,149],"141":[2,149],"142":[2,149],"143":[2,149],"144":[2,149],"145":[2,149],"146":[2,149],"147":[2,149],"148":[2,149],"149":[2,149],"150":[2,149],"151":[2,149],"152":[2,149],"153":[2,149],"154":[2,149],"155":[2,149],"156":[2,149],"157":[2,149],"158":[2,149]},{"1":[2,150],"3":[2,150],"25":[2,150],"26":[2,150],"47":[1,109],"55":[2,150],"57":[2,150],"72":[2,150],"74":[2,150],"77":[2,150],"86":[2,150],"90":[2,150],"98":[2,150],"100":122,"101":[2,150],"102":[2,150],"103":[2,150],"106":[2,150],"108":[2,150],"115":[2,150],"118":[2,150],"121":[2,150],"122":[2,150],"129":[2,150],"130":[2,150],"131":[2,150],"132":[2,150],"133":[2,150],"134":[2,150],"135":[2,150],"136":[2,150],"137":[2,150],"138":[2,150],"139":[2,150],"140":[2,150],"141":[2,150],"142":[2,150],"143":[2,150],"144":[2,150],"145":[2,150],"146":[2,150],"147":[2,150],"148":[2,150],"149":[2,150],"150":[2,150],"151":[2,150],"152":[2,150],"153":[2,150],"154":[2,150],"155":[2,150],"156":[2,150],"157":[2,150],"158":[2,150]},{"1":[2,151],"3":[2,151],"25":[2,151],"26":[2,151],"47":[1,109],"55":[2,151],"57":[2,151],"72":[2,151],"74":[2,151],"77":[2,151],"86":[2,151],"90":[2,151],"98":[2,151],"100":122,"101":[2,151],"102":[2,151],"103":[2,151],"106":[2,151],"108":[2,151],"115":[2,151],"118":[2,151],"121":[2,151],"122":[2,151],"129":[2,151],"130":[2,151],"131":[2,151],"132":[2,151],"133":[2,151],"134":[2,151],"135":[2,151],"136":[2,151],"137":[2,151],"138":[2,151],"139":[2,151],"140":[2,151],"141":[2,151],"142":[2,151],"143":[2,151],"144":[2,151],"145":[2,151],"146":[2,151],"147":[2,151],"148":[2,151],"149":[2,151],"150":[2,151],"151":[2,151],"152":[2,151],"153":[2,151],"154":[2,151],"155":[2,151],"156":[2,151],"157":[2,151],"158":[2,151]},{"1":[2,152],"3":[2,152],"25":[2,152],"26":[2,152],"47":[1,109],"55":[2,152],"57":[2,152],"72":[2,152],"74":[2,152],"77":[2,152],"86":[2,152],"90":[2,152],"98":[2,152],"100":122,"101":[2,152],"102":[2,152],"103":[2,152],"106":[2,152],"108":[2,152],"115":[2,152],"118":[2,152],"121":[2,152],"122":[2,152],"129":[2,152],"130":[2,152],"131":[2,152],"132":[2,152],"133":[2,152],"134":[2,152],"135":[2,152],"136":[2,152],"137":[2,152],"138":[2,152],"139":[2,152],"140":[2,152],"141":[2,152],"142":[2,152],"143":[2,152],"144":[2,152],"145":[2,152],"146":[2,152],"147":[2,152],"148":[2,152],"149":[2,152],"150":[2,152],"151":[2,152],"152":[2,152],"153":[2,152],"154":[2,152],"155":[2,152],"156":[2,152],"157":[2,152],"158":[2,152]},{"1":[2,153],"3":[2,153],"25":[2,153],"26":[2,153],"47":[1,109],"55":[2,153],"57":[2,153],"72":[2,153],"74":[2,153],"77":[2,153],"86":[2,153],"90":[2,153],"98":[2,153],"100":122,"101":[2,153],"102":[2,153],"103":[2,153],"106":[2,153],"108":[2,153],"115":[2,153],"118":[2,153],"121":[2,153],"122":[2,153],"129":[2,153],"130":[2,153],"131":[2,153],"132":[2,153],"133":[2,153],"134":[2,153],"135":[2,153],"136":[2,153],"137":[2,153],"138":[2,153],"139":[2,153],"140":[2,153],"141":[2,153],"142":[2,153],"143":[2,153],"144":[2,153],"145":[2,153],"146":[2,153],"147":[2,153],"148":[2,153],"149":[2,153],"150":[2,153],"151":[2,153],"152":[2,153],"153":[2,153],"154":[2,153],"155":[2,153],"156":[2,153],"157":[2,153],"158":[2,153]},{"1":[2,154],"3":[2,154],"25":[2,154],"26":[2,154],"47":[1,109],"55":[2,154],"57":[2,154],"72":[2,154],"74":[2,154],"77":[2,154],"86":[2,154],"90":[2,154],"98":[2,154],"100":122,"101":[2,154],"102":[2,154],"103":[2,154],"106":[2,154],"108":[2,154],"115":[2,154],"118":[2,154],"121":[2,154],"122":[2,154],"129":[2,154],"130":[2,154],"131":[2,154],"132":[2,154],"133":[2,154],"134":[2,154],"135":[2,154],"136":[2,154],"137":[2,154],"138":[2,154],"139":[2,154],"140":[2,154],"141":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"150":[2,154],"151":[2,154],"152":[2,154],"153":[2,154],"154":[2,154],"155":[2,154],"156":[2,154],"157":[2,154],"158":[2,154]},{"1":[2,155],"3":[2,155],"25":[2,155],"26":[2,155],"47":[1,109],"55":[2,155],"57":[2,155],"72":[2,155],"74":[2,155],"77":[2,155],"86":[2,155],"90":[2,155],"98":[2,155],"100":122,"101":[2,155],"102":[2,155],"103":[2,155],"106":[2,155],"108":[2,155],"115":[2,155],"118":[2,155],"121":[2,155],"122":[2,155],"129":[2,155],"130":[2,155],"131":[2,155],"132":[2,155],"133":[2,155],"134":[2,155],"135":[2,155],"136":[2,155],"137":[2,155],"138":[2,155],"139":[2,155],"140":[2,155],"141":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"150":[2,155],"151":[2,155],"152":[2,155],"153":[2,155],"154":[2,155],"155":[2,155],"156":[2,155],"157":[2,155],"158":[2,155]},{"1":[2,156],"3":[2,156],"25":[2,156],"26":[2,156],"47":[1,109],"55":[2,156],"57":[2,156],"72":[2,156],"74":[2,156],"77":[2,156],"86":[2,156],"90":[2,156],"98":[2,156],"100":122,"101":[2,156],"102":[2,156],"103":[2,156],"106":[2,156],"108":[2,156],"115":[2,156],"118":[2,156],"121":[2,156],"122":[2,156],"129":[2,156],"130":[2,156],"131":[2,156],"132":[2,156],"133":[2,156],"134":[2,156],"135":[2,156],"136":[2,156],"137":[2,156],"138":[2,156],"139":[2,156],"140":[2,156],"141":[2,156],"142":[2,156],"143":[2,156],"144":[2,156],"145":[2,156],"146":[2,156],"147":[2,156],"148":[2,156],"149":[2,156],"150":[2,156],"151":[2,156],"152":[2,156],"153":[2,156],"154":[2,156],"155":[2,156],"156":[2,156],"157":[2,156],"158":[2,156]},{"1":[2,157],"3":[2,157],"25":[2,157],"26":[2,157],"47":[1,109],"55":[2,157],"57":[2,157],"72":[2,157],"74":[2,157],"77":[2,157],"86":[2,157],"90":[2,157],"98":[2,157],"100":122,"101":[2,157],"102":[2,157],"103":[2,157],"106":[2,157],"108":[2,157],"115":[2,157],"118":[2,157],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,157],"143":[2,157],"144":[2,157],"145":[2,157],"146":[2,157],"147":[2,157],"148":[2,157],"149":[2,157],"150":[2,157],"151":[2,157],"152":[2,157],"153":[2,157],"154":[2,157],"155":[2,157],"156":[2,157],"157":[2,157],"158":[1,118]},{"1":[2,158],"3":[2,158],"25":[2,158],"26":[2,158],"47":[1,109],"55":[2,158],"57":[2,158],"72":[2,158],"74":[2,158],"77":[2,158],"86":[2,158],"90":[2,158],"98":[2,158],"100":122,"101":[2,158],"102":[2,158],"103":[2,158],"106":[2,158],"108":[2,158],"115":[2,158],"118":[2,158],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,158],"143":[2,158],"144":[2,158],"145":[2,158],"146":[2,158],"147":[2,158],"148":[2,158],"149":[2,158],"150":[2,158],"151":[2,158],"152":[2,158],"153":[2,158],"154":[2,158],"155":[2,158],"156":[2,158],"157":[2,158],"158":[1,118]},{"93":237,"94":[1,238],"95":[1,239]},{"1":[2,119],"3":[2,119],"25":[2,119],"26":[2,119],"47":[1,109],"55":[2,119],"57":[1,124],"72":[2,119],"74":[2,119],"77":[2,119],"86":[2,119],"90":[2,119],"98":[2,119],"100":122,"101":[2,119],"102":[2,119],"103":[2,119],"106":[1,119],"108":[2,119],"115":[2,119],"118":[2,119],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,47],"3":[2,47],"25":[2,47],"26":[2,47],"47":[1,109],"55":[2,47],"57":[1,124],"72":[2,47],"74":[2,47],"77":[2,47],"86":[2,47],"90":[2,47],"98":[2,47],"100":122,"101":[2,47],"102":[2,47],"103":[1,123],"106":[1,119],"108":[2,47],"115":[2,47],"118":[2,47],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,124],"3":[2,124],"25":[2,124],"26":[2,124],"47":[2,124],"55":[2,124],"57":[2,124],"72":[2,124],"74":[2,124],"77":[2,124],"86":[2,124],"90":[2,124],"98":[2,124],"101":[2,124],"102":[2,124],"103":[2,124],"106":[2,124],"108":[2,124],"115":[2,124],"118":[2,124],"121":[2,124],"122":[2,124],"125":[2,124],"126":[2,124],"129":[2,124],"130":[2,124],"131":[2,124],"132":[2,124],"133":[2,124],"134":[2,124],"135":[2,124],"136":[2,124],"137":[2,124],"138":[2,124],"139":[2,124],"140":[2,124],"141":[2,124],"142":[2,124],"143":[2,124],"144":[2,124],"145":[2,124],"146":[2,124],"147":[2,124],"148":[2,124],"149":[2,124],"150":[2,124],"151":[2,124],"152":[2,124],"153":[2,124],"154":[2,124],"155":[2,124],"156":[2,124],"157":[2,124],"158":[2,124]},{"105":240,"106":[1,241],"107":[1,242]},{"55":[1,243],"106":[2,128],"107":[2,128]},{"25":[1,244],"47":[1,109],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,80],"3":[2,80],"25":[1,174],"26":[2,80],"47":[2,80],"55":[2,80],"57":[2,80],"63":127,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,80],"73":[1,139],"74":[2,80],"77":[2,80],"78":246,"80":[1,245],"83":130,"84":[1,137],"86":[2,80],"90":[2,80],"98":[2,80],"101":[2,80],"102":[2,80],"103":[2,80],"106":[2,80],"108":[2,80],"115":[2,80],"118":[2,80],"121":[2,80],"122":[2,80],"125":[2,80],"126":[2,80],"129":[2,80],"130":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"134":[2,80],"135":[2,80],"136":[2,80],"137":[2,80],"138":[2,80],"139":[2,80],"140":[2,80],"141":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80],"152":[2,80],"153":[2,80],"154":[2,80],"155":[2,80],"156":[2,80],"157":[2,80],"158":[2,80]},{"63":140,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"73":[1,139],"83":141,"84":[1,137]},{"3":[1,249],"26":[1,250],"55":[1,248],"90":[1,247]},{"3":[2,106],"26":[2,106],"47":[1,109],"55":[2,106],"57":[1,251],"90":[2,106],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"6":252,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[1,255],"55":[1,254],"77":[1,253]},{"77":[1,256]},{"3":[2,85],"26":[2,85],"55":[2,85],"77":[2,85]},{"3":[2,84],"23":177,"26":[2,84],"27":175,"28":[1,57],"29":176,"30":[1,78],"31":[1,79],"44":173,"46":[1,55],"55":[2,84],"76":257},{"43":[1,258]},{"43":[1,259]},{"3":[2,46],"26":[2,46],"55":[2,46],"77":[2,46]},{"47":[1,109],"57":[1,124],"98":[1,260],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,99],"3":[2,99],"25":[2,99],"26":[2,99],"43":[2,99],"47":[2,99],"55":[2,99],"57":[2,99],"65":[2,99],"66":[2,99],"67":[2,99],"68":[2,99],"71":[2,99],"72":[2,99],"73":[2,99],"74":[2,99],"77":[2,99],"80":[2,99],"84":[2,99],"86":[2,99],"90":[2,99],"98":[2,99],"101":[2,99],"102":[2,99],"103":[2,99],"106":[2,99],"108":[2,99],"115":[2,99],"118":[2,99],"121":[2,99],"122":[2,99],"125":[2,99],"126":[2,99],"129":[2,99],"130":[2,99],"131":[2,99],"132":[2,99],"133":[2,99],"134":[2,99],"135":[2,99],"136":[2,99],"137":[2,99],"138":[2,99],"139":[2,99],"140":[2,99],"141":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"150":[2,99],"151":[2,99],"152":[2,99],"153":[2,99],"154":[2,99],"155":[2,99],"156":[2,99],"157":[2,99],"158":[2,99]},{"3":[2,105],"6":231,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[1,170],"26":[2,105],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,105],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"85":261,"86":[2,105],"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[1,148],"5":262,"25":[1,6],"115":[1,263]},{"1":[2,142],"3":[2,142],"25":[2,142],"26":[2,142],"47":[2,142],"55":[2,142],"57":[2,142],"72":[2,142],"74":[2,142],"77":[2,142],"86":[2,142],"90":[2,142],"98":[2,142],"101":[2,142],"102":[2,142],"103":[2,142],"106":[2,142],"108":[2,142],"111":[2,142],"115":[2,142],"118":[2,142],"121":[2,142],"122":[2,142],"125":[2,142],"126":[2,142],"129":[2,142],"130":[2,142],"131":[2,142],"132":[2,142],"133":[2,142],"134":[2,142],"135":[2,142],"136":[2,142],"137":[2,142],"138":[2,142],"139":[2,142],"140":[2,142],"141":[2,142],"142":[2,142],"143":[2,142],"144":[2,142],"145":[2,142],"146":[2,142],"147":[2,142],"148":[2,142],"149":[2,142],"150":[2,142],"151":[2,142],"152":[2,142],"153":[2,142],"154":[2,142],"155":[2,142],"156":[2,142],"157":[2,142],"158":[2,142]},{"1":[2,122],"3":[2,122],"25":[2,122],"26":[2,122],"47":[1,109],"55":[2,122],"57":[1,124],"72":[2,122],"74":[2,122],"77":[2,122],"86":[2,122],"90":[2,122],"98":[2,122],"100":122,"101":[1,77],"102":[1,264],"103":[1,123],"106":[1,119],"108":[2,122],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"3":[1,148],"5":265,"25":[1,6],"47":[1,109],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,6],"3":[2,6],"26":[2,6],"47":[1,109],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,161],"3":[2,161],"25":[2,161],"26":[2,161],"47":[1,109],"55":[2,161],"57":[2,161],"72":[2,161],"74":[2,161],"77":[2,161],"86":[2,161],"90":[2,161],"98":[2,161],"100":122,"101":[2,161],"102":[2,161],"103":[2,161],"106":[2,161],"108":[2,161],"115":[2,161],"118":[2,161],"121":[2,161],"122":[2,161],"125":[1,84],"126":[1,85],"129":[2,161],"130":[2,161],"131":[2,161],"132":[2,161],"133":[2,161],"134":[2,161],"135":[2,161],"136":[2,161],"137":[2,161],"138":[2,161],"139":[2,161],"140":[2,161],"141":[2,161],"142":[2,161],"143":[2,161],"144":[2,161],"145":[2,161],"146":[2,161],"147":[2,161],"148":[2,161],"149":[2,161],"150":[2,161],"151":[2,161],"152":[2,161],"153":[2,161],"154":[2,161],"155":[2,161],"156":[2,161],"157":[2,161],"158":[2,161]},{"1":[2,162],"3":[2,162],"25":[2,162],"26":[2,162],"47":[1,109],"55":[2,162],"57":[2,162],"72":[2,162],"74":[2,162],"77":[2,162],"86":[2,162],"90":[2,162],"98":[2,162],"100":122,"101":[2,162],"102":[2,162],"103":[2,162],"106":[2,162],"108":[2,162],"115":[2,162],"118":[2,162],"121":[2,162],"122":[2,162],"125":[1,84],"126":[1,85],"129":[2,162],"130":[2,162],"131":[2,162],"132":[2,162],"133":[2,162],"134":[2,162],"135":[2,162],"136":[2,162],"137":[2,162],"138":[2,162],"139":[2,162],"140":[2,162],"141":[2,162],"142":[2,162],"143":[2,162],"144":[2,162],"145":[2,162],"146":[2,162],"147":[2,162],"148":[2,162],"149":[2,162],"150":[2,162],"151":[2,162],"152":[2,162],"153":[2,162],"154":[2,162],"155":[2,162],"156":[2,162],"157":[2,162],"158":[2,162]},{"1":[2,163],"3":[2,163],"25":[2,163],"26":[2,163],"47":[1,109],"55":[2,163],"57":[2,163],"72":[2,163],"74":[2,163],"77":[2,163],"86":[2,163],"90":[2,163],"98":[2,163],"100":122,"101":[2,163],"102":[2,163],"103":[2,163],"106":[2,163],"108":[2,163],"115":[2,163],"118":[2,163],"121":[2,163],"122":[2,163],"125":[1,84],"126":[1,85],"129":[2,163],"130":[2,163],"131":[2,163],"132":[2,163],"133":[2,163],"134":[2,163],"135":[2,163],"136":[2,163],"137":[2,163],"138":[2,163],"139":[2,163],"140":[2,163],"141":[2,163],"142":[2,163],"143":[2,163],"144":[2,163],"145":[2,163],"146":[2,163],"147":[2,163],"148":[2,163],"149":[2,163],"150":[2,163],"151":[2,163],"152":[2,163],"153":[2,163],"154":[2,163],"155":[2,163],"156":[2,163],"157":[2,163],"158":[2,163]},{"1":[2,164],"3":[2,164],"25":[2,164],"26":[2,164],"47":[1,109],"55":[2,164],"57":[2,164],"72":[2,164],"74":[2,164],"77":[2,164],"86":[2,164],"90":[2,164],"98":[2,164],"100":122,"101":[2,164],"102":[2,164],"103":[2,164],"106":[2,164],"108":[2,164],"115":[2,164],"118":[2,164],"121":[2,164],"122":[2,164],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[2,164],"133":[2,164],"134":[2,164],"135":[2,164],"136":[2,164],"137":[2,164],"138":[2,164],"139":[2,164],"140":[2,164],"141":[2,164],"142":[2,164],"143":[2,164],"144":[2,164],"145":[2,164],"146":[2,164],"147":[2,164],"148":[2,164],"149":[2,164],"150":[2,164],"151":[2,164],"152":[2,164],"153":[2,164],"154":[2,164],"155":[2,164],"156":[2,164],"157":[2,164],"158":[2,164]},{"1":[2,165],"3":[2,165],"25":[2,165],"26":[2,165],"47":[1,109],"55":[2,165],"57":[2,165],"72":[2,165],"74":[2,165],"77":[2,165],"86":[2,165],"90":[2,165],"98":[2,165],"100":122,"101":[2,165],"102":[2,165],"103":[2,165],"106":[2,165],"108":[2,165],"115":[2,165],"118":[2,165],"121":[2,165],"122":[2,165],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[2,165],"133":[2,165],"134":[2,165],"135":[2,165],"136":[2,165],"137":[2,165],"138":[2,165],"139":[2,165],"140":[2,165],"141":[2,165],"142":[2,165],"143":[2,165],"144":[2,165],"145":[2,165],"146":[2,165],"147":[2,165],"148":[2,165],"149":[2,165],"150":[2,165],"151":[2,165],"152":[2,165],"153":[2,165],"154":[2,165],"155":[2,165],"156":[2,165],"157":[2,165],"158":[2,165]},{"1":[2,166],"3":[2,166],"25":[2,166],"26":[2,166],"47":[1,109],"55":[2,166],"57":[2,166],"72":[2,166],"74":[2,166],"77":[2,166],"86":[2,166],"90":[2,166],"98":[2,166],"100":122,"101":[2,166],"102":[2,166],"103":[2,166],"106":[2,166],"108":[2,166],"115":[2,166],"118":[2,166],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[2,166],"133":[2,166],"134":[2,166],"135":[2,166],"136":[2,166],"137":[2,166],"138":[2,166],"139":[2,166],"140":[2,166],"141":[2,166],"142":[2,166],"143":[2,166],"144":[2,166],"145":[2,166],"146":[2,166],"147":[2,166],"148":[2,166],"149":[2,166],"150":[2,166],"151":[2,166],"152":[2,166],"153":[2,166],"154":[2,166],"155":[2,166],"156":[2,166],"157":[2,166],"158":[2,166]},{"1":[2,167],"3":[2,167],"25":[2,167],"26":[2,167],"47":[1,109],"55":[2,167],"57":[2,167],"72":[2,167],"74":[2,167],"77":[2,167],"86":[2,167],"90":[2,167],"98":[2,167],"100":122,"101":[2,167],"102":[2,167],"103":[2,167],"106":[2,167],"108":[2,167],"115":[2,167],"118":[2,167],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[2,167],"133":[2,167],"134":[2,167],"135":[2,167],"136":[2,167],"137":[2,167],"138":[2,167],"139":[2,167],"140":[2,167],"141":[2,167],"142":[2,167],"143":[2,167],"144":[2,167],"145":[2,167],"146":[2,167],"147":[2,167],"148":[2,167],"149":[2,167],"150":[2,167],"151":[2,167],"152":[2,167],"153":[2,167],"154":[2,167],"155":[2,167],"156":[2,167],"157":[2,167],"158":[2,167]},{"1":[2,168],"3":[2,168],"25":[2,168],"26":[2,168],"47":[1,109],"55":[2,168],"57":[2,168],"72":[2,168],"74":[2,168],"77":[2,168],"86":[2,168],"90":[2,168],"98":[2,168],"100":122,"101":[2,168],"102":[2,168],"103":[2,168],"106":[2,168],"108":[2,168],"115":[2,168],"118":[2,168],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[2,168],"133":[2,168],"134":[2,168],"135":[2,168],"136":[2,168],"137":[2,168],"138":[2,168],"139":[2,168],"140":[2,168],"141":[2,168],"142":[2,168],"143":[2,168],"144":[2,168],"145":[2,168],"146":[2,168],"147":[2,168],"148":[2,168],"149":[2,168],"150":[2,168],"151":[2,168],"152":[2,168],"153":[2,168],"154":[2,168],"155":[2,168],"156":[2,168],"157":[2,168],"158":[2,168]},{"1":[2,169],"3":[2,169],"25":[2,169],"26":[2,169],"47":[1,109],"55":[2,169],"57":[2,169],"72":[2,169],"74":[2,169],"77":[2,169],"86":[2,169],"90":[2,169],"98":[2,169],"100":122,"101":[2,169],"102":[2,169],"103":[2,169],"106":[2,169],"108":[2,169],"115":[2,169],"118":[2,169],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[2,169],"136":[2,169],"137":[2,169],"138":[2,169],"139":[2,169],"140":[2,169],"141":[2,169],"142":[2,169],"143":[2,169],"144":[2,169],"145":[2,169],"146":[2,169],"147":[2,169],"148":[2,169],"149":[2,169],"150":[2,169],"151":[2,169],"152":[2,169],"153":[2,169],"154":[2,169],"155":[2,169],"156":[2,169],"157":[2,169],"158":[2,169]},{"1":[2,170],"3":[2,170],"25":[2,170],"26":[2,170],"47":[1,109],"55":[2,170],"57":[2,170],"72":[2,170],"74":[2,170],"77":[2,170],"86":[2,170],"90":[2,170],"98":[2,170],"100":122,"101":[2,170],"102":[2,170],"103":[2,170],"106":[2,170],"108":[2,170],"115":[2,170],"118":[2,170],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[2,170],"136":[2,170],"137":[2,170],"138":[2,170],"139":[2,170],"140":[2,170],"141":[2,170],"142":[2,170],"143":[2,170],"144":[2,170],"145":[2,170],"146":[2,170],"147":[2,170],"148":[2,170],"149":[2,170],"150":[2,170],"151":[2,170],"152":[2,170],"153":[2,170],"154":[2,170],"155":[2,170],"156":[2,170],"157":[2,170],"158":[2,170]},{"1":[2,171],"3":[2,171],"25":[2,171],"26":[2,171],"47":[1,109],"55":[2,171],"57":[2,171],"72":[2,171],"74":[2,171],"77":[2,171],"86":[2,171],"90":[2,171],"98":[2,171],"100":122,"101":[2,171],"102":[2,171],"103":[2,171],"106":[2,171],"108":[2,171],"115":[2,171],"118":[2,171],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[2,171],"136":[2,171],"137":[2,171],"138":[2,171],"139":[2,171],"140":[2,171],"141":[2,171],"142":[2,171],"143":[2,171],"144":[2,171],"145":[2,171],"146":[2,171],"147":[2,171],"148":[2,171],"149":[2,171],"150":[2,171],"151":[2,171],"152":[2,171],"153":[2,171],"154":[2,171],"155":[2,171],"156":[2,171],"157":[2,171],"158":[2,171]},{"1":[2,172],"3":[2,172],"25":[2,172],"26":[2,172],"47":[1,109],"55":[2,172],"57":[2,172],"72":[2,172],"74":[2,172],"77":[2,172],"86":[2,172],"90":[2,172],"98":[2,172],"100":122,"101":[2,172],"102":[2,172],"103":[2,172],"106":[2,172],"108":[2,172],"115":[2,172],"118":[2,172],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[2,172],"139":[2,172],"140":[2,172],"141":[2,172],"142":[2,172],"143":[2,172],"144":[2,172],"145":[2,172],"146":[2,172],"147":[2,172],"148":[2,172],"149":[2,172],"150":[2,172],"151":[2,172],"152":[2,172],"153":[2,172],"154":[2,172],"155":[2,172],"156":[2,172],"157":[2,172],"158":[2,172]},{"1":[2,173],"3":[2,173],"25":[2,173],"26":[2,173],"47":[1,109],"55":[2,173],"57":[2,173],"72":[2,173],"74":[2,173],"77":[2,173],"86":[2,173],"90":[2,173],"98":[2,173],"100":122,"101":[2,173],"102":[2,173],"103":[2,173],"106":[2,173],"108":[2,173],"115":[2,173],"118":[2,173],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[2,173],"139":[2,173],"140":[2,173],"141":[2,173],"142":[2,173],"143":[2,173],"144":[2,173],"145":[2,173],"146":[2,173],"147":[2,173],"148":[2,173],"149":[2,173],"150":[2,173],"151":[2,173],"152":[2,173],"153":[2,173],"154":[2,173],"155":[2,173],"156":[2,173],"157":[2,173],"158":[2,173]},{"1":[2,174],"3":[2,174],"25":[2,174],"26":[2,174],"47":[1,109],"55":[2,174],"57":[2,174],"72":[2,174],"74":[2,174],"77":[2,174],"86":[2,174],"90":[2,174],"98":[2,174],"100":122,"101":[2,174],"102":[2,174],"103":[2,174],"106":[2,174],"108":[2,174],"115":[2,174],"118":[2,174],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[2,174],"139":[2,174],"140":[2,174],"141":[2,174],"142":[2,174],"143":[2,174],"144":[2,174],"145":[2,174],"146":[2,174],"147":[2,174],"148":[2,174],"149":[2,174],"150":[2,174],"151":[2,174],"152":[2,174],"153":[2,174],"154":[2,174],"155":[2,174],"156":[2,174],"157":[2,174],"158":[2,174]},{"1":[2,175],"3":[2,175],"25":[2,175],"26":[2,175],"47":[1,109],"55":[2,175],"57":[2,175],"72":[2,175],"74":[2,175],"77":[2,175],"86":[2,175],"90":[2,175],"98":[2,175],"100":122,"101":[2,175],"102":[2,175],"103":[2,175],"106":[2,175],"108":[2,175],"115":[2,175],"118":[2,175],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[2,175],"139":[2,175],"140":[2,175],"141":[2,175],"142":[2,175],"143":[2,175],"144":[2,175],"145":[2,175],"146":[2,175],"147":[2,175],"148":[2,175],"149":[2,175],"150":[2,175],"151":[2,175],"152":[2,175],"153":[2,175],"154":[2,175],"155":[2,175],"156":[2,175],"157":[2,175],"158":[2,175]},{"1":[2,176],"3":[2,176],"25":[2,176],"26":[2,176],"47":[1,109],"55":[2,176],"57":[2,176],"72":[2,176],"74":[2,176],"77":[2,176],"86":[2,176],"90":[2,176],"98":[2,176],"100":122,"101":[2,176],"102":[2,176],"103":[2,176],"106":[2,176],"108":[2,176],"115":[2,176],"118":[2,176],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,176],"143":[2,176],"144":[2,176],"145":[2,176],"146":[2,176],"147":[2,176],"148":[2,176],"149":[2,176],"150":[2,176],"151":[2,176],"152":[2,176],"153":[2,176],"154":[2,176],"155":[2,176],"156":[2,176],"157":[2,176],"158":[1,118]},{"1":[2,177],"3":[2,177],"25":[2,177],"26":[2,177],"47":[1,109],"55":[2,177],"57":[2,177],"72":[2,177],"74":[2,177],"77":[2,177],"86":[2,177],"90":[2,177],"98":[2,177],"100":122,"101":[2,177],"102":[2,177],"103":[2,177],"106":[2,177],"108":[2,177],"115":[2,177],"118":[2,177],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,177],"143":[2,177],"144":[2,177],"145":[2,177],"146":[2,177],"147":[2,177],"148":[2,177],"149":[2,177],"150":[2,177],"151":[2,177],"152":[2,177],"153":[2,177],"154":[2,177],"155":[2,177],"156":[2,177],"157":[2,177],"158":[1,118]},{"1":[2,178],"3":[2,178],"25":[2,178],"26":[2,178],"47":[1,109],"55":[2,178],"57":[2,178],"72":[2,178],"74":[2,178],"77":[2,178],"86":[2,178],"90":[2,178],"98":[2,178],"100":122,"101":[2,178],"102":[2,178],"103":[2,178],"106":[2,178],"108":[2,178],"115":[2,178],"118":[2,178],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,178],"143":[2,178],"144":[2,178],"145":[2,178],"146":[2,178],"147":[2,178],"148":[2,178],"149":[2,178],"150":[2,178],"151":[2,178],"152":[2,178],"153":[2,178],"154":[2,178],"155":[2,178],"156":[2,178],"157":[2,178],"158":[1,118]},{"1":[2,179],"3":[2,179],"25":[2,179],"26":[2,179],"47":[1,109],"55":[2,179],"57":[2,179],"72":[2,179],"74":[2,179],"77":[2,179],"86":[2,179],"90":[2,179],"98":[2,179],"100":122,"101":[2,179],"102":[2,179],"103":[2,179],"106":[2,179],"108":[2,179],"115":[2,179],"118":[2,179],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,179],"143":[2,179],"144":[2,179],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"150":[2,179],"151":[2,179],"152":[2,179],"153":[2,179],"154":[2,179],"155":[2,179],"156":[2,179],"157":[2,179],"158":[1,118]},{"1":[2,180],"3":[2,180],"25":[2,180],"26":[2,180],"47":[1,109],"55":[2,180],"57":[2,180],"72":[2,180],"74":[2,180],"77":[2,180],"86":[2,180],"90":[2,180],"98":[2,180],"100":122,"101":[2,180],"102":[2,180],"103":[2,180],"106":[2,180],"108":[2,180],"115":[2,180],"118":[2,180],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"150":[2,180],"151":[2,180],"152":[2,180],"153":[2,180],"154":[2,180],"155":[2,180],"156":[2,180],"157":[2,180],"158":[1,118]},{"1":[2,181],"3":[2,181],"25":[2,181],"26":[2,181],"47":[1,109],"55":[2,181],"57":[2,181],"72":[2,181],"74":[2,181],"77":[2,181],"86":[2,181],"90":[2,181],"98":[2,181],"100":122,"101":[2,181],"102":[2,181],"103":[2,181],"106":[2,181],"108":[2,181],"115":[2,181],"118":[2,181],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"150":[2,181],"151":[2,181],"152":[2,181],"153":[2,181],"154":[2,181],"155":[2,181],"156":[2,181],"157":[2,181],"158":[1,118]},{"1":[2,182],"3":[2,182],"25":[2,182],"26":[2,182],"47":[1,109],"55":[2,182],"57":[2,182],"72":[2,182],"74":[2,182],"77":[2,182],"86":[2,182],"90":[2,182],"98":[2,182],"100":122,"101":[2,182],"102":[2,182],"103":[2,182],"106":[2,182],"108":[2,182],"115":[2,182],"118":[2,182],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[2,182],"147":[2,182],"148":[2,182],"149":[2,182],"150":[2,182],"151":[2,182],"152":[2,182],"153":[2,182],"154":[2,182],"155":[2,182],"156":[2,182],"157":[2,182],"158":[1,118]},{"1":[2,183],"3":[2,183],"25":[2,183],"26":[2,183],"47":[1,109],"55":[2,183],"57":[2,183],"72":[2,183],"74":[2,183],"77":[2,183],"86":[2,183],"90":[2,183],"98":[2,183],"100":122,"101":[2,183],"102":[2,183],"103":[2,183],"106":[2,183],"108":[2,183],"115":[2,183],"118":[2,183],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[2,183],"147":[2,183],"148":[2,183],"149":[2,183],"150":[2,183],"151":[2,183],"152":[2,183],"153":[2,183],"154":[2,183],"155":[2,183],"156":[2,183],"157":[2,183],"158":[1,118]},{"1":[2,184],"3":[2,184],"25":[2,184],"26":[2,184],"47":[2,184],"55":[2,184],"57":[2,184],"72":[2,184],"74":[2,184],"77":[2,184],"86":[2,184],"90":[2,184],"98":[2,184],"100":122,"101":[2,184],"102":[2,184],"103":[2,184],"106":[2,184],"108":[2,184],"115":[2,184],"118":[2,184],"121":[2,184],"122":[2,184],"125":[2,184],"126":[2,184],"129":[2,184],"130":[2,184],"131":[2,184],"132":[2,184],"133":[2,184],"134":[2,184],"135":[2,184],"136":[2,184],"137":[2,184],"138":[2,184],"139":[2,184],"140":[2,184],"141":[2,184],"142":[2,184],"143":[2,184],"144":[2,184],"145":[2,184],"146":[2,184],"147":[2,184],"148":[2,184],"149":[2,184],"150":[2,184],"151":[2,184],"152":[2,184],"153":[2,184],"154":[2,184],"155":[2,184],"156":[2,184],"157":[2,184],"158":[2,184]},{"1":[2,185],"3":[2,185],"25":[2,185],"26":[2,185],"47":[1,109],"55":[2,185],"57":[2,185],"72":[2,185],"74":[2,185],"77":[2,185],"86":[2,185],"90":[2,185],"98":[2,185],"100":122,"101":[2,185],"102":[2,185],"103":[2,185],"106":[2,185],"108":[2,185],"115":[2,185],"118":[2,185],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,186],"3":[2,186],"25":[2,186],"26":[2,186],"47":[1,109],"55":[2,186],"57":[2,186],"72":[2,186],"74":[2,186],"77":[2,186],"86":[2,186],"90":[2,186],"98":[2,186],"100":122,"101":[2,186],"102":[2,186],"103":[2,186],"106":[2,186],"108":[2,186],"115":[2,186],"118":[2,186],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,187],"3":[2,187],"25":[2,187],"26":[2,187],"47":[1,109],"55":[2,187],"57":[2,187],"72":[2,187],"74":[2,187],"77":[2,187],"86":[2,187],"90":[2,187],"98":[2,187],"100":122,"101":[2,187],"102":[2,187],"103":[2,187],"106":[2,187],"108":[2,187],"115":[2,187],"118":[2,187],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,188],"3":[2,188],"25":[2,188],"26":[2,188],"47":[1,109],"55":[2,188],"57":[2,188],"72":[2,188],"74":[2,188],"77":[2,188],"86":[2,188],"90":[2,188],"98":[2,188],"100":122,"101":[2,188],"102":[2,188],"103":[2,188],"106":[2,188],"108":[2,188],"115":[2,188],"118":[2,188],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,189],"3":[2,189],"25":[2,189],"26":[2,189],"47":[1,109],"55":[2,189],"57":[2,189],"72":[2,189],"74":[2,189],"77":[2,189],"86":[2,189],"90":[2,189],"98":[2,189],"100":122,"101":[2,189],"102":[2,189],"103":[2,189],"106":[2,189],"108":[2,189],"115":[2,189],"118":[2,189],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,190],"3":[2,190],"25":[2,190],"26":[2,190],"47":[1,109],"55":[2,190],"57":[2,190],"72":[2,190],"74":[2,190],"77":[2,190],"86":[2,190],"90":[2,190],"98":[2,190],"100":122,"101":[2,190],"102":[2,190],"103":[2,190],"106":[2,190],"108":[2,190],"115":[2,190],"118":[2,190],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,191],"3":[2,191],"25":[2,191],"26":[2,191],"47":[1,109],"55":[2,191],"57":[2,191],"72":[2,191],"74":[2,191],"77":[2,191],"86":[2,191],"90":[2,191],"98":[2,191],"100":122,"101":[2,191],"102":[2,191],"103":[2,191],"106":[2,191],"108":[2,191],"115":[2,191],"118":[2,191],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,192],"3":[2,192],"25":[2,192],"26":[2,192],"47":[1,109],"55":[2,192],"57":[2,192],"72":[2,192],"74":[2,192],"77":[2,192],"86":[2,192],"90":[2,192],"98":[2,192],"100":122,"101":[2,192],"102":[2,192],"103":[2,192],"106":[2,192],"108":[2,192],"115":[2,192],"118":[2,192],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,193],"3":[2,193],"25":[2,193],"26":[2,193],"47":[1,109],"55":[2,193],"57":[2,193],"72":[2,193],"74":[2,193],"77":[2,193],"86":[2,193],"90":[2,193],"98":[2,193],"100":122,"101":[2,193],"102":[2,193],"103":[2,193],"106":[2,193],"108":[2,193],"115":[2,193],"118":[2,193],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[2,193],"143":[2,193],"144":[2,193],"145":[2,193],"146":[2,193],"147":[2,193],"148":[2,193],"149":[2,193],"150":[2,193],"151":[2,193],"152":[2,193],"153":[2,193],"154":[2,193],"155":[2,193],"156":[2,193],"157":[2,193],"158":[1,118]},{"1":[2,194],"3":[2,194],"25":[2,194],"26":[2,194],"47":[1,109],"55":[2,194],"57":[1,124],"72":[2,194],"74":[2,194],"77":[2,194],"86":[2,194],"90":[2,194],"98":[2,194],"100":122,"101":[2,194],"102":[2,194],"103":[2,194],"106":[1,119],"108":[2,194],"115":[2,194],"118":[2,194],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,147],"3":[2,147],"25":[2,147],"26":[2,147],"47":[1,109],"55":[2,147],"57":[1,124],"72":[2,147],"74":[2,147],"77":[2,147],"86":[2,147],"90":[2,147],"98":[2,147],"100":122,"101":[1,77],"102":[2,147],"103":[1,123],"106":[1,119],"108":[2,147],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,148],"3":[2,148],"25":[2,148],"26":[2,148],"47":[1,109],"55":[2,148],"57":[1,124],"72":[2,148],"74":[2,148],"77":[2,148],"86":[2,148],"90":[2,148],"98":[2,148],"100":122,"101":[1,77],"102":[2,148],"103":[1,123],"106":[1,119],"108":[2,148],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"105":266,"106":[1,241],"107":[1,242]},{"57":[1,267]},{"1":[2,26],"3":[2,26],"25":[2,26],"26":[2,26],"46":[2,26],"47":[2,26],"55":[2,26],"57":[2,26],"72":[2,26],"74":[2,26],"77":[2,26],"86":[2,26],"90":[2,26],"94":[2,26],"95":[2,26],"98":[2,26],"101":[2,26],"102":[2,26],"103":[2,26],"106":[2,26],"108":[2,26],"111":[2,26],"113":[2,26],"115":[2,26],"118":[2,26],"121":[2,26],"122":[2,26],"125":[2,26],"126":[2,26],"129":[2,26],"130":[2,26],"131":[2,26],"132":[2,26],"133":[2,26],"134":[2,26],"135":[2,26],"136":[2,26],"137":[2,26],"138":[2,26],"139":[2,26],"140":[2,26],"141":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"150":[2,26],"151":[2,26],"152":[2,26],"153":[2,26],"154":[2,26],"155":[2,26],"156":[2,26],"157":[2,26],"158":[2,26]},{"1":[2,43],"3":[2,43],"25":[2,43],"26":[2,43],"47":[1,109],"55":[2,43],"57":[1,124],"72":[2,43],"74":[2,43],"77":[2,43],"86":[2,43],"90":[2,43],"98":[2,43],"100":122,"101":[2,43],"102":[2,43],"103":[1,123],"106":[1,119],"108":[2,43],"115":[2,43],"118":[2,43],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,93],"3":[2,93],"25":[2,93],"26":[2,93],"47":[2,93],"55":[2,93],"57":[2,93],"63":127,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,93],"73":[1,139],"74":[2,93],"77":[2,93],"83":130,"84":[1,137],"86":[2,93],"90":[2,93],"98":[2,93],"101":[2,93],"102":[2,93],"103":[2,93],"106":[2,93],"108":[2,93],"115":[2,93],"118":[2,93],"121":[2,93],"122":[2,93],"125":[2,93],"126":[2,93],"129":[2,93],"130":[2,93],"131":[2,93],"132":[2,93],"133":[2,93],"134":[2,93],"135":[2,93],"136":[2,93],"137":[2,93],"138":[2,93],"139":[2,93],"140":[2,93],"141":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93],"152":[2,93],"153":[2,93],"154":[2,93],"155":[2,93],"156":[2,93],"157":[2,93],"158":[2,93]},{"1":[2,70],"3":[2,70],"25":[2,70],"26":[2,70],"43":[2,70],"47":[2,70],"55":[2,70],"57":[2,70],"65":[2,70],"66":[2,70],"67":[2,70],"68":[2,70],"71":[2,70],"72":[2,70],"73":[2,70],"74":[2,70],"77":[2,70],"80":[2,70],"84":[2,70],"86":[2,70],"90":[2,70],"98":[2,70],"101":[2,70],"102":[2,70],"103":[2,70],"106":[2,70],"108":[2,70],"115":[2,70],"118":[2,70],"121":[2,70],"122":[2,70],"125":[2,70],"126":[2,70],"129":[2,70],"130":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"134":[2,70],"135":[2,70],"136":[2,70],"137":[2,70],"138":[2,70],"139":[2,70],"140":[2,70],"141":[2,70],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70]},{"1":[2,71],"3":[2,71],"25":[2,71],"26":[2,71],"43":[2,71],"47":[2,71],"55":[2,71],"57":[2,71],"65":[2,71],"66":[2,71],"67":[2,71],"68":[2,71],"71":[2,71],"72":[2,71],"73":[2,71],"74":[2,71],"77":[2,71],"80":[2,71],"84":[2,71],"86":[2,71],"90":[2,71],"98":[2,71],"101":[2,71],"102":[2,71],"103":[2,71],"106":[2,71],"108":[2,71],"115":[2,71],"118":[2,71],"121":[2,71],"122":[2,71],"125":[2,71],"126":[2,71],"129":[2,71],"130":[2,71],"131":[2,71],"132":[2,71],"133":[2,71],"134":[2,71],"135":[2,71],"136":[2,71],"137":[2,71],"138":[2,71],"139":[2,71],"140":[2,71],"141":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71],"152":[2,71],"153":[2,71],"154":[2,71],"155":[2,71],"156":[2,71],"157":[2,71],"158":[2,71]},{"1":[2,73],"3":[2,73],"25":[2,73],"26":[2,73],"43":[2,73],"47":[2,73],"55":[2,73],"57":[2,73],"65":[2,73],"66":[2,73],"67":[2,73],"68":[2,73],"71":[2,73],"72":[2,73],"73":[2,73],"74":[2,73],"77":[2,73],"80":[2,73],"84":[2,73],"86":[2,73],"90":[2,73],"98":[2,73],"101":[2,73],"102":[2,73],"103":[2,73],"106":[2,73],"108":[2,73],"115":[2,73],"118":[2,73],"121":[2,73],"122":[2,73],"125":[2,73],"126":[2,73],"129":[2,73],"130":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"134":[2,73],"135":[2,73],"136":[2,73],"137":[2,73],"138":[2,73],"139":[2,73],"140":[2,73],"141":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73],"152":[2,73],"153":[2,73],"154":[2,73],"155":[2,73],"156":[2,73],"157":[2,73],"158":[2,73]},{"3":[1,249],"26":[1,250],"55":[1,248],"86":[1,268]},{"3":[2,106],"26":[2,106],"47":[1,109],"55":[2,106],"57":[1,124],"86":[2,106],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"47":[1,109],"57":[1,270],"72":[1,269],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"47":[1,109],"57":[1,124],"74":[1,271],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"51":272,"52":[1,74],"53":[1,75]},{"54":273,"56":[1,146]},{"57":[1,274]},{"1":[2,115],"3":[2,115],"25":[2,115],"26":[2,115],"47":[2,115],"55":[2,115],"57":[2,115],"72":[2,115],"74":[2,115],"77":[2,115],"86":[2,115],"90":[2,115],"94":[1,275],"98":[2,115],"101":[2,115],"102":[2,115],"103":[2,115],"106":[2,115],"108":[2,115],"115":[2,115],"118":[2,115],"121":[2,115],"122":[2,115],"125":[2,115],"126":[2,115],"129":[2,115],"130":[2,115],"131":[2,115],"132":[2,115],"133":[2,115],"134":[2,115],"135":[2,115],"136":[2,115],"137":[2,115],"138":[2,115],"139":[2,115],"140":[2,115],"141":[2,115],"142":[2,115],"143":[2,115],"144":[2,115],"145":[2,115],"146":[2,115],"147":[2,115],"148":[2,115],"149":[2,115],"150":[2,115],"151":[2,115],"152":[2,115],"153":[2,115],"154":[2,115],"155":[2,115],"156":[2,115],"157":[2,115],"158":[2,115]},{"3":[1,148],"5":276,"25":[1,6]},{"27":277,"28":[1,57]},{"3":[1,148],"5":278,"25":[1,6],"102":[1,279],"108":[1,280]},{"6":281,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":282,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"27":283,"28":[1,57]},{"23":287,"46":[1,55],"110":284,"112":285,"113":[1,286]},{"7":288,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"58":27,"59":28,"60":29,"61":30,"62":31,"64":167,"75":[1,70],"88":[1,72],"89":[1,69],"97":[1,71]},{"1":[2,82],"3":[2,82],"25":[2,82],"26":[2,82],"47":[2,82],"55":[2,82],"57":[2,82],"72":[2,82],"74":[2,82],"77":[2,82],"86":[2,82],"90":[2,82],"98":[2,82],"101":[2,82],"102":[2,82],"103":[2,82],"106":[2,82],"108":[2,82],"115":[2,82],"118":[2,82],"121":[2,82],"122":[2,82],"125":[2,82],"126":[2,82],"129":[2,82],"130":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"134":[2,82],"135":[2,82],"136":[2,82],"137":[2,82],"138":[2,82],"139":[2,82],"140":[2,82],"141":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82],"152":[2,82],"153":[2,82],"154":[2,82],"155":[2,82],"156":[2,82],"157":[2,82],"158":[2,82]},{"1":[2,104],"3":[2,104],"25":[2,104],"26":[2,104],"43":[2,104],"47":[2,104],"55":[2,104],"57":[2,104],"65":[2,104],"66":[2,104],"67":[2,104],"68":[2,104],"71":[2,104],"72":[2,104],"73":[2,104],"74":[2,104],"77":[2,104],"80":[2,104],"84":[2,104],"86":[2,104],"90":[2,104],"98":[2,104],"101":[2,104],"102":[2,104],"103":[2,104],"106":[2,104],"108":[2,104],"115":[2,104],"118":[2,104],"121":[2,104],"122":[2,104],"125":[2,104],"126":[2,104],"129":[2,104],"130":[2,104],"131":[2,104],"132":[2,104],"133":[2,104],"134":[2,104],"135":[2,104],"136":[2,104],"137":[2,104],"138":[2,104],"139":[2,104],"140":[2,104],"141":[2,104],"142":[2,104],"143":[2,104],"144":[2,104],"145":[2,104],"146":[2,104],"147":[2,104],"148":[2,104],"149":[2,104],"150":[2,104],"151":[2,104],"152":[2,104],"153":[2,104],"154":[2,104],"155":[2,104],"156":[2,104],"157":[2,104],"158":[2,104]},{"3":[1,290],"6":289,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":[1,291],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":292,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[2,112],"26":[2,112],"55":[2,112],"86":[2,112],"90":[2,112]},{"57":[1,293]},{"3":[2,107],"26":[2,107],"47":[1,109],"55":[2,107],"57":[1,124],"86":[2,107],"90":[2,107],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,78],"3":[2,78],"25":[2,78],"26":[2,78],"43":[2,78],"47":[2,78],"55":[2,78],"57":[2,78],"65":[2,78],"66":[2,78],"67":[2,78],"68":[2,78],"71":[2,78],"72":[2,78],"73":[2,78],"74":[2,78],"77":[2,78],"80":[2,78],"84":[2,78],"86":[2,78],"90":[2,78],"98":[2,78],"101":[2,78],"102":[2,78],"103":[2,78],"106":[2,78],"108":[2,78],"115":[2,78],"118":[2,78],"121":[2,78],"122":[2,78],"125":[2,78],"126":[2,78],"129":[2,78],"130":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"134":[2,78],"135":[2,78],"136":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78],"156":[2,78],"157":[2,78],"158":[2,78]},{"3":[1,295],"23":177,"27":175,"28":[1,57],"29":176,"30":[1,78],"31":[1,79],"44":294,"46":[1,55]},{"23":177,"27":175,"28":[1,57],"29":176,"30":[1,78],"31":[1,79],"44":296,"46":[1,55]},{"1":[2,79],"3":[2,79],"25":[2,79],"26":[2,79],"43":[2,79],"47":[2,79],"55":[2,79],"57":[2,79],"65":[2,79],"66":[2,79],"67":[2,79],"68":[2,79],"71":[2,79],"72":[2,79],"73":[2,79],"74":[2,79],"77":[2,79],"80":[2,79],"84":[2,79],"86":[2,79],"90":[2,79],"98":[2,79],"101":[2,79],"102":[2,79],"103":[2,79],"106":[2,79],"108":[2,79],"115":[2,79],"118":[2,79],"121":[2,79],"122":[2,79],"125":[2,79],"126":[2,79],"129":[2,79],"130":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"134":[2,79],"135":[2,79],"136":[2,79],"137":[2,79],"138":[2,79],"139":[2,79],"140":[2,79],"141":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79],"152":[2,79],"153":[2,79],"154":[2,79],"155":[2,79],"156":[2,79],"157":[2,79],"158":[2,79]},{"3":[1,255],"26":[1,297],"55":[1,254]},{"6":298,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":299,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,120],"3":[2,120],"25":[2,120],"26":[2,120],"43":[2,120],"47":[2,120],"55":[2,120],"57":[2,120],"65":[2,120],"66":[2,120],"67":[2,120],"68":[2,120],"71":[2,120],"72":[2,120],"73":[2,120],"74":[2,120],"77":[2,120],"80":[2,120],"84":[2,120],"86":[2,120],"90":[2,120],"98":[2,120],"101":[2,120],"102":[2,120],"103":[2,120],"106":[2,120],"108":[2,120],"115":[2,120],"118":[2,120],"121":[2,120],"122":[2,120],"125":[2,120],"126":[2,120],"129":[2,120],"130":[2,120],"131":[2,120],"132":[2,120],"133":[2,120],"134":[2,120],"135":[2,120],"136":[2,120],"137":[2,120],"138":[2,120],"139":[2,120],"140":[2,120],"141":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"150":[2,120],"151":[2,120],"152":[2,120],"153":[2,120],"154":[2,120],"155":[2,120],"156":[2,120],"157":[2,120],"158":[2,120]},{"3":[1,249],"26":[1,250],"55":[1,248],"86":[1,300]},{"1":[2,144],"3":[2,144],"25":[2,144],"26":[2,144],"47":[2,144],"55":[2,144],"57":[2,144],"72":[2,144],"74":[2,144],"77":[2,144],"86":[2,144],"90":[2,144],"98":[2,144],"101":[2,144],"102":[2,144],"103":[2,144],"106":[2,144],"108":[2,144],"115":[2,144],"118":[2,144],"121":[2,144],"122":[2,144],"125":[2,144],"126":[2,144],"129":[2,144],"130":[2,144],"131":[2,144],"132":[2,144],"133":[2,144],"134":[2,144],"135":[2,144],"136":[2,144],"137":[2,144],"138":[2,144],"139":[2,144],"140":[2,144],"141":[2,144],"142":[2,144],"143":[2,144],"144":[2,144],"145":[2,144],"146":[2,144],"147":[2,144],"148":[2,144],"149":[2,144],"150":[2,144],"151":[2,144],"152":[2,144],"153":[2,144],"154":[2,144],"155":[2,144],"156":[2,144],"157":[2,144],"158":[2,144]},{"6":301,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":302,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,141],"3":[2,141],"25":[2,141],"26":[2,141],"47":[2,141],"55":[2,141],"57":[2,141],"72":[2,141],"74":[2,141],"77":[2,141],"86":[2,141],"90":[2,141],"98":[2,141],"101":[2,141],"102":[2,141],"103":[2,141],"106":[2,141],"108":[2,141],"111":[2,141],"115":[2,141],"118":[2,141],"121":[2,141],"122":[2,141],"125":[2,141],"126":[2,141],"129":[2,141],"130":[2,141],"131":[2,141],"132":[2,141],"133":[2,141],"134":[2,141],"135":[2,141],"136":[2,141],"137":[2,141],"138":[2,141],"139":[2,141],"140":[2,141],"141":[2,141],"142":[2,141],"143":[2,141],"144":[2,141],"145":[2,141],"146":[2,141],"147":[2,141],"148":[2,141],"149":[2,141],"150":[2,141],"151":[2,141],"152":[2,141],"153":[2,141],"154":[2,141],"155":[2,141],"156":[2,141],"157":[2,141],"158":[2,141]},{"1":[2,126],"3":[2,126],"25":[2,126],"26":[2,126],"47":[2,126],"55":[2,126],"57":[2,126],"72":[2,126],"74":[2,126],"77":[2,126],"86":[2,126],"90":[2,126],"98":[2,126],"101":[2,126],"102":[1,279],"103":[2,126],"106":[2,126],"108":[1,280],"115":[2,126],"118":[2,126],"121":[2,126],"122":[2,126],"125":[2,126],"126":[2,126],"129":[2,126],"130":[2,126],"131":[2,126],"132":[2,126],"133":[2,126],"134":[2,126],"135":[2,126],"136":[2,126],"137":[2,126],"138":[2,126],"139":[2,126],"140":[2,126],"141":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126],"152":[2,126],"153":[2,126],"154":[2,126],"155":[2,126],"156":[2,126],"157":[2,126],"158":[2,126]},{"1":[2,60],"3":[2,60],"25":[2,60],"26":[2,60],"47":[2,60],"55":[2,60],"57":[2,60],"72":[2,60],"74":[2,60],"77":[2,60],"86":[2,60],"90":[2,60],"98":[2,60],"101":[2,60],"102":[2,60],"103":[2,60],"106":[2,60],"108":[2,60],"115":[2,60],"118":[2,60],"121":[2,60],"122":[2,60],"125":[2,60],"126":[2,60],"129":[2,60],"130":[2,60],"131":[2,60],"132":[2,60],"133":[2,60],"134":[2,60],"135":[2,60],"136":[2,60],"137":[2,60],"138":[2,60],"139":[2,60],"140":[2,60],"141":[2,60],"142":[2,60],"143":[2,60],"144":[2,60],"145":[2,60],"146":[2,60],"147":[2,60],"148":[2,60],"149":[2,60],"150":[2,60],"151":[2,60],"152":[2,60],"153":[2,60],"154":[2,60],"155":[2,60],"156":[2,60],"157":[2,60],"158":[2,60]},{"1":[2,96],"3":[2,96],"25":[2,96],"26":[2,96],"47":[2,96],"55":[2,96],"57":[2,96],"65":[2,96],"66":[2,96],"67":[2,96],"68":[2,96],"71":[2,96],"72":[2,96],"73":[2,96],"74":[2,96],"77":[2,96],"84":[2,96],"86":[2,96],"90":[2,96],"98":[2,96],"101":[2,96],"102":[2,96],"103":[2,96],"106":[2,96],"108":[2,96],"115":[2,96],"118":[2,96],"121":[2,96],"122":[2,96],"125":[2,96],"126":[2,96],"129":[2,96],"130":[2,96],"131":[2,96],"132":[2,96],"133":[2,96],"134":[2,96],"135":[2,96],"136":[2,96],"137":[2,96],"138":[2,96],"139":[2,96],"140":[2,96],"141":[2,96],"142":[2,96],"143":[2,96],"144":[2,96],"145":[2,96],"146":[2,96],"147":[2,96],"148":[2,96],"149":[2,96],"150":[2,96],"151":[2,96],"152":[2,96],"153":[2,96],"154":[2,96],"155":[2,96],"156":[2,96],"157":[2,96],"158":[2,96]},{"1":[2,76],"3":[2,76],"25":[2,76],"26":[2,76],"43":[2,76],"47":[2,76],"55":[2,76],"57":[2,76],"65":[2,76],"66":[2,76],"67":[2,76],"68":[2,76],"71":[2,76],"72":[2,76],"73":[2,76],"74":[2,76],"77":[2,76],"80":[2,76],"84":[2,76],"86":[2,76],"90":[2,76],"98":[2,76],"101":[2,76],"102":[2,76],"103":[2,76],"106":[2,76],"108":[2,76],"115":[2,76],"118":[2,76],"121":[2,76],"122":[2,76],"125":[2,76],"126":[2,76],"129":[2,76],"130":[2,76],"131":[2,76],"132":[2,76],"133":[2,76],"134":[2,76],"135":[2,76],"136":[2,76],"137":[2,76],"138":[2,76],"139":[2,76],"140":[2,76],"141":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76],"152":[2,76],"153":[2,76],"154":[2,76],"155":[2,76],"156":[2,76],"157":[2,76],"158":[2,76]},{"57":[1,303]},{"1":[2,77],"3":[2,77],"25":[2,77],"26":[2,77],"43":[2,77],"47":[2,77],"55":[2,77],"57":[2,77],"65":[2,77],"66":[2,77],"67":[2,77],"68":[2,77],"71":[2,77],"72":[2,77],"73":[2,77],"74":[2,77],"77":[2,77],"80":[2,77],"84":[2,77],"86":[2,77],"90":[2,77],"98":[2,77],"101":[2,77],"102":[2,77],"103":[2,77],"106":[2,77],"108":[2,77],"115":[2,77],"118":[2,77],"121":[2,77],"122":[2,77],"125":[2,77],"126":[2,77],"129":[2,77],"130":[2,77],"131":[2,77],"132":[2,77],"133":[2,77],"134":[2,77],"135":[2,77],"136":[2,77],"137":[2,77],"138":[2,77],"139":[2,77],"140":[2,77],"141":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77],"152":[2,77],"153":[2,77],"154":[2,77],"155":[2,77],"156":[2,77],"157":[2,77],"158":[2,77]},{"3":[1,148],"5":304,"25":[1,6]},{"50":[2,57],"55":[2,57],"57":[1,236]},{"57":[1,305]},{"3":[1,148],"5":306,"25":[1,6]},{"1":[2,116],"3":[2,116],"25":[2,116],"26":[2,116],"47":[2,116],"55":[2,116],"57":[2,116],"72":[2,116],"74":[2,116],"77":[2,116],"86":[2,116],"90":[2,116],"98":[2,116],"101":[2,116],"102":[2,116],"103":[2,116],"106":[2,116],"108":[2,116],"115":[2,116],"118":[2,116],"121":[2,116],"122":[2,116],"125":[2,116],"126":[2,116],"129":[2,116],"130":[2,116],"131":[2,116],"132":[2,116],"133":[2,116],"134":[2,116],"135":[2,116],"136":[2,116],"137":[2,116],"138":[2,116],"139":[2,116],"140":[2,116],"141":[2,116],"142":[2,116],"143":[2,116],"144":[2,116],"145":[2,116],"146":[2,116],"147":[2,116],"148":[2,116],"149":[2,116],"150":[2,116],"151":[2,116],"152":[2,116],"153":[2,116],"154":[2,116],"155":[2,116],"156":[2,116],"157":[2,116],"158":[2,116]},{"3":[1,148],"5":307,"25":[1,6]},{"1":[2,127],"3":[2,127],"25":[2,127],"26":[2,127],"47":[2,127],"55":[2,127],"57":[2,127],"72":[2,127],"74":[2,127],"77":[2,127],"86":[2,127],"90":[2,127],"98":[2,127],"101":[2,127],"102":[2,127],"103":[2,127],"106":[2,127],"108":[2,127],"115":[2,127],"118":[2,127],"121":[2,127],"122":[2,127],"125":[2,127],"126":[2,127],"129":[2,127],"130":[2,127],"131":[2,127],"132":[2,127],"133":[2,127],"134":[2,127],"135":[2,127],"136":[2,127],"137":[2,127],"138":[2,127],"139":[2,127],"140":[2,127],"141":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127],"152":[2,127],"153":[2,127],"154":[2,127],"155":[2,127],"156":[2,127],"157":[2,127],"158":[2,127]},{"6":308,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":309,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,130],"3":[2,130],"25":[2,130],"26":[2,130],"47":[1,109],"55":[2,130],"57":[1,124],"72":[2,130],"74":[2,130],"77":[2,130],"86":[2,130],"90":[2,130],"98":[2,130],"100":122,"101":[2,130],"102":[2,130],"103":[2,130],"106":[1,119],"108":[2,130],"115":[2,130],"118":[2,130],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,131],"3":[2,131],"25":[2,131],"26":[2,131],"47":[1,109],"55":[2,131],"57":[1,124],"72":[2,131],"74":[2,131],"77":[2,131],"86":[2,131],"90":[2,131],"98":[2,131],"100":122,"101":[2,131],"102":[2,131],"103":[2,131],"106":[1,119],"108":[2,131],"115":[2,131],"118":[2,131],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"106":[2,129],"107":[2,129]},{"23":287,"26":[1,310],"46":[1,55],"111":[1,311],"112":312,"113":[1,286]},{"26":[2,136],"46":[2,136],"111":[2,136],"113":[2,136]},{"6":314,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"91":313,"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[1,315]},{"1":[2,81],"3":[2,81],"25":[1,174],"26":[2,81],"47":[2,81],"55":[2,81],"57":[2,81],"63":127,"65":[1,131],"66":[1,132],"67":[1,133],"68":[1,134],"69":135,"70":136,"71":[1,138],"72":[2,81],"73":[1,139],"74":[2,81],"77":[2,81],"78":316,"83":130,"84":[1,137],"86":[2,81],"90":[2,81],"98":[2,81],"101":[2,81],"102":[2,81],"103":[2,81],"106":[2,81],"108":[2,81],"115":[2,81],"118":[2,81],"121":[2,81],"122":[2,81],"125":[2,81],"126":[2,81],"129":[2,81],"130":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"134":[2,81],"135":[2,81],"136":[2,81],"137":[2,81],"138":[2,81],"139":[2,81],"140":[2,81],"141":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81],"152":[2,81],"153":[2,81],"154":[2,81],"155":[2,81],"156":[2,81],"157":[2,81],"158":[2,81]},{"3":[2,108],"26":[2,108],"47":[1,109],"55":[2,108],"57":[1,124],"86":[2,108],"90":[2,108],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"6":317,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"6":318,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[2,109],"26":[2,109],"47":[1,109],"55":[2,109],"57":[1,124],"86":[2,109],"90":[2,109],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"6":319,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"57":[1,320],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"3":[2,86],"26":[2,86],"55":[2,86],"77":[2,86]},{"23":177,"27":175,"28":[1,57],"29":176,"30":[1,78],"31":[1,79],"44":321,"46":[1,55]},{"3":[2,87],"26":[2,87],"55":[2,87],"77":[2,87]},{"1":[2,89],"3":[2,89],"25":[2,89],"26":[2,89],"47":[2,89],"55":[2,89],"57":[2,89],"72":[2,89],"74":[2,89],"77":[2,89],"86":[2,89],"90":[2,89],"98":[2,89],"101":[2,89],"102":[2,89],"103":[2,89],"106":[2,89],"108":[2,89],"115":[2,89],"118":[2,89],"121":[2,89],"122":[2,89],"125":[2,89],"126":[2,89],"129":[2,89],"130":[2,89],"131":[2,89],"132":[2,89],"133":[2,89],"134":[2,89],"135":[2,89],"136":[2,89],"137":[2,89],"138":[2,89],"139":[2,89],"140":[2,89],"141":[2,89],"142":[2,89],"143":[2,89],"144":[2,89],"145":[2,89],"146":[2,89],"147":[2,89],"148":[2,89],"149":[2,89],"150":[2,89],"151":[2,89],"152":[2,89],"153":[2,89],"154":[2,89],"155":[2,89],"156":[2,89],"157":[2,89],"158":[2,89]},{"3":[2,44],"26":[2,44],"47":[1,109],"55":[2,44],"57":[1,124],"77":[2,44],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"3":[2,45],"26":[2,45],"47":[1,109],"55":[2,45],"57":[1,124],"77":[2,45],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,97],"3":[2,97],"25":[2,97],"26":[2,97],"47":[2,97],"55":[2,97],"57":[2,97],"72":[2,97],"74":[2,97],"77":[2,97],"86":[2,97],"90":[2,97],"98":[2,97],"101":[2,97],"102":[2,97],"103":[2,97],"106":[2,97],"108":[2,97],"115":[2,97],"118":[2,97],"121":[2,97],"122":[2,97],"125":[2,97],"126":[2,97],"129":[2,97],"130":[2,97],"131":[2,97],"132":[2,97],"133":[2,97],"134":[2,97],"135":[2,97],"136":[2,97],"137":[2,97],"138":[2,97],"139":[2,97],"140":[2,97],"141":[2,97],"142":[2,97],"143":[2,97],"144":[2,97],"145":[2,97],"146":[2,97],"147":[2,97],"148":[2,97],"149":[2,97],"150":[2,97],"151":[2,97],"152":[2,97],"153":[2,97],"154":[2,97],"155":[2,97],"156":[2,97],"157":[2,97],"158":[2,97]},{"3":[1,148],"5":322,"25":[1,6],"47":[1,109],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,123],"3":[2,123],"25":[2,123],"26":[2,123],"47":[1,109],"55":[2,123],"57":[1,124],"72":[2,123],"74":[2,123],"77":[2,123],"86":[2,123],"90":[2,123],"98":[2,123],"100":122,"101":[1,77],"102":[2,123],"103":[1,123],"106":[1,119],"108":[2,123],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"6":323,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"57":[1,324],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"1":[2,51],"3":[2,51],"25":[2,51],"26":[2,51],"47":[2,51],"55":[2,51],"57":[2,51],"72":[2,51],"74":[2,51],"77":[2,51],"86":[2,51],"90":[2,51],"98":[2,51],"101":[2,51],"102":[2,51],"103":[2,51],"106":[2,51],"108":[2,51],"115":[2,51],"118":[2,51],"121":[2,51],"122":[2,51],"125":[2,51],"126":[2,51],"129":[2,51],"130":[2,51],"131":[2,51],"132":[2,51],"133":[2,51],"134":[2,51],"135":[2,51],"136":[2,51],"137":[2,51],"138":[2,51],"139":[2,51],"140":[2,51],"141":[2,51],"142":[2,51],"143":[2,51],"144":[2,51],"145":[2,51],"146":[2,51],"147":[2,51],"148":[2,51],"149":[2,51],"150":[2,51],"151":[2,51],"152":[2,51],"153":[2,51],"154":[2,51],"155":[2,51],"156":[2,51],"157":[2,51],"158":[2,51]},{"50":[2,59],"55":[2,59],"57":[2,59]},{"1":[2,117],"3":[2,117],"25":[2,117],"26":[2,117],"47":[2,117],"55":[2,117],"57":[2,117],"72":[2,117],"74":[2,117],"77":[2,117],"86":[2,117],"90":[2,117],"98":[2,117],"101":[2,117],"102":[2,117],"103":[2,117],"106":[2,117],"108":[2,117],"115":[2,117],"118":[2,117],"121":[2,117],"122":[2,117],"125":[2,117],"126":[2,117],"129":[2,117],"130":[2,117],"131":[2,117],"132":[2,117],"133":[2,117],"134":[2,117],"135":[2,117],"136":[2,117],"137":[2,117],"138":[2,117],"139":[2,117],"140":[2,117],"141":[2,117],"142":[2,117],"143":[2,117],"144":[2,117],"145":[2,117],"146":[2,117],"147":[2,117],"148":[2,117],"149":[2,117],"150":[2,117],"151":[2,117],"152":[2,117],"153":[2,117],"154":[2,117],"155":[2,117],"156":[2,117],"157":[2,117],"158":[2,117]},{"1":[2,118],"3":[2,118],"25":[2,118],"26":[2,118],"47":[2,118],"55":[2,118],"57":[2,118],"72":[2,118],"74":[2,118],"77":[2,118],"86":[2,118],"90":[2,118],"94":[2,118],"98":[2,118],"101":[2,118],"102":[2,118],"103":[2,118],"106":[2,118],"108":[2,118],"115":[2,118],"118":[2,118],"121":[2,118],"122":[2,118],"125":[2,118],"126":[2,118],"129":[2,118],"130":[2,118],"131":[2,118],"132":[2,118],"133":[2,118],"134":[2,118],"135":[2,118],"136":[2,118],"137":[2,118],"138":[2,118],"139":[2,118],"140":[2,118],"141":[2,118],"142":[2,118],"143":[2,118],"144":[2,118],"145":[2,118],"146":[2,118],"147":[2,118],"148":[2,118],"149":[2,118],"150":[2,118],"151":[2,118],"152":[2,118],"153":[2,118],"154":[2,118],"155":[2,118],"156":[2,118],"157":[2,118],"158":[2,118]},{"1":[2,132],"3":[2,132],"25":[2,132],"26":[2,132],"47":[1,109],"55":[2,132],"57":[1,124],"72":[2,132],"74":[2,132],"77":[2,132],"86":[2,132],"90":[2,132],"98":[2,132],"100":122,"101":[2,132],"102":[2,132],"103":[2,132],"106":[1,119],"108":[2,132],"115":[2,132],"118":[2,132],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,133],"3":[2,133],"25":[2,133],"26":[2,133],"47":[1,109],"55":[2,133],"57":[1,124],"72":[2,133],"74":[2,133],"77":[2,133],"86":[2,133],"90":[2,133],"98":[2,133],"100":122,"101":[2,133],"102":[2,133],"103":[2,133],"106":[1,119],"108":[2,133],"115":[2,133],"118":[2,133],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,134],"3":[2,134],"25":[2,134],"26":[2,134],"47":[2,134],"55":[2,134],"57":[2,134],"72":[2,134],"74":[2,134],"77":[2,134],"86":[2,134],"90":[2,134],"98":[2,134],"101":[2,134],"102":[2,134],"103":[2,134],"106":[2,134],"108":[2,134],"115":[2,134],"118":[2,134],"121":[2,134],"122":[2,134],"125":[2,134],"126":[2,134],"129":[2,134],"130":[2,134],"131":[2,134],"132":[2,134],"133":[2,134],"134":[2,134],"135":[2,134],"136":[2,134],"137":[2,134],"138":[2,134],"139":[2,134],"140":[2,134],"141":[2,134],"142":[2,134],"143":[2,134],"144":[2,134],"145":[2,134],"146":[2,134],"147":[2,134],"148":[2,134],"149":[2,134],"150":[2,134],"151":[2,134],"152":[2,134],"153":[2,134],"154":[2,134],"155":[2,134],"156":[2,134],"157":[2,134],"158":[2,134]},{"3":[1,148],"5":325,"25":[1,6]},{"26":[2,137],"46":[2,137],"111":[2,137],"113":[2,137]},{"3":[1,148],"5":326,"25":[1,6],"55":[1,327]},{"3":[2,113],"25":[2,113],"47":[1,109],"55":[2,113],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"23":287,"46":[1,55],"112":328,"113":[1,286]},{"1":[2,83],"3":[2,83],"25":[2,83],"26":[2,83],"47":[2,83],"55":[2,83],"57":[2,83],"72":[2,83],"74":[2,83],"77":[2,83],"86":[2,83],"90":[2,83],"98":[2,83],"101":[2,83],"102":[2,83],"103":[2,83],"106":[2,83],"108":[2,83],"115":[2,83],"118":[2,83],"121":[2,83],"122":[2,83],"125":[2,83],"126":[2,83],"129":[2,83],"130":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"134":[2,83],"135":[2,83],"136":[2,83],"137":[2,83],"138":[2,83],"139":[2,83],"140":[2,83],"141":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83],"152":[2,83],"153":[2,83],"154":[2,83],"155":[2,83],"156":[2,83],"157":[2,83],"158":[2,83]},{"3":[2,110],"26":[2,110],"47":[1,109],"55":[2,110],"57":[1,124],"86":[2,110],"90":[2,110],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"3":[2,111],"26":[2,111],"47":[1,109],"55":[2,111],"57":[1,124],"86":[2,111],"90":[2,111],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"47":[1,109],"57":[1,124],"90":[1,329],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"3":[2,60],"6":330,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"26":[2,60],"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"47":[2,60],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"55":[2,60],"57":[2,60],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"90":[2,60],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[2,60],"103":[2,60],"106":[2,60],"109":[1,53],"114":76,"115":[2,60],"117":47,"118":[2,60],"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46],"129":[2,60],"130":[2,60],"131":[2,60],"132":[2,60],"133":[2,60],"134":[2,60],"135":[2,60],"136":[2,60],"137":[2,60],"138":[2,60],"139":[2,60],"140":[2,60],"141":[2,60],"142":[2,60],"143":[2,60],"144":[2,60],"145":[2,60],"146":[2,60],"147":[2,60],"148":[2,60],"149":[2,60],"150":[2,60],"151":[2,60],"152":[2,60],"153":[2,60],"154":[2,60],"155":[2,60],"156":[2,60],"157":[2,60],"158":[2,60]},{"3":[2,88],"26":[2,88],"55":[2,88],"77":[2,88]},{"1":[2,145],"3":[2,145],"25":[2,145],"26":[2,145],"47":[2,145],"55":[2,145],"57":[2,145],"72":[2,145],"74":[2,145],"77":[2,145],"86":[2,145],"90":[2,145],"98":[2,145],"101":[2,145],"102":[2,145],"103":[2,145],"106":[2,145],"108":[2,145],"111":[2,145],"115":[2,145],"118":[2,145],"121":[2,145],"122":[2,145],"125":[2,145],"126":[2,145],"129":[2,145],"130":[2,145],"131":[2,145],"132":[2,145],"133":[2,145],"134":[2,145],"135":[2,145],"136":[2,145],"137":[2,145],"138":[2,145],"139":[2,145],"140":[2,145],"141":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"150":[2,145],"151":[2,145],"152":[2,145],"153":[2,145],"154":[2,145],"155":[2,145],"156":[2,145],"157":[2,145],"158":[2,145]},{"47":[1,109],"57":[1,124],"72":[1,331],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"6":332,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"47":[2,60],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"57":[2,60],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"72":[2,60],"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[2,60],"103":[2,60],"106":[2,60],"109":[1,53],"114":76,"115":[2,60],"117":47,"118":[2,60],"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46],"129":[2,60],"130":[2,60],"131":[2,60],"132":[2,60],"133":[2,60],"134":[2,60],"135":[2,60],"136":[2,60],"137":[2,60],"138":[2,60],"139":[2,60],"140":[2,60],"141":[2,60],"142":[2,60],"143":[2,60],"144":[2,60],"145":[2,60],"146":[2,60],"147":[2,60],"148":[2,60],"149":[2,60],"150":[2,60],"151":[2,60],"152":[2,60],"153":[2,60],"154":[2,60],"155":[2,60],"156":[2,60],"157":[2,60],"158":[2,60]},{"26":[1,333]},{"3":[1,334],"26":[2,138],"46":[2,138],"111":[2,138],"113":[2,138]},{"6":335,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"27":25,"28":[1,57],"29":58,"30":[1,78],"31":[1,79],"32":26,"33":[1,59],"34":[1,60],"35":[1,61],"36":[1,62],"37":[1,63],"38":[1,64],"39":[1,65],"40":[1,66],"41":[1,67],"42":[1,68],"45":[1,50],"46":[1,55],"48":[1,35],"51":36,"52":[1,74],"53":[1,75],"58":27,"59":28,"60":29,"61":30,"62":31,"64":32,"75":[1,70],"79":[1,54],"81":[1,33],"82":34,"87":[1,73],"88":[1,72],"89":[1,69],"92":[1,48],"96":[1,49],"97":[1,71],"99":[1,56],"100":51,"101":[1,77],"103":[1,52],"109":[1,53],"114":76,"115":[1,80],"117":47,"119":[1,37],"120":[1,38],"121":[1,39],"122":[1,40],"123":[1,41],"124":[1,42],"125":[1,43],"126":[1,44],"127":[1,45],"128":[1,46]},{"26":[2,140],"46":[2,140],"111":[2,140],"113":[2,140]},{"1":[2,100],"3":[2,100],"25":[2,100],"26":[2,100],"43":[2,100],"47":[2,100],"55":[2,100],"57":[2,100],"65":[2,100],"66":[2,100],"67":[2,100],"68":[2,100],"71":[2,100],"72":[2,100],"73":[2,100],"74":[2,100],"77":[2,100],"80":[2,100],"84":[2,100],"86":[2,100],"90":[2,100],"98":[2,100],"101":[2,100],"102":[2,100],"103":[2,100],"106":[2,100],"108":[2,100],"115":[2,100],"118":[2,100],"121":[2,100],"122":[2,100],"125":[2,100],"126":[2,100],"129":[2,100],"130":[2,100],"131":[2,100],"132":[2,100],"133":[2,100],"134":[2,100],"135":[2,100],"136":[2,100],"137":[2,100],"138":[2,100],"139":[2,100],"140":[2,100],"141":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"150":[2,100],"151":[2,100],"152":[2,100],"153":[2,100],"154":[2,100],"155":[2,100],"156":[2,100],"157":[2,100],"158":[2,100]},{"47":[1,109],"57":[1,124],"90":[1,336],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,102],"3":[2,102],"25":[2,102],"26":[2,102],"43":[2,102],"47":[2,102],"55":[2,102],"57":[2,102],"65":[2,102],"66":[2,102],"67":[2,102],"68":[2,102],"71":[2,102],"72":[2,102],"73":[2,102],"74":[2,102],"77":[2,102],"80":[2,102],"84":[2,102],"86":[2,102],"90":[2,102],"98":[2,102],"101":[2,102],"102":[2,102],"103":[2,102],"106":[2,102],"108":[2,102],"115":[2,102],"118":[2,102],"121":[2,102],"122":[2,102],"125":[2,102],"126":[2,102],"129":[2,102],"130":[2,102],"131":[2,102],"132":[2,102],"133":[2,102],"134":[2,102],"135":[2,102],"136":[2,102],"137":[2,102],"138":[2,102],"139":[2,102],"140":[2,102],"141":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"150":[2,102],"151":[2,102],"152":[2,102],"153":[2,102],"154":[2,102],"155":[2,102],"156":[2,102],"157":[2,102],"158":[2,102]},{"47":[1,109],"57":[1,124],"72":[1,337],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,135],"3":[2,135],"25":[2,135],"26":[2,135],"47":[2,135],"55":[2,135],"57":[2,135],"72":[2,135],"74":[2,135],"77":[2,135],"86":[2,135],"90":[2,135],"98":[2,135],"101":[2,135],"102":[2,135],"103":[2,135],"106":[2,135],"108":[2,135],"115":[2,135],"118":[2,135],"121":[2,135],"122":[2,135],"125":[2,135],"126":[2,135],"129":[2,135],"130":[2,135],"131":[2,135],"132":[2,135],"133":[2,135],"134":[2,135],"135":[2,135],"136":[2,135],"137":[2,135],"138":[2,135],"139":[2,135],"140":[2,135],"141":[2,135],"142":[2,135],"143":[2,135],"144":[2,135],"145":[2,135],"146":[2,135],"147":[2,135],"148":[2,135],"149":[2,135],"150":[2,135],"151":[2,135],"152":[2,135],"153":[2,135],"154":[2,135],"155":[2,135],"156":[2,135],"157":[2,135],"158":[2,135]},{"26":[2,139],"46":[2,139],"111":[2,139],"113":[2,139]},{"3":[2,114],"25":[2,114],"47":[1,109],"55":[2,114],"57":[1,124],"100":122,"101":[1,77],"103":[1,123],"106":[1,119],"115":[1,120],"118":[1,121],"121":[1,90],"122":[1,89],"125":[1,84],"126":[1,85],"129":[1,86],"130":[1,87],"131":[1,88],"132":[1,91],"133":[1,92],"134":[1,93],"135":[1,94],"136":[1,95],"137":[1,96],"138":[1,97],"139":[1,98],"140":[1,99],"141":[1,100],"142":[1,101],"143":[1,102],"144":[1,103],"145":[1,104],"146":[1,105],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,110],"151":[1,111],"152":[1,112],"153":[1,113],"154":[1,114],"155":[1,115],"156":[1,116],"157":[1,117],"158":[1,118]},{"1":[2,101],"3":[2,101],"25":[2,101],"26":[2,101],"43":[2,101],"47":[2,101],"55":[2,101],"57":[2,101],"65":[2,101],"66":[2,101],"67":[2,101],"68":[2,101],"71":[2,101],"72":[2,101],"73":[2,101],"74":[2,101],"77":[2,101],"80":[2,101],"84":[2,101],"86":[2,101],"90":[2,101],"98":[2,101],"101":[2,101],"102":[2,101],"103":[2,101],"106":[2,101],"108":[2,101],"115":[2,101],"118":[2,101],"121":[2,101],"122":[2,101],"125":[2,101],"126":[2,101],"129":[2,101],"130":[2,101],"131":[2,101],"132":[2,101],"133":[2,101],"134":[2,101],"135":[2,101],"136":[2,101],"137":[2,101],"138":[2,101],"139":[2,101],"140":[2,101],"141":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"150":[2,101],"151":[2,101],"152":[2,101],"153":[2,101],"154":[2,101],"155":[2,101],"156":[2,101],"157":[2,101],"158":[2,101]},{"1":[2,103],"3":[2,103],"25":[2,103],"26":[2,103],"43":[2,103],"47":[2,103],"55":[2,103],"57":[2,103],"65":[2,103],"66":[2,103],"67":[2,103],"68":[2,103],"71":[2,103],"72":[2,103],"73":[2,103],"74":[2,103],"77":[2,103],"80":[2,103],"84":[2,103],"86":[2,103],"90":[2,103],"98":[2,103],"101":[2,103],"102":[2,103],"103":[2,103],"106":[2,103],"108":[2,103],"115":[2,103],"118":[2,103],"121":[2,103],"122":[2,103],"125":[2,103],"126":[2,103],"129":[2,103],"130":[2,103],"131":[2,103],"132":[2,103],"133":[2,103],"134":[2,103],"135":[2,103],"136":[2,103],"137":[2,103],"138":[2,103],"139":[2,103],"140":[2,103],"141":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"150":[2,103],"151":[2,103],"152":[2,103],"153":[2,103],"154":[2,103],"155":[2,103],"156":[2,103],"157":[2,103],"158":[2,103]}],parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0;this.lexer.setInput(input);this.lexer.yy=this.yy;var parseError=this.yy.parseError=this.yy.parseError||this.parseError;function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]}return token}var symbol,state,action,a,r,yyval={},p,len,ip=0,newState,expected;symbol=lex();while(true){state=stack[stack.length-1];action=table[state]&&table[state][symbol];if(typeof action==="undefined"||!action.length||!action[0]){expected=[];for(p in table[state]){if(this.terminals_[p]&&p!=1){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError("Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol],line:this.lexer.yylineno,expected:expected})}else{parseError("Parse error on line "+(yylineno+1)+": Unexpected '"+this.terminals_[symbol]+"'",{text:this.lexer.match,token:this.terminals_[symbol],line:this.lexer.yylineno,expected:expected})}}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);++ip;yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex();vstack.push(null);stack.push(a[1]);break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){var cwd=require("file").path(require("file").cwd());if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}var source=cwd.join(args[1]).read({charset:"utf-8"});this.parse(source)};if(require.main===module){exports.main(require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!((typeof process!=="undefined"&&process!==null))){this.exports=this}exports.Scope=(function(){Scope=function Scope(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};this.temp_var=this.parent?this.parent.temp_var:"_a";return this};Scope.prototype.find=function find(name){if(this.check(name)){return true}this.variables[name]="var";return false};Scope.prototype.parameter=function parameter(name){return this.variables[name]="param"};Scope.prototype.check=function check(name){if(this.variables[name]){return true}return !!(this.parent&&this.parent.check(name))};Scope.prototype.free_variable=function free_variable(){var ordinal;while(this.check(this.temp_var)){ordinal=1+parseInt(this.temp_var.substr(1),36);this.temp_var="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.temp_var]="var";return this.temp_var};Scope.prototype.assign=function assign(name,value,top_level){if(top_level&&this.parent){return this.parent.assign(name,value,top_level)}return this.variables[name]={value:value,assigned:true}};Scope.prototype.has_declarations=function has_declarations(body){return body===this.expressions&&this.declared_variables().length};Scope.prototype.has_assignments=function has_assignments(body){return body===this.expressions&&this.assigned_variables().length};Scope.prototype.declared_variables=function declared_variables(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];if(val==="var"){_a.push(key)}}}return _a}).call(this).sort()};Scope.prototype.assigned_variables=function assigned_variables(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];if(val.assigned){_a.push(""+key+" = "+(val.value))}}}return _a};Scope.prototype.compiled_declarations=function compiled_declarations(){return this.declared_variables().join(", ")};Scope.prototype.compiled_assignments=function compiled_assignments(){return this.assigned_variables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IfNode,IndexNode,LiteralNode,ObjectNode,OpNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,Scope,SliceNode,SplatNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,ValueNode,WhileNode,compact,del,flatten,helpers,literal,merge,statement;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.__superClass__=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child};if((typeof process!=="undefined"&&process!==null)){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}compact=helpers.compact;flatten=helpers.flatten;merge=helpers.merge;del=helpers.del;statement=function statement(klass,only){klass.prototype.is_statement=function is_statement(){return true};if(only){return((klass.prototype.is_pure_statement=function is_pure_statement(){return true}))}};exports.BaseNode=(function(){BaseNode=function BaseNode(){};BaseNode.prototype.compile=function compile(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof ValueNode)){del(this.options,"operation")}top=this.top_sensitive()?this.options.top:del(this.options,"top");closure=this.is_statement()&&!this.is_pure_statement()&&!top&&!this.options.returns&&!(this instanceof CommentNode);return closure?this.compile_closure(this.options):this.compile_node(this.options)};BaseNode.prototype.compile_closure=function compile_closure(o){this.tab=o.indent;o.shared_scope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compile_reference=function compile_reference(o){var compiled,reference;reference=literal(o.scope.free_variable());compiled=new AssignNode(reference,this);return[compiled,reference]};BaseNode.prototype.idt=function idt(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.contains=function contains(block){var _a,_b,_c,node;_a=this.children;for(_b=0,_c=_a.length;_b<_c;_b++){node=_a[_b];if(block(node)){return true}if(node.contains&&node.contains(block)){return true}}return false};BaseNode.prototype.traverse=function traverse(block){var _a,_b,_c,_d,node;_a=[];_b=this.children;for(_c=0,_d=_b.length;_c<_d;_c++){node=_b[_c];_a.push((function(){block(node);if(node.traverse){return node.traverse(block)}}).call(this))}return _a};BaseNode.prototype.toString=function toString(idt){var _a,_b,_c,_d,child;idt=idt||"";return"\n"+idt+this.type+(function(){_a=[];_b=this.children;for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.toString(idt+TAB))}return _a}).call(this).join("")};BaseNode.prototype.unwrap=function unwrap(){return this};BaseNode.prototype.children=[];BaseNode.prototype.is_statement=function is_statement(){return false};BaseNode.prototype.is_pure_statement=function is_pure_statement(){return false};BaseNode.prototype.top_sensitive=function top_sensitive(){return false};return BaseNode}).call(this);exports.Expressions=(function(){Expressions=function Expressions(nodes){this.children=(this.expressions=compact(flatten(nodes||[])));return this};__extends(Expressions,BaseNode);Expressions.prototype.type="Expressions";Expressions.prototype.push=function push(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function unshift(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function unwrap(){return this.expressions.length===1?this.expressions[0]:this};Expressions.prototype.empty=function empty(){return this.expressions.length===0};Expressions.prototype.is_last=function is_last(node){var l,last_index;l=this.expressions.length;last_index=this.expressions[l-1] instanceof CommentNode?2:1;return node===this.expressions[l-last_index]};Expressions.prototype.compile=function compile(o){o=o||{};return o.scope?Expressions.__superClass__.compile.call(this,o):this.compile_root(o)};Expressions.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,node;return(function(){_a=[];_b=this.expressions;for(_c=0,_d=_b.length;_c<_d;_c++){node=_b[_c];_a.push(this.compile_expression(node,merge(o)))}return _a}).call(this).join("\n")};Expressions.prototype.compile_root=function compile_root(o){var code;o.indent=(this.tab=o.no_wrap?"":TAB);o.scope=new Scope(null,this,null);code=o.globals?this.compile_node(o):this.compile_with_declarations(o);code=code.replace(TRAILING_WHITESPACE,"");return o.no_wrap?code:"(function(){\n"+code+"\n})();\n"};Expressions.prototype.compile_with_declarations=function compile_with_declarations(o){var code;code=this.compile_node(o);if(o.scope.has_assignments(this)){code=""+(this.tab)+"var "+(o.scope.compiled_assignments())+";\n"+code}if(o.scope.has_declarations(this)){code=""+(this.tab)+"var "+(o.scope.compiled_declarations())+";\n"+code}return code};Expressions.prototype.compile_expression=function compile_expression(node,o){var returns,stmt;this.tab=o.indent;stmt=node.is_statement();returns=del(o,"returns")&&this.is_last(node)&&!node.is_pure_statement();if(!(returns)){return(stmt?"":this.idt())+node.compile(merge(o,{top:true}))+(stmt?"":";")}if(node.is_statement()){return node.compile(merge(o,{returns:true}))}return""+(this.tab)+"return "+(node.compile(o))+";"};return Expressions}).call(this);Expressions.wrap=function wrap(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};statement(Expressions);exports.LiteralNode=(function(){LiteralNode=function LiteralNode(value){this.value=value;return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype.type="Literal";LiteralNode.prototype.is_statement=function is_statement(){return this.value==="break"||this.value==="continue"};LiteralNode.prototype.is_pure_statement=LiteralNode.prototype.is_statement;LiteralNode.prototype.compile_node=function compile_node(o){var end,idt;idt=this.is_statement()?this.idt():"";end=this.is_statement()?";":"";return""+idt+this.value+end};LiteralNode.prototype.toString=function toString(idt){return' "'+this.value+'"'};return LiteralNode}).call(this);exports.ReturnNode=(function(){ReturnNode=function ReturnNode(expression){this.children=[(this.expression=expression)];return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype.type="Return";ReturnNode.prototype.compile_node=function compile_node(o){if(this.expression.is_statement()){return this.expression.compile(merge(o,{returns:true}))}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode}).call(this);statement(ReturnNode,true);exports.ValueNode=(function(){ValueNode=function ValueNode(base,properties){this.children=flatten([(this.base=base),(this.properties=(properties||[]))]);return this};__extends(ValueNode,BaseNode);ValueNode.prototype.type="Value";ValueNode.prototype.SOAK=" == undefined ? undefined : ";ValueNode.prototype.push=function push(prop){this.properties.push(prop);this.children.push(prop);return this};ValueNode.prototype.has_properties=function has_properties(){return !!this.properties.length};ValueNode.prototype.is_array=function is_array(){return this.base instanceof ArrayNode&&!this.has_properties()};ValueNode.prototype.is_object=function is_object(){return this.base instanceof ObjectNode&&!this.has_properties()};ValueNode.prototype.is_splice=function is_splice(){return this.has_properties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.unwrap=function unwrap(){return this.properties.length?this:this.base};ValueNode.prototype.is_statement=function is_statement(){return this.base.is_statement&&this.base.is_statement()&&!this.has_properties()};ValueNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,baseline,complete,only,op,part,prop,props,soaked,temp;soaked=false;only=del(o,"only_first");op=del(o,"operation");props=only?this.properties.slice(0,this.properties.length-1):this.properties;baseline=this.base.compile(o);if(this.base instanceof ObjectNode&&this.has_properties()){baseline="("+baseline+")"}complete=(this.last=baseline);_a=props;for(_b=0,_c=_a.length;_b<_c;_b++){prop=_a[_b];this.source=baseline;if(prop.soak_node){soaked=true;if(this.base instanceof CallNode&&prop===props[0]){temp=o.scope.free_variable();complete="("+temp+" = "+complete+")"+this.SOAK+((baseline=temp+prop.compile(o)))}else{complete=complete+this.SOAK+(baseline+=prop.compile(o))}}else{part=prop.compile(o);baseline+=part;complete+=part;this.last=part}}return op&&soaked?"("+complete+")":complete};return ValueNode}).call(this);exports.CommentNode=(function(){CommentNode=function CommentNode(lines){this.lines=lines;this;return this};__extends(CommentNode,BaseNode);CommentNode.prototype.type="Comment";CommentNode.prototype.compile_node=function compile_node(o){return""+this.tab+"//"+this.lines.join("\n"+this.tab+"//")};return CommentNode}).call(this);statement(CommentNode);exports.CallNode=(function(){CallNode=function CallNode(variable,args){this.children=flatten([(this.variable=variable),(this.args=(args||[]))]);this.prefix="";return this};__extends(CallNode,BaseNode);CallNode.prototype.type="Call";CallNode.prototype.new_instance=function new_instance(){this.prefix="new ";return this};CallNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,arg,args;if(this.args[this.args.length-1] instanceof SplatNode){return this.compile_splat(o)}args=(function(){_a=[];_b=this.args;for(_c=0,_d=_b.length;_c<_d;_c++){arg=_b[_c];_a.push(arg.compile(o))}return _a}).call(this).join(", ");if(this.variable==="super"){return this.compile_super(args,o)}return""+this.prefix+(this.variable.compile(o))+"("+args+")"};CallNode.prototype.compile_super=function compile_super(args,o){var meth,methname;methname=o.scope.method.name;meth=o.scope.method.proto?""+(o.scope.method.proto)+".__superClass__."+methname:""+(methname)+".__superClass__.constructor";return""+(meth)+".call(this"+(args.length?", ":"")+args+")"};CallNode.prototype.compile_splat=function compile_splat(o){var _a,_b,_c,arg,args,code,i,meth,obj,temp;meth=this.variable.compile(o);obj=this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.free_variable();obj=temp;meth="("+temp+" = "+(this.variable.source)+")"+(this.variable.last)}args=(function(){_a=[];_b=this.args;for(i=0,_c=_b.length;i<_c;i++){arg=_b[i];_a.push((function(){code=arg.compile(o);code=arg instanceof SplatNode?code:"["+code+"]";return i===0?code:".concat("+code+")"}).call(this))}return _a}).call(this);return""+this.prefix+(meth)+".apply("+obj+", "+(args.join(""))+")"};return CallNode}).call(this);exports.ExtendsNode=(function(){ExtendsNode=function ExtendsNode(child,parent){this.children=[(this.child=child),(this.parent=parent)];return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype.type="Extends";ExtendsNode.prototype.code="function(child, parent) {\n var ctor = function(){ };\n ctor.prototype = parent.prototype;\n child.__superClass__ = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n }";ExtendsNode.prototype.compile_node=function compile_node(o){var call,ref;o.scope.assign("__extends",this.code,true);ref=new ValueNode(literal("__extends"));call=new CallNode(ref,[this.child,this.parent]);return call.compile(o)};return ExtendsNode}).call(this);exports.AccessorNode=(function(){AccessorNode=function AccessorNode(name,tag){this.children=[(this.name=name)];this.prototype=tag==="prototype";this.soak_node=tag==="soak";this;return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype.type="Accessor";AccessorNode.prototype.compile_node=function compile_node(o){var proto_part;proto_part=this.prototype?"prototype.":"";return"."+proto_part+(this.name.compile(o))};return AccessorNode}).call(this);exports.IndexNode=(function(){IndexNode=function IndexNode(index,tag){this.children=[(this.index=index)];this.soak_node=tag==="soak";return this};__extends(IndexNode,BaseNode);IndexNode.prototype.type="Index";IndexNode.prototype.compile_node=function compile_node(o){var idx;idx=this.index.compile(o);return"["+idx+"]"};return IndexNode}).call(this);exports.RangeNode=(function(){RangeNode=function RangeNode(from,to,exclusive){this.children=[(this.from=from),(this.to=to)];this.exclusive=!!exclusive;return this};__extends(RangeNode,BaseNode);RangeNode.prototype.type="Range";RangeNode.prototype.compile_variables=function compile_variables(o){var _a,_b,from,to;this.tab=o.indent;_a=[o.scope.free_variable(),o.scope.free_variable()];this.from_var=_a[0];this.to_var=_a[1];_b=[this.from.compile(o),this.to.compile(o)];from=_b[0];to=_b[1];return""+this.from_var+" = "+from+"; "+this.to_var+" = "+to+";\n"+this.tab};RangeNode.prototype.compile_node=function compile_node(o){var compare,equals,idx,incr,intro,step,vars;if(!(o.index)){return this.compile_array(o)}idx=del(o,"index");step=del(o,"step");vars=""+idx+" = "+this.from_var;step=step?step.compile(o):"1";equals=this.exclusive?"":"=";intro="("+this.from_var+" <= "+this.to_var+" ? "+idx;compare=""+intro+" <"+equals+" "+this.to_var+" : "+idx+" >"+equals+" "+this.to_var+")";incr=""+intro+" += "+step+" : "+idx+" -= "+step+")";return""+vars+"; "+compare+"; "+incr};RangeNode.prototype.compile_array=function compile_array(o){var arr,body,name;name=o.scope.free_variable();body=Expressions.wrap([literal(name)]);arr=Expressions.wrap([new ForNode(body,{source:(new ValueNode(this))},literal(name))]);return(new ParentheticalNode(new CallNode(new CodeNode([],arr)))).compile(o)};return RangeNode}).call(this);exports.SliceNode=(function(){SliceNode=function SliceNode(range){this.children=[(this.range=range)];this;return this};__extends(SliceNode,BaseNode);SliceNode.prototype.type="Slice";SliceNode.prototype.compile_node=function compile_node(o){var from,plus_part,to;from=this.range.from.compile(o);to=this.range.to.compile(o);plus_part=this.range.exclusive?"":" + 1";return".slice("+from+", "+to+plus_part+")"};return SliceNode}).call(this);exports.ObjectNode=(function(){ObjectNode=function ObjectNode(props){this.children=(this.objects=(this.properties=props||[]));return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype.type="Object";ObjectNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,_e,_f,_g,i,indent,inner,join,last_noncom,non_comments,prop,props;o.indent=this.idt(1);non_comments=(function(){_a=[];_b=this.properties;for(_c=0,_d=_b.length;_c<_d;_c++){prop=_b[_c];if(!(prop instanceof CommentNode)){_a.push(prop)}}return _a}).call(this);last_noncom=non_comments[non_comments.length-1];props=(function(){_e=[];_f=this.properties;for(i=0,_g=_f.length;i<_g;i++){prop=_f[i];_e.push((function(){join=",\n";if((prop===last_noncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);return indent+prop.compile(o)+join}).call(this))}return _e}).call(this);props=props.join("");inner=props?"\n"+props+"\n"+this.idt():"";return"{"+inner+"}"};return ObjectNode}).call(this);exports.ArrayNode=(function(){ArrayNode=function ArrayNode(objects){this.children=(this.objects=objects||[]);return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype.type="Array";ArrayNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,code,ending,i,obj,objects;o.indent=this.idt(1);objects=(function(){_a=[];_b=this.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];_a.push((function(){code=obj.compile(o);if(obj instanceof CommentNode){return"\n"+code+"\n"+o.indent}else{if(i===this.objects.length-1){return code}else{return""+code+", "}}}).call(this))}return _a}).call(this);objects=objects.join("");ending=objects.indexOf("\n")>=0?"\n"+this.tab+"]":"]";return"["+objects+ending};return ArrayNode}).call(this);exports.ClassNode=(function(){ClassNode=function ClassNode(variable,parent,props){this.children=compact(flatten([(this.variable=variable),(this.parent=parent),(this.properties=props||[])]));return this};__extends(ClassNode,BaseNode);ClassNode.prototype.type="Class";ClassNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,applied,construct,extension,func,prop,props,ret,returns,val;extension=this.parent&&new ExtendsNode(this.variable,this.parent);constructor=null;props=new Expressions();o.top=true;ret=del(o,"returns");_a=this.properties;for(_b=0,_c=_a.length;_b<_c;_b++){prop=_a[_b];if(prop.variable&&prop.variable.base.value==="constructor"){func=prop.value;func.body.push(new ReturnNode(literal("this")));constructor=new AssignNode(this.variable,func)}else{if(prop.variable){val=new ValueNode(this.variable,[new AccessorNode(prop.variable,"prototype")]);prop=new AssignNode(val,prop.value)}props.push(prop)}}if(!constructor){if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new AssignNode(this.variable,new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])])))}else{constructor=new AssignNode(this.variable,new CodeNode())}}construct=this.idt()+constructor.compile(o)+";\n";props=props.empty()?"":props.compile(o)+"\n";extension=extension?this.idt()+extension.compile(o)+";\n":"";returns=ret?"\n"+this.idt()+"return "+this.variable.compile(o)+";":"";return""+construct+extension+props+returns};return ClassNode}).call(this);statement(ClassNode);exports.AssignNode=(function(){AssignNode=function AssignNode(variable,value,context){this.children=[(this.variable=variable),(this.value=value)];this.context=context;return this};__extends(AssignNode,BaseNode);AssignNode.prototype.type="Assign";AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype.top_sensitive=function top_sensitive(){return true};AssignNode.prototype.is_value=function is_value(){return this.variable instanceof ValueNode};AssignNode.prototype.is_statement=function is_statement(){return this.is_value()&&(this.variable.is_array()||this.variable.is_object())};AssignNode.prototype.compile_node=function compile_node(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.is_statement()){return this.compile_pattern_match(o)}if(this.is_value()&&this.variable.is_splice()){return this.compile_splice(o)}stmt=del(o,"as_statement");name=this.variable.compile(o);last=this.is_value()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return""+name+": "+val}if(!(this.is_value()&&this.variable.has_properties())){o.scope.find(name)}val=""+name+" = "+val;if(stmt){return""+this.tab+val+";"}if(!top||o.returns){val="("+val+")"}if(o.returns){val=""+(this.tab)+"return "+val}return val};AssignNode.prototype.compile_pattern_match=function compile_pattern_match(o){var _a,_b,_c,access_class,assigns,code,i,idx,obj,val,val_var,value;val_var=o.scope.free_variable();value=this.value.is_statement()?ClosureNode.wrap(this.value):this.value;assigns=[""+this.tab+val_var+" = "+(value.compile(o))+";"];o.top=true;o.as_statement=true;_a=this.variable.base.objects;for(i=0,_b=_a.length;i<_b;i++){obj=_a[i];idx=i;if(this.variable.is_object()){_c=[obj.value,obj.variable.base];obj=_c[0];idx=_c[1]}access_class=this.variable.is_array()?IndexNode:AccessorNode;if(obj instanceof SplatNode){val=literal(obj.compile_value(o,val_var,this.variable.base.objects.indexOf(obj)))}else{if(!(typeof idx==="object")){idx=literal(idx)}val=new ValueNode(literal(val_var),[new access_class(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");if(o.returns){code+="\n"+(this.tab)+"return "+(this.variable.compile(o))+";"}return code};AssignNode.prototype.compile_splice=function compile_splice(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{only_first:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from.compile(o);to=range.to.compile(o)+" - "+from+plus;val=this.value.compile(o);return""+(name)+".splice.apply("+name+", ["+from+", "+to+"].concat("+val+"))"};return AssignNode}).call(this);exports.CodeNode=(function(){CodeNode=function CodeNode(params,body,tag){this.params=params||[];this.body=body||new Expressions();this.bound=tag==="boundfunc";return this};__extends(CodeNode,BaseNode);CodeNode.prototype.type="Code";CodeNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,_e,_f,_g,code,func,inner,name_part,param,params,shared_scope,splat,top;shared_scope=del(o,"shared_scope");top=del(o,"top");o.scope=shared_scope||new Scope(o.scope,this.body,this);o.returns=true;o.top=true;o.indent=this.idt(this.bound?2:1);del(o,"no_wrap");del(o,"globals");if(this.params[this.params.length-1] instanceof SplatNode){splat=this.params.pop();splat.index=this.params.length;this.body.unshift(splat)}params=(function(){_a=[];_b=this.params;for(_c=0,_d=_b.length;_c<_d;_c++){param=_b[_c];_a.push(param.compile(o))}return _a}).call(this);_e=params;for(_f=0,_g=_e.length;_f<_g;_f++){param=_e[_f];(o.scope.parameter(param))}code=this.body.expressions.length?"\n"+(this.body.compile_with_declarations(o))+"\n":"";name_part=this.name?" "+this.name:"";func="function"+(this.bound?"":name_part)+"("+(params.join(", "))+") {"+code+(this.idt(this.bound?1:0))+"}";if(top&&!this.bound){func="("+func+")"}if(!(this.bound)){return func}inner="(function"+name_part+"() {\n"+(this.idt(2))+"return __func.apply(__this, arguments);\n"+(this.idt(1))+"});";return"(function(__this) {\n"+(this.idt(1))+"var __func = "+func+";\n"+(this.idt(1))+"return "+inner+"\n"+this.tab+"})(this)"};CodeNode.prototype.top_sensitive=function top_sensitive(){return true};CodeNode.prototype.real_children=function real_children(){return flatten([this.params,this.body.expressions])};CodeNode.prototype.traverse=function traverse(block){var _a,_b,_c,_d,child;block(this);_a=[];_b=this.real_children();for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.traverse(block))}return _a};CodeNode.prototype.toString=function toString(idt){var _a,_b,_c,_d,child,children;idt=idt||"";children=(function(){_a=[];_b=this.real_children();for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.toString(idt+TAB))}return _a}).call(this).join("");return"\n"+idt+children};return CodeNode}).call(this);exports.SplatNode=(function(){SplatNode=function SplatNode(name){if(!(name.compile)){name=literal(name)}this.children=[(this.name=name)];return this};__extends(SplatNode,BaseNode);SplatNode.prototype.type="Splat";SplatNode.prototype.compile_node=function compile_node(o){var _a;return(typeof(_a=this.index)!=="undefined"&&_a!==null)?this.compile_param(o):this.name.compile(o)};SplatNode.prototype.compile_param=function compile_param(o){var name;name=this.name.compile(o);o.scope.find(name);return""+name+" = Array.prototype.slice.call(arguments, "+this.index+")"};SplatNode.prototype.compile_value=function compile_value(o,name,index){return"Array.prototype.slice.call("+name+", "+index+")"};return SplatNode}).call(this);exports.WhileNode=(function(){WhileNode=function WhileNode(condition,opts){this.children=[(this.condition=condition)];this.filter=opts&&opts.filter;return this};__extends(WhileNode,BaseNode);WhileNode.prototype.type="While";WhileNode.prototype.add_body=function add_body(body){this.children.push((this.body=body));return this};WhileNode.prototype.top_sensitive=function top_sensitive(){return true};WhileNode.prototype.compile_node=function compile_node(o){var cond,post,pre,returns,rvar,set,top;returns=del(o,"returns");top=del(o,"top")&&!returns;o.indent=this.idt(1);o.top=true;cond=this.condition.compile(o);set="";if(!top){rvar=o.scope.free_variable();set=""+this.tab+rvar+" = [];\n";if(this.body){this.body=PushNode.wrap(rvar,this.body)}}post=returns?"\n"+(this.tab)+"return "+rvar+";":"";pre=""+set+(this.tab)+"while ("+cond+")";if(!this.body){return""+pre+" null;"+post}if(this.filter){this.body=Expressions.wrap([new IfNode(this.filter,this.body)])}return""+pre+" {\n"+(this.body.compile(o))+"\n"+this.tab+"}"+post};return WhileNode}).call(this);statement(WhileNode);exports.OpNode=(function(){OpNode=function OpNode(operator,first,second,flip){this.type+=" "+operator;this.children=compact([(this.first=first),(this.second=second)]);this.operator=this.CONVERSIONS[operator]||operator;this.flip=!!flip;return this};__extends(OpNode,BaseNode);OpNode.prototype.type="Op";OpNode.prototype.CONVERSIONS={"==":"===","!=":"!==",and:"&&",or:"||",is:"===",isnt:"!==",not:"!"};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype.is_unary=function is_unary(){return !this.second};OpNode.prototype.is_chainable=function is_chainable(){return this.CHAINABLE.indexOf(this.operator)>=0};OpNode.prototype.compile_node=function compile_node(o){o.operation=true;if(this.is_chainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().is_chainable()){return this.compile_chain(o)}if(this.ASSIGNMENT.indexOf(this.operator)>=0){return this.compile_assignment(o)}if(this.is_unary()){return this.compile_unary(o)}if(this.operator==="?"){return this.compile_existence(o)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compile_chain=function compile_chain(o){var _a,_b,first,second,shared;shared=this.first.unwrap().second;if(shared instanceof CallNode){_a=shared.compile_reference(o);this.first.second=_a[0];shared=_a[1]}_b=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_b[0];second=_b[1];shared=_b[2];return"("+first+") && ("+shared+" "+this.operator+" "+second+")"};OpNode.prototype.compile_assignment=function compile_assignment(o){var _a,first,second;_a=[this.first.compile(o),this.second.compile(o)];first=_a[0];second=_a[1];if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return""+first+" = "+(ExistenceNode.compile_test(o,this.first))+" ? "+first+" : "+second}return""+first+" = "+first+" "+(this.operator.substr(0,2))+" "+second};OpNode.prototype.compile_existence=function compile_existence(o){var _a,first,second,test;_a=[this.first.compile(o),this.second.compile(o)];first=_a[0];second=_a[1];test=ExistenceNode.compile_test(o,this.first);return""+test+" ? "+first+" : "+second};OpNode.prototype.compile_unary=function compile_unary(o){var parts,space;space=this.PREFIX_OPERATORS.indexOf(this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode}).call(this);exports.TryNode=(function(){TryNode=function TryNode(attempt,error,recovery,ensure){this.children=compact([(this.attempt=attempt),(this.recovery=recovery),(this.ensure=ensure)]);this.error=error;this;return this};__extends(TryNode,BaseNode);TryNode.prototype.type="Try";TryNode.prototype.compile_node=function compile_node(o){var attempt_part,catch_part,error_part,finally_part;o.indent=this.idt(1);o.top=true;attempt_part=this.attempt.compile(o);error_part=this.error?" ("+(this.error.compile(o))+") ":" ";catch_part=this.recovery?" catch"+error_part+"{\n"+(this.recovery.compile(o))+"\n"+this.tab+"}":"";finally_part=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o,{returns:null}))+"\n"+this.tab+"}";return""+(this.tab)+"try {\n"+attempt_part+"\n"+this.tab+"}"+catch_part+finally_part};return TryNode}).call(this);statement(TryNode);exports.ThrowNode=(function(){ThrowNode=function ThrowNode(expression){this.children=[(this.expression=expression)];return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype.type="Throw";ThrowNode.prototype.compile_node=function compile_node(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode}).call(this);statement(ThrowNode);exports.ExistenceNode=(function(){ExistenceNode=function ExistenceNode(expression){this.children=[(this.expression=expression)];return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype.type="Existence";ExistenceNode.prototype.compile_node=function compile_node(o){return ExistenceNode.compile_test(o,this.expression)};return ExistenceNode}).call(this);ExistenceNode.compile_test=function compile_test(o,variable){var _a,_b,_c,first,second;_a=[variable,variable];first=_a[0];second=_a[1];if(variable instanceof CallNode||(variable instanceof ValueNode&&variable.has_properties())){_b=variable.compile_reference(o);first=_b[0];second=_b[1]}_c=[first.compile(o),second.compile(o)];first=_c[0];second=_c[1];return"(typeof "+first+' !== "undefined" && '+second+" !== null)"};exports.ParentheticalNode=(function(){ParentheticalNode=function ParentheticalNode(expression){this.children=[(this.expression=expression)];return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype.type="Paren";ParentheticalNode.prototype.is_statement=function is_statement(){return this.expression.is_statement()};ParentheticalNode.prototype.compile_node=function compile_node(o){var code,l;code=this.expression.compile(o);if(this.is_statement()){return code}l=code.length;if(code.substr(l-1,1)===";"){code=code.substr(o,l-1)}return"("+code+")"};return ParentheticalNode}).call(this);exports.ForNode=(function(){ForNode=function ForNode(body,source,name,index){var _a;this.body=body;this.name=name;this.index=index||null;this.source=source.source;this.filter=source.filter;this.step=source.step;this.object=!!source.object;if(this.object){_a=[this.index,this.name];this.name=_a[0];this.index=_a[1]}this.children=compact([this.body,this.source,this.filter]);return this};__extends(ForNode,BaseNode);ForNode.prototype.type="For";ForNode.prototype.top_sensitive=function top_sensitive(){return true};ForNode.prototype.compile_node=function compile_node(o){var body,body_dent,close,for_part,index,index_var,ivar,lvar,name,range,return_result,rvar,scope,set_result,source,source_part,step_part,svar,top_level,var_part,vars;top_level=del(o,"top")&&!o.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;scope=o.scope;name=this.name&&this.name.compile(o);index=this.index&&this.index.compile(o);if(name){scope.find(name)}if(index){scope.find(index)}body_dent=this.idt(1);if(!(top_level)){rvar=scope.free_variable()}svar=scope.free_variable();ivar=range?name:index||scope.free_variable();var_part="";body=Expressions.wrap([this.body]);if(range){index_var=scope.free_variable();source_part=source.compile_variables(o);for_part=source.compile(merge(o,{index:ivar,step:this.step}));for_part=""+index_var+" = 0, "+for_part+", "+index_var+"++"}else{index_var=null;source_part=""+svar+" = "+(this.source.compile(o))+";\n"+this.tab;if(name){var_part=""+body_dent+name+" = "+svar+"["+ivar+"];\n"}if(!this.object){lvar=scope.free_variable();step_part=this.step?""+ivar+" += "+(this.step.compile(o)):""+ivar+"++";for_part=""+ivar+" = 0, "+lvar+" = "+(svar)+".length; "+ivar+" < "+lvar+"; "+step_part}}set_result=rvar?this.idt()+rvar+" = []; ":this.idt();return_result=rvar||"";if(top_level&&body.contains(function(n){return n instanceof CodeNode})){body=ClosureNode.wrap(body,true)}if(!(top_level)){body=PushNode.wrap(rvar,body)}if(o.returns){return_result="return "+return_result;del(o,"returns");if(this.filter){body=new IfNode(this.filter,body,null,{statement:true})}}else{if(this.filter){body=Expressions.wrap([new IfNode(this.filter,body)])}}if(this.object){o.scope.assign("__hasProp","Object.prototype.hasOwnProperty",true);for_part=""+ivar+" in "+svar+") { if (__hasProp.call("+svar+", "+ivar+")"}if(!(top_level)){return_result="\n"+this.tab+return_result+";"}body=body.compile(merge(o,{indent:body_dent,top:true}));vars=range?name:""+name+", "+ivar;close=this.object?"}}\n":"}\n";return""+set_result+(source_part)+"for ("+for_part+") {\n"+var_part+body+"\n"+this.tab+close+this.tab+return_result};return ForNode}).call(this);statement(ForNode);exports.IfNode=(function(){IfNode=function IfNode(condition,body,else_body,tags){this.condition=condition;this.body=body&&body.unwrap();this.else_body=else_body&&else_body.unwrap();this.children=compact([this.condition,this.body,this.else_body]);this.tags=tags||{};if(this.condition instanceof Array){this.multiple=true}if(this.tags.invert){this.condition=new OpNode("!",new ParentheticalNode(this.condition))}return this};__extends(IfNode,BaseNode);IfNode.prototype.type="If";IfNode.prototype.push=function push(else_body){var eb;eb=else_body.unwrap();this.else_body?this.else_body.push(eb):(this.else_body=eb);return this};IfNode.prototype.force_statement=function force_statement(){this.tags.statement=true;return this};IfNode.prototype.rewrite_condition=function rewrite_condition(expression){this.switcher=expression;return this};IfNode.prototype.rewrite_switch=function rewrite_switch(o){var _a,_b,_c,assigner,cond,i,variable;assigner=this.switcher;if(!(this.switcher.unwrap() instanceof LiteralNode)){variable=literal(o.scope.free_variable());assigner=new AssignNode(variable,this.switcher);this.switcher=variable}this.condition=(function(){if(this.multiple){_a=[];_b=this.condition;for(i=0,_c=_b.length;i<_c;i++){cond=_b[i];_a.push(new OpNode("is",(i===0?assigner:this.switcher),cond))}return _a}else{return new OpNode("is",assigner,this.condition)}}).call(this);if(this.is_chain()){this.else_body.rewrite_condition(this.switcher)}return this};IfNode.prototype.add_else=function add_else(exprs,statement){if(this.is_chain()){this.else_body.add_else(exprs,statement)}else{if(!(statement)){exprs=exprs.unwrap()}this.children.push((this.else_body=exprs))}return this};IfNode.prototype.is_chain=function is_chain(){return this.chain=this.chain||this.else_body&&this.else_body instanceof IfNode};IfNode.prototype.is_statement=function is_statement(){return this.statement=this.statement||!!(this.comment||this.tags.statement||this.body.is_statement()||(this.else_body&&this.else_body.is_statement()))};IfNode.prototype.compile_condition=function compile_condition(o){var _a,_b,_c,_d,cond;return(function(){_a=[];_b=flatten([this.condition]);for(_c=0,_d=_b.length;_c<_d;_c++){cond=_b[_c];_a.push(cond.compile(o))}return _a}).call(this).join(" || ")};IfNode.prototype.compile_node=function compile_node(o){return this.is_statement()?this.compile_statement(o):this.compile_ternary(o)};IfNode.prototype.compile_statement=function compile_statement(o){var body,child,com_dent,cond_o,else_part,if_dent,if_part,prefix;if(this.switcher){this.rewrite_switch(o)}child=del(o,"chain_child");cond_o=merge(o);del(cond_o,"returns");o.indent=this.idt(1);o.top=true;if_dent=child?"":this.idt();com_dent=child?this.idt():"";prefix=this.comment?""+(this.comment.compile(cond_o))+"\n"+com_dent:"";body=Expressions.wrap([this.body]).compile(o);if_part=""+prefix+(if_dent)+"if ("+(this.compile_condition(cond_o))+") {\n"+body+"\n"+this.tab+"}";if(!(this.else_body)){return if_part}else_part=this.is_chain()?" else "+this.else_body.compile(merge(o,{indent:this.idt(),chain_child:true})):" else {\n"+(Expressions.wrap([this.else_body]).compile(o))+"\n"+this.tab+"}";return""+if_part+else_part};IfNode.prototype.compile_ternary=function compile_ternary(o){var else_part,if_part;if_part=this.condition.compile(o)+" ? "+this.body.compile(o);else_part=this.else_body?this.else_body.compile(o):"null";return""+if_part+" : "+else_part};return IfNode}).call(this);PushNode=(exports.PushNode={wrap:function wrap(array,expressions){var expr;expr=expressions.unwrap();if(expr.is_pure_statement()||expr.contains(function(n){return n.is_pure_statement()})){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function wrap(expressions,statement){var call,func;if(expressions.contains(function(n){return n.is_pure_statement()})){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));call=new CallNode(new ValueNode(func,[new AccessorNode(literal("call"))]),[literal("this")]);return statement?Expressions.wrap([call]):call}});TAB=" ";TRAILING_WHITESPACE=/\s+$/gm;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;literal=function literal(name){return new LiteralNode(name)}})();(function(){var Lexer,compile,helpers,lexer,parser,path,process_scripts;if((typeof process!=="undefined"&&process!==null)){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));require.registerExtension?require.registerExtension(".coffee",function(content){return compile(content)}):null}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.5.5";lexer=new Lexer();exports.compile=(compile=function compile(code,options){options=options||{};try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.source){err.message="In "+(options.source)+", "+(err.message)}throw err}});exports.tokens=function tokens(code){return lexer.tokenize(code)};exports.nodes=function nodes(code){return parser.parse(lexer.tokenize(code))};exports.run=function run(code,options){var __dirname,__filename;module.filename=(__filename=options.source);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))};exports.extend=function extend(func){return Lexer.extensions.push(func)};parser.lexer={lex:function lex(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function setInput(tokens){this.tokens=tokens;return this.pos=0},upcomingInput:function upcomingInput(){return""},showPosition:function showPosition(){return this.pos}};if((typeof document!=="undefined"&&document!==null)&&document.getElementsByTagName){process_scripts=function process_scripts(){var _a,_b,_c,_d,tag;_a=[];_b=document.getElementsByTagName("script");for(_c=0,_d=_b.length;_c<_d;_c++){tag=_b[_c];if(tag.type==="text/coffeescript"){_a.push(eval(exports.compile(tag.innerHTML)))}}return _a};if(window.addEventListener){window.addEventListener("load",process_scripts,false)}else{if(window.attachEvent){window.attachEvent("onload",process_scripts)}}}})(); \ No newline at end of file +(function(){var balanced_string,compact,count,del,extend,flatten,helpers,include,merge,starts;var __hasProp=Object.prototype.hasOwnProperty;if(!((typeof process!=="undefined"&&process!==null))){this.exports=this}helpers=(exports.helpers={});helpers.include=(include=function include(list,value){return list.indexOf(value)>=0});helpers.starts=(starts=function starts(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.compact=(compact=function compact(array){var _a,_b,_c,_d,item;_a=[];_b=array;for(_c=0,_d=_b.length;_c<_d;_c++){item=_b[_c];item?_a.push(item):null}return _a});helpers.count=(count=function count(string,letter){var num,pos;num=0;pos=string.indexOf(letter);while(pos!==-1){num+=1;pos=string.indexOf(letter,pos+1)}return num});helpers.merge=(merge=function merge(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){if(__hasProp.call(_a,key)){val=_a[key];(fresh[key]=val)}}if(overrides){_b=overrides;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];(fresh[key]=val)}}}return fresh});helpers.extend=(extend=function extend(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];_a.push((object[key]=val))}}return _a});helpers.flatten=(flatten=function flatten(array){var _a,_b,_c,item,memo;memo=[];_a=array;for(_b=0,_c=_a.length;_b<_c;_b++){item=_a[_b];item instanceof Array?(memo=memo.concat(item)):memo.push(item)}return memo});helpers.del=(del=function del(obj,key){var val;val=obj[key];delete obj[key];return val});helpers.balanced_string=(balanced_string=function balanced_string(str,delimited,options){var _a,_b,_c,_d,close,i,levels,open,pair,slash;options=options||{};slash=delimited[0][0]==="/";levels=[];i=0;while(i0;if(tag==="CALL_END"&&calls<0&&open){stack[stack.length-1]-=1;this.tokens.splice(i,0,["CALL_END",")",token[2]]);return 2}if(!(typeof post!=="undefined"&&post!==null)||include(IMPLICIT_END,tag)){if(tag==="INDENT"&&prev&&include(IMPLICIT_BLOCK,prev[0])){return 1}if(open||tag==="INDENT"){idx=tag==="OUTDENT"?i+1:i;stack_pointer=tag==="INDENT"?2:1;_c=0;_d=stack[stack.length-stack_pointer];for(_b=0,tmp=_c;(_c<=_d?tmp<_d:tmp>_d);(_c<=_d?tmp+=1:tmp-=1),_b++){this.tokens.splice(idx,0,["CALL_END",")",token[2]])}size=stack[stack.length-stack_pointer]+1;stack[stack.length-stack_pointer]=0;return size}}if(!(prev&&include(IMPLICIT_FUNC,prev[0])&&include(IMPLICIT_CALL,tag))){return 1}calls=0;this.tokens.splice(i,0,["CALL_START","(",token[2]]);stack[stack.length-1]+=1;return 2};return(function(){return __func.apply(__this,arguments)})})(this))};Rewriter.prototype.add_implicit_indentation=function add_implicit_indentation(){return this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var idx,insertion,parens,pre,starter,tok;if(!(include(SINGLE_LINERS,token[0])&&post[0]!=="INDENT"&&!(token[0]==="ELSE"&&post[0]==="IF"))){return 1}starter=token[0];this.tokens.splice(i+1,0,["INDENT",2,token[2]]);idx=i+1;parens=0;while(true){idx+=1;tok=this.tokens[idx];pre=this.tokens[idx-1];if((!tok||(include(SINGLE_CLOSERS,tok[0])&&tok[1]!==";")||(tok[0]===")"&&parens===0))&&!(starter==="ELSE"&&tok[0]==="ELSE")){insertion=pre[0]===","?idx-1:idx;this.tokens.splice(insertion,0,["OUTDENT",2,token[2]]);break}if(tok[0]==="("){parens+=1}if(tok[0]===")"){parens-=1}}if(!(token[0]==="THEN")){return 1}this.tokens.splice(i,1);return 0};return(function(){return __func.apply(__this,arguments)})})(this))};Rewriter.prototype.ensure_balance=function ensure_balance(pairs){var _a,_b,key,levels,line,open,open_line,unclosed,value;levels={};open_line={};this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var _a,_b,_c,_d,close,open,pair;_a=pairs;for(_b=0,_c=_a.length;_b<_c;_b++){pair=_a[_b];_d=pair;open=_d[0];close=_d[1];levels[open]=levels[open]||0;if(token[0]===open){if(levels[open]===0){open_line[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error("too many "+(token[1])+" on line "+(token[2]+1))}}return 1};return(function(){return __func.apply(__this,arguments)})})(this));unclosed=(function(){_a=[];_b=levels;for(key in _b){if(__hasProp.call(_b,key)){value=_b[key];value>0?_a.push(key):null}}return _a}).call(this);if(unclosed.length){open=unclosed[0];line=open_line[open]+1;throw new Error("unclosed "+open+" on line "+line)}};Rewriter.prototype.rewrite_closing_parens=function rewrite_closing_parens(){var _a,debt,key,stack,val;stack=[];debt={};_a=INVERSES;for(key in _a){if(__hasProp.call(_a,key)){val=_a[key];(debt[key]=0)}}return this.scan_tokens((function(__this){var __func=function(prev,token,post,i){var inv,match,mtag,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{match=stack.pop();mtag=match[0];if(tag===INVERSES[mtag]){return 1}debt[mtag]+=1;val=mtag==="INDENT"?match[1]:INVERSES[mtag];this.tokens.splice(i,0,[INVERSES[mtag],val]);return 1}}else{return 1}}};return(function(){return __func.apply(__this,arguments)})})(this))};return Rewriter}).call(this);BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"],["SOAKED_INDEX_START","SOAKED_INDEX_END"]];INVERSES={};_a=BALANCED_PAIRS;for(_b=0,_c=_a.length;_b<_c;_b++){pair=_a[_b];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_d=[];_e=BALANCED_PAIRS;for(_f=0,_g=_e.length;_f<_g;_f++){pair=_e[_f];_d.push(pair[0])}return _d}).call(this);EXPRESSION_END=(function(){_h=[];_i=BALANCED_PAIRS;for(_j=0,_k=_i.length;_j<_k;_j++){pair=_i[_j];_h.push(pair[1])}return _h}).call(this);EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","<-"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","TRY","DELETE","TYPEOF","SWITCH","EXTENSION","TRUE","FALSE","YES","NO","ON","OFF","!","!!","NOT","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["IF","UNLESS","FOR","WHILE","TERMINATOR","INDENT","OUTDENT"];SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]})();(function(){var ACCESSORS,ASSIGNMENT,CALLABLE,CODE,COFFEE_ALIASES,COFFEE_KEYWORDS,COMMENT,COMMENT_CLEANER,CONVERSIONS,HALF_ASSIGNMENTS,HEREDOC,HEREDOC_INDENT,IDENTIFIER,INTERPOLATION,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,KEYWORDS,LAST_DENT,LAST_DENTS,LINE_BREAK,Lexer,MULTILINER,MULTI_DENT,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_ESCAPE,REGEX_FLAGS,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,STRING_NEWLINES,WHITESPACE,balanced_string,compact,count,helpers,include,starts;if((typeof process!=="undefined"&&process!==null)){Rewriter=require("./rewriter").Rewriter;helpers=require("./helpers").helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}include=helpers.include;count=helpers.count;starts=helpers.starts;compact=helpers.compact;balanced_string=helpers.balanced_string;exports.Lexer=(function(){Lexer=function Lexer(){};Lexer.prototype.tokenize=function tokenize(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(no_newlines){return this.suppress_newlines()}diff=size-this.indent;this.token("INDENT",diff);this.indents.push(diff)}else{this.outdent_token(this.indent-size,no_newlines)}}this.indent=size;return true};Lexer.prototype.outdent_token=function outdent_token(move_out,no_newlines){var last_indent;while(move_out>0&&this.indents.length){last_indent=this.indents.pop();this.token("OUTDENT",last_indent);move_out-=last_indent}if(!(this.tag()==="TERMINATOR"||no_newlines)){this.token("TERMINATOR","\n")}return true};Lexer.prototype.whitespace_token=function whitespace_token(){var prev,space;if(!(space=this.match(WHITESPACE,1))){return false}prev=this.prev();if(prev){prev.spaced=true}this.i+=space.length;return true};Lexer.prototype.newline_token=function newline_token(newlines){if(!(this.tag()==="TERMINATOR")){this.token("TERMINATOR","\n")}return true};Lexer.prototype.suppress_newlines=function suppress_newlines(){if(this.value()==="\\"){this.tokens.pop()}return true};Lexer.prototype.literal_token=function literal_token(){var match,prev_spaced,space,tag,value;match=this.chunk.match(OPERATOR);value=match&&match[1];space=match&&match[2];if(value&&value.match(CODE)){this.tag_parameters()}value=value||this.chunk.substr(0,1);prev_spaced=this.prev()&&this.prev().spaced;tag=value;if(value.match(ASSIGNMENT)){tag="ASSIGN";if(include(JS_FORBIDDEN,this.value)){this.assignment_error()}}else{if(value===";"){tag="TERMINATOR"}else{if(value==="["&&this.tag()==="?"&&!prev_spaced){tag="SOAKED_INDEX_START";this.soaked_index=true;this.tokens.pop()}else{if(value==="]"&&this.soaked_index){tag="SOAKED_INDEX_END";this.soaked_index=false}else{if(include(CALLABLE,this.tag())&&!prev_spaced){if(value==="("){tag="CALL_START"}if(value==="["){tag="INDEX_START"}}}}}}this.i+=value.length;if(space&&prev_spaced&&this.prev()[0]==="ASSIGN"&&include(HALF_ASSIGNMENTS,tag)){return this.tag_half_assignment(tag)}this.token(tag,value);return true};Lexer.prototype.name_access_type=function name_access_type(){if(this.value()==="::"){this.tag(1,"PROTOTYPE_ACCESS")}if(this.value()==="."&&!(this.value(2)===".")){if(this.tag(2)==="?"){this.tag(1,"SOAK_ACCESS");return this.tokens.splice(-2,1)}else{return this.tag(1,"PROPERTY_ACCESS")}}};Lexer.prototype.sanitize_heredoc=function sanitize_heredoc(doc,quote){var indent;indent=(doc.match(HEREDOC_INDENT)||[""]).sort()[0];return doc.replace(new RegExp("^"+indent,"gm"),"").replace(MULTILINER,"\\n").replace(new RegExp(quote,"g"),'\\"')};Lexer.prototype.tag_half_assignment=function tag_half_assignment(tag){var last;last=this.tokens.pop();this.tokens.push([""+tag+"=",""+tag+"=",last[2]]);return true};Lexer.prototype.tag_parameters=function tag_parameters(){var _a,i,tok;if(this.tag()!==")"){return null}i=0;while(true){i+=1;tok=this.prev(i);if(!tok){return null}if((_a=tok[0])==="IDENTIFIER"){tok[0]="PARAM"}else{if(_a===")"){tok[0]="PARAM_END"}else{if(_a==="("){return(tok[0]="PARAM_START")}}}}return true};Lexer.prototype.close_indentation=function close_indentation(){return this.outdent_token(this.indent)};Lexer.prototype.identifier_error=function identifier_error(word){throw new Error('SyntaxError: Reserved word "'+word+'" on line '+(this.line+1))};Lexer.prototype.assignment_error=function assignment_error(){throw new Error('SyntaxError: Reserved word "'+(this.value())+'" on line '+(this.line+1)+" can't be assigned")};Lexer.prototype.interpolate_string=function interpolate_string(str,escape_quotes){var _a,_b,_c,_d,_e,escaped,expr,group,i,inner,interp,lexer,match,nested,pi,quote,tag,token,tokens,value;if(str.length<3||!starts(str,'"')){return this.token("STRING",str)}else{lexer=new Lexer();tokens=[];quote=str.substring(0,1);_a=[1,1];i=_a[0];pi=_a[1];while(i:!?]+)([ \t]*)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(((\n?[ \t]*)?#[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;ASSIGNMENT=/^(:|=)$/;REGEX_START=/^\/[^\/ ]/;REGEX_INTERPOLATION=/([^\\]\$[a-zA-Z_@]|[^\\]\$\{.*[^\\]\})/;REGEX_FLAGS=/^[imgy]{0,4}/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;STRING_NEWLINES=/\n[ \t]*/g;COMMENT_CLEANER=/(^[ \t]*#|\n[ \t]*$)/mg;NO_NEWLINE=/^([+\*&|\/\-%=<>:!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/^[ \t]+/mg;NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@"];ACCESSORS=["PROPERTY_ACCESS","PROTOTYPE_ACCESS","SOAK_ACCESS","@"];LINE_BREAK=["INDENT","OUTDENT","TERMINATOR"];HALF_ASSIGNMENTS=["-","+","/","*","%","||","&&","?"];CONVERSIONS={and:"&&",or:"||",is:"==",isnt:"!=",not:"!"}})();var parser=(function(){var parser={trace:function trace(){},yy:{},symbols_:{Root:2,TERMINATOR:3,Expressions:4,Block:5,Expression:6,Value:7,Call:8,Curry:9,Code:10,Operation:11,Assign:12,If:13,Try:14,Throw:15,Return:16,While:17,For:18,Switch:19,Extends:20,Class:21,Splat:22,Existence:23,Comment:24,Extension:25,INDENT:26,OUTDENT:27,Identifier:28,IDENTIFIER:29,AlphaNumeric:30,NUMBER:31,STRING:32,Literal:33,JS:34,REGEX:35,BREAK:36,CONTINUE:37,TRUE:38,FALSE:39,YES:40,NO:41,ON:42,OFF:43,ASSIGN:44,AssignObj:45,RETURN:46,COMMENT:47,"?":48,PARAM_START:49,ParamList:50,PARAM_END:51,FuncGlyph:52,"->":53,"=>":54,Param:55,",":56,PARAM:57,".":58,Array:59,Object:60,Parenthetical:61,Range:62,This:63,Accessor:64,Invocation:65,PROPERTY_ACCESS:66,PROTOTYPE_ACCESS:67,"::":68,SOAK_ACCESS:69,Index:70,Slice:71,INDEX_START:72,INDEX_END:73,SOAKED_INDEX_START:74,SOAKED_INDEX_END:75,"{":76,AssignList:77,"}":78,IndentedAssignList:79,CLASS:80,EXTENDS:81,NEW:82,Super:83,"<-":84,Arguments:85,CALL_START:86,ArgList:87,CALL_END:88,SUPER:89,"@":90,"[":91,"]":92,SimpleArgs:93,TRY:94,Catch:95,FINALLY:96,CATCH:97,THROW:98,"(":99,")":100,EXTENSION:101,WhileSource:102,WHILE:103,WHEN:104,FOR:105,ForVariables:106,ForSource:107,IN:108,OF:109,BY:110,SWITCH:111,Whens:112,ELSE:113,When:114,LEADING_WHEN:115,IfStart:116,IF:117,ElsIf:118,IfBlock:119,UNLESS:120,"!":121,"!!":122,"-":123,"+":124,"~":125,"--":126,"++":127,DELETE:128,TYPEOF:129,"*":130,"/":131,"%":132,"<<":133,">>":134,">>>":135,"&":136,"|":137,"^":138,"<=":139,"<":140,">":141,">=":142,"==":143,"!=":144,"&&":145,"||":146,"-=":147,"+=":148,"/=":149,"*=":150,"%=":151,"||=":152,"&&=":153,"?=":154,INSTANCEOF:155,"$accept":0,"$end":1},terminals_:{"3":"TERMINATOR","26":"INDENT","27":"OUTDENT","29":"IDENTIFIER","31":"NUMBER","32":"STRING","34":"JS","35":"REGEX","36":"BREAK","37":"CONTINUE","38":"TRUE","39":"FALSE","40":"YES","41":"NO","42":"ON","43":"OFF","44":"ASSIGN","46":"RETURN","47":"COMMENT","48":"?","49":"PARAM_START","51":"PARAM_END","53":"->","54":"=>","56":",","57":"PARAM","58":".","66":"PROPERTY_ACCESS","67":"PROTOTYPE_ACCESS","68":"::","69":"SOAK_ACCESS","72":"INDEX_START","73":"INDEX_END","74":"SOAKED_INDEX_START","75":"SOAKED_INDEX_END","76":"{","78":"}","80":"CLASS","81":"EXTENDS","82":"NEW","84":"<-","86":"CALL_START","88":"CALL_END","89":"SUPER","90":"@","91":"[","92":"]","94":"TRY","96":"FINALLY","97":"CATCH","98":"THROW","99":"(","100":")","101":"EXTENSION","103":"WHILE","104":"WHEN","105":"FOR","108":"IN","109":"OF","110":"BY","111":"SWITCH","113":"ELSE","115":"LEADING_WHEN","117":"IF","120":"UNLESS","121":"!","122":"!!","123":"-","124":"+","125":"~","126":"--","127":"++","128":"DELETE","129":"TYPEOF","130":"*","131":"/","132":"%","133":"<<","134":">>","135":">>>","136":"&","137":"|","138":"^","139":"<=","140":"<","141":">","142":">=","143":"==","144":"!=","145":"&&","146":"||","147":"-=","148":"+=","149":"/=","150":"*=","151":"%=","152":"||=","153":"&&=","154":"?=","155":"INSTANCEOF"},productions_:[0,[2,0],[2,1],[2,1],[2,2],[4,1],[4,3],[4,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[5,3],[5,2],[5,2],[28,1],[30,1],[30,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[12,3],[45,3],[45,3],[45,1],[16,2],[16,1],[24,1],[23,2],[10,5],[10,2],[52,1],[52,1],[50,0],[50,1],[50,3],[55,1],[55,4],[22,4],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,2],[7,2],[64,2],[64,2],[64,1],[64,2],[64,1],[64,1],[70,3],[70,3],[60,3],[60,3],[21,2],[21,4],[21,3],[21,5],[77,0],[77,1],[77,3],[77,3],[77,4],[79,3],[8,1],[8,2],[8,1],[9,3],[20,3],[65,2],[65,2],[85,3],[83,4],[63,1],[63,2],[62,6],[62,7],[71,6],[71,7],[59,3],[87,0],[87,1],[87,2],[87,3],[87,3],[87,4],[87,4],[87,2],[93,1],[93,3],[14,3],[14,4],[14,5],[95,3],[15,2],[61,3],[25,1],[102,2],[102,4],[17,2],[17,2],[18,4],[18,4],[106,1],[106,3],[107,2],[107,2],[107,3],[107,3],[19,5],[19,7],[112,1],[112,2],[114,3],[114,4],[114,3],[116,3],[116,2],[119,1],[119,3],[118,4],[13,1],[13,3],[13,3],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,2],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3],[11,3]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=$$[$0-1+1-1];break;case 13:this.$=$$[$0-1+1-1];break;case 14:this.$=$$[$0-1+1-1];break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-1+1-1];break;case 27:this.$=$$[$0-3+2-1];break;case 28:this.$=new Expressions();break;case 29:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 30:this.$=new LiteralNode(yytext);break;case 31:this.$=new LiteralNode(yytext);break;case 32:this.$=new LiteralNode(yytext);break;case 33:this.$=$$[$0-1+1-1];break;case 34:this.$=new LiteralNode(yytext);break;case 35:this.$=new LiteralNode(yytext);break;case 36:this.$=new LiteralNode(yytext);break;case 37:this.$=new LiteralNode(yytext);break;case 38:this.$=new LiteralNode(true);break;case 39:this.$=new LiteralNode(false);break;case 40:this.$=new LiteralNode(true);break;case 41:this.$=new LiteralNode(false);break;case 42:this.$=new LiteralNode(true);break;case 43:this.$=new LiteralNode(false);break;case 44:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 45:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 46:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 47:this.$=$$[$0-1+1-1];break;case 48:this.$=new ReturnNode($$[$0-2+2-1]);break;case 49:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 50:this.$=new CommentNode(yytext);break;case 51:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 52:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 53:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 54:this.$="func";break;case 55:this.$="boundfunc";break;case 56:this.$=[];break;case 57:this.$=[$$[$0-1+1-1]];break;case 58:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 59:this.$=new LiteralNode(yytext);break;case 60:this.$=new SplatNode($$[$0-4+1-1]);break;case 61:this.$=new SplatNode($$[$0-4+1-1]);break;case 62:this.$=new ValueNode($$[$0-1+1-1]);break;case 63:this.$=new ValueNode($$[$0-1+1-1]);break;case 64:this.$=new ValueNode($$[$0-1+1-1]);break;case 65:this.$=new ValueNode($$[$0-1+1-1]);break;case 66:this.$=new ValueNode($$[$0-1+1-1]);break;case 67:this.$=new ValueNode($$[$0-1+1-1]);break;case 68:this.$=$$[$0-1+1-1];break;case 69:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 70:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 71:this.$=new AccessorNode($$[$0-2+2-1]);break;case 72:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 73:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 74:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 75:this.$=$$[$0-1+1-1];break;case 76:this.$=new SliceNode($$[$0-1+1-1]);break;case 77:this.$=new IndexNode($$[$0-3+2-1]);break;case 78:this.$=new IndexNode($$[$0-3+2-1],"soak");break;case 79:this.$=new ObjectNode($$[$0-3+2-1]);break;case 80:this.$=new ObjectNode($$[$0-3+2-1]);break;case 81:this.$=new ClassNode($$[$0-2+2-1]);break;case 82:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 83:this.$=new ClassNode($$[$0-3+2-1],null,$$[$0-3+3-1]);break;case 84:this.$=new ClassNode($$[$0-5+2-1],$$[$0-5+4-1],$$[$0-5+5-1]);break;case 85:this.$=[];break;case 86:this.$=[$$[$0-1+1-1]];break;case 87:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 88:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 89:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 90:this.$=$$[$0-3+2-1];break;case 91:this.$=$$[$0-1+1-1];break;case 92:this.$=$$[$0-2+2-1].new_instance();break;case 93:this.$=$$[$0-1+1-1];break;case 94:this.$=new CurryNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 95:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 96:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 97:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 98:this.$=$$[$0-3+2-1];break;case 99:this.$=new CallNode("super",$$[$0-4+3-1]);break;case 100:this.$=new ValueNode(new LiteralNode("this"));break;case 101:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 102:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 103:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 104:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 105:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 106:this.$=new ArrayNode($$[$0-3+2-1]);break;case 107:this.$=[];break;case 108:this.$=[$$[$0-1+1-1]];break;case 109:this.$=[$$[$0-2+2-1]];break;case 110:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 111:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 112:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 113:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 114:this.$=$$[$0-2+1-1];break;case 115:this.$=$$[$0-1+1-1];break;case 116:this.$=(function(){if($$[$0-3+1-1] instanceof Array){return $$[$0-3+1-1].concat([$$[$0-3+3-1]])}else{return[$$[$0-3+1-1]].concat([$$[$0-3+3-1]])}}());break;case 117:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 118:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 119:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 120:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 121:this.$=new ThrowNode($$[$0-2+2-1]);break;case 122:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 123:this.$=yytext;break;case 124:this.$=new WhileNode($$[$0-2+2-1]);break;case 125:this.$=new WhileNode($$[$0-4+2-1],{filter:$$[$0-4+4-1]});break;case 126:this.$=$$[$0-2+1-1].add_body($$[$0-2+2-1]);break;case 127:this.$=$$[$0-2+2-1].add_body(Expressions.wrap([$$[$0-2+1-1]]));break;case 128:this.$=new ForNode($$[$0-4+1-1],$$[$0-4+4-1],$$[$0-4+3-1][0],$$[$0-4+3-1][1]);break;case 129:this.$=new ForNode($$[$0-4+4-1],$$[$0-4+3-1],$$[$0-4+2-1][0],$$[$0-4+2-1][1]);break;case 130:this.$=[$$[$0-1+1-1]];break;case 131:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 132:this.$={source:$$[$0-2+2-1]};break;case 133:this.$={source:$$[$0-2+2-1],object:true};break;case 134:this.$=(function(){$$[$0-3+1-1].filter=$$[$0-3+3-1];return $$[$0-3+1-1]}());break;case 135:this.$=(function(){$$[$0-3+1-1].step=$$[$0-3+3-1];return $$[$0-3+1-1]}());break;case 136:this.$=$$[$0-5+4-1].rewrite_condition($$[$0-5+2-1]);break;case 137:this.$=$$[$0-7+4-1].rewrite_condition($$[$0-7+2-1]).add_else($$[$0-7+6-1],true);break;case 138:this.$=$$[$0-1+1-1];break;case 139:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 140:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],null,{statement:true});break;case 141:this.$=new IfNode($$[$0-4+2-1],$$[$0-4+3-1],null,{statement:true});break;case 142:this.$=(function(){$$[$0-3+3-1].comment=$$[$0-3+1-1];return $$[$0-3+3-1]}());break;case 143:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 144:this.$=$$[$0-2+1-1].add_else($$[$0-2+2-1]);break;case 145:this.$=$$[$0-1+1-1];break;case 146:this.$=$$[$0-3+1-1].add_else($$[$0-3+3-1]);break;case 147:this.$=(new IfNode($$[$0-4+3-1],$$[$0-4+4-1])).force_statement();break;case 148:this.$=$$[$0-1+1-1];break;case 149:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),null,{statement:true});break;case 150:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),null,{statement:true,invert:true});break;case 151:this.$=new OpNode("!",$$[$0-2+2-1]);break;case 152:this.$=new OpNode("!!",$$[$0-2+2-1]);break;case 153:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 154:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 155:this.$=new OpNode("~",$$[$0-2+2-1]);break;case 156:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 157:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 158:this.$=new OpNode("delete",$$[$0-2+2-1]);break;case 159:this.$=new OpNode("typeof",$$[$0-2+2-1]);break;case 160:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 161:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 162:this.$=new OpNode("*",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 163:this.$=new OpNode("/",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 164:this.$=new OpNode("%",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 165:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 166:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 167:this.$=new OpNode("<<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 168:this.$=new OpNode(">>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 169:this.$=new OpNode(">>>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 170:this.$=new OpNode("&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 171:this.$=new OpNode("|",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 172:this.$=new OpNode("^",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 173:this.$=new OpNode("<=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 174:this.$=new OpNode("<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 175:this.$=new OpNode(">",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 176:this.$=new OpNode(">=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 177:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 178:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 179:this.$=new OpNode("&&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 180:this.$=new OpNode("||",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 181:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 182:this.$=new OpNode("-=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 183:this.$=new OpNode("+=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 184:this.$=new OpNode("/=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 185:this.$=new OpNode("*=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 186:this.$=new OpNode("%=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 187:this.$=new OpNode("||=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 188:this.$=new OpNode("&&=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 189:this.$=new OpNode("?=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 190:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 191:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break}},table:[{"1":[2,1],"2":1,"3":[1,2],"4":3,"5":4,"6":5,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[1,6],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[3]},{"1":[2,2],"24":81,"47":[1,55]},{"1":[2,3],"3":[1,82]},{"3":[1,83]},{"1":[2,5],"3":[2,5],"27":[2,5],"48":[1,105],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"4":121,"6":5,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"27":[1,122],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,8],"3":[2,8],"26":[2,8],"27":[2,8],"44":[1,125],"48":[2,8],"56":[2,8],"58":[2,8],"64":123,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,8],"74":[1,136],"75":[2,8],"78":[2,8],"81":[1,126],"84":[1,124],"85":127,"86":[1,134],"88":[2,8],"92":[2,8],"100":[2,8],"103":[2,8],"104":[2,8],"105":[2,8],"108":[2,8],"110":[2,8],"117":[2,8],"120":[2,8],"123":[2,8],"124":[2,8],"126":[2,8],"127":[2,8],"130":[2,8],"131":[2,8],"132":[2,8],"133":[2,8],"134":[2,8],"135":[2,8],"136":[2,8],"137":[2,8],"138":[2,8],"139":[2,8],"140":[2,8],"141":[2,8],"142":[2,8],"143":[2,8],"144":[2,8],"145":[2,8],"146":[2,8],"147":[2,8],"148":[2,8],"149":[2,8],"150":[2,8],"151":[2,8],"152":[2,8],"153":[2,8],"154":[2,8],"155":[2,8]},{"1":[2,9],"3":[2,9],"26":[2,9],"27":[2,9],"48":[2,9],"56":[2,9],"58":[2,9],"73":[2,9],"75":[2,9],"78":[2,9],"88":[2,9],"92":[2,9],"100":[2,9],"103":[2,9],"104":[2,9],"105":[2,9],"108":[2,9],"110":[2,9],"117":[2,9],"120":[2,9],"123":[2,9],"124":[2,9],"126":[2,9],"127":[2,9],"130":[2,9],"131":[2,9],"132":[2,9],"133":[2,9],"134":[2,9],"135":[2,9],"136":[2,9],"137":[2,9],"138":[2,9],"139":[2,9],"140":[2,9],"141":[2,9],"142":[2,9],"143":[2,9],"144":[2,9],"145":[2,9],"146":[2,9],"147":[2,9],"148":[2,9],"149":[2,9],"150":[2,9],"151":[2,9],"152":[2,9],"153":[2,9],"154":[2,9],"155":[2,9]},{"1":[2,10],"3":[2,10],"26":[2,10],"27":[2,10],"48":[2,10],"56":[2,10],"58":[2,10],"73":[2,10],"75":[2,10],"78":[2,10],"88":[2,10],"92":[2,10],"100":[2,10],"103":[2,10],"104":[2,10],"105":[2,10],"108":[2,10],"110":[2,10],"117":[2,10],"120":[2,10],"123":[2,10],"124":[2,10],"126":[2,10],"127":[2,10],"130":[2,10],"131":[2,10],"132":[2,10],"133":[2,10],"134":[2,10],"135":[2,10],"136":[2,10],"137":[2,10],"138":[2,10],"139":[2,10],"140":[2,10],"141":[2,10],"142":[2,10],"143":[2,10],"144":[2,10],"145":[2,10],"146":[2,10],"147":[2,10],"148":[2,10],"149":[2,10],"150":[2,10],"151":[2,10],"152":[2,10],"153":[2,10],"154":[2,10],"155":[2,10]},{"1":[2,11],"3":[2,11],"26":[2,11],"27":[2,11],"48":[2,11],"56":[2,11],"58":[2,11],"73":[2,11],"75":[2,11],"78":[2,11],"88":[2,11],"92":[2,11],"100":[2,11],"103":[2,11],"104":[2,11],"105":[2,11],"108":[2,11],"110":[2,11],"117":[2,11],"120":[2,11],"123":[2,11],"124":[2,11],"126":[2,11],"127":[2,11],"130":[2,11],"131":[2,11],"132":[2,11],"133":[2,11],"134":[2,11],"135":[2,11],"136":[2,11],"137":[2,11],"138":[2,11],"139":[2,11],"140":[2,11],"141":[2,11],"142":[2,11],"143":[2,11],"144":[2,11],"145":[2,11],"146":[2,11],"147":[2,11],"148":[2,11],"149":[2,11],"150":[2,11],"151":[2,11],"152":[2,11],"153":[2,11],"154":[2,11],"155":[2,11]},{"1":[2,12],"3":[2,12],"26":[2,12],"27":[2,12],"48":[2,12],"56":[2,12],"58":[2,12],"73":[2,12],"75":[2,12],"78":[2,12],"88":[2,12],"92":[2,12],"100":[2,12],"103":[2,12],"104":[2,12],"105":[2,12],"108":[2,12],"110":[2,12],"117":[2,12],"120":[2,12],"123":[2,12],"124":[2,12],"126":[2,12],"127":[2,12],"130":[2,12],"131":[2,12],"132":[2,12],"133":[2,12],"134":[2,12],"135":[2,12],"136":[2,12],"137":[2,12],"138":[2,12],"139":[2,12],"140":[2,12],"141":[2,12],"142":[2,12],"143":[2,12],"144":[2,12],"145":[2,12],"146":[2,12],"147":[2,12],"148":[2,12],"149":[2,12],"150":[2,12],"151":[2,12],"152":[2,12],"153":[2,12],"154":[2,12],"155":[2,12]},{"1":[2,13],"3":[2,13],"26":[2,13],"27":[2,13],"48":[2,13],"56":[2,13],"58":[2,13],"73":[2,13],"75":[2,13],"78":[2,13],"88":[2,13],"92":[2,13],"100":[2,13],"103":[2,13],"104":[2,13],"105":[2,13],"108":[2,13],"110":[2,13],"117":[2,13],"120":[2,13],"123":[2,13],"124":[2,13],"126":[2,13],"127":[2,13],"130":[2,13],"131":[2,13],"132":[2,13],"133":[2,13],"134":[2,13],"135":[2,13],"136":[2,13],"137":[2,13],"138":[2,13],"139":[2,13],"140":[2,13],"141":[2,13],"142":[2,13],"143":[2,13],"144":[2,13],"145":[2,13],"146":[2,13],"147":[2,13],"148":[2,13],"149":[2,13],"150":[2,13],"151":[2,13],"152":[2,13],"153":[2,13],"154":[2,13],"155":[2,13]},{"1":[2,14],"3":[2,14],"26":[2,14],"27":[2,14],"48":[2,14],"56":[2,14],"58":[2,14],"73":[2,14],"75":[2,14],"78":[2,14],"88":[2,14],"92":[2,14],"100":[2,14],"103":[2,14],"104":[2,14],"105":[2,14],"108":[2,14],"110":[2,14],"117":[2,14],"120":[2,14],"123":[2,14],"124":[2,14],"126":[2,14],"127":[2,14],"130":[2,14],"131":[2,14],"132":[2,14],"133":[2,14],"134":[2,14],"135":[2,14],"136":[2,14],"137":[2,14],"138":[2,14],"139":[2,14],"140":[2,14],"141":[2,14],"142":[2,14],"143":[2,14],"144":[2,14],"145":[2,14],"146":[2,14],"147":[2,14],"148":[2,14],"149":[2,14],"150":[2,14],"151":[2,14],"152":[2,14],"153":[2,14],"154":[2,14],"155":[2,14]},{"1":[2,15],"3":[2,15],"26":[2,15],"27":[2,15],"48":[2,15],"56":[2,15],"58":[2,15],"73":[2,15],"75":[2,15],"78":[2,15],"88":[2,15],"92":[2,15],"100":[2,15],"103":[2,15],"104":[2,15],"105":[2,15],"108":[2,15],"110":[2,15],"117":[2,15],"120":[2,15],"123":[2,15],"124":[2,15],"126":[2,15],"127":[2,15],"130":[2,15],"131":[2,15],"132":[2,15],"133":[2,15],"134":[2,15],"135":[2,15],"136":[2,15],"137":[2,15],"138":[2,15],"139":[2,15],"140":[2,15],"141":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[2,15],"151":[2,15],"152":[2,15],"153":[2,15],"154":[2,15],"155":[2,15]},{"1":[2,16],"3":[2,16],"26":[2,16],"27":[2,16],"48":[2,16],"56":[2,16],"58":[2,16],"73":[2,16],"75":[2,16],"78":[2,16],"88":[2,16],"92":[2,16],"100":[2,16],"103":[2,16],"104":[2,16],"105":[2,16],"108":[2,16],"110":[2,16],"117":[2,16],"120":[2,16],"123":[2,16],"124":[2,16],"126":[2,16],"127":[2,16],"130":[2,16],"131":[2,16],"132":[2,16],"133":[2,16],"134":[2,16],"135":[2,16],"136":[2,16],"137":[2,16],"138":[2,16],"139":[2,16],"140":[2,16],"141":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"150":[2,16],"151":[2,16],"152":[2,16],"153":[2,16],"154":[2,16],"155":[2,16]},{"1":[2,17],"3":[2,17],"26":[2,17],"27":[2,17],"48":[2,17],"56":[2,17],"58":[2,17],"73":[2,17],"75":[2,17],"78":[2,17],"88":[2,17],"92":[2,17],"100":[2,17],"103":[2,17],"104":[2,17],"105":[2,17],"108":[2,17],"110":[2,17],"117":[2,17],"120":[2,17],"123":[2,17],"124":[2,17],"126":[2,17],"127":[2,17],"130":[2,17],"131":[2,17],"132":[2,17],"133":[2,17],"134":[2,17],"135":[2,17],"136":[2,17],"137":[2,17],"138":[2,17],"139":[2,17],"140":[2,17],"141":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"150":[2,17],"151":[2,17],"152":[2,17],"153":[2,17],"154":[2,17],"155":[2,17]},{"1":[2,18],"3":[2,18],"26":[2,18],"27":[2,18],"48":[2,18],"56":[2,18],"58":[2,18],"73":[2,18],"75":[2,18],"78":[2,18],"88":[2,18],"92":[2,18],"100":[2,18],"103":[2,18],"104":[2,18],"105":[2,18],"108":[2,18],"110":[2,18],"117":[2,18],"120":[2,18],"123":[2,18],"124":[2,18],"126":[2,18],"127":[2,18],"130":[2,18],"131":[2,18],"132":[2,18],"133":[2,18],"134":[2,18],"135":[2,18],"136":[2,18],"137":[2,18],"138":[2,18],"139":[2,18],"140":[2,18],"141":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"150":[2,18],"151":[2,18],"152":[2,18],"153":[2,18],"154":[2,18],"155":[2,18]},{"1":[2,19],"3":[2,19],"26":[2,19],"27":[2,19],"48":[2,19],"56":[2,19],"58":[2,19],"73":[2,19],"75":[2,19],"78":[2,19],"88":[2,19],"92":[2,19],"100":[2,19],"103":[2,19],"104":[2,19],"105":[2,19],"108":[2,19],"110":[2,19],"117":[2,19],"120":[2,19],"123":[2,19],"124":[2,19],"126":[2,19],"127":[2,19],"130":[2,19],"131":[2,19],"132":[2,19],"133":[2,19],"134":[2,19],"135":[2,19],"136":[2,19],"137":[2,19],"138":[2,19],"139":[2,19],"140":[2,19],"141":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"150":[2,19],"151":[2,19],"152":[2,19],"153":[2,19],"154":[2,19],"155":[2,19]},{"1":[2,20],"3":[2,20],"26":[2,20],"27":[2,20],"48":[2,20],"56":[2,20],"58":[2,20],"73":[2,20],"75":[2,20],"78":[2,20],"88":[2,20],"92":[2,20],"100":[2,20],"103":[2,20],"104":[2,20],"105":[2,20],"108":[2,20],"110":[2,20],"117":[2,20],"120":[2,20],"123":[2,20],"124":[2,20],"126":[2,20],"127":[2,20],"130":[2,20],"131":[2,20],"132":[2,20],"133":[2,20],"134":[2,20],"135":[2,20],"136":[2,20],"137":[2,20],"138":[2,20],"139":[2,20],"140":[2,20],"141":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"150":[2,20],"151":[2,20],"152":[2,20],"153":[2,20],"154":[2,20],"155":[2,20]},{"1":[2,21],"3":[2,21],"26":[2,21],"27":[2,21],"48":[2,21],"56":[2,21],"58":[2,21],"73":[2,21],"75":[2,21],"78":[2,21],"88":[2,21],"92":[2,21],"100":[2,21],"103":[2,21],"104":[2,21],"105":[2,21],"108":[2,21],"110":[2,21],"117":[2,21],"120":[2,21],"123":[2,21],"124":[2,21],"126":[2,21],"127":[2,21],"130":[2,21],"131":[2,21],"132":[2,21],"133":[2,21],"134":[2,21],"135":[2,21],"136":[2,21],"137":[2,21],"138":[2,21],"139":[2,21],"140":[2,21],"141":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"150":[2,21],"151":[2,21],"152":[2,21],"153":[2,21],"154":[2,21],"155":[2,21]},{"1":[2,22],"3":[2,22],"26":[2,22],"27":[2,22],"48":[2,22],"56":[2,22],"58":[2,22],"73":[2,22],"75":[2,22],"78":[2,22],"88":[2,22],"92":[2,22],"100":[2,22],"103":[2,22],"104":[2,22],"105":[2,22],"108":[2,22],"110":[2,22],"117":[2,22],"120":[2,22],"123":[2,22],"124":[2,22],"126":[2,22],"127":[2,22],"130":[2,22],"131":[2,22],"132":[2,22],"133":[2,22],"134":[2,22],"135":[2,22],"136":[2,22],"137":[2,22],"138":[2,22],"139":[2,22],"140":[2,22],"141":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"150":[2,22],"151":[2,22],"152":[2,22],"153":[2,22],"154":[2,22],"155":[2,22]},{"1":[2,23],"3":[2,23],"26":[2,23],"27":[2,23],"48":[2,23],"56":[2,23],"58":[2,23],"73":[2,23],"75":[2,23],"78":[2,23],"88":[2,23],"92":[2,23],"100":[2,23],"103":[2,23],"104":[2,23],"105":[2,23],"108":[2,23],"110":[2,23],"117":[2,23],"120":[2,23],"123":[2,23],"124":[2,23],"126":[2,23],"127":[2,23],"130":[2,23],"131":[2,23],"132":[2,23],"133":[2,23],"134":[2,23],"135":[2,23],"136":[2,23],"137":[2,23],"138":[2,23],"139":[2,23],"140":[2,23],"141":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"150":[2,23],"151":[2,23],"152":[2,23],"153":[2,23],"154":[2,23],"155":[2,23]},{"1":[2,24],"3":[2,24],"26":[2,24],"27":[2,24],"48":[2,24],"56":[2,24],"58":[2,24],"73":[2,24],"75":[2,24],"78":[2,24],"88":[2,24],"92":[2,24],"100":[2,24],"103":[2,24],"104":[2,24],"105":[2,24],"108":[2,24],"110":[2,24],"117":[2,24],"120":[2,24],"123":[2,24],"124":[2,24],"126":[2,24],"127":[2,24],"130":[2,24],"131":[2,24],"132":[2,24],"133":[2,24],"134":[2,24],"135":[2,24],"136":[2,24],"137":[2,24],"138":[2,24],"139":[2,24],"140":[2,24],"141":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"150":[2,24],"151":[2,24],"152":[2,24],"153":[2,24],"154":[2,24],"155":[2,24]},{"1":[2,25],"3":[2,25],"26":[2,25],"27":[2,25],"48":[2,25],"56":[2,25],"58":[2,25],"73":[2,25],"75":[2,25],"78":[2,25],"88":[2,25],"92":[2,25],"100":[2,25],"103":[2,25],"104":[2,25],"105":[2,25],"108":[2,25],"110":[2,25],"117":[2,25],"120":[2,25],"123":[2,25],"124":[2,25],"126":[2,25],"127":[2,25],"130":[2,25],"131":[2,25],"132":[2,25],"133":[2,25],"134":[2,25],"135":[2,25],"136":[2,25],"137":[2,25],"138":[2,25],"139":[2,25],"140":[2,25],"141":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"150":[2,25],"151":[2,25],"152":[2,25],"153":[2,25],"154":[2,25],"155":[2,25]},{"1":[2,26],"3":[2,26],"26":[2,26],"27":[2,26],"48":[2,26],"56":[2,26],"58":[2,26],"73":[2,26],"75":[2,26],"78":[2,26],"88":[2,26],"92":[2,26],"100":[2,26],"103":[2,26],"104":[2,26],"105":[2,26],"108":[2,26],"110":[2,26],"117":[2,26],"120":[2,26],"123":[2,26],"124":[2,26],"126":[2,26],"127":[2,26],"130":[2,26],"131":[2,26],"132":[2,26],"133":[2,26],"134":[2,26],"135":[2,26],"136":[2,26],"137":[2,26],"138":[2,26],"139":[2,26],"140":[2,26],"141":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"150":[2,26],"151":[2,26],"152":[2,26],"153":[2,26],"154":[2,26],"155":[2,26]},{"1":[2,62],"3":[2,62],"26":[2,62],"27":[2,62],"44":[2,62],"48":[2,62],"56":[2,62],"58":[2,62],"66":[2,62],"67":[2,62],"68":[2,62],"69":[2,62],"72":[2,62],"73":[2,62],"74":[2,62],"75":[2,62],"78":[2,62],"81":[2,62],"84":[2,62],"86":[2,62],"88":[2,62],"92":[2,62],"100":[2,62],"103":[2,62],"104":[2,62],"105":[2,62],"108":[2,62],"110":[2,62],"117":[2,62],"120":[2,62],"123":[2,62],"124":[2,62],"126":[2,62],"127":[2,62],"130":[2,62],"131":[2,62],"132":[2,62],"133":[2,62],"134":[2,62],"135":[2,62],"136":[2,62],"137":[2,62],"138":[2,62],"139":[2,62],"140":[2,62],"141":[2,62],"142":[2,62],"143":[2,62],"144":[2,62],"145":[2,62],"146":[2,62],"147":[2,62],"148":[2,62],"149":[2,62],"150":[2,62],"151":[2,62],"152":[2,62],"153":[2,62],"154":[2,62],"155":[2,62]},{"1":[2,63],"3":[2,63],"26":[2,63],"27":[2,63],"44":[2,63],"48":[2,63],"56":[2,63],"58":[2,63],"66":[2,63],"67":[2,63],"68":[2,63],"69":[2,63],"72":[2,63],"73":[2,63],"74":[2,63],"75":[2,63],"78":[2,63],"81":[2,63],"84":[2,63],"86":[2,63],"88":[2,63],"92":[2,63],"100":[2,63],"103":[2,63],"104":[2,63],"105":[2,63],"108":[2,63],"110":[2,63],"117":[2,63],"120":[2,63],"123":[2,63],"124":[2,63],"126":[2,63],"127":[2,63],"130":[2,63],"131":[2,63],"132":[2,63],"133":[2,63],"134":[2,63],"135":[2,63],"136":[2,63],"137":[2,63],"138":[2,63],"139":[2,63],"140":[2,63],"141":[2,63],"142":[2,63],"143":[2,63],"144":[2,63],"145":[2,63],"146":[2,63],"147":[2,63],"148":[2,63],"149":[2,63],"150":[2,63],"151":[2,63],"152":[2,63],"153":[2,63],"154":[2,63],"155":[2,63]},{"1":[2,64],"3":[2,64],"26":[2,64],"27":[2,64],"44":[2,64],"48":[2,64],"56":[2,64],"58":[2,64],"66":[2,64],"67":[2,64],"68":[2,64],"69":[2,64],"72":[2,64],"73":[2,64],"74":[2,64],"75":[2,64],"78":[2,64],"81":[2,64],"84":[2,64],"86":[2,64],"88":[2,64],"92":[2,64],"100":[2,64],"103":[2,64],"104":[2,64],"105":[2,64],"108":[2,64],"110":[2,64],"117":[2,64],"120":[2,64],"123":[2,64],"124":[2,64],"126":[2,64],"127":[2,64],"130":[2,64],"131":[2,64],"132":[2,64],"133":[2,64],"134":[2,64],"135":[2,64],"136":[2,64],"137":[2,64],"138":[2,64],"139":[2,64],"140":[2,64],"141":[2,64],"142":[2,64],"143":[2,64],"144":[2,64],"145":[2,64],"146":[2,64],"147":[2,64],"148":[2,64],"149":[2,64],"150":[2,64],"151":[2,64],"152":[2,64],"153":[2,64],"154":[2,64],"155":[2,64]},{"1":[2,65],"3":[2,65],"26":[2,65],"27":[2,65],"44":[2,65],"48":[2,65],"56":[2,65],"58":[2,65],"66":[2,65],"67":[2,65],"68":[2,65],"69":[2,65],"72":[2,65],"73":[2,65],"74":[2,65],"75":[2,65],"78":[2,65],"81":[2,65],"84":[2,65],"86":[2,65],"88":[2,65],"92":[2,65],"100":[2,65],"103":[2,65],"104":[2,65],"105":[2,65],"108":[2,65],"110":[2,65],"117":[2,65],"120":[2,65],"123":[2,65],"124":[2,65],"126":[2,65],"127":[2,65],"130":[2,65],"131":[2,65],"132":[2,65],"133":[2,65],"134":[2,65],"135":[2,65],"136":[2,65],"137":[2,65],"138":[2,65],"139":[2,65],"140":[2,65],"141":[2,65],"142":[2,65],"143":[2,65],"144":[2,65],"145":[2,65],"146":[2,65],"147":[2,65],"148":[2,65],"149":[2,65],"150":[2,65],"151":[2,65],"152":[2,65],"153":[2,65],"154":[2,65],"155":[2,65]},{"1":[2,66],"3":[2,66],"26":[2,66],"27":[2,66],"44":[2,66],"48":[2,66],"56":[2,66],"58":[2,66],"66":[2,66],"67":[2,66],"68":[2,66],"69":[2,66],"72":[2,66],"73":[2,66],"74":[2,66],"75":[2,66],"78":[2,66],"81":[2,66],"84":[2,66],"86":[2,66],"88":[2,66],"92":[2,66],"100":[2,66],"103":[2,66],"104":[2,66],"105":[2,66],"108":[2,66],"110":[2,66],"117":[2,66],"120":[2,66],"123":[2,66],"124":[2,66],"126":[2,66],"127":[2,66],"130":[2,66],"131":[2,66],"132":[2,66],"133":[2,66],"134":[2,66],"135":[2,66],"136":[2,66],"137":[2,66],"138":[2,66],"139":[2,66],"140":[2,66],"141":[2,66],"142":[2,66],"143":[2,66],"144":[2,66],"145":[2,66],"146":[2,66],"147":[2,66],"148":[2,66],"149":[2,66],"150":[2,66],"151":[2,66],"152":[2,66],"153":[2,66],"154":[2,66],"155":[2,66]},{"1":[2,67],"3":[2,67],"26":[2,67],"27":[2,67],"44":[2,67],"48":[2,67],"56":[2,67],"58":[2,67],"66":[2,67],"67":[2,67],"68":[2,67],"69":[2,67],"72":[2,67],"73":[2,67],"74":[2,67],"75":[2,67],"78":[2,67],"81":[2,67],"84":[2,67],"86":[2,67],"88":[2,67],"92":[2,67],"100":[2,67],"103":[2,67],"104":[2,67],"105":[2,67],"108":[2,67],"110":[2,67],"117":[2,67],"120":[2,67],"123":[2,67],"124":[2,67],"126":[2,67],"127":[2,67],"130":[2,67],"131":[2,67],"132":[2,67],"133":[2,67],"134":[2,67],"135":[2,67],"136":[2,67],"137":[2,67],"138":[2,67],"139":[2,67],"140":[2,67],"141":[2,67],"142":[2,67],"143":[2,67],"144":[2,67],"145":[2,67],"146":[2,67],"147":[2,67],"148":[2,67],"149":[2,67],"150":[2,67],"151":[2,67],"152":[2,67],"153":[2,67],"154":[2,67],"155":[2,67]},{"1":[2,68],"3":[2,68],"26":[2,68],"27":[2,68],"44":[2,68],"48":[2,68],"56":[2,68],"58":[2,68],"66":[2,68],"67":[2,68],"68":[2,68],"69":[2,68],"72":[2,68],"73":[2,68],"74":[2,68],"75":[2,68],"78":[2,68],"81":[2,68],"84":[2,68],"86":[2,68],"88":[2,68],"92":[2,68],"100":[2,68],"103":[2,68],"104":[2,68],"105":[2,68],"108":[2,68],"110":[2,68],"117":[2,68],"120":[2,68],"123":[2,68],"124":[2,68],"126":[2,68],"127":[2,68],"130":[2,68],"131":[2,68],"132":[2,68],"133":[2,68],"134":[2,68],"135":[2,68],"136":[2,68],"137":[2,68],"138":[2,68],"139":[2,68],"140":[2,68],"141":[2,68],"142":[2,68],"143":[2,68],"144":[2,68],"145":[2,68],"146":[2,68],"147":[2,68],"148":[2,68],"149":[2,68],"150":[2,68],"151":[2,68],"152":[2,68],"153":[2,68],"154":[2,68],"155":[2,68]},{"1":[2,91],"3":[2,91],"26":[2,91],"27":[2,91],"48":[2,91],"56":[2,91],"58":[2,91],"64":137,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,91],"74":[1,136],"75":[2,91],"78":[2,91],"85":138,"86":[1,134],"88":[2,91],"92":[2,91],"100":[2,91],"103":[2,91],"104":[2,91],"105":[2,91],"108":[2,91],"110":[2,91],"117":[2,91],"120":[2,91],"123":[2,91],"124":[2,91],"126":[2,91],"127":[2,91],"130":[2,91],"131":[2,91],"132":[2,91],"133":[2,91],"134":[2,91],"135":[2,91],"136":[2,91],"137":[2,91],"138":[2,91],"139":[2,91],"140":[2,91],"141":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91],"152":[2,91],"153":[2,91],"154":[2,91],"155":[2,91]},{"7":140,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"59":28,"60":29,"61":30,"62":31,"63":32,"65":139,"76":[1,70],"90":[1,72],"91":[1,69],"99":[1,71]},{"1":[2,93],"3":[2,93],"26":[2,93],"27":[2,93],"48":[2,93],"56":[2,93],"58":[2,93],"73":[2,93],"75":[2,93],"78":[2,93],"88":[2,93],"92":[2,93],"100":[2,93],"103":[2,93],"104":[2,93],"105":[2,93],"108":[2,93],"110":[2,93],"117":[2,93],"120":[2,93],"123":[2,93],"124":[2,93],"126":[2,93],"127":[2,93],"130":[2,93],"131":[2,93],"132":[2,93],"133":[2,93],"134":[2,93],"135":[2,93],"136":[2,93],"137":[2,93],"138":[2,93],"139":[2,93],"140":[2,93],"141":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93],"152":[2,93],"153":[2,93],"154":[2,93],"155":[2,93]},{"50":141,"51":[2,56],"55":142,"56":[2,56],"57":[1,143]},{"3":[1,145],"5":144,"26":[1,6]},{"6":146,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":147,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":148,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":149,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":150,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":151,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":152,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":153,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":154,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,148],"3":[2,148],"26":[2,148],"27":[2,148],"48":[2,148],"56":[2,148],"58":[2,148],"73":[2,148],"75":[2,148],"78":[2,148],"88":[2,148],"92":[2,148],"100":[2,148],"103":[2,148],"104":[2,148],"105":[2,148],"108":[2,148],"110":[2,148],"117":[2,148],"120":[2,148],"123":[2,148],"124":[2,148],"126":[2,148],"127":[2,148],"130":[2,148],"131":[2,148],"132":[2,148],"133":[2,148],"134":[2,148],"135":[2,148],"136":[2,148],"137":[2,148],"138":[2,148],"139":[2,148],"140":[2,148],"141":[2,148],"142":[2,148],"143":[2,148],"144":[2,148],"145":[2,148],"146":[2,148],"147":[2,148],"148":[2,148],"149":[2,148],"150":[2,148],"151":[2,148],"152":[2,148],"153":[2,148],"154":[2,148],"155":[2,148]},{"3":[1,145],"5":155,"26":[1,6]},{"6":156,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,49],"3":[2,49],"6":157,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[2,49],"27":[2,49],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"48":[2,49],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,49],"58":[2,49],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"73":[2,49],"75":[2,49],"76":[1,70],"78":[2,49],"80":[1,54],"82":[1,34],"83":35,"88":[2,49],"89":[1,73],"90":[1,72],"91":[1,69],"92":[2,49],"94":[1,48],"98":[1,49],"99":[1,71],"100":[2,49],"101":[1,56],"102":51,"103":[2,49],"104":[2,49],"105":[1,52],"108":[2,49],"110":[2,49],"111":[1,53],"116":76,"117":[2,49],"119":47,"120":[2,49],"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46],"130":[2,49],"131":[2,49],"132":[2,49],"133":[2,49],"134":[2,49],"135":[2,49],"136":[2,49],"137":[2,49],"138":[2,49],"139":[2,49],"140":[2,49],"141":[2,49],"142":[2,49],"143":[2,49],"144":[2,49],"145":[2,49],"146":[2,49],"147":[2,49],"148":[2,49],"149":[2,49],"150":[2,49],"151":[2,49],"152":[2,49],"153":[2,49],"154":[2,49],"155":[2,49]},{"3":[1,145],"5":158,"26":[1,6]},{"28":160,"29":[1,57],"106":159},{"6":161,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"7":162,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"59":28,"60":29,"61":30,"62":31,"63":32,"65":163,"76":[1,70],"90":[1,72],"91":[1,69],"99":[1,71]},{"1":[2,50],"3":[2,50],"26":[2,50],"27":[2,50],"47":[2,50],"48":[2,50],"56":[2,50],"58":[2,50],"73":[2,50],"75":[2,50],"78":[2,50],"88":[2,50],"92":[2,50],"96":[2,50],"97":[2,50],"100":[2,50],"103":[2,50],"104":[2,50],"105":[2,50],"108":[2,50],"110":[2,50],"113":[2,50],"115":[2,50],"117":[2,50],"120":[2,50],"123":[2,50],"124":[2,50],"126":[2,50],"127":[2,50],"130":[2,50],"131":[2,50],"132":[2,50],"133":[2,50],"134":[2,50],"135":[2,50],"136":[2,50],"137":[2,50],"138":[2,50],"139":[2,50],"140":[2,50],"141":[2,50],"142":[2,50],"143":[2,50],"144":[2,50],"145":[2,50],"146":[2,50],"147":[2,50],"148":[2,50],"149":[2,50],"150":[2,50],"151":[2,50],"152":[2,50],"153":[2,50],"154":[2,50],"155":[2,50]},{"1":[2,123],"3":[2,123],"26":[2,123],"27":[2,123],"48":[2,123],"56":[2,123],"58":[2,123],"73":[2,123],"75":[2,123],"78":[2,123],"88":[2,123],"92":[2,123],"100":[2,123],"103":[2,123],"104":[2,123],"105":[2,123],"108":[2,123],"110":[2,123],"117":[2,123],"120":[2,123],"123":[2,123],"124":[2,123],"126":[2,123],"127":[2,123],"130":[2,123],"131":[2,123],"132":[2,123],"133":[2,123],"134":[2,123],"135":[2,123],"136":[2,123],"137":[2,123],"138":[2,123],"139":[2,123],"140":[2,123],"141":[2,123],"142":[2,123],"143":[2,123],"144":[2,123],"145":[2,123],"146":[2,123],"147":[2,123],"148":[2,123],"149":[2,123],"150":[2,123],"151":[2,123],"152":[2,123],"153":[2,123],"154":[2,123],"155":[2,123]},{"1":[2,30],"3":[2,30],"26":[2,30],"27":[2,30],"44":[2,30],"48":[2,30],"56":[2,30],"58":[2,30],"66":[2,30],"67":[2,30],"68":[2,30],"69":[2,30],"72":[2,30],"73":[2,30],"74":[2,30],"75":[2,30],"78":[2,30],"81":[2,30],"84":[2,30],"86":[2,30],"88":[2,30],"92":[2,30],"100":[2,30],"103":[2,30],"104":[2,30],"105":[2,30],"108":[2,30],"109":[2,30],"110":[2,30],"117":[2,30],"120":[2,30],"123":[2,30],"124":[2,30],"126":[2,30],"127":[2,30],"130":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"134":[2,30],"135":[2,30],"136":[2,30],"137":[2,30],"138":[2,30],"139":[2,30],"140":[2,30],"141":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"150":[2,30],"151":[2,30],"152":[2,30],"153":[2,30],"154":[2,30],"155":[2,30]},{"1":[2,33],"3":[2,33],"26":[2,33],"27":[2,33],"44":[2,33],"48":[2,33],"56":[2,33],"58":[2,33],"66":[2,33],"67":[2,33],"68":[2,33],"69":[2,33],"72":[2,33],"73":[2,33],"74":[2,33],"75":[2,33],"78":[2,33],"81":[2,33],"84":[2,33],"86":[2,33],"88":[2,33],"92":[2,33],"100":[2,33],"103":[2,33],"104":[2,33],"105":[2,33],"108":[2,33],"110":[2,33],"117":[2,33],"120":[2,33],"123":[2,33],"124":[2,33],"126":[2,33],"127":[2,33],"130":[2,33],"131":[2,33],"132":[2,33],"133":[2,33],"134":[2,33],"135":[2,33],"136":[2,33],"137":[2,33],"138":[2,33],"139":[2,33],"140":[2,33],"141":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33],"152":[2,33],"153":[2,33],"154":[2,33],"155":[2,33]},{"1":[2,34],"3":[2,34],"26":[2,34],"27":[2,34],"44":[2,34],"48":[2,34],"56":[2,34],"58":[2,34],"66":[2,34],"67":[2,34],"68":[2,34],"69":[2,34],"72":[2,34],"73":[2,34],"74":[2,34],"75":[2,34],"78":[2,34],"81":[2,34],"84":[2,34],"86":[2,34],"88":[2,34],"92":[2,34],"100":[2,34],"103":[2,34],"104":[2,34],"105":[2,34],"108":[2,34],"110":[2,34],"117":[2,34],"120":[2,34],"123":[2,34],"124":[2,34],"126":[2,34],"127":[2,34],"130":[2,34],"131":[2,34],"132":[2,34],"133":[2,34],"134":[2,34],"135":[2,34],"136":[2,34],"137":[2,34],"138":[2,34],"139":[2,34],"140":[2,34],"141":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34],"152":[2,34],"153":[2,34],"154":[2,34],"155":[2,34]},{"1":[2,35],"3":[2,35],"26":[2,35],"27":[2,35],"44":[2,35],"48":[2,35],"56":[2,35],"58":[2,35],"66":[2,35],"67":[2,35],"68":[2,35],"69":[2,35],"72":[2,35],"73":[2,35],"74":[2,35],"75":[2,35],"78":[2,35],"81":[2,35],"84":[2,35],"86":[2,35],"88":[2,35],"92":[2,35],"100":[2,35],"103":[2,35],"104":[2,35],"105":[2,35],"108":[2,35],"110":[2,35],"117":[2,35],"120":[2,35],"123":[2,35],"124":[2,35],"126":[2,35],"127":[2,35],"130":[2,35],"131":[2,35],"132":[2,35],"133":[2,35],"134":[2,35],"135":[2,35],"136":[2,35],"137":[2,35],"138":[2,35],"139":[2,35],"140":[2,35],"141":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35],"152":[2,35],"153":[2,35],"154":[2,35],"155":[2,35]},{"1":[2,36],"3":[2,36],"26":[2,36],"27":[2,36],"44":[2,36],"48":[2,36],"56":[2,36],"58":[2,36],"66":[2,36],"67":[2,36],"68":[2,36],"69":[2,36],"72":[2,36],"73":[2,36],"74":[2,36],"75":[2,36],"78":[2,36],"81":[2,36],"84":[2,36],"86":[2,36],"88":[2,36],"92":[2,36],"100":[2,36],"103":[2,36],"104":[2,36],"105":[2,36],"108":[2,36],"110":[2,36],"117":[2,36],"120":[2,36],"123":[2,36],"124":[2,36],"126":[2,36],"127":[2,36],"130":[2,36],"131":[2,36],"132":[2,36],"133":[2,36],"134":[2,36],"135":[2,36],"136":[2,36],"137":[2,36],"138":[2,36],"139":[2,36],"140":[2,36],"141":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36],"152":[2,36],"153":[2,36],"154":[2,36],"155":[2,36]},{"1":[2,37],"3":[2,37],"26":[2,37],"27":[2,37],"44":[2,37],"48":[2,37],"56":[2,37],"58":[2,37],"66":[2,37],"67":[2,37],"68":[2,37],"69":[2,37],"72":[2,37],"73":[2,37],"74":[2,37],"75":[2,37],"78":[2,37],"81":[2,37],"84":[2,37],"86":[2,37],"88":[2,37],"92":[2,37],"100":[2,37],"103":[2,37],"104":[2,37],"105":[2,37],"108":[2,37],"110":[2,37],"117":[2,37],"120":[2,37],"123":[2,37],"124":[2,37],"126":[2,37],"127":[2,37],"130":[2,37],"131":[2,37],"132":[2,37],"133":[2,37],"134":[2,37],"135":[2,37],"136":[2,37],"137":[2,37],"138":[2,37],"139":[2,37],"140":[2,37],"141":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37],"152":[2,37],"153":[2,37],"154":[2,37],"155":[2,37]},{"1":[2,38],"3":[2,38],"26":[2,38],"27":[2,38],"44":[2,38],"48":[2,38],"56":[2,38],"58":[2,38],"66":[2,38],"67":[2,38],"68":[2,38],"69":[2,38],"72":[2,38],"73":[2,38],"74":[2,38],"75":[2,38],"78":[2,38],"81":[2,38],"84":[2,38],"86":[2,38],"88":[2,38],"92":[2,38],"100":[2,38],"103":[2,38],"104":[2,38],"105":[2,38],"108":[2,38],"110":[2,38],"117":[2,38],"120":[2,38],"123":[2,38],"124":[2,38],"126":[2,38],"127":[2,38],"130":[2,38],"131":[2,38],"132":[2,38],"133":[2,38],"134":[2,38],"135":[2,38],"136":[2,38],"137":[2,38],"138":[2,38],"139":[2,38],"140":[2,38],"141":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38],"152":[2,38],"153":[2,38],"154":[2,38],"155":[2,38]},{"1":[2,39],"3":[2,39],"26":[2,39],"27":[2,39],"44":[2,39],"48":[2,39],"56":[2,39],"58":[2,39],"66":[2,39],"67":[2,39],"68":[2,39],"69":[2,39],"72":[2,39],"73":[2,39],"74":[2,39],"75":[2,39],"78":[2,39],"81":[2,39],"84":[2,39],"86":[2,39],"88":[2,39],"92":[2,39],"100":[2,39],"103":[2,39],"104":[2,39],"105":[2,39],"108":[2,39],"110":[2,39],"117":[2,39],"120":[2,39],"123":[2,39],"124":[2,39],"126":[2,39],"127":[2,39],"130":[2,39],"131":[2,39],"132":[2,39],"133":[2,39],"134":[2,39],"135":[2,39],"136":[2,39],"137":[2,39],"138":[2,39],"139":[2,39],"140":[2,39],"141":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39],"152":[2,39],"153":[2,39],"154":[2,39],"155":[2,39]},{"1":[2,40],"3":[2,40],"26":[2,40],"27":[2,40],"44":[2,40],"48":[2,40],"56":[2,40],"58":[2,40],"66":[2,40],"67":[2,40],"68":[2,40],"69":[2,40],"72":[2,40],"73":[2,40],"74":[2,40],"75":[2,40],"78":[2,40],"81":[2,40],"84":[2,40],"86":[2,40],"88":[2,40],"92":[2,40],"100":[2,40],"103":[2,40],"104":[2,40],"105":[2,40],"108":[2,40],"110":[2,40],"117":[2,40],"120":[2,40],"123":[2,40],"124":[2,40],"126":[2,40],"127":[2,40],"130":[2,40],"131":[2,40],"132":[2,40],"133":[2,40],"134":[2,40],"135":[2,40],"136":[2,40],"137":[2,40],"138":[2,40],"139":[2,40],"140":[2,40],"141":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40],"152":[2,40],"153":[2,40],"154":[2,40],"155":[2,40]},{"1":[2,41],"3":[2,41],"26":[2,41],"27":[2,41],"44":[2,41],"48":[2,41],"56":[2,41],"58":[2,41],"66":[2,41],"67":[2,41],"68":[2,41],"69":[2,41],"72":[2,41],"73":[2,41],"74":[2,41],"75":[2,41],"78":[2,41],"81":[2,41],"84":[2,41],"86":[2,41],"88":[2,41],"92":[2,41],"100":[2,41],"103":[2,41],"104":[2,41],"105":[2,41],"108":[2,41],"110":[2,41],"117":[2,41],"120":[2,41],"123":[2,41],"124":[2,41],"126":[2,41],"127":[2,41],"130":[2,41],"131":[2,41],"132":[2,41],"133":[2,41],"134":[2,41],"135":[2,41],"136":[2,41],"137":[2,41],"138":[2,41],"139":[2,41],"140":[2,41],"141":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41],"152":[2,41],"153":[2,41],"154":[2,41],"155":[2,41]},{"1":[2,42],"3":[2,42],"26":[2,42],"27":[2,42],"44":[2,42],"48":[2,42],"56":[2,42],"58":[2,42],"66":[2,42],"67":[2,42],"68":[2,42],"69":[2,42],"72":[2,42],"73":[2,42],"74":[2,42],"75":[2,42],"78":[2,42],"81":[2,42],"84":[2,42],"86":[2,42],"88":[2,42],"92":[2,42],"100":[2,42],"103":[2,42],"104":[2,42],"105":[2,42],"108":[2,42],"110":[2,42],"117":[2,42],"120":[2,42],"123":[2,42],"124":[2,42],"126":[2,42],"127":[2,42],"130":[2,42],"131":[2,42],"132":[2,42],"133":[2,42],"134":[2,42],"135":[2,42],"136":[2,42],"137":[2,42],"138":[2,42],"139":[2,42],"140":[2,42],"141":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42],"152":[2,42],"153":[2,42],"154":[2,42],"155":[2,42]},{"1":[2,43],"3":[2,43],"26":[2,43],"27":[2,43],"44":[2,43],"48":[2,43],"56":[2,43],"58":[2,43],"66":[2,43],"67":[2,43],"68":[2,43],"69":[2,43],"72":[2,43],"73":[2,43],"74":[2,43],"75":[2,43],"78":[2,43],"81":[2,43],"84":[2,43],"86":[2,43],"88":[2,43],"92":[2,43],"100":[2,43],"103":[2,43],"104":[2,43],"105":[2,43],"108":[2,43],"110":[2,43],"117":[2,43],"120":[2,43],"123":[2,43],"124":[2,43],"126":[2,43],"127":[2,43],"130":[2,43],"131":[2,43],"132":[2,43],"133":[2,43],"134":[2,43],"135":[2,43],"136":[2,43],"137":[2,43],"138":[2,43],"139":[2,43],"140":[2,43],"141":[2,43],"142":[2,43],"143":[2,43],"144":[2,43],"145":[2,43],"146":[2,43],"147":[2,43],"148":[2,43],"149":[2,43],"150":[2,43],"151":[2,43],"152":[2,43],"153":[2,43],"154":[2,43],"155":[2,43]},{"3":[2,107],"6":165,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[1,166],"27":[2,107],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,107],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"87":164,"89":[1,73],"90":[1,72],"91":[1,69],"92":[2,107],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[2,85],"24":173,"26":[1,170],"28":171,"29":[1,57],"30":172,"31":[1,78],"32":[1,79],"45":169,"47":[1,55],"56":[2,85],"77":167,"78":[2,85],"79":168},{"6":174,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,100],"3":[2,100],"26":[2,100],"27":[2,100],"28":175,"29":[1,57],"44":[2,100],"48":[2,100],"56":[2,100],"58":[2,100],"66":[2,100],"67":[2,100],"68":[2,100],"69":[2,100],"72":[2,100],"73":[2,100],"74":[2,100],"75":[2,100],"78":[2,100],"81":[2,100],"84":[2,100],"86":[2,100],"88":[2,100],"92":[2,100],"100":[2,100],"103":[2,100],"104":[2,100],"105":[2,100],"108":[2,100],"110":[2,100],"117":[2,100],"120":[2,100],"123":[2,100],"124":[2,100],"126":[2,100],"127":[2,100],"130":[2,100],"131":[2,100],"132":[2,100],"133":[2,100],"134":[2,100],"135":[2,100],"136":[2,100],"137":[2,100],"138":[2,100],"139":[2,100],"140":[2,100],"141":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"150":[2,100],"151":[2,100],"152":[2,100],"153":[2,100],"154":[2,100],"155":[2,100]},{"86":[1,176]},{"3":[2,54],"26":[2,54]},{"3":[2,55],"26":[2,55]},{"1":[2,145],"3":[2,145],"26":[2,145],"27":[2,145],"48":[2,145],"56":[2,145],"58":[2,145],"73":[2,145],"75":[2,145],"78":[2,145],"88":[2,145],"92":[2,145],"100":[2,145],"103":[2,145],"104":[2,145],"105":[2,145],"108":[2,145],"110":[2,145],"113":[1,177],"117":[2,145],"118":178,"120":[2,145],"123":[2,145],"124":[2,145],"126":[2,145],"127":[2,145],"130":[2,145],"131":[2,145],"132":[2,145],"133":[2,145],"134":[2,145],"135":[2,145],"136":[2,145],"137":[2,145],"138":[2,145],"139":[2,145],"140":[2,145],"141":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"150":[2,145],"151":[2,145],"152":[2,145],"153":[2,145],"154":[2,145],"155":[2,145]},{"6":179,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,31],"3":[2,31],"26":[2,31],"27":[2,31],"44":[2,31],"48":[2,31],"56":[2,31],"58":[2,31],"66":[2,31],"67":[2,31],"68":[2,31],"69":[2,31],"72":[2,31],"73":[2,31],"74":[2,31],"75":[2,31],"78":[2,31],"81":[2,31],"84":[2,31],"86":[2,31],"88":[2,31],"92":[2,31],"100":[2,31],"103":[2,31],"104":[2,31],"105":[2,31],"108":[2,31],"110":[2,31],"117":[2,31],"120":[2,31],"123":[2,31],"124":[2,31],"126":[2,31],"127":[2,31],"130":[2,31],"131":[2,31],"132":[2,31],"133":[2,31],"134":[2,31],"135":[2,31],"136":[2,31],"137":[2,31],"138":[2,31],"139":[2,31],"140":[2,31],"141":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"150":[2,31],"151":[2,31],"152":[2,31],"153":[2,31],"154":[2,31],"155":[2,31]},{"1":[2,32],"3":[2,32],"26":[2,32],"27":[2,32],"44":[2,32],"48":[2,32],"56":[2,32],"58":[2,32],"66":[2,32],"67":[2,32],"68":[2,32],"69":[2,32],"72":[2,32],"73":[2,32],"74":[2,32],"75":[2,32],"78":[2,32],"81":[2,32],"84":[2,32],"86":[2,32],"88":[2,32],"92":[2,32],"100":[2,32],"103":[2,32],"104":[2,32],"105":[2,32],"108":[2,32],"110":[2,32],"117":[2,32],"120":[2,32],"123":[2,32],"124":[2,32],"126":[2,32],"127":[2,32],"130":[2,32],"131":[2,32],"132":[2,32],"133":[2,32],"134":[2,32],"135":[2,32],"136":[2,32],"137":[2,32],"138":[2,32],"139":[2,32],"140":[2,32],"141":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32],"152":[2,32],"153":[2,32],"154":[2,32],"155":[2,32]},{"6":180,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,29],"3":[2,29],"26":[2,29],"27":[2,29],"47":[2,29],"48":[2,29],"56":[2,29],"58":[2,29],"73":[2,29],"75":[2,29],"78":[2,29],"88":[2,29],"92":[2,29],"96":[2,29],"97":[2,29],"100":[2,29],"103":[2,29],"104":[2,29],"105":[2,29],"108":[2,29],"110":[2,29],"113":[2,29],"115":[2,29],"117":[2,29],"120":[2,29],"123":[2,29],"124":[2,29],"126":[2,29],"127":[2,29],"130":[2,29],"131":[2,29],"132":[2,29],"133":[2,29],"134":[2,29],"135":[2,29],"136":[2,29],"137":[2,29],"138":[2,29],"139":[2,29],"140":[2,29],"141":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"150":[2,29],"151":[2,29],"152":[2,29],"153":[2,29],"154":[2,29],"155":[2,29]},{"1":[2,7],"3":[2,7],"6":181,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"27":[2,7],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,4]},{"1":[2,160],"3":[2,160],"26":[2,160],"27":[2,160],"48":[2,160],"56":[2,160],"58":[2,160],"73":[2,160],"75":[2,160],"78":[2,160],"88":[2,160],"92":[2,160],"100":[2,160],"103":[2,160],"104":[2,160],"105":[2,160],"108":[2,160],"110":[2,160],"117":[2,160],"120":[2,160],"123":[2,160],"124":[2,160],"126":[2,160],"127":[2,160],"130":[2,160],"131":[2,160],"132":[2,160],"133":[2,160],"134":[2,160],"135":[2,160],"136":[2,160],"137":[2,160],"138":[2,160],"139":[2,160],"140":[2,160],"141":[2,160],"142":[2,160],"143":[2,160],"144":[2,160],"145":[2,160],"146":[2,160],"147":[2,160],"148":[2,160],"149":[2,160],"150":[2,160],"151":[2,160],"152":[2,160],"153":[2,160],"154":[2,160],"155":[2,160]},{"1":[2,161],"3":[2,161],"26":[2,161],"27":[2,161],"48":[2,161],"56":[2,161],"58":[2,161],"73":[2,161],"75":[2,161],"78":[2,161],"88":[2,161],"92":[2,161],"100":[2,161],"103":[2,161],"104":[2,161],"105":[2,161],"108":[2,161],"110":[2,161],"117":[2,161],"120":[2,161],"123":[2,161],"124":[2,161],"126":[2,161],"127":[2,161],"130":[2,161],"131":[2,161],"132":[2,161],"133":[2,161],"134":[2,161],"135":[2,161],"136":[2,161],"137":[2,161],"138":[2,161],"139":[2,161],"140":[2,161],"141":[2,161],"142":[2,161],"143":[2,161],"144":[2,161],"145":[2,161],"146":[2,161],"147":[2,161],"148":[2,161],"149":[2,161],"150":[2,161],"151":[2,161],"152":[2,161],"153":[2,161],"154":[2,161],"155":[2,161]},{"6":182,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":183,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":184,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":185,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":186,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":187,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":188,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":189,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":190,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":191,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":192,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":193,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":194,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":195,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":196,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":197,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":198,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":199,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":200,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,51],"3":[2,51],"6":201,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[2,51],"27":[2,51],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"48":[2,51],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,51],"58":[2,51],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"73":[2,51],"75":[2,51],"76":[1,70],"78":[2,51],"80":[1,54],"82":[1,34],"83":35,"88":[2,51],"89":[1,73],"90":[1,72],"91":[1,69],"92":[2,51],"94":[1,48],"98":[1,49],"99":[1,71],"100":[2,51],"101":[1,56],"102":51,"103":[2,51],"104":[2,51],"105":[2,51],"108":[2,51],"110":[2,51],"111":[1,53],"116":76,"117":[2,51],"119":47,"120":[2,51],"121":[1,38],"122":[1,39],"123":[2,51],"124":[2,51],"125":[1,42],"126":[2,51],"127":[2,51],"128":[1,45],"129":[1,46],"130":[2,51],"131":[2,51],"132":[2,51],"133":[2,51],"134":[2,51],"135":[2,51],"136":[2,51],"137":[2,51],"138":[2,51],"139":[2,51],"140":[2,51],"141":[2,51],"142":[2,51],"143":[2,51],"144":[2,51],"145":[2,51],"146":[2,51],"147":[2,51],"148":[2,51],"149":[2,51],"150":[2,51],"151":[2,51],"152":[2,51],"153":[2,51],"154":[2,51],"155":[2,51]},{"6":202,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":203,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":204,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":205,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":206,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":207,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":208,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":209,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":210,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":211,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":212,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":213,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,127],"3":[2,127],"26":[2,127],"27":[2,127],"48":[2,127],"56":[2,127],"58":[2,127],"73":[2,127],"75":[2,127],"78":[2,127],"88":[2,127],"92":[2,127],"100":[2,127],"103":[2,127],"104":[2,127],"105":[2,127],"108":[2,127],"110":[2,127],"117":[2,127],"120":[2,127],"123":[2,127],"124":[2,127],"126":[2,127],"127":[2,127],"130":[2,127],"131":[2,127],"132":[2,127],"133":[2,127],"134":[2,127],"135":[2,127],"136":[2,127],"137":[2,127],"138":[2,127],"139":[2,127],"140":[2,127],"141":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127],"152":[2,127],"153":[2,127],"154":[2,127],"155":[2,127]},{"28":160,"29":[1,57],"106":214},{"58":[1,215]},{"3":[1,82],"27":[1,216]},{"1":[2,28],"3":[2,28],"26":[2,28],"27":[2,28],"47":[2,28],"48":[2,28],"56":[2,28],"58":[2,28],"73":[2,28],"75":[2,28],"78":[2,28],"88":[2,28],"92":[2,28],"96":[2,28],"97":[2,28],"100":[2,28],"103":[2,28],"104":[2,28],"105":[2,28],"108":[2,28],"110":[2,28],"113":[2,28],"115":[2,28],"117":[2,28],"120":[2,28],"123":[2,28],"124":[2,28],"126":[2,28],"127":[2,28],"130":[2,28],"131":[2,28],"132":[2,28],"133":[2,28],"134":[2,28],"135":[2,28],"136":[2,28],"137":[2,28],"138":[2,28],"139":[2,28],"140":[2,28],"141":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"150":[2,28],"151":[2,28],"152":[2,28],"153":[2,28],"154":[2,28],"155":[2,28]},{"1":[2,69],"3":[2,69],"26":[2,69],"27":[2,69],"44":[2,69],"48":[2,69],"56":[2,69],"58":[2,69],"66":[2,69],"67":[2,69],"68":[2,69],"69":[2,69],"72":[2,69],"73":[2,69],"74":[2,69],"75":[2,69],"78":[2,69],"81":[2,69],"84":[2,69],"86":[2,69],"88":[2,69],"92":[2,69],"100":[2,69],"103":[2,69],"104":[2,69],"105":[2,69],"108":[2,69],"110":[2,69],"117":[2,69],"120":[2,69],"123":[2,69],"124":[2,69],"126":[2,69],"127":[2,69],"130":[2,69],"131":[2,69],"132":[2,69],"133":[2,69],"134":[2,69],"135":[2,69],"136":[2,69],"137":[2,69],"138":[2,69],"139":[2,69],"140":[2,69],"141":[2,69],"142":[2,69],"143":[2,69],"144":[2,69],"145":[2,69],"146":[2,69],"147":[2,69],"148":[2,69],"149":[2,69],"150":[2,69],"151":[2,69],"152":[2,69],"153":[2,69],"154":[2,69],"155":[2,69]},{"85":217,"86":[1,134]},{"6":218,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"7":219,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"59":28,"60":29,"61":30,"62":31,"63":32,"65":163,"76":[1,70],"90":[1,72],"91":[1,69],"99":[1,71]},{"1":[2,96],"3":[2,96],"26":[2,96],"27":[2,96],"48":[2,96],"56":[2,96],"58":[2,96],"66":[2,96],"67":[2,96],"68":[2,96],"69":[2,96],"72":[2,96],"73":[2,96],"74":[2,96],"75":[2,96],"78":[2,96],"86":[2,96],"88":[2,96],"92":[2,96],"100":[2,96],"103":[2,96],"104":[2,96],"105":[2,96],"108":[2,96],"110":[2,96],"117":[2,96],"120":[2,96],"123":[2,96],"124":[2,96],"126":[2,96],"127":[2,96],"130":[2,96],"131":[2,96],"132":[2,96],"133":[2,96],"134":[2,96],"135":[2,96],"136":[2,96],"137":[2,96],"138":[2,96],"139":[2,96],"140":[2,96],"141":[2,96],"142":[2,96],"143":[2,96],"144":[2,96],"145":[2,96],"146":[2,96],"147":[2,96],"148":[2,96],"149":[2,96],"150":[2,96],"151":[2,96],"152":[2,96],"153":[2,96],"154":[2,96],"155":[2,96]},{"28":220,"29":[1,57]},{"28":221,"29":[1,57]},{"1":[2,73],"3":[2,73],"26":[2,73],"27":[2,73],"44":[2,73],"48":[2,73],"56":[2,73],"58":[2,73],"66":[2,73],"67":[2,73],"68":[2,73],"69":[2,73],"72":[2,73],"73":[2,73],"74":[2,73],"75":[2,73],"78":[2,73],"81":[2,73],"84":[2,73],"86":[2,73],"88":[2,73],"92":[2,73],"100":[2,73],"103":[2,73],"104":[2,73],"105":[2,73],"108":[2,73],"110":[2,73],"117":[2,73],"120":[2,73],"123":[2,73],"124":[2,73],"126":[2,73],"127":[2,73],"130":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"134":[2,73],"135":[2,73],"136":[2,73],"137":[2,73],"138":[2,73],"139":[2,73],"140":[2,73],"141":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73],"152":[2,73],"153":[2,73],"154":[2,73],"155":[2,73]},{"28":222,"29":[1,57]},{"1":[2,75],"3":[2,75],"26":[2,75],"27":[2,75],"44":[2,75],"48":[2,75],"56":[2,75],"58":[2,75],"66":[2,75],"67":[2,75],"68":[2,75],"69":[2,75],"72":[2,75],"73":[2,75],"74":[2,75],"75":[2,75],"78":[2,75],"81":[2,75],"84":[2,75],"86":[2,75],"88":[2,75],"92":[2,75],"100":[2,75],"103":[2,75],"104":[2,75],"105":[2,75],"108":[2,75],"110":[2,75],"117":[2,75],"120":[2,75],"123":[2,75],"124":[2,75],"126":[2,75],"127":[2,75],"130":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"134":[2,75],"135":[2,75],"136":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75]},{"1":[2,76],"3":[2,76],"26":[2,76],"27":[2,76],"44":[2,76],"48":[2,76],"56":[2,76],"58":[2,76],"66":[2,76],"67":[2,76],"68":[2,76],"69":[2,76],"72":[2,76],"73":[2,76],"74":[2,76],"75":[2,76],"78":[2,76],"81":[2,76],"84":[2,76],"86":[2,76],"88":[2,76],"92":[2,76],"100":[2,76],"103":[2,76],"104":[2,76],"105":[2,76],"108":[2,76],"110":[2,76],"117":[2,76],"120":[2,76],"123":[2,76],"124":[2,76],"126":[2,76],"127":[2,76],"130":[2,76],"131":[2,76],"132":[2,76],"133":[2,76],"134":[2,76],"135":[2,76],"136":[2,76],"137":[2,76],"138":[2,76],"139":[2,76],"140":[2,76],"141":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76],"152":[2,76],"153":[2,76],"154":[2,76],"155":[2,76]},{"3":[2,107],"6":224,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[1,166],"27":[2,107],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,107],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"87":223,"88":[2,107],"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":225,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":226,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,70],"3":[2,70],"26":[2,70],"27":[2,70],"44":[2,70],"48":[2,70],"56":[2,70],"58":[2,70],"66":[2,70],"67":[2,70],"68":[2,70],"69":[2,70],"72":[2,70],"73":[2,70],"74":[2,70],"75":[2,70],"78":[2,70],"81":[2,70],"84":[2,70],"86":[2,70],"88":[2,70],"92":[2,70],"100":[2,70],"103":[2,70],"104":[2,70],"105":[2,70],"108":[2,70],"110":[2,70],"117":[2,70],"120":[2,70],"123":[2,70],"124":[2,70],"126":[2,70],"127":[2,70],"130":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"134":[2,70],"135":[2,70],"136":[2,70],"137":[2,70],"138":[2,70],"139":[2,70],"140":[2,70],"141":[2,70],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70]},{"1":[2,97],"3":[2,97],"26":[2,97],"27":[2,97],"48":[2,97],"56":[2,97],"58":[2,97],"66":[2,97],"67":[2,97],"68":[2,97],"69":[2,97],"72":[2,97],"73":[2,97],"74":[2,97],"75":[2,97],"78":[2,97],"86":[2,97],"88":[2,97],"92":[2,97],"100":[2,97],"103":[2,97],"104":[2,97],"105":[2,97],"108":[2,97],"110":[2,97],"117":[2,97],"120":[2,97],"123":[2,97],"124":[2,97],"126":[2,97],"127":[2,97],"130":[2,97],"131":[2,97],"132":[2,97],"133":[2,97],"134":[2,97],"135":[2,97],"136":[2,97],"137":[2,97],"138":[2,97],"139":[2,97],"140":[2,97],"141":[2,97],"142":[2,97],"143":[2,97],"144":[2,97],"145":[2,97],"146":[2,97],"147":[2,97],"148":[2,97],"149":[2,97],"150":[2,97],"151":[2,97],"152":[2,97],"153":[2,97],"154":[2,97],"155":[2,97]},{"1":[2,92],"3":[2,92],"26":[2,92],"27":[2,92],"48":[2,92],"56":[2,92],"58":[2,92],"64":137,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,92],"74":[1,136],"75":[2,92],"78":[2,92],"85":138,"86":[1,134],"88":[2,92],"92":[2,92],"100":[2,92],"103":[2,92],"104":[2,92],"105":[2,92],"108":[2,92],"110":[2,92],"117":[2,92],"120":[2,92],"123":[2,92],"124":[2,92],"126":[2,92],"127":[2,92],"130":[2,92],"131":[2,92],"132":[2,92],"133":[2,92],"134":[2,92],"135":[2,92],"136":[2,92],"137":[2,92],"138":[2,92],"139":[2,92],"140":[2,92],"141":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92],"152":[2,92],"153":[2,92],"154":[2,92],"155":[2,92]},{"64":123,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"74":[1,136],"85":127,"86":[1,134]},{"51":[1,227],"56":[1,228]},{"51":[2,57],"56":[2,57],"58":[1,229]},{"51":[2,59],"56":[2,59],"58":[2,59]},{"1":[2,53],"3":[2,53],"26":[2,53],"27":[2,53],"48":[2,53],"56":[2,53],"58":[2,53],"73":[2,53],"75":[2,53],"78":[2,53],"88":[2,53],"92":[2,53],"100":[2,53],"103":[2,53],"104":[2,53],"105":[2,53],"108":[2,53],"110":[2,53],"117":[2,53],"120":[2,53],"123":[2,53],"124":[2,53],"126":[2,53],"127":[2,53],"130":[2,53],"131":[2,53],"132":[2,53],"133":[2,53],"134":[2,53],"135":[2,53],"136":[2,53],"137":[2,53],"138":[2,53],"139":[2,53],"140":[2,53],"141":[2,53],"142":[2,53],"143":[2,53],"144":[2,53],"145":[2,53],"146":[2,53],"147":[2,53],"148":[2,53],"149":[2,53],"150":[2,53],"151":[2,53],"152":[2,53],"153":[2,53],"154":[2,53],"155":[2,53]},{"24":81,"47":[1,55]},{"1":[2,151],"3":[2,151],"26":[2,151],"27":[2,151],"48":[1,105],"56":[2,151],"58":[2,151],"73":[2,151],"75":[2,151],"78":[2,151],"88":[2,151],"92":[2,151],"100":[2,151],"102":118,"103":[2,151],"104":[2,151],"105":[2,151],"108":[2,151],"110":[2,151],"117":[2,151],"120":[2,151],"123":[2,151],"124":[2,151],"130":[2,151],"131":[2,151],"132":[2,151],"133":[2,151],"134":[2,151],"135":[2,151],"136":[2,151],"137":[2,151],"138":[2,151],"139":[2,151],"140":[2,151],"141":[2,151],"142":[2,151],"143":[2,151],"144":[2,151],"145":[2,151],"146":[2,151],"147":[2,151],"148":[2,151],"149":[2,151],"150":[2,151],"151":[2,151],"152":[2,151],"153":[2,151],"154":[2,151],"155":[2,151]},{"1":[2,152],"3":[2,152],"26":[2,152],"27":[2,152],"48":[1,105],"56":[2,152],"58":[2,152],"73":[2,152],"75":[2,152],"78":[2,152],"88":[2,152],"92":[2,152],"100":[2,152],"102":118,"103":[2,152],"104":[2,152],"105":[2,152],"108":[2,152],"110":[2,152],"117":[2,152],"120":[2,152],"123":[2,152],"124":[2,152],"130":[2,152],"131":[2,152],"132":[2,152],"133":[2,152],"134":[2,152],"135":[2,152],"136":[2,152],"137":[2,152],"138":[2,152],"139":[2,152],"140":[2,152],"141":[2,152],"142":[2,152],"143":[2,152],"144":[2,152],"145":[2,152],"146":[2,152],"147":[2,152],"148":[2,152],"149":[2,152],"150":[2,152],"151":[2,152],"152":[2,152],"153":[2,152],"154":[2,152],"155":[2,152]},{"1":[2,153],"3":[2,153],"26":[2,153],"27":[2,153],"48":[1,105],"56":[2,153],"58":[2,153],"73":[2,153],"75":[2,153],"78":[2,153],"88":[2,153],"92":[2,153],"100":[2,153],"102":118,"103":[2,153],"104":[2,153],"105":[2,153],"108":[2,153],"110":[2,153],"117":[2,153],"120":[2,153],"123":[2,153],"124":[2,153],"130":[2,153],"131":[2,153],"132":[2,153],"133":[2,153],"134":[2,153],"135":[2,153],"136":[2,153],"137":[2,153],"138":[2,153],"139":[2,153],"140":[2,153],"141":[2,153],"142":[2,153],"143":[2,153],"144":[2,153],"145":[2,153],"146":[2,153],"147":[2,153],"148":[2,153],"149":[2,153],"150":[2,153],"151":[2,153],"152":[2,153],"153":[2,153],"154":[2,153],"155":[2,153]},{"1":[2,154],"3":[2,154],"26":[2,154],"27":[2,154],"48":[1,105],"56":[2,154],"58":[2,154],"73":[2,154],"75":[2,154],"78":[2,154],"88":[2,154],"92":[2,154],"100":[2,154],"102":118,"103":[2,154],"104":[2,154],"105":[2,154],"108":[2,154],"110":[2,154],"117":[2,154],"120":[2,154],"123":[2,154],"124":[2,154],"130":[2,154],"131":[2,154],"132":[2,154],"133":[2,154],"134":[2,154],"135":[2,154],"136":[2,154],"137":[2,154],"138":[2,154],"139":[2,154],"140":[2,154],"141":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"150":[2,154],"151":[2,154],"152":[2,154],"153":[2,154],"154":[2,154],"155":[2,154]},{"1":[2,155],"3":[2,155],"26":[2,155],"27":[2,155],"48":[1,105],"56":[2,155],"58":[2,155],"73":[2,155],"75":[2,155],"78":[2,155],"88":[2,155],"92":[2,155],"100":[2,155],"102":118,"103":[2,155],"104":[2,155],"105":[2,155],"108":[2,155],"110":[2,155],"117":[2,155],"120":[2,155],"123":[2,155],"124":[2,155],"130":[2,155],"131":[2,155],"132":[2,155],"133":[2,155],"134":[2,155],"135":[2,155],"136":[2,155],"137":[2,155],"138":[2,155],"139":[2,155],"140":[2,155],"141":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"150":[2,155],"151":[2,155],"152":[2,155],"153":[2,155],"154":[2,155],"155":[2,155]},{"1":[2,156],"3":[2,156],"26":[2,156],"27":[2,156],"48":[1,105],"56":[2,156],"58":[2,156],"73":[2,156],"75":[2,156],"78":[2,156],"88":[2,156],"92":[2,156],"100":[2,156],"102":118,"103":[2,156],"104":[2,156],"105":[2,156],"108":[2,156],"110":[2,156],"117":[2,156],"120":[2,156],"123":[2,156],"124":[2,156],"130":[2,156],"131":[2,156],"132":[2,156],"133":[2,156],"134":[2,156],"135":[2,156],"136":[2,156],"137":[2,156],"138":[2,156],"139":[2,156],"140":[2,156],"141":[2,156],"142":[2,156],"143":[2,156],"144":[2,156],"145":[2,156],"146":[2,156],"147":[2,156],"148":[2,156],"149":[2,156],"150":[2,156],"151":[2,156],"152":[2,156],"153":[2,156],"154":[2,156],"155":[2,156]},{"1":[2,157],"3":[2,157],"26":[2,157],"27":[2,157],"48":[1,105],"56":[2,157],"58":[2,157],"73":[2,157],"75":[2,157],"78":[2,157],"88":[2,157],"92":[2,157],"100":[2,157],"102":118,"103":[2,157],"104":[2,157],"105":[2,157],"108":[2,157],"110":[2,157],"117":[2,157],"120":[2,157],"123":[2,157],"124":[2,157],"130":[2,157],"131":[2,157],"132":[2,157],"133":[2,157],"134":[2,157],"135":[2,157],"136":[2,157],"137":[2,157],"138":[2,157],"139":[2,157],"140":[2,157],"141":[2,157],"142":[2,157],"143":[2,157],"144":[2,157],"145":[2,157],"146":[2,157],"147":[2,157],"148":[2,157],"149":[2,157],"150":[2,157],"151":[2,157],"152":[2,157],"153":[2,157],"154":[2,157],"155":[2,157]},{"1":[2,158],"3":[2,158],"26":[2,158],"27":[2,158],"48":[1,105],"56":[2,158],"58":[2,158],"73":[2,158],"75":[2,158],"78":[2,158],"88":[2,158],"92":[2,158],"100":[2,158],"102":118,"103":[2,158],"104":[2,158],"105":[2,158],"108":[2,158],"110":[2,158],"117":[2,158],"120":[2,158],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[2,158],"144":[2,158],"145":[2,158],"146":[2,158],"147":[2,158],"148":[2,158],"149":[2,158],"150":[2,158],"151":[2,158],"152":[2,158],"153":[2,158],"154":[2,158],"155":[1,114]},{"1":[2,159],"3":[2,159],"26":[2,159],"27":[2,159],"48":[1,105],"56":[2,159],"58":[2,159],"73":[2,159],"75":[2,159],"78":[2,159],"88":[2,159],"92":[2,159],"100":[2,159],"102":118,"103":[2,159],"104":[2,159],"105":[2,159],"108":[2,159],"110":[2,159],"117":[2,159],"120":[2,159],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[2,159],"144":[2,159],"145":[2,159],"146":[2,159],"147":[2,159],"148":[2,159],"149":[2,159],"150":[2,159],"151":[2,159],"152":[2,159],"153":[2,159],"154":[2,159],"155":[1,114]},{"95":230,"96":[1,231],"97":[1,232]},{"1":[2,121],"3":[2,121],"26":[2,121],"27":[2,121],"48":[1,105],"56":[2,121],"58":[1,120],"73":[2,121],"75":[2,121],"78":[2,121],"88":[2,121],"92":[2,121],"100":[2,121],"102":118,"103":[2,121],"104":[2,121],"105":[2,121],"108":[1,115],"110":[2,121],"117":[2,121],"120":[2,121],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,48],"3":[2,48],"26":[2,48],"27":[2,48],"48":[1,105],"56":[2,48],"58":[1,120],"73":[2,48],"75":[2,48],"78":[2,48],"88":[2,48],"92":[2,48],"100":[2,48],"102":118,"103":[2,48],"104":[2,48],"105":[1,119],"108":[1,115],"110":[2,48],"117":[2,48],"120":[2,48],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,126],"3":[2,126],"26":[2,126],"27":[2,126],"48":[2,126],"56":[2,126],"58":[2,126],"73":[2,126],"75":[2,126],"78":[2,126],"88":[2,126],"92":[2,126],"100":[2,126],"103":[2,126],"104":[2,126],"105":[2,126],"108":[2,126],"110":[2,126],"117":[2,126],"120":[2,126],"123":[2,126],"124":[2,126],"126":[2,126],"127":[2,126],"130":[2,126],"131":[2,126],"132":[2,126],"133":[2,126],"134":[2,126],"135":[2,126],"136":[2,126],"137":[2,126],"138":[2,126],"139":[2,126],"140":[2,126],"141":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126],"152":[2,126],"153":[2,126],"154":[2,126],"155":[2,126]},{"107":233,"108":[1,234],"109":[1,235]},{"56":[1,236],"108":[2,130],"109":[2,130]},{"26":[1,237],"48":[1,105],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,81],"3":[2,81],"26":[1,170],"27":[2,81],"48":[2,81],"56":[2,81],"58":[2,81],"64":123,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,81],"74":[1,136],"75":[2,81],"78":[2,81],"79":239,"81":[1,238],"85":127,"86":[1,134],"88":[2,81],"92":[2,81],"100":[2,81],"103":[2,81],"104":[2,81],"105":[2,81],"108":[2,81],"110":[2,81],"117":[2,81],"120":[2,81],"123":[2,81],"124":[2,81],"126":[2,81],"127":[2,81],"130":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"134":[2,81],"135":[2,81],"136":[2,81],"137":[2,81],"138":[2,81],"139":[2,81],"140":[2,81],"141":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81],"152":[2,81],"153":[2,81],"154":[2,81],"155":[2,81]},{"64":137,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"74":[1,136],"85":138,"86":[1,134]},{"3":[1,242],"27":[1,243],"56":[1,241],"92":[1,240]},{"3":[2,108],"27":[2,108],"48":[1,105],"56":[2,108],"58":[1,244],"92":[2,108],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"6":245,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[1,248],"56":[1,247],"78":[1,246]},{"78":[1,249]},{"3":[2,86],"27":[2,86],"56":[2,86],"78":[2,86]},{"3":[2,85],"24":173,"27":[2,85],"28":171,"29":[1,57],"30":172,"31":[1,78],"32":[1,79],"45":169,"47":[1,55],"56":[2,85],"77":250},{"44":[1,251]},{"44":[1,252]},{"3":[2,47],"27":[2,47],"56":[2,47],"78":[2,47]},{"48":[1,105],"58":[1,120],"100":[1,253],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,101],"3":[2,101],"26":[2,101],"27":[2,101],"44":[2,101],"48":[2,101],"56":[2,101],"58":[2,101],"66":[2,101],"67":[2,101],"68":[2,101],"69":[2,101],"72":[2,101],"73":[2,101],"74":[2,101],"75":[2,101],"78":[2,101],"81":[2,101],"84":[2,101],"86":[2,101],"88":[2,101],"92":[2,101],"100":[2,101],"103":[2,101],"104":[2,101],"105":[2,101],"108":[2,101],"110":[2,101],"117":[2,101],"120":[2,101],"123":[2,101],"124":[2,101],"126":[2,101],"127":[2,101],"130":[2,101],"131":[2,101],"132":[2,101],"133":[2,101],"134":[2,101],"135":[2,101],"136":[2,101],"137":[2,101],"138":[2,101],"139":[2,101],"140":[2,101],"141":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"150":[2,101],"151":[2,101],"152":[2,101],"153":[2,101],"154":[2,101],"155":[2,101]},{"3":[2,107],"6":224,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[1,166],"27":[2,107],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,107],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"87":254,"88":[2,107],"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[1,145],"5":255,"26":[1,6],"117":[1,256]},{"1":[2,144],"3":[2,144],"26":[2,144],"27":[2,144],"48":[2,144],"56":[2,144],"58":[2,144],"73":[2,144],"75":[2,144],"78":[2,144],"88":[2,144],"92":[2,144],"100":[2,144],"103":[2,144],"104":[2,144],"105":[2,144],"108":[2,144],"110":[2,144],"113":[2,144],"117":[2,144],"120":[2,144],"123":[2,144],"124":[2,144],"126":[2,144],"127":[2,144],"130":[2,144],"131":[2,144],"132":[2,144],"133":[2,144],"134":[2,144],"135":[2,144],"136":[2,144],"137":[2,144],"138":[2,144],"139":[2,144],"140":[2,144],"141":[2,144],"142":[2,144],"143":[2,144],"144":[2,144],"145":[2,144],"146":[2,144],"147":[2,144],"148":[2,144],"149":[2,144],"150":[2,144],"151":[2,144],"152":[2,144],"153":[2,144],"154":[2,144],"155":[2,144]},{"1":[2,124],"3":[2,124],"26":[2,124],"27":[2,124],"48":[1,105],"56":[2,124],"58":[1,120],"73":[2,124],"75":[2,124],"78":[2,124],"88":[2,124],"92":[2,124],"100":[2,124],"102":118,"103":[1,77],"104":[1,257],"105":[1,119],"108":[1,115],"110":[2,124],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"3":[1,145],"5":258,"26":[1,6],"48":[1,105],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,6],"3":[2,6],"27":[2,6],"48":[1,105],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,162],"3":[2,162],"26":[2,162],"27":[2,162],"48":[1,105],"56":[2,162],"58":[2,162],"73":[2,162],"75":[2,162],"78":[2,162],"88":[2,162],"92":[2,162],"100":[2,162],"102":118,"103":[2,162],"104":[2,162],"105":[2,162],"108":[2,162],"110":[2,162],"117":[2,162],"120":[2,162],"123":[2,162],"124":[2,162],"126":[1,84],"127":[1,85],"130":[2,162],"131":[2,162],"132":[2,162],"133":[2,162],"134":[2,162],"135":[2,162],"136":[2,162],"137":[2,162],"138":[2,162],"139":[2,162],"140":[2,162],"141":[2,162],"142":[2,162],"143":[2,162],"144":[2,162],"145":[2,162],"146":[2,162],"147":[2,162],"148":[2,162],"149":[2,162],"150":[2,162],"151":[2,162],"152":[2,162],"153":[2,162],"154":[2,162],"155":[2,162]},{"1":[2,163],"3":[2,163],"26":[2,163],"27":[2,163],"48":[1,105],"56":[2,163],"58":[2,163],"73":[2,163],"75":[2,163],"78":[2,163],"88":[2,163],"92":[2,163],"100":[2,163],"102":118,"103":[2,163],"104":[2,163],"105":[2,163],"108":[2,163],"110":[2,163],"117":[2,163],"120":[2,163],"123":[2,163],"124":[2,163],"126":[1,84],"127":[1,85],"130":[2,163],"131":[2,163],"132":[2,163],"133":[2,163],"134":[2,163],"135":[2,163],"136":[2,163],"137":[2,163],"138":[2,163],"139":[2,163],"140":[2,163],"141":[2,163],"142":[2,163],"143":[2,163],"144":[2,163],"145":[2,163],"146":[2,163],"147":[2,163],"148":[2,163],"149":[2,163],"150":[2,163],"151":[2,163],"152":[2,163],"153":[2,163],"154":[2,163],"155":[2,163]},{"1":[2,164],"3":[2,164],"26":[2,164],"27":[2,164],"48":[1,105],"56":[2,164],"58":[2,164],"73":[2,164],"75":[2,164],"78":[2,164],"88":[2,164],"92":[2,164],"100":[2,164],"102":118,"103":[2,164],"104":[2,164],"105":[2,164],"108":[2,164],"110":[2,164],"117":[2,164],"120":[2,164],"123":[2,164],"124":[2,164],"126":[1,84],"127":[1,85],"130":[2,164],"131":[2,164],"132":[2,164],"133":[2,164],"134":[2,164],"135":[2,164],"136":[2,164],"137":[2,164],"138":[2,164],"139":[2,164],"140":[2,164],"141":[2,164],"142":[2,164],"143":[2,164],"144":[2,164],"145":[2,164],"146":[2,164],"147":[2,164],"148":[2,164],"149":[2,164],"150":[2,164],"151":[2,164],"152":[2,164],"153":[2,164],"154":[2,164],"155":[2,164]},{"1":[2,165],"3":[2,165],"26":[2,165],"27":[2,165],"48":[1,105],"56":[2,165],"58":[2,165],"73":[2,165],"75":[2,165],"78":[2,165],"88":[2,165],"92":[2,165],"100":[2,165],"102":118,"103":[2,165],"104":[2,165],"105":[2,165],"108":[2,165],"110":[2,165],"117":[2,165],"120":[2,165],"123":[2,165],"124":[2,165],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[2,165],"134":[2,165],"135":[2,165],"136":[2,165],"137":[2,165],"138":[2,165],"139":[2,165],"140":[2,165],"141":[2,165],"142":[2,165],"143":[2,165],"144":[2,165],"145":[2,165],"146":[2,165],"147":[2,165],"148":[2,165],"149":[2,165],"150":[2,165],"151":[2,165],"152":[2,165],"153":[2,165],"154":[2,165],"155":[2,165]},{"1":[2,166],"3":[2,166],"26":[2,166],"27":[2,166],"48":[1,105],"56":[2,166],"58":[2,166],"73":[2,166],"75":[2,166],"78":[2,166],"88":[2,166],"92":[2,166],"100":[2,166],"102":118,"103":[2,166],"104":[2,166],"105":[2,166],"108":[2,166],"110":[2,166],"117":[2,166],"120":[2,166],"123":[2,166],"124":[2,166],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[2,166],"134":[2,166],"135":[2,166],"136":[2,166],"137":[2,166],"138":[2,166],"139":[2,166],"140":[2,166],"141":[2,166],"142":[2,166],"143":[2,166],"144":[2,166],"145":[2,166],"146":[2,166],"147":[2,166],"148":[2,166],"149":[2,166],"150":[2,166],"151":[2,166],"152":[2,166],"153":[2,166],"154":[2,166],"155":[2,166]},{"1":[2,167],"3":[2,167],"26":[2,167],"27":[2,167],"48":[1,105],"56":[2,167],"58":[2,167],"73":[2,167],"75":[2,167],"78":[2,167],"88":[2,167],"92":[2,167],"100":[2,167],"102":118,"103":[2,167],"104":[2,167],"105":[2,167],"108":[2,167],"110":[2,167],"117":[2,167],"120":[2,167],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[2,167],"134":[2,167],"135":[2,167],"136":[2,167],"137":[2,167],"138":[2,167],"139":[2,167],"140":[2,167],"141":[2,167],"142":[2,167],"143":[2,167],"144":[2,167],"145":[2,167],"146":[2,167],"147":[2,167],"148":[2,167],"149":[2,167],"150":[2,167],"151":[2,167],"152":[2,167],"153":[2,167],"154":[2,167],"155":[2,167]},{"1":[2,168],"3":[2,168],"26":[2,168],"27":[2,168],"48":[1,105],"56":[2,168],"58":[2,168],"73":[2,168],"75":[2,168],"78":[2,168],"88":[2,168],"92":[2,168],"100":[2,168],"102":118,"103":[2,168],"104":[2,168],"105":[2,168],"108":[2,168],"110":[2,168],"117":[2,168],"120":[2,168],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[2,168],"134":[2,168],"135":[2,168],"136":[2,168],"137":[2,168],"138":[2,168],"139":[2,168],"140":[2,168],"141":[2,168],"142":[2,168],"143":[2,168],"144":[2,168],"145":[2,168],"146":[2,168],"147":[2,168],"148":[2,168],"149":[2,168],"150":[2,168],"151":[2,168],"152":[2,168],"153":[2,168],"154":[2,168],"155":[2,168]},{"1":[2,169],"3":[2,169],"26":[2,169],"27":[2,169],"48":[1,105],"56":[2,169],"58":[2,169],"73":[2,169],"75":[2,169],"78":[2,169],"88":[2,169],"92":[2,169],"100":[2,169],"102":118,"103":[2,169],"104":[2,169],"105":[2,169],"108":[2,169],"110":[2,169],"117":[2,169],"120":[2,169],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[2,169],"134":[2,169],"135":[2,169],"136":[2,169],"137":[2,169],"138":[2,169],"139":[2,169],"140":[2,169],"141":[2,169],"142":[2,169],"143":[2,169],"144":[2,169],"145":[2,169],"146":[2,169],"147":[2,169],"148":[2,169],"149":[2,169],"150":[2,169],"151":[2,169],"152":[2,169],"153":[2,169],"154":[2,169],"155":[2,169]},{"1":[2,170],"3":[2,170],"26":[2,170],"27":[2,170],"48":[1,105],"56":[2,170],"58":[2,170],"73":[2,170],"75":[2,170],"78":[2,170],"88":[2,170],"92":[2,170],"100":[2,170],"102":118,"103":[2,170],"104":[2,170],"105":[2,170],"108":[2,170],"110":[2,170],"117":[2,170],"120":[2,170],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[2,170],"137":[2,170],"138":[2,170],"139":[2,170],"140":[2,170],"141":[2,170],"142":[2,170],"143":[2,170],"144":[2,170],"145":[2,170],"146":[2,170],"147":[2,170],"148":[2,170],"149":[2,170],"150":[2,170],"151":[2,170],"152":[2,170],"153":[2,170],"154":[2,170],"155":[2,170]},{"1":[2,171],"3":[2,171],"26":[2,171],"27":[2,171],"48":[1,105],"56":[2,171],"58":[2,171],"73":[2,171],"75":[2,171],"78":[2,171],"88":[2,171],"92":[2,171],"100":[2,171],"102":118,"103":[2,171],"104":[2,171],"105":[2,171],"108":[2,171],"110":[2,171],"117":[2,171],"120":[2,171],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[2,171],"137":[2,171],"138":[2,171],"139":[2,171],"140":[2,171],"141":[2,171],"142":[2,171],"143":[2,171],"144":[2,171],"145":[2,171],"146":[2,171],"147":[2,171],"148":[2,171],"149":[2,171],"150":[2,171],"151":[2,171],"152":[2,171],"153":[2,171],"154":[2,171],"155":[2,171]},{"1":[2,172],"3":[2,172],"26":[2,172],"27":[2,172],"48":[1,105],"56":[2,172],"58":[2,172],"73":[2,172],"75":[2,172],"78":[2,172],"88":[2,172],"92":[2,172],"100":[2,172],"102":118,"103":[2,172],"104":[2,172],"105":[2,172],"108":[2,172],"110":[2,172],"117":[2,172],"120":[2,172],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[2,172],"137":[2,172],"138":[2,172],"139":[2,172],"140":[2,172],"141":[2,172],"142":[2,172],"143":[2,172],"144":[2,172],"145":[2,172],"146":[2,172],"147":[2,172],"148":[2,172],"149":[2,172],"150":[2,172],"151":[2,172],"152":[2,172],"153":[2,172],"154":[2,172],"155":[2,172]},{"1":[2,173],"3":[2,173],"26":[2,173],"27":[2,173],"48":[1,105],"56":[2,173],"58":[2,173],"73":[2,173],"75":[2,173],"78":[2,173],"88":[2,173],"92":[2,173],"100":[2,173],"102":118,"103":[2,173],"104":[2,173],"105":[2,173],"108":[2,173],"110":[2,173],"117":[2,173],"120":[2,173],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[2,173],"140":[2,173],"141":[2,173],"142":[2,173],"143":[2,173],"144":[2,173],"145":[2,173],"146":[2,173],"147":[2,173],"148":[2,173],"149":[2,173],"150":[2,173],"151":[2,173],"152":[2,173],"153":[2,173],"154":[2,173],"155":[2,173]},{"1":[2,174],"3":[2,174],"26":[2,174],"27":[2,174],"48":[1,105],"56":[2,174],"58":[2,174],"73":[2,174],"75":[2,174],"78":[2,174],"88":[2,174],"92":[2,174],"100":[2,174],"102":118,"103":[2,174],"104":[2,174],"105":[2,174],"108":[2,174],"110":[2,174],"117":[2,174],"120":[2,174],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[2,174],"140":[2,174],"141":[2,174],"142":[2,174],"143":[2,174],"144":[2,174],"145":[2,174],"146":[2,174],"147":[2,174],"148":[2,174],"149":[2,174],"150":[2,174],"151":[2,174],"152":[2,174],"153":[2,174],"154":[2,174],"155":[2,174]},{"1":[2,175],"3":[2,175],"26":[2,175],"27":[2,175],"48":[1,105],"56":[2,175],"58":[2,175],"73":[2,175],"75":[2,175],"78":[2,175],"88":[2,175],"92":[2,175],"100":[2,175],"102":118,"103":[2,175],"104":[2,175],"105":[2,175],"108":[2,175],"110":[2,175],"117":[2,175],"120":[2,175],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[2,175],"140":[2,175],"141":[2,175],"142":[2,175],"143":[2,175],"144":[2,175],"145":[2,175],"146":[2,175],"147":[2,175],"148":[2,175],"149":[2,175],"150":[2,175],"151":[2,175],"152":[2,175],"153":[2,175],"154":[2,175],"155":[2,175]},{"1":[2,176],"3":[2,176],"26":[2,176],"27":[2,176],"48":[1,105],"56":[2,176],"58":[2,176],"73":[2,176],"75":[2,176],"78":[2,176],"88":[2,176],"92":[2,176],"100":[2,176],"102":118,"103":[2,176],"104":[2,176],"105":[2,176],"108":[2,176],"110":[2,176],"117":[2,176],"120":[2,176],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[2,176],"140":[2,176],"141":[2,176],"142":[2,176],"143":[2,176],"144":[2,176],"145":[2,176],"146":[2,176],"147":[2,176],"148":[2,176],"149":[2,176],"150":[2,176],"151":[2,176],"152":[2,176],"153":[2,176],"154":[2,176],"155":[2,176]},{"1":[2,177],"3":[2,177],"26":[2,177],"27":[2,177],"48":[1,105],"56":[2,177],"58":[2,177],"73":[2,177],"75":[2,177],"78":[2,177],"88":[2,177],"92":[2,177],"100":[2,177],"102":118,"103":[2,177],"104":[2,177],"105":[2,177],"108":[2,177],"110":[2,177],"117":[2,177],"120":[2,177],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[2,177],"144":[2,177],"145":[2,177],"146":[2,177],"147":[2,177],"148":[2,177],"149":[2,177],"150":[2,177],"151":[2,177],"152":[2,177],"153":[2,177],"154":[2,177],"155":[1,114]},{"1":[2,178],"3":[2,178],"26":[2,178],"27":[2,178],"48":[1,105],"56":[2,178],"58":[2,178],"73":[2,178],"75":[2,178],"78":[2,178],"88":[2,178],"92":[2,178],"100":[2,178],"102":118,"103":[2,178],"104":[2,178],"105":[2,178],"108":[2,178],"110":[2,178],"117":[2,178],"120":[2,178],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[2,178],"144":[2,178],"145":[2,178],"146":[2,178],"147":[2,178],"148":[2,178],"149":[2,178],"150":[2,178],"151":[2,178],"152":[2,178],"153":[2,178],"154":[2,178],"155":[1,114]},{"1":[2,179],"3":[2,179],"26":[2,179],"27":[2,179],"48":[1,105],"56":[2,179],"58":[2,179],"73":[2,179],"75":[2,179],"78":[2,179],"88":[2,179],"92":[2,179],"100":[2,179],"102":118,"103":[2,179],"104":[2,179],"105":[2,179],"108":[2,179],"110":[2,179],"117":[2,179],"120":[2,179],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"150":[2,179],"151":[2,179],"152":[2,179],"153":[2,179],"154":[2,179],"155":[1,114]},{"1":[2,180],"3":[2,180],"26":[2,180],"27":[2,180],"48":[1,105],"56":[2,180],"58":[2,180],"73":[2,180],"75":[2,180],"78":[2,180],"88":[2,180],"92":[2,180],"100":[2,180],"102":118,"103":[2,180],"104":[2,180],"105":[2,180],"108":[2,180],"110":[2,180],"117":[2,180],"120":[2,180],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[2,180],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"150":[2,180],"151":[2,180],"152":[2,180],"153":[2,180],"154":[2,180],"155":[1,114]},{"1":[2,181],"3":[2,181],"26":[2,181],"27":[2,181],"48":[2,181],"56":[2,181],"58":[2,181],"73":[2,181],"75":[2,181],"78":[2,181],"88":[2,181],"92":[2,181],"100":[2,181],"102":118,"103":[2,181],"104":[2,181],"105":[2,181],"108":[2,181],"110":[2,181],"117":[2,181],"120":[2,181],"123":[2,181],"124":[2,181],"126":[2,181],"127":[2,181],"130":[2,181],"131":[2,181],"132":[2,181],"133":[2,181],"134":[2,181],"135":[2,181],"136":[2,181],"137":[2,181],"138":[2,181],"139":[2,181],"140":[2,181],"141":[2,181],"142":[2,181],"143":[2,181],"144":[2,181],"145":[2,181],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"150":[2,181],"151":[2,181],"152":[2,181],"153":[2,181],"154":[2,181],"155":[2,181]},{"1":[2,182],"3":[2,182],"26":[2,182],"27":[2,182],"48":[1,105],"56":[2,182],"58":[2,182],"73":[2,182],"75":[2,182],"78":[2,182],"88":[2,182],"92":[2,182],"100":[2,182],"102":118,"103":[2,182],"104":[2,182],"105":[2,182],"108":[2,182],"110":[2,182],"117":[2,182],"120":[2,182],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,183],"3":[2,183],"26":[2,183],"27":[2,183],"48":[1,105],"56":[2,183],"58":[2,183],"73":[2,183],"75":[2,183],"78":[2,183],"88":[2,183],"92":[2,183],"100":[2,183],"102":118,"103":[2,183],"104":[2,183],"105":[2,183],"108":[2,183],"110":[2,183],"117":[2,183],"120":[2,183],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,184],"3":[2,184],"26":[2,184],"27":[2,184],"48":[1,105],"56":[2,184],"58":[2,184],"73":[2,184],"75":[2,184],"78":[2,184],"88":[2,184],"92":[2,184],"100":[2,184],"102":118,"103":[2,184],"104":[2,184],"105":[2,184],"108":[2,184],"110":[2,184],"117":[2,184],"120":[2,184],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,185],"3":[2,185],"26":[2,185],"27":[2,185],"48":[1,105],"56":[2,185],"58":[2,185],"73":[2,185],"75":[2,185],"78":[2,185],"88":[2,185],"92":[2,185],"100":[2,185],"102":118,"103":[2,185],"104":[2,185],"105":[2,185],"108":[2,185],"110":[2,185],"117":[2,185],"120":[2,185],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,186],"3":[2,186],"26":[2,186],"27":[2,186],"48":[1,105],"56":[2,186],"58":[2,186],"73":[2,186],"75":[2,186],"78":[2,186],"88":[2,186],"92":[2,186],"100":[2,186],"102":118,"103":[2,186],"104":[2,186],"105":[2,186],"108":[2,186],"110":[2,186],"117":[2,186],"120":[2,186],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,187],"3":[2,187],"26":[2,187],"27":[2,187],"48":[1,105],"56":[2,187],"58":[2,187],"73":[2,187],"75":[2,187],"78":[2,187],"88":[2,187],"92":[2,187],"100":[2,187],"102":118,"103":[2,187],"104":[2,187],"105":[2,187],"108":[2,187],"110":[2,187],"117":[2,187],"120":[2,187],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,188],"3":[2,188],"26":[2,188],"27":[2,188],"48":[1,105],"56":[2,188],"58":[2,188],"73":[2,188],"75":[2,188],"78":[2,188],"88":[2,188],"92":[2,188],"100":[2,188],"102":118,"103":[2,188],"104":[2,188],"105":[2,188],"108":[2,188],"110":[2,188],"117":[2,188],"120":[2,188],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,189],"3":[2,189],"26":[2,189],"27":[2,189],"48":[1,105],"56":[2,189],"58":[2,189],"73":[2,189],"75":[2,189],"78":[2,189],"88":[2,189],"92":[2,189],"100":[2,189],"102":118,"103":[2,189],"104":[2,189],"105":[2,189],"108":[2,189],"110":[2,189],"117":[2,189],"120":[2,189],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,190],"3":[2,190],"26":[2,190],"27":[2,190],"48":[1,105],"56":[2,190],"58":[2,190],"73":[2,190],"75":[2,190],"78":[2,190],"88":[2,190],"92":[2,190],"100":[2,190],"102":118,"103":[2,190],"104":[2,190],"105":[2,190],"108":[2,190],"110":[2,190],"117":[2,190],"120":[2,190],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[2,190],"144":[2,190],"145":[2,190],"146":[2,190],"147":[2,190],"148":[2,190],"149":[2,190],"150":[2,190],"151":[2,190],"152":[2,190],"153":[2,190],"154":[2,190],"155":[1,114]},{"1":[2,191],"3":[2,191],"26":[2,191],"27":[2,191],"48":[1,105],"56":[2,191],"58":[1,120],"73":[2,191],"75":[2,191],"78":[2,191],"88":[2,191],"92":[2,191],"100":[2,191],"102":118,"103":[2,191],"104":[2,191],"105":[2,191],"108":[1,115],"110":[2,191],"117":[2,191],"120":[2,191],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,149],"3":[2,149],"26":[2,149],"27":[2,149],"48":[1,105],"56":[2,149],"58":[1,120],"73":[2,149],"75":[2,149],"78":[2,149],"88":[2,149],"92":[2,149],"100":[2,149],"102":118,"103":[1,77],"104":[2,149],"105":[1,119],"108":[1,115],"110":[2,149],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,150],"3":[2,150],"26":[2,150],"27":[2,150],"48":[1,105],"56":[2,150],"58":[1,120],"73":[2,150],"75":[2,150],"78":[2,150],"88":[2,150],"92":[2,150],"100":[2,150],"102":118,"103":[1,77],"104":[2,150],"105":[1,119],"108":[1,115],"110":[2,150],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"107":259,"108":[1,234],"109":[1,235]},{"58":[1,260]},{"1":[2,27],"3":[2,27],"26":[2,27],"27":[2,27],"47":[2,27],"48":[2,27],"56":[2,27],"58":[2,27],"73":[2,27],"75":[2,27],"78":[2,27],"88":[2,27],"92":[2,27],"96":[2,27],"97":[2,27],"100":[2,27],"103":[2,27],"104":[2,27],"105":[2,27],"108":[2,27],"110":[2,27],"113":[2,27],"115":[2,27],"117":[2,27],"120":[2,27],"123":[2,27],"124":[2,27],"126":[2,27],"127":[2,27],"130":[2,27],"131":[2,27],"132":[2,27],"133":[2,27],"134":[2,27],"135":[2,27],"136":[2,27],"137":[2,27],"138":[2,27],"139":[2,27],"140":[2,27],"141":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"150":[2,27],"151":[2,27],"152":[2,27],"153":[2,27],"154":[2,27],"155":[2,27]},{"1":[2,94],"3":[2,94],"26":[2,94],"27":[2,94],"48":[2,94],"56":[2,94],"58":[2,94],"73":[2,94],"75":[2,94],"78":[2,94],"88":[2,94],"92":[2,94],"100":[2,94],"103":[2,94],"104":[2,94],"105":[2,94],"108":[2,94],"110":[2,94],"117":[2,94],"120":[2,94],"123":[2,94],"124":[2,94],"126":[2,94],"127":[2,94],"130":[2,94],"131":[2,94],"132":[2,94],"133":[2,94],"134":[2,94],"135":[2,94],"136":[2,94],"137":[2,94],"138":[2,94],"139":[2,94],"140":[2,94],"141":[2,94],"142":[2,94],"143":[2,94],"144":[2,94],"145":[2,94],"146":[2,94],"147":[2,94],"148":[2,94],"149":[2,94],"150":[2,94],"151":[2,94],"152":[2,94],"153":[2,94],"154":[2,94],"155":[2,94]},{"1":[2,44],"3":[2,44],"26":[2,44],"27":[2,44],"48":[1,105],"56":[2,44],"58":[1,120],"73":[2,44],"75":[2,44],"78":[2,44],"88":[2,44],"92":[2,44],"100":[2,44],"102":118,"103":[2,44],"104":[2,44],"105":[1,119],"108":[1,115],"110":[2,44],"117":[2,44],"120":[2,44],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,95],"3":[2,95],"26":[2,95],"27":[2,95],"48":[2,95],"56":[2,95],"58":[2,95],"64":123,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,95],"74":[1,136],"75":[2,95],"78":[2,95],"85":127,"86":[1,134],"88":[2,95],"92":[2,95],"100":[2,95],"103":[2,95],"104":[2,95],"105":[2,95],"108":[2,95],"110":[2,95],"117":[2,95],"120":[2,95],"123":[2,95],"124":[2,95],"126":[2,95],"127":[2,95],"130":[2,95],"131":[2,95],"132":[2,95],"133":[2,95],"134":[2,95],"135":[2,95],"136":[2,95],"137":[2,95],"138":[2,95],"139":[2,95],"140":[2,95],"141":[2,95],"142":[2,95],"143":[2,95],"144":[2,95],"145":[2,95],"146":[2,95],"147":[2,95],"148":[2,95],"149":[2,95],"150":[2,95],"151":[2,95],"152":[2,95],"153":[2,95],"154":[2,95],"155":[2,95]},{"1":[2,71],"3":[2,71],"26":[2,71],"27":[2,71],"44":[2,71],"48":[2,71],"56":[2,71],"58":[2,71],"66":[2,71],"67":[2,71],"68":[2,71],"69":[2,71],"72":[2,71],"73":[2,71],"74":[2,71],"75":[2,71],"78":[2,71],"81":[2,71],"84":[2,71],"86":[2,71],"88":[2,71],"92":[2,71],"100":[2,71],"103":[2,71],"104":[2,71],"105":[2,71],"108":[2,71],"110":[2,71],"117":[2,71],"120":[2,71],"123":[2,71],"124":[2,71],"126":[2,71],"127":[2,71],"130":[2,71],"131":[2,71],"132":[2,71],"133":[2,71],"134":[2,71],"135":[2,71],"136":[2,71],"137":[2,71],"138":[2,71],"139":[2,71],"140":[2,71],"141":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71],"152":[2,71],"153":[2,71],"154":[2,71],"155":[2,71]},{"1":[2,72],"3":[2,72],"26":[2,72],"27":[2,72],"44":[2,72],"48":[2,72],"56":[2,72],"58":[2,72],"66":[2,72],"67":[2,72],"68":[2,72],"69":[2,72],"72":[2,72],"73":[2,72],"74":[2,72],"75":[2,72],"78":[2,72],"81":[2,72],"84":[2,72],"86":[2,72],"88":[2,72],"92":[2,72],"100":[2,72],"103":[2,72],"104":[2,72],"105":[2,72],"108":[2,72],"110":[2,72],"117":[2,72],"120":[2,72],"123":[2,72],"124":[2,72],"126":[2,72],"127":[2,72],"130":[2,72],"131":[2,72],"132":[2,72],"133":[2,72],"134":[2,72],"135":[2,72],"136":[2,72],"137":[2,72],"138":[2,72],"139":[2,72],"140":[2,72],"141":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72],"152":[2,72],"153":[2,72],"154":[2,72],"155":[2,72]},{"1":[2,74],"3":[2,74],"26":[2,74],"27":[2,74],"44":[2,74],"48":[2,74],"56":[2,74],"58":[2,74],"66":[2,74],"67":[2,74],"68":[2,74],"69":[2,74],"72":[2,74],"73":[2,74],"74":[2,74],"75":[2,74],"78":[2,74],"81":[2,74],"84":[2,74],"86":[2,74],"88":[2,74],"92":[2,74],"100":[2,74],"103":[2,74],"104":[2,74],"105":[2,74],"108":[2,74],"110":[2,74],"117":[2,74],"120":[2,74],"123":[2,74],"124":[2,74],"126":[2,74],"127":[2,74],"130":[2,74],"131":[2,74],"132":[2,74],"133":[2,74],"134":[2,74],"135":[2,74],"136":[2,74],"137":[2,74],"138":[2,74],"139":[2,74],"140":[2,74],"141":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74],"152":[2,74],"153":[2,74],"154":[2,74],"155":[2,74]},{"3":[1,242],"27":[1,243],"56":[1,241],"88":[1,261]},{"3":[2,108],"27":[2,108],"48":[1,105],"56":[2,108],"58":[1,120],"88":[2,108],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"48":[1,105],"58":[1,263],"73":[1,262],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"48":[1,105],"58":[1,120],"75":[1,264],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"52":265,"53":[1,74],"54":[1,75]},{"55":266,"57":[1,143]},{"58":[1,267]},{"1":[2,117],"3":[2,117],"26":[2,117],"27":[2,117],"48":[2,117],"56":[2,117],"58":[2,117],"73":[2,117],"75":[2,117],"78":[2,117],"88":[2,117],"92":[2,117],"96":[1,268],"100":[2,117],"103":[2,117],"104":[2,117],"105":[2,117],"108":[2,117],"110":[2,117],"117":[2,117],"120":[2,117],"123":[2,117],"124":[2,117],"126":[2,117],"127":[2,117],"130":[2,117],"131":[2,117],"132":[2,117],"133":[2,117],"134":[2,117],"135":[2,117],"136":[2,117],"137":[2,117],"138":[2,117],"139":[2,117],"140":[2,117],"141":[2,117],"142":[2,117],"143":[2,117],"144":[2,117],"145":[2,117],"146":[2,117],"147":[2,117],"148":[2,117],"149":[2,117],"150":[2,117],"151":[2,117],"152":[2,117],"153":[2,117],"154":[2,117],"155":[2,117]},{"3":[1,145],"5":269,"26":[1,6]},{"28":270,"29":[1,57]},{"3":[1,145],"5":271,"26":[1,6],"104":[1,272],"110":[1,273]},{"6":274,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":275,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"28":276,"29":[1,57]},{"24":280,"47":[1,55],"112":277,"114":278,"115":[1,279]},{"7":281,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"59":28,"60":29,"61":30,"62":31,"63":32,"65":163,"76":[1,70],"90":[1,72],"91":[1,69],"99":[1,71]},{"1":[2,83],"3":[2,83],"26":[2,83],"27":[2,83],"48":[2,83],"56":[2,83],"58":[2,83],"73":[2,83],"75":[2,83],"78":[2,83],"88":[2,83],"92":[2,83],"100":[2,83],"103":[2,83],"104":[2,83],"105":[2,83],"108":[2,83],"110":[2,83],"117":[2,83],"120":[2,83],"123":[2,83],"124":[2,83],"126":[2,83],"127":[2,83],"130":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"134":[2,83],"135":[2,83],"136":[2,83],"137":[2,83],"138":[2,83],"139":[2,83],"140":[2,83],"141":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83],"152":[2,83],"153":[2,83],"154":[2,83],"155":[2,83]},{"1":[2,106],"3":[2,106],"26":[2,106],"27":[2,106],"44":[2,106],"48":[2,106],"56":[2,106],"58":[2,106],"66":[2,106],"67":[2,106],"68":[2,106],"69":[2,106],"72":[2,106],"73":[2,106],"74":[2,106],"75":[2,106],"78":[2,106],"81":[2,106],"84":[2,106],"86":[2,106],"88":[2,106],"92":[2,106],"100":[2,106],"103":[2,106],"104":[2,106],"105":[2,106],"108":[2,106],"110":[2,106],"117":[2,106],"120":[2,106],"123":[2,106],"124":[2,106],"126":[2,106],"127":[2,106],"130":[2,106],"131":[2,106],"132":[2,106],"133":[2,106],"134":[2,106],"135":[2,106],"136":[2,106],"137":[2,106],"138":[2,106],"139":[2,106],"140":[2,106],"141":[2,106],"142":[2,106],"143":[2,106],"144":[2,106],"145":[2,106],"146":[2,106],"147":[2,106],"148":[2,106],"149":[2,106],"150":[2,106],"151":[2,106],"152":[2,106],"153":[2,106],"154":[2,106],"155":[2,106]},{"3":[1,283],"6":282,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":[1,284],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":285,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[2,114],"27":[2,114],"56":[2,114],"88":[2,114],"92":[2,114]},{"58":[1,286]},{"3":[2,109],"27":[2,109],"48":[1,105],"56":[2,109],"58":[1,120],"88":[2,109],"92":[2,109],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,79],"3":[2,79],"26":[2,79],"27":[2,79],"44":[2,79],"48":[2,79],"56":[2,79],"58":[2,79],"66":[2,79],"67":[2,79],"68":[2,79],"69":[2,79],"72":[2,79],"73":[2,79],"74":[2,79],"75":[2,79],"78":[2,79],"81":[2,79],"84":[2,79],"86":[2,79],"88":[2,79],"92":[2,79],"100":[2,79],"103":[2,79],"104":[2,79],"105":[2,79],"108":[2,79],"110":[2,79],"117":[2,79],"120":[2,79],"123":[2,79],"124":[2,79],"126":[2,79],"127":[2,79],"130":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"134":[2,79],"135":[2,79],"136":[2,79],"137":[2,79],"138":[2,79],"139":[2,79],"140":[2,79],"141":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79],"152":[2,79],"153":[2,79],"154":[2,79],"155":[2,79]},{"3":[1,288],"24":173,"28":171,"29":[1,57],"30":172,"31":[1,78],"32":[1,79],"45":287,"47":[1,55]},{"24":173,"28":171,"29":[1,57],"30":172,"31":[1,78],"32":[1,79],"45":289,"47":[1,55]},{"1":[2,80],"3":[2,80],"26":[2,80],"27":[2,80],"44":[2,80],"48":[2,80],"56":[2,80],"58":[2,80],"66":[2,80],"67":[2,80],"68":[2,80],"69":[2,80],"72":[2,80],"73":[2,80],"74":[2,80],"75":[2,80],"78":[2,80],"81":[2,80],"84":[2,80],"86":[2,80],"88":[2,80],"92":[2,80],"100":[2,80],"103":[2,80],"104":[2,80],"105":[2,80],"108":[2,80],"110":[2,80],"117":[2,80],"120":[2,80],"123":[2,80],"124":[2,80],"126":[2,80],"127":[2,80],"130":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"134":[2,80],"135":[2,80],"136":[2,80],"137":[2,80],"138":[2,80],"139":[2,80],"140":[2,80],"141":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80],"152":[2,80],"153":[2,80],"154":[2,80],"155":[2,80]},{"3":[1,248],"27":[1,290],"56":[1,247]},{"6":291,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":292,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,122],"3":[2,122],"26":[2,122],"27":[2,122],"44":[2,122],"48":[2,122],"56":[2,122],"58":[2,122],"66":[2,122],"67":[2,122],"68":[2,122],"69":[2,122],"72":[2,122],"73":[2,122],"74":[2,122],"75":[2,122],"78":[2,122],"81":[2,122],"84":[2,122],"86":[2,122],"88":[2,122],"92":[2,122],"100":[2,122],"103":[2,122],"104":[2,122],"105":[2,122],"108":[2,122],"110":[2,122],"117":[2,122],"120":[2,122],"123":[2,122],"124":[2,122],"126":[2,122],"127":[2,122],"130":[2,122],"131":[2,122],"132":[2,122],"133":[2,122],"134":[2,122],"135":[2,122],"136":[2,122],"137":[2,122],"138":[2,122],"139":[2,122],"140":[2,122],"141":[2,122],"142":[2,122],"143":[2,122],"144":[2,122],"145":[2,122],"146":[2,122],"147":[2,122],"148":[2,122],"149":[2,122],"150":[2,122],"151":[2,122],"152":[2,122],"153":[2,122],"154":[2,122],"155":[2,122]},{"3":[1,242],"27":[1,243],"56":[1,241],"88":[1,293]},{"1":[2,146],"3":[2,146],"26":[2,146],"27":[2,146],"48":[2,146],"56":[2,146],"58":[2,146],"73":[2,146],"75":[2,146],"78":[2,146],"88":[2,146],"92":[2,146],"100":[2,146],"103":[2,146],"104":[2,146],"105":[2,146],"108":[2,146],"110":[2,146],"117":[2,146],"120":[2,146],"123":[2,146],"124":[2,146],"126":[2,146],"127":[2,146],"130":[2,146],"131":[2,146],"132":[2,146],"133":[2,146],"134":[2,146],"135":[2,146],"136":[2,146],"137":[2,146],"138":[2,146],"139":[2,146],"140":[2,146],"141":[2,146],"142":[2,146],"143":[2,146],"144":[2,146],"145":[2,146],"146":[2,146],"147":[2,146],"148":[2,146],"149":[2,146],"150":[2,146],"151":[2,146],"152":[2,146],"153":[2,146],"154":[2,146],"155":[2,146]},{"6":294,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":295,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,143],"3":[2,143],"26":[2,143],"27":[2,143],"48":[2,143],"56":[2,143],"58":[2,143],"73":[2,143],"75":[2,143],"78":[2,143],"88":[2,143],"92":[2,143],"100":[2,143],"103":[2,143],"104":[2,143],"105":[2,143],"108":[2,143],"110":[2,143],"113":[2,143],"117":[2,143],"120":[2,143],"123":[2,143],"124":[2,143],"126":[2,143],"127":[2,143],"130":[2,143],"131":[2,143],"132":[2,143],"133":[2,143],"134":[2,143],"135":[2,143],"136":[2,143],"137":[2,143],"138":[2,143],"139":[2,143],"140":[2,143],"141":[2,143],"142":[2,143],"143":[2,143],"144":[2,143],"145":[2,143],"146":[2,143],"147":[2,143],"148":[2,143],"149":[2,143],"150":[2,143],"151":[2,143],"152":[2,143],"153":[2,143],"154":[2,143],"155":[2,143]},{"1":[2,128],"3":[2,128],"26":[2,128],"27":[2,128],"48":[2,128],"56":[2,128],"58":[2,128],"73":[2,128],"75":[2,128],"78":[2,128],"88":[2,128],"92":[2,128],"100":[2,128],"103":[2,128],"104":[1,272],"105":[2,128],"108":[2,128],"110":[1,273],"117":[2,128],"120":[2,128],"123":[2,128],"124":[2,128],"126":[2,128],"127":[2,128],"130":[2,128],"131":[2,128],"132":[2,128],"133":[2,128],"134":[2,128],"135":[2,128],"136":[2,128],"137":[2,128],"138":[2,128],"139":[2,128],"140":[2,128],"141":[2,128],"142":[2,128],"143":[2,128],"144":[2,128],"145":[2,128],"146":[2,128],"147":[2,128],"148":[2,128],"149":[2,128],"150":[2,128],"151":[2,128],"152":[2,128],"153":[2,128],"154":[2,128],"155":[2,128]},{"1":[2,61],"3":[2,61],"26":[2,61],"27":[2,61],"48":[2,61],"56":[2,61],"58":[2,61],"73":[2,61],"75":[2,61],"78":[2,61],"88":[2,61],"92":[2,61],"100":[2,61],"103":[2,61],"104":[2,61],"105":[2,61],"108":[2,61],"110":[2,61],"117":[2,61],"120":[2,61],"123":[2,61],"124":[2,61],"126":[2,61],"127":[2,61],"130":[2,61],"131":[2,61],"132":[2,61],"133":[2,61],"134":[2,61],"135":[2,61],"136":[2,61],"137":[2,61],"138":[2,61],"139":[2,61],"140":[2,61],"141":[2,61],"142":[2,61],"143":[2,61],"144":[2,61],"145":[2,61],"146":[2,61],"147":[2,61],"148":[2,61],"149":[2,61],"150":[2,61],"151":[2,61],"152":[2,61],"153":[2,61],"154":[2,61],"155":[2,61]},{"1":[2,98],"3":[2,98],"26":[2,98],"27":[2,98],"48":[2,98],"56":[2,98],"58":[2,98],"66":[2,98],"67":[2,98],"68":[2,98],"69":[2,98],"72":[2,98],"73":[2,98],"74":[2,98],"75":[2,98],"78":[2,98],"86":[2,98],"88":[2,98],"92":[2,98],"100":[2,98],"103":[2,98],"104":[2,98],"105":[2,98],"108":[2,98],"110":[2,98],"117":[2,98],"120":[2,98],"123":[2,98],"124":[2,98],"126":[2,98],"127":[2,98],"130":[2,98],"131":[2,98],"132":[2,98],"133":[2,98],"134":[2,98],"135":[2,98],"136":[2,98],"137":[2,98],"138":[2,98],"139":[2,98],"140":[2,98],"141":[2,98],"142":[2,98],"143":[2,98],"144":[2,98],"145":[2,98],"146":[2,98],"147":[2,98],"148":[2,98],"149":[2,98],"150":[2,98],"151":[2,98],"152":[2,98],"153":[2,98],"154":[2,98],"155":[2,98]},{"1":[2,77],"3":[2,77],"26":[2,77],"27":[2,77],"44":[2,77],"48":[2,77],"56":[2,77],"58":[2,77],"66":[2,77],"67":[2,77],"68":[2,77],"69":[2,77],"72":[2,77],"73":[2,77],"74":[2,77],"75":[2,77],"78":[2,77],"81":[2,77],"84":[2,77],"86":[2,77],"88":[2,77],"92":[2,77],"100":[2,77],"103":[2,77],"104":[2,77],"105":[2,77],"108":[2,77],"110":[2,77],"117":[2,77],"120":[2,77],"123":[2,77],"124":[2,77],"126":[2,77],"127":[2,77],"130":[2,77],"131":[2,77],"132":[2,77],"133":[2,77],"134":[2,77],"135":[2,77],"136":[2,77],"137":[2,77],"138":[2,77],"139":[2,77],"140":[2,77],"141":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77],"152":[2,77],"153":[2,77],"154":[2,77],"155":[2,77]},{"58":[1,296]},{"1":[2,78],"3":[2,78],"26":[2,78],"27":[2,78],"44":[2,78],"48":[2,78],"56":[2,78],"58":[2,78],"66":[2,78],"67":[2,78],"68":[2,78],"69":[2,78],"72":[2,78],"73":[2,78],"74":[2,78],"75":[2,78],"78":[2,78],"81":[2,78],"84":[2,78],"86":[2,78],"88":[2,78],"92":[2,78],"100":[2,78],"103":[2,78],"104":[2,78],"105":[2,78],"108":[2,78],"110":[2,78],"117":[2,78],"120":[2,78],"123":[2,78],"124":[2,78],"126":[2,78],"127":[2,78],"130":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"134":[2,78],"135":[2,78],"136":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78]},{"3":[1,145],"5":297,"26":[1,6]},{"51":[2,58],"56":[2,58],"58":[1,229]},{"58":[1,298]},{"3":[1,145],"5":299,"26":[1,6]},{"1":[2,118],"3":[2,118],"26":[2,118],"27":[2,118],"48":[2,118],"56":[2,118],"58":[2,118],"73":[2,118],"75":[2,118],"78":[2,118],"88":[2,118],"92":[2,118],"100":[2,118],"103":[2,118],"104":[2,118],"105":[2,118],"108":[2,118],"110":[2,118],"117":[2,118],"120":[2,118],"123":[2,118],"124":[2,118],"126":[2,118],"127":[2,118],"130":[2,118],"131":[2,118],"132":[2,118],"133":[2,118],"134":[2,118],"135":[2,118],"136":[2,118],"137":[2,118],"138":[2,118],"139":[2,118],"140":[2,118],"141":[2,118],"142":[2,118],"143":[2,118],"144":[2,118],"145":[2,118],"146":[2,118],"147":[2,118],"148":[2,118],"149":[2,118],"150":[2,118],"151":[2,118],"152":[2,118],"153":[2,118],"154":[2,118],"155":[2,118]},{"3":[1,145],"5":300,"26":[1,6]},{"1":[2,129],"3":[2,129],"26":[2,129],"27":[2,129],"48":[2,129],"56":[2,129],"58":[2,129],"73":[2,129],"75":[2,129],"78":[2,129],"88":[2,129],"92":[2,129],"100":[2,129],"103":[2,129],"104":[2,129],"105":[2,129],"108":[2,129],"110":[2,129],"117":[2,129],"120":[2,129],"123":[2,129],"124":[2,129],"126":[2,129],"127":[2,129],"130":[2,129],"131":[2,129],"132":[2,129],"133":[2,129],"134":[2,129],"135":[2,129],"136":[2,129],"137":[2,129],"138":[2,129],"139":[2,129],"140":[2,129],"141":[2,129],"142":[2,129],"143":[2,129],"144":[2,129],"145":[2,129],"146":[2,129],"147":[2,129],"148":[2,129],"149":[2,129],"150":[2,129],"151":[2,129],"152":[2,129],"153":[2,129],"154":[2,129],"155":[2,129]},{"6":301,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":302,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,132],"3":[2,132],"26":[2,132],"27":[2,132],"48":[1,105],"56":[2,132],"58":[1,120],"73":[2,132],"75":[2,132],"78":[2,132],"88":[2,132],"92":[2,132],"100":[2,132],"102":118,"103":[2,132],"104":[2,132],"105":[2,132],"108":[1,115],"110":[2,132],"117":[2,132],"120":[2,132],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,133],"3":[2,133],"26":[2,133],"27":[2,133],"48":[1,105],"56":[2,133],"58":[1,120],"73":[2,133],"75":[2,133],"78":[2,133],"88":[2,133],"92":[2,133],"100":[2,133],"102":118,"103":[2,133],"104":[2,133],"105":[2,133],"108":[1,115],"110":[2,133],"117":[2,133],"120":[2,133],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"108":[2,131],"109":[2,131]},{"24":280,"27":[1,303],"47":[1,55],"113":[1,304],"114":305,"115":[1,279]},{"27":[2,138],"47":[2,138],"113":[2,138],"115":[2,138]},{"6":307,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"93":306,"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[1,308]},{"1":[2,82],"3":[2,82],"26":[1,170],"27":[2,82],"48":[2,82],"56":[2,82],"58":[2,82],"64":123,"66":[1,128],"67":[1,129],"68":[1,130],"69":[1,131],"70":132,"71":133,"72":[1,135],"73":[2,82],"74":[1,136],"75":[2,82],"78":[2,82],"79":309,"85":127,"86":[1,134],"88":[2,82],"92":[2,82],"100":[2,82],"103":[2,82],"104":[2,82],"105":[2,82],"108":[2,82],"110":[2,82],"117":[2,82],"120":[2,82],"123":[2,82],"124":[2,82],"126":[2,82],"127":[2,82],"130":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"134":[2,82],"135":[2,82],"136":[2,82],"137":[2,82],"138":[2,82],"139":[2,82],"140":[2,82],"141":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82],"152":[2,82],"153":[2,82],"154":[2,82],"155":[2,82]},{"3":[2,110],"27":[2,110],"48":[1,105],"56":[2,110],"58":[1,120],"88":[2,110],"92":[2,110],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"6":310,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"6":311,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[2,111],"27":[2,111],"48":[1,105],"56":[2,111],"58":[1,120],"88":[2,111],"92":[2,111],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"6":312,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"58":[1,313],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"3":[2,87],"27":[2,87],"56":[2,87],"78":[2,87]},{"24":173,"28":171,"29":[1,57],"30":172,"31":[1,78],"32":[1,79],"45":314,"47":[1,55]},{"3":[2,88],"27":[2,88],"56":[2,88],"78":[2,88]},{"1":[2,90],"3":[2,90],"26":[2,90],"27":[2,90],"48":[2,90],"56":[2,90],"58":[2,90],"73":[2,90],"75":[2,90],"78":[2,90],"88":[2,90],"92":[2,90],"100":[2,90],"103":[2,90],"104":[2,90],"105":[2,90],"108":[2,90],"110":[2,90],"117":[2,90],"120":[2,90],"123":[2,90],"124":[2,90],"126":[2,90],"127":[2,90],"130":[2,90],"131":[2,90],"132":[2,90],"133":[2,90],"134":[2,90],"135":[2,90],"136":[2,90],"137":[2,90],"138":[2,90],"139":[2,90],"140":[2,90],"141":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90],"152":[2,90],"153":[2,90],"154":[2,90],"155":[2,90]},{"3":[2,45],"27":[2,45],"48":[1,105],"56":[2,45],"58":[1,120],"78":[2,45],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"3":[2,46],"27":[2,46],"48":[1,105],"56":[2,46],"58":[1,120],"78":[2,46],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,99],"3":[2,99],"26":[2,99],"27":[2,99],"48":[2,99],"56":[2,99],"58":[2,99],"73":[2,99],"75":[2,99],"78":[2,99],"88":[2,99],"92":[2,99],"100":[2,99],"103":[2,99],"104":[2,99],"105":[2,99],"108":[2,99],"110":[2,99],"117":[2,99],"120":[2,99],"123":[2,99],"124":[2,99],"126":[2,99],"127":[2,99],"130":[2,99],"131":[2,99],"132":[2,99],"133":[2,99],"134":[2,99],"135":[2,99],"136":[2,99],"137":[2,99],"138":[2,99],"139":[2,99],"140":[2,99],"141":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"150":[2,99],"151":[2,99],"152":[2,99],"153":[2,99],"154":[2,99],"155":[2,99]},{"3":[1,145],"5":315,"26":[1,6],"48":[1,105],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,125],"3":[2,125],"26":[2,125],"27":[2,125],"48":[1,105],"56":[2,125],"58":[1,120],"73":[2,125],"75":[2,125],"78":[2,125],"88":[2,125],"92":[2,125],"100":[2,125],"102":118,"103":[1,77],"104":[2,125],"105":[1,119],"108":[1,115],"110":[2,125],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"6":316,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"58":[1,317],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"1":[2,52],"3":[2,52],"26":[2,52],"27":[2,52],"48":[2,52],"56":[2,52],"58":[2,52],"73":[2,52],"75":[2,52],"78":[2,52],"88":[2,52],"92":[2,52],"100":[2,52],"103":[2,52],"104":[2,52],"105":[2,52],"108":[2,52],"110":[2,52],"117":[2,52],"120":[2,52],"123":[2,52],"124":[2,52],"126":[2,52],"127":[2,52],"130":[2,52],"131":[2,52],"132":[2,52],"133":[2,52],"134":[2,52],"135":[2,52],"136":[2,52],"137":[2,52],"138":[2,52],"139":[2,52],"140":[2,52],"141":[2,52],"142":[2,52],"143":[2,52],"144":[2,52],"145":[2,52],"146":[2,52],"147":[2,52],"148":[2,52],"149":[2,52],"150":[2,52],"151":[2,52],"152":[2,52],"153":[2,52],"154":[2,52],"155":[2,52]},{"51":[2,60],"56":[2,60],"58":[2,60]},{"1":[2,119],"3":[2,119],"26":[2,119],"27":[2,119],"48":[2,119],"56":[2,119],"58":[2,119],"73":[2,119],"75":[2,119],"78":[2,119],"88":[2,119],"92":[2,119],"100":[2,119],"103":[2,119],"104":[2,119],"105":[2,119],"108":[2,119],"110":[2,119],"117":[2,119],"120":[2,119],"123":[2,119],"124":[2,119],"126":[2,119],"127":[2,119],"130":[2,119],"131":[2,119],"132":[2,119],"133":[2,119],"134":[2,119],"135":[2,119],"136":[2,119],"137":[2,119],"138":[2,119],"139":[2,119],"140":[2,119],"141":[2,119],"142":[2,119],"143":[2,119],"144":[2,119],"145":[2,119],"146":[2,119],"147":[2,119],"148":[2,119],"149":[2,119],"150":[2,119],"151":[2,119],"152":[2,119],"153":[2,119],"154":[2,119],"155":[2,119]},{"1":[2,120],"3":[2,120],"26":[2,120],"27":[2,120],"48":[2,120],"56":[2,120],"58":[2,120],"73":[2,120],"75":[2,120],"78":[2,120],"88":[2,120],"92":[2,120],"96":[2,120],"100":[2,120],"103":[2,120],"104":[2,120],"105":[2,120],"108":[2,120],"110":[2,120],"117":[2,120],"120":[2,120],"123":[2,120],"124":[2,120],"126":[2,120],"127":[2,120],"130":[2,120],"131":[2,120],"132":[2,120],"133":[2,120],"134":[2,120],"135":[2,120],"136":[2,120],"137":[2,120],"138":[2,120],"139":[2,120],"140":[2,120],"141":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"150":[2,120],"151":[2,120],"152":[2,120],"153":[2,120],"154":[2,120],"155":[2,120]},{"1":[2,134],"3":[2,134],"26":[2,134],"27":[2,134],"48":[1,105],"56":[2,134],"58":[1,120],"73":[2,134],"75":[2,134],"78":[2,134],"88":[2,134],"92":[2,134],"100":[2,134],"102":118,"103":[2,134],"104":[2,134],"105":[2,134],"108":[1,115],"110":[2,134],"117":[2,134],"120":[2,134],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,135],"3":[2,135],"26":[2,135],"27":[2,135],"48":[1,105],"56":[2,135],"58":[1,120],"73":[2,135],"75":[2,135],"78":[2,135],"88":[2,135],"92":[2,135],"100":[2,135],"102":118,"103":[2,135],"104":[2,135],"105":[2,135],"108":[1,115],"110":[2,135],"117":[2,135],"120":[2,135],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,136],"3":[2,136],"26":[2,136],"27":[2,136],"48":[2,136],"56":[2,136],"58":[2,136],"73":[2,136],"75":[2,136],"78":[2,136],"88":[2,136],"92":[2,136],"100":[2,136],"103":[2,136],"104":[2,136],"105":[2,136],"108":[2,136],"110":[2,136],"117":[2,136],"120":[2,136],"123":[2,136],"124":[2,136],"126":[2,136],"127":[2,136],"130":[2,136],"131":[2,136],"132":[2,136],"133":[2,136],"134":[2,136],"135":[2,136],"136":[2,136],"137":[2,136],"138":[2,136],"139":[2,136],"140":[2,136],"141":[2,136],"142":[2,136],"143":[2,136],"144":[2,136],"145":[2,136],"146":[2,136],"147":[2,136],"148":[2,136],"149":[2,136],"150":[2,136],"151":[2,136],"152":[2,136],"153":[2,136],"154":[2,136],"155":[2,136]},{"3":[1,145],"5":318,"26":[1,6]},{"27":[2,139],"47":[2,139],"113":[2,139],"115":[2,139]},{"3":[1,145],"5":319,"26":[1,6],"56":[1,320]},{"3":[2,115],"26":[2,115],"48":[1,105],"56":[2,115],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"24":280,"47":[1,55],"114":321,"115":[1,279]},{"1":[2,84],"3":[2,84],"26":[2,84],"27":[2,84],"48":[2,84],"56":[2,84],"58":[2,84],"73":[2,84],"75":[2,84],"78":[2,84],"88":[2,84],"92":[2,84],"100":[2,84],"103":[2,84],"104":[2,84],"105":[2,84],"108":[2,84],"110":[2,84],"117":[2,84],"120":[2,84],"123":[2,84],"124":[2,84],"126":[2,84],"127":[2,84],"130":[2,84],"131":[2,84],"132":[2,84],"133":[2,84],"134":[2,84],"135":[2,84],"136":[2,84],"137":[2,84],"138":[2,84],"139":[2,84],"140":[2,84],"141":[2,84],"142":[2,84],"143":[2,84],"144":[2,84],"145":[2,84],"146":[2,84],"147":[2,84],"148":[2,84],"149":[2,84],"150":[2,84],"151":[2,84],"152":[2,84],"153":[2,84],"154":[2,84],"155":[2,84]},{"3":[2,112],"27":[2,112],"48":[1,105],"56":[2,112],"58":[1,120],"88":[2,112],"92":[2,112],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"3":[2,113],"27":[2,113],"48":[1,105],"56":[2,113],"58":[1,120],"88":[2,113],"92":[2,113],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"48":[1,105],"58":[1,120],"92":[1,322],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"3":[2,61],"6":323,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"27":[2,61],"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"48":[2,61],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"56":[2,61],"58":[2,61],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"92":[2,61],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[2,61],"105":[2,61],"108":[2,61],"111":[1,53],"116":76,"117":[2,61],"119":47,"120":[2,61],"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46],"130":[2,61],"131":[2,61],"132":[2,61],"133":[2,61],"134":[2,61],"135":[2,61],"136":[2,61],"137":[2,61],"138":[2,61],"139":[2,61],"140":[2,61],"141":[2,61],"142":[2,61],"143":[2,61],"144":[2,61],"145":[2,61],"146":[2,61],"147":[2,61],"148":[2,61],"149":[2,61],"150":[2,61],"151":[2,61],"152":[2,61],"153":[2,61],"154":[2,61],"155":[2,61]},{"3":[2,89],"27":[2,89],"56":[2,89],"78":[2,89]},{"1":[2,147],"3":[2,147],"26":[2,147],"27":[2,147],"48":[2,147],"56":[2,147],"58":[2,147],"73":[2,147],"75":[2,147],"78":[2,147],"88":[2,147],"92":[2,147],"100":[2,147],"103":[2,147],"104":[2,147],"105":[2,147],"108":[2,147],"110":[2,147],"113":[2,147],"117":[2,147],"120":[2,147],"123":[2,147],"124":[2,147],"126":[2,147],"127":[2,147],"130":[2,147],"131":[2,147],"132":[2,147],"133":[2,147],"134":[2,147],"135":[2,147],"136":[2,147],"137":[2,147],"138":[2,147],"139":[2,147],"140":[2,147],"141":[2,147],"142":[2,147],"143":[2,147],"144":[2,147],"145":[2,147],"146":[2,147],"147":[2,147],"148":[2,147],"149":[2,147],"150":[2,147],"151":[2,147],"152":[2,147],"153":[2,147],"154":[2,147],"155":[2,147]},{"48":[1,105],"58":[1,120],"73":[1,324],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"6":325,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"48":[2,61],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"58":[2,61],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"73":[2,61],"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[2,61],"105":[2,61],"108":[2,61],"111":[1,53],"116":76,"117":[2,61],"119":47,"120":[2,61],"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46],"130":[2,61],"131":[2,61],"132":[2,61],"133":[2,61],"134":[2,61],"135":[2,61],"136":[2,61],"137":[2,61],"138":[2,61],"139":[2,61],"140":[2,61],"141":[2,61],"142":[2,61],"143":[2,61],"144":[2,61],"145":[2,61],"146":[2,61],"147":[2,61],"148":[2,61],"149":[2,61],"150":[2,61],"151":[2,61],"152":[2,61],"153":[2,61],"154":[2,61],"155":[2,61]},{"27":[1,326]},{"3":[1,327],"27":[2,140],"47":[2,140],"113":[2,140],"115":[2,140]},{"6":328,"7":7,"8":8,"9":9,"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":26,"29":[1,57],"30":58,"31":[1,78],"32":[1,79],"33":27,"34":[1,59],"35":[1,60],"36":[1,61],"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"46":[1,50],"47":[1,55],"49":[1,36],"52":37,"53":[1,74],"54":[1,75],"59":28,"60":29,"61":30,"62":31,"63":32,"65":33,"76":[1,70],"80":[1,54],"82":[1,34],"83":35,"89":[1,73],"90":[1,72],"91":[1,69],"94":[1,48],"98":[1,49],"99":[1,71],"101":[1,56],"102":51,"103":[1,77],"105":[1,52],"111":[1,53],"116":76,"117":[1,80],"119":47,"121":[1,38],"122":[1,39],"123":[1,40],"124":[1,41],"125":[1,42],"126":[1,43],"127":[1,44],"128":[1,45],"129":[1,46]},{"27":[2,142],"47":[2,142],"113":[2,142],"115":[2,142]},{"1":[2,102],"3":[2,102],"26":[2,102],"27":[2,102],"44":[2,102],"48":[2,102],"56":[2,102],"58":[2,102],"66":[2,102],"67":[2,102],"68":[2,102],"69":[2,102],"72":[2,102],"73":[2,102],"74":[2,102],"75":[2,102],"78":[2,102],"81":[2,102],"84":[2,102],"86":[2,102],"88":[2,102],"92":[2,102],"100":[2,102],"103":[2,102],"104":[2,102],"105":[2,102],"108":[2,102],"110":[2,102],"117":[2,102],"120":[2,102],"123":[2,102],"124":[2,102],"126":[2,102],"127":[2,102],"130":[2,102],"131":[2,102],"132":[2,102],"133":[2,102],"134":[2,102],"135":[2,102],"136":[2,102],"137":[2,102],"138":[2,102],"139":[2,102],"140":[2,102],"141":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"150":[2,102],"151":[2,102],"152":[2,102],"153":[2,102],"154":[2,102],"155":[2,102]},{"48":[1,105],"58":[1,120],"92":[1,329],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,104],"3":[2,104],"26":[2,104],"27":[2,104],"44":[2,104],"48":[2,104],"56":[2,104],"58":[2,104],"66":[2,104],"67":[2,104],"68":[2,104],"69":[2,104],"72":[2,104],"73":[2,104],"74":[2,104],"75":[2,104],"78":[2,104],"81":[2,104],"84":[2,104],"86":[2,104],"88":[2,104],"92":[2,104],"100":[2,104],"103":[2,104],"104":[2,104],"105":[2,104],"108":[2,104],"110":[2,104],"117":[2,104],"120":[2,104],"123":[2,104],"124":[2,104],"126":[2,104],"127":[2,104],"130":[2,104],"131":[2,104],"132":[2,104],"133":[2,104],"134":[2,104],"135":[2,104],"136":[2,104],"137":[2,104],"138":[2,104],"139":[2,104],"140":[2,104],"141":[2,104],"142":[2,104],"143":[2,104],"144":[2,104],"145":[2,104],"146":[2,104],"147":[2,104],"148":[2,104],"149":[2,104],"150":[2,104],"151":[2,104],"152":[2,104],"153":[2,104],"154":[2,104],"155":[2,104]},{"48":[1,105],"58":[1,120],"73":[1,330],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,137],"3":[2,137],"26":[2,137],"27":[2,137],"48":[2,137],"56":[2,137],"58":[2,137],"73":[2,137],"75":[2,137],"78":[2,137],"88":[2,137],"92":[2,137],"100":[2,137],"103":[2,137],"104":[2,137],"105":[2,137],"108":[2,137],"110":[2,137],"117":[2,137],"120":[2,137],"123":[2,137],"124":[2,137],"126":[2,137],"127":[2,137],"130":[2,137],"131":[2,137],"132":[2,137],"133":[2,137],"134":[2,137],"135":[2,137],"136":[2,137],"137":[2,137],"138":[2,137],"139":[2,137],"140":[2,137],"141":[2,137],"142":[2,137],"143":[2,137],"144":[2,137],"145":[2,137],"146":[2,137],"147":[2,137],"148":[2,137],"149":[2,137],"150":[2,137],"151":[2,137],"152":[2,137],"153":[2,137],"154":[2,137],"155":[2,137]},{"27":[2,141],"47":[2,141],"113":[2,141],"115":[2,141]},{"3":[2,116],"26":[2,116],"48":[1,105],"56":[2,116],"58":[1,120],"102":118,"103":[1,77],"105":[1,119],"108":[1,115],"117":[1,116],"120":[1,117],"123":[1,90],"124":[1,89],"126":[1,84],"127":[1,85],"130":[1,86],"131":[1,87],"132":[1,88],"133":[1,91],"134":[1,92],"135":[1,93],"136":[1,94],"137":[1,95],"138":[1,96],"139":[1,97],"140":[1,98],"141":[1,99],"142":[1,100],"143":[1,101],"144":[1,102],"145":[1,103],"146":[1,104],"147":[1,106],"148":[1,107],"149":[1,108],"150":[1,109],"151":[1,110],"152":[1,111],"153":[1,112],"154":[1,113],"155":[1,114]},{"1":[2,103],"3":[2,103],"26":[2,103],"27":[2,103],"44":[2,103],"48":[2,103],"56":[2,103],"58":[2,103],"66":[2,103],"67":[2,103],"68":[2,103],"69":[2,103],"72":[2,103],"73":[2,103],"74":[2,103],"75":[2,103],"78":[2,103],"81":[2,103],"84":[2,103],"86":[2,103],"88":[2,103],"92":[2,103],"100":[2,103],"103":[2,103],"104":[2,103],"105":[2,103],"108":[2,103],"110":[2,103],"117":[2,103],"120":[2,103],"123":[2,103],"124":[2,103],"126":[2,103],"127":[2,103],"130":[2,103],"131":[2,103],"132":[2,103],"133":[2,103],"134":[2,103],"135":[2,103],"136":[2,103],"137":[2,103],"138":[2,103],"139":[2,103],"140":[2,103],"141":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"150":[2,103],"151":[2,103],"152":[2,103],"153":[2,103],"154":[2,103],"155":[2,103]},{"1":[2,105],"3":[2,105],"26":[2,105],"27":[2,105],"44":[2,105],"48":[2,105],"56":[2,105],"58":[2,105],"66":[2,105],"67":[2,105],"68":[2,105],"69":[2,105],"72":[2,105],"73":[2,105],"74":[2,105],"75":[2,105],"78":[2,105],"81":[2,105],"84":[2,105],"86":[2,105],"88":[2,105],"92":[2,105],"100":[2,105],"103":[2,105],"104":[2,105],"105":[2,105],"108":[2,105],"110":[2,105],"117":[2,105],"120":[2,105],"123":[2,105],"124":[2,105],"126":[2,105],"127":[2,105],"130":[2,105],"131":[2,105],"132":[2,105],"133":[2,105],"134":[2,105],"135":[2,105],"136":[2,105],"137":[2,105],"138":[2,105],"139":[2,105],"140":[2,105],"141":[2,105],"142":[2,105],"143":[2,105],"144":[2,105],"145":[2,105],"146":[2,105],"147":[2,105],"148":[2,105],"149":[2,105],"150":[2,105],"151":[2,105],"152":[2,105],"153":[2,105],"154":[2,105],"155":[2,105]}],parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0;this.lexer.setInput(input);this.lexer.yy=this.yy;var parseError=this.yy.parseError=this.yy.parseError||this.parseError;function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]}return token}var symbol,state,action,a,r,yyval={},p,len,ip=0,newState,expected;symbol=lex();while(true){state=stack[stack.length-1];action=table[state]&&table[state][symbol];if(typeof action==="undefined"||!action.length||!action[0]){expected=[];for(p in table[state]){if(this.terminals_[p]&&p!=1){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError("Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol],line:this.lexer.yylineno,expected:expected})}else{parseError("Parse error on line "+(yylineno+1)+": Unexpected '"+this.terminals_[symbol]+"'",{text:this.lexer.match,token:this.terminals_[symbol],line:this.lexer.yylineno,expected:expected})}}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);++ip;yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex();vstack.push(null);stack.push(a[1]);break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){var cwd=require("file").path(require("file").cwd());if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}var source=cwd.join(args[1]).read({charset:"utf-8"});this.parse(source)};if(require.main===module){exports.main(require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!((typeof process!=="undefined"&&process!==null))){this.exports=this}exports.Scope=(function(){Scope=function Scope(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};this.temp_var=this.parent?this.parent.temp_var:"_a";return this};Scope.prototype.find=function find(name){if(this.check(name)){return true}this.variables[name]="var";return false};Scope.prototype.parameter=function parameter(name){this.variables[name]="param";return this.variables[name]};Scope.prototype.check=function check(name){if(this.variables[name]){return true}return !!(this.parent&&this.parent.check(name))};Scope.prototype.free_variable=function free_variable(){var ordinal;while(this.check(this.temp_var)){ordinal=1+parseInt(this.temp_var.substr(1),36);this.temp_var="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.temp_var]="var";return this.temp_var};Scope.prototype.assign=function assign(name,value,top_level){if(top_level&&this.parent){return this.parent.assign(name,value,top_level)}this.variables[name]={value:value,assigned:true};return this.variables[name]};Scope.prototype.has_declarations=function has_declarations(body){return body===this.expressions&&this.declared_variables().length};Scope.prototype.has_assignments=function has_assignments(body){return body===this.expressions&&this.assigned_variables().length};Scope.prototype.declared_variables=function declared_variables(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];val==="var"?_a.push(key):null}}return _a}).call(this).sort()};Scope.prototype.assigned_variables=function assigned_variables(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(__hasProp.call(_b,key)){val=_b[key];val.assigned?_a.push(""+key+" = "+(val.value)):null}}return _a};Scope.prototype.compiled_declarations=function compiled_declarations(){return this.declared_variables().join(", ")};Scope.prototype.compiled_assignments=function compiled_assignments(){return this.assigned_variables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,CurryNode,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IfNode,IndexNode,LiteralNode,ObjectNode,OpNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,Scope,SliceNode,SplatNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,ValueNode,WhileNode,compact,del,flatten,helpers,literal,merge,statement;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.__superClass__=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child};if((typeof process!=="undefined"&&process!==null)){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}compact=helpers.compact;flatten=helpers.flatten;merge=helpers.merge;del=helpers.del;statement=function statement(klass,only){klass.prototype.is_statement=function is_statement(){return true};if(only){klass.prototype.is_pure_statement=function is_pure_statement(){return true};return klass.prototype.is_pure_statement}};exports.BaseNode=(function(){BaseNode=function BaseNode(){};BaseNode.prototype.compile=function compile(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof ValueNode)){del(this.options,"operation")}top=this.top_sensitive()?this.options.top:del(this.options,"top");closure=this.is_statement()&&!this.is_pure_statement()&&!top&&!this.options.as_statement&&!(this instanceof CommentNode)&&!this.contains_pure_statement();if(closure){return this.compile_closure(this.options)}else{return this.compile_node(this.options)}};BaseNode.prototype.compile_closure=function compile_closure(o){this.tab=o.indent;o.shared_scope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compile_reference=function compile_reference(o){var compiled,reference;reference=literal(o.scope.free_variable());compiled=new AssignNode(reference,this);return[compiled,reference]};BaseNode.prototype.idt=function idt(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.make_return=function make_return(){return new ReturnNode(this)};BaseNode.prototype.contains=function contains(block){var _a,_b,_c,node;_a=this.children;for(_b=0,_c=_a.length;_b<_c;_b++){node=_a[_b];if(block(node)){return true}if(node.contains&&node.contains(block)){return true}}return false};BaseNode.prototype.contains_pure_statement=function contains_pure_statement(){return this.is_pure_statement()||this.contains(function(n){return n.is_pure_statement()})};BaseNode.prototype.traverse=function traverse(block){var _a,_b,_c,_d,node;_a=[];_b=this.children;for(_c=0,_d=_b.length;_c<_d;_c++){node=_b[_c];_a.push((function(){block(node);if(node.traverse){return node.traverse(block)}}).call(this))}return _a};BaseNode.prototype.toString=function toString(idt){var _a,_b,_c,_d,child;idt=idt||"";return"\n"+idt+this.type+(function(){_a=[];_b=this.children;for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.toString(idt+TAB))}return _a}).call(this).join("")};BaseNode.prototype.unwrap=function unwrap(){return this};BaseNode.prototype.children=[];BaseNode.prototype.is_statement=function is_statement(){return false};BaseNode.prototype.is_pure_statement=function is_pure_statement(){return false};BaseNode.prototype.top_sensitive=function top_sensitive(){return false};return BaseNode}).call(this);exports.Expressions=(function(){Expressions=function Expressions(nodes){this.children=(this.expressions=compact(flatten(nodes||[])));return this};__extends(Expressions,BaseNode);Expressions.prototype.type="Expressions";Expressions.prototype.push=function push(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function unshift(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function unwrap(){if(this.expressions.length===1){return this.expressions[0]}else{return this}};Expressions.prototype.empty=function empty(){return this.expressions.length===0};Expressions.prototype.copy=function copy(){return new Expressions(this.children.slice())};Expressions.prototype.make_return=function make_return(){var idx,last;idx=this.expressions.length-1;last=this.expressions[idx];if(last instanceof CommentNode){last=this.expressions[idx-=1]}if(!last||last instanceof ReturnNode){return this}if(!(last.contains_pure_statement())){this.expressions[idx]=last.make_return()}return this};Expressions.prototype.compile=function compile(o){o=o||{};if(o.scope){return Expressions.__superClass__.compile.call(this,o)}else{return this.compile_root(o)}};Expressions.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,node;return(function(){_a=[];_b=this.expressions;for(_c=0,_d=_b.length;_c<_d;_c++){node=_b[_c];_a.push(this.compile_expression(node,merge(o)))}return _a}).call(this).join("\n")};Expressions.prototype.compile_root=function compile_root(o){var code;o.indent=(this.tab=o.no_wrap?"":TAB);o.scope=new Scope(null,this,null);code=o.globals?this.compile_node(o):this.compile_with_declarations(o);code=code.replace(TRAILING_WHITESPACE,"");if(o.no_wrap){return code}else{return"(function(){\n"+code+"\n})();\n"}};Expressions.prototype.compile_with_declarations=function compile_with_declarations(o){var code;code=this.compile_node(o);if(o.scope.has_assignments(this)){code=""+(this.tab)+"var "+(o.scope.compiled_assignments())+";\n"+code}if(o.scope.has_declarations(this)){code=""+(this.tab)+"var "+(o.scope.compiled_declarations())+";\n"+code}return code};Expressions.prototype.compile_expression=function compile_expression(node,o){var compiled_node;this.tab=o.indent;compiled_node=node.compile(merge(o,{top:true}));if(node.is_statement()){return compiled_node}else{return""+(this.idt())+compiled_node+";"}};return Expressions}).call(this);Expressions.wrap=function wrap(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};statement(Expressions);exports.LiteralNode=(function(){LiteralNode=function LiteralNode(value){this.value=value;return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype.type="Literal";LiteralNode.prototype.is_statement=function is_statement(){return this.value==="break"||this.value==="continue"};LiteralNode.prototype.is_pure_statement=LiteralNode.prototype.is_statement;LiteralNode.prototype.compile_node=function compile_node(o){var end,idt;idt=this.is_statement()?this.idt():"";end=this.is_statement()?";":"";return""+idt+this.value+end};LiteralNode.prototype.toString=function toString(idt){return' "'+this.value+'"'};return LiteralNode}).call(this);exports.ReturnNode=(function(){ReturnNode=function ReturnNode(expression){this.children=[(this.expression=expression)];return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype.type="Return";ReturnNode.prototype.compile_node=function compile_node(o){if(this.expression.is_statement()){o.as_statement=true}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode}).call(this);statement(ReturnNode,true);exports.ValueNode=(function(){ValueNode=function ValueNode(base,properties){this.children=flatten([(this.base=base),(this.properties=(properties||[]))]);return this};__extends(ValueNode,BaseNode);ValueNode.prototype.type="Value";ValueNode.prototype.SOAK=" == undefined ? undefined : ";ValueNode.prototype.push=function push(prop){this.properties.push(prop);this.children.push(prop);return this};ValueNode.prototype.has_properties=function has_properties(){return !!this.properties.length};ValueNode.prototype.is_array=function is_array(){return this.base instanceof ArrayNode&&!this.has_properties()};ValueNode.prototype.is_object=function is_object(){return this.base instanceof ObjectNode&&!this.has_properties()};ValueNode.prototype.is_splice=function is_splice(){return this.has_properties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.make_return=function make_return(){if(this.has_properties()){return ValueNode.__superClass__.make_return.call(this)}else{return this.base.make_return()}};ValueNode.prototype.unwrap=function unwrap(){if(this.properties.length){return this}else{return this.base}};ValueNode.prototype.is_statement=function is_statement(){return this.base.is_statement&&this.base.is_statement()&&!this.has_properties()};ValueNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,baseline,complete,only,op,part,prop,props,soaked,temp;soaked=false;only=del(o,"only_first");op=del(o,"operation");props=only?this.properties.slice(0,this.properties.length-1):this.properties;baseline=this.base.compile(o);if(this.base instanceof ObjectNode&&this.has_properties()){baseline="("+baseline+")"}complete=(this.last=baseline);_a=props;for(_b=0,_c=_a.length;_b<_c;_b++){prop=_a[_b];this.source=baseline;if(prop.soak_node){soaked=true;if(this.base instanceof CallNode&&prop===props[0]){temp=o.scope.free_variable();complete="("+temp+" = "+complete+")"+this.SOAK+(baseline=temp+prop.compile(o))}else{complete=complete+this.SOAK+(baseline+=prop.compile(o))}}else{part=prop.compile(o);baseline+=part;complete+=part;this.last=part}}if(op&&soaked){return"("+complete+")"}else{return complete}};return ValueNode}).call(this);exports.CommentNode=(function(){CommentNode=function CommentNode(lines){this.lines=lines;this;return this};__extends(CommentNode,BaseNode);CommentNode.prototype.type="Comment";CommentNode.prototype.make_return=function make_return(){return this};CommentNode.prototype.compile_node=function compile_node(o){return""+this.tab+"//"+this.lines.join("\n"+this.tab+"//")};return CommentNode}).call(this);statement(CommentNode);exports.CallNode=(function(){CallNode=function CallNode(variable,args){this.is_new=false;this.is_super=variable==="super";this.variable=this.is_super?null:variable;this.children=compact(flatten([this.variable,(this.args=(args||[]))]));this.compile_splat_arguments=(function(func,obj,args){return function(){return func.apply(obj,args.concat(Array.prototype.slice.call(arguments,0)))}}(SplatNode.compile_mixed_array,this,[this.args]));return this};__extends(CallNode,BaseNode);CallNode.prototype.type="Call";CallNode.prototype.new_instance=function new_instance(){this.is_new=true;return this};CallNode.prototype.prefix=function prefix(){if(this.is_new){return"new "}else{return""}};CallNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,_e,_f,_g,arg,args;_a=this.args;for(_b=0,_c=_a.length;_b<_c;_b++){arg=_a[_b];if(arg instanceof SplatNode){return this.compile_splat(o)}}args=(function(){_d=[];_e=this.args;for(_f=0,_g=_e.length;_f<_g;_f++){arg=_e[_f];_d.push(arg.compile(o))}return _d}).call(this).join(", ");if(this.is_super){return this.compile_super(args,o)}return""+(this.prefix())+(this.variable.compile(o))+"("+args+")"};CallNode.prototype.compile_super=function compile_super(args,o){var meth,methname;methname=o.scope.method.name;meth=o.scope.method.proto?""+(o.scope.method.proto)+".__superClass__."+methname:""+(methname)+".__superClass__.constructor";return""+(meth)+".call(this"+(args.length?", ":"")+args+")"};CallNode.prototype.compile_splat=function compile_splat(o){var meth,obj,temp;meth=this.variable.compile(o);obj=this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.free_variable();obj=temp;meth="("+temp+" = "+(this.variable.source)+")"+(this.variable.last)}return""+(this.prefix())+(meth)+".apply("+obj+", "+(this.compile_splat_arguments(o))+")"};return CallNode}).call(this);exports.CurryNode=(function(){CurryNode=function CurryNode(meth,args){this.children=flatten([(this.meth=meth),(this.context=args[0]),(this.args=(args.slice(1)||[]))]);this.compile_splat_arguments=(function(func,obj,args){return function(){return func.apply(obj,args.concat(Array.prototype.slice.call(arguments,0)))}}(SplatNode.compile_mixed_array,this,[this.args]));return this};__extends(CurryNode,CallNode);CurryNode.prototype.type="Curry";CurryNode.prototype.body="func.apply(obj, args.concat(Array.prototype.slice.call(arguments, 0)))";CurryNode.prototype.arguments=function arguments(o){var _a,_b,_c,arg;_a=this.args;for(_b=0,_c=_a.length;_b<_c;_b++){arg=_a[_b];if(arg instanceof SplatNode){return this.compile_splat_arguments(o)}}return(new ArrayNode(this.args)).compile(o)};CurryNode.prototype.compile_node=function compile_node(o){var body,curried,curry;body=Expressions.wrap([literal(this.body)]);curried=new CodeNode([],body);curry=new CodeNode([literal("func"),literal("obj"),literal("args")],Expressions.wrap([curried]));return(new ParentheticalNode(new CallNode(curry,[this.meth,this.context,literal(this.arguments(o))]))).compile(o)};return CurryNode}).call(this);exports.ExtendsNode=(function(){ExtendsNode=function ExtendsNode(child,parent){this.children=[(this.child=child),(this.parent=parent)];return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype.type="Extends";ExtendsNode.prototype.code="function(child, parent) {\n var ctor = function(){ };\n ctor.prototype = parent.prototype;\n child.__superClass__ = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n }";ExtendsNode.prototype.compile_node=function compile_node(o){var call,ref;o.scope.assign("__extends",this.code,true);ref=new ValueNode(literal("__extends"));call=new CallNode(ref,[this.child,this.parent]);return call.compile(o)};return ExtendsNode}).call(this);exports.AccessorNode=(function(){AccessorNode=function AccessorNode(name,tag){this.children=[(this.name=name)];this.prototype=tag==="prototype";this.soak_node=tag==="soak";this;return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype.type="Accessor";AccessorNode.prototype.compile_node=function compile_node(o){var proto_part;proto_part=this.prototype?"prototype.":"";return"."+proto_part+(this.name.compile(o))};return AccessorNode}).call(this);exports.IndexNode=(function(){IndexNode=function IndexNode(index,tag){this.children=[(this.index=index)];this.soak_node=tag==="soak";return this};__extends(IndexNode,BaseNode);IndexNode.prototype.type="Index";IndexNode.prototype.compile_node=function compile_node(o){var idx;idx=this.index.compile(o);return"["+idx+"]"};return IndexNode}).call(this);exports.RangeNode=(function(){RangeNode=function RangeNode(from,to,exclusive){this.children=[(this.from=from),(this.to=to)];this.exclusive=!!exclusive;return this};__extends(RangeNode,BaseNode);RangeNode.prototype.type="Range";RangeNode.prototype.compile_variables=function compile_variables(o){var _a,_b,from,to;this.tab=o.indent;_a=[o.scope.free_variable(),o.scope.free_variable()];this.from_var=_a[0];this.to_var=_a[1];_b=[this.from.compile(o),this.to.compile(o)];from=_b[0];to=_b[1];return""+this.from_var+" = "+from+"; "+this.to_var+" = "+to+";\n"+this.tab};RangeNode.prototype.compile_node=function compile_node(o){var compare,equals,idx,incr,intro,step,vars;if(!(o.index)){return this.compile_array(o)}idx=del(o,"index");step=del(o,"step");vars=""+idx+" = "+this.from_var;step=step?step.compile(o):"1";equals=this.exclusive?"":"=";intro="("+this.from_var+" <= "+this.to_var+" ? "+idx;compare=""+intro+" <"+equals+" "+this.to_var+" : "+idx+" >"+equals+" "+this.to_var+")";incr=""+intro+" += "+step+" : "+idx+" -= "+step+")";return""+vars+"; "+compare+"; "+incr};RangeNode.prototype.compile_array=function compile_array(o){var arr,body,name;name=o.scope.free_variable();body=Expressions.wrap([literal(name)]);arr=Expressions.wrap([new ForNode(body,{source:(new ValueNode(this))},literal(name))]);return(new ParentheticalNode(new CallNode(new CodeNode([],arr.make_return())))).compile(o)};return RangeNode}).call(this);exports.SliceNode=(function(){SliceNode=function SliceNode(range){this.children=[(this.range=range)];this;return this};__extends(SliceNode,BaseNode);SliceNode.prototype.type="Slice";SliceNode.prototype.compile_node=function compile_node(o){var from,plus_part,to;from=this.range.from.compile(o);to=this.range.to.compile(o);plus_part=this.range.exclusive?"":" + 1";return".slice("+from+", "+to+plus_part+")"};return SliceNode}).call(this);exports.ObjectNode=(function(){ObjectNode=function ObjectNode(props){this.children=(this.objects=(this.properties=props||[]));return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype.type="Object";ObjectNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,_e,_f,_g,i,indent,inner,join,last_noncom,non_comments,prop,props;o.indent=this.idt(1);non_comments=(function(){_a=[];_b=this.properties;for(_c=0,_d=_b.length;_c<_d;_c++){prop=_b[_c];!(prop instanceof CommentNode)?_a.push(prop):null}return _a}).call(this);last_noncom=non_comments[non_comments.length-1];props=(function(){_e=[];_f=this.properties;for(i=0,_g=_f.length;i<_g;i++){prop=_f[i];_e.push((function(){join=",\n";if((prop===last_noncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);return indent+prop.compile(o)+join}).call(this))}return _e}).call(this);props=props.join("");inner=props?"\n"+props+"\n"+this.idt():"";return"{"+inner+"}"};return ObjectNode}).call(this);exports.ArrayNode=(function(){ArrayNode=function ArrayNode(objects){this.children=(this.objects=objects||[]);this.compile_splat_literal=(function(func,obj,args){return function(){return func.apply(obj,args.concat(Array.prototype.slice.call(arguments,0)))}}(SplatNode.compile_mixed_array,this,[this.objects]));return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype.type="Array";ArrayNode.prototype.compile_node=function compile_node(o){var _a,_b,code,ending,i,obj,objects;o.indent=this.idt(1);objects=[];_a=this.objects;for(i=0,_b=_a.length;i<_b;i++){obj=_a[i];code=obj.compile(o);if(obj instanceof SplatNode){return this.compile_splat_literal(this.objects,o)}else{if(obj instanceof CommentNode){objects.push("\n"+code+"\n"+o.indent)}else{if(i===this.objects.length-1){objects.push(code)}else{objects.push(""+code+", ")}}}}objects=objects.join("");ending=objects.indexOf("\n")>=0?"\n"+this.tab+"]":"]";return"["+objects+ending};return ArrayNode}).call(this);exports.ClassNode=(function(){ClassNode=function ClassNode(variable,parent,props){this.children=compact(flatten([(this.variable=variable),(this.parent=parent),(this.properties=props||[])]));this.returns=false;return this};__extends(ClassNode,BaseNode);ClassNode.prototype.type="Class";ClassNode.prototype.make_return=function make_return(){this.returns=true;return this};ClassNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,applied,construct,extension,func,prop,props,returns,val;extension=this.parent&&new ExtendsNode(this.variable,this.parent);constructor=null;props=new Expressions();o.top=true;_a=this.properties;for(_b=0,_c=_a.length;_b<_c;_b++){prop=_a[_b];if(prop.variable&&prop.variable.base.value==="constructor"){func=prop.value;func.body.push(new ReturnNode(literal("this")));constructor=new AssignNode(this.variable,func)}else{if(prop.variable){val=new ValueNode(this.variable,[new AccessorNode(prop.variable,"prototype")]);prop=new AssignNode(val,prop.value)}props.push(prop)}}if(!constructor){if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new AssignNode(this.variable,new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])])))}else{constructor=new AssignNode(this.variable,new CodeNode())}}construct=this.idt()+constructor.compile(o)+";\n";props=props.empty()?"":props.compile(o)+"\n";extension=extension?this.idt()+extension.compile(o)+";\n":"";returns=this.returns?new ReturnNode(this.variable).compile(o):"";return""+construct+extension+props+returns};return ClassNode}).call(this);statement(ClassNode);exports.AssignNode=(function(){AssignNode=function AssignNode(variable,value,context){this.children=[(this.variable=variable),(this.value=value)];this.context=context;return this};__extends(AssignNode,BaseNode);AssignNode.prototype.type="Assign";AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype.top_sensitive=function top_sensitive(){return true};AssignNode.prototype.is_value=function is_value(){return this.variable instanceof ValueNode};AssignNode.prototype.make_return=function make_return(){return new Expressions([this,new ReturnNode(this.variable)])};AssignNode.prototype.is_statement=function is_statement(){return this.is_value()&&(this.variable.is_array()||this.variable.is_object())};AssignNode.prototype.compile_node=function compile_node(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.is_statement()){return this.compile_pattern_match(o)}if(this.is_value()&&this.variable.is_splice()){return this.compile_splice(o)}stmt=del(o,"as_statement");name=this.variable.compile(o);last=this.is_value()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return""+name+": "+val}if(!(this.is_value()&&this.variable.has_properties())){o.scope.find(name)}val=""+name+" = "+val;if(stmt){return""+this.tab+val+";"}if(top){return val}else{return"("+val+")"}};AssignNode.prototype.compile_pattern_match=function compile_pattern_match(o){var _a,_b,_c,access_class,assigns,code,i,idx,obj,oindex,olength,splat,val,val_var,value;val_var=o.scope.free_variable();value=this.value.is_statement()?ClosureNode.wrap(this.value):this.value;assigns=[""+this.tab+val_var+" = "+(value.compile(o))+";"];o.top=true;o.as_statement=true;splat=false;_a=this.variable.base.objects;for(i=0,_b=_a.length;i<_b;i++){obj=_a[i];idx=i;if(this.variable.is_object()){_c=[obj.value,obj.variable.base];obj=_c[0];idx=_c[1]}access_class=this.variable.is_array()?IndexNode:AccessorNode;if(obj instanceof SplatNode&&!splat){val=literal(obj.compile_value(o,val_var,(oindex=this.variable.base.objects.indexOf(obj)),(olength=this.variable.base.objects.length)-oindex-1));splat=true}else{if(typeof idx!=="object"){idx=literal(splat?""+(val_var)+".length - "+(olength-idx):idx)}val=new ValueNode(literal(val_var),[new access_class(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");return code};AssignNode.prototype.compile_splice=function compile_splice(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{only_first:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from.compile(o);to=range.to.compile(o)+" - "+from+plus;val=this.value.compile(o);return""+(name)+".splice.apply("+name+", ["+from+", "+to+"].concat("+val+"))"};return AssignNode}).call(this);exports.CodeNode=(function(){CodeNode=function CodeNode(params,body,tag){this.params=params||[];this.body=body||new Expressions();this.bound=tag==="boundfunc";return this};__extends(CodeNode,BaseNode);CodeNode.prototype.type="Code";CodeNode.prototype.compile_node=function compile_node(o){var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,code,func,i,inner,name_part,param,params,shared_scope,splat,top;shared_scope=del(o,"shared_scope");top=del(o,"top");o.scope=shared_scope||new Scope(o.scope,this.body,this);o.top=true;o.indent=this.idt(this.bound?2:1);del(o,"no_wrap");del(o,"globals");i=0;splat=undefined;params=[];_a=this.params;for(_b=0,_c=_a.length;_b<_c;_b++){param=_a[_b];if(param instanceof SplatNode&&!(typeof splat!=="undefined"&&splat!==null)){splat=param;splat.index=i;this.body.unshift(splat);splat.trailings=[]}else{if((typeof splat!=="undefined"&&splat!==null)){splat.trailings.push(param)}else{params.push(param)}}i+=1}params=(function(){_d=[];_e=params;for(_f=0,_g=_e.length;_f<_g;_f++){param=_e[_f];_d.push(param.compile(o))}return _d}).call(this);this.body.make_return();_h=params;for(_i=0,_j=_h.length;_i<_j;_i++){param=_h[_i];(o.scope.parameter(param))}code=this.body.expressions.length?"\n"+(this.body.compile_with_declarations(o))+"\n":"";name_part=this.name?" "+this.name:"";func="function"+(this.bound?"":name_part)+"("+(params.join(", "))+") {"+code+(this.idt(this.bound?1:0))+"}";if(top&&!this.bound){func="("+func+")"}if(!(this.bound)){return func}inner="(function"+name_part+"() {\n"+(this.idt(2))+"return __func.apply(__this, arguments);\n"+(this.idt(1))+"});";return"(function(__this) {\n"+(this.idt(1))+"var __func = "+func+";\n"+(this.idt(1))+"return "+inner+"\n"+this.tab+"})(this)"};CodeNode.prototype.top_sensitive=function top_sensitive(){return true};CodeNode.prototype.real_children=function real_children(){return flatten([this.params,this.body.expressions])};CodeNode.prototype.traverse=function traverse(block){var _a,_b,_c,_d,child;block(this);_a=[];_b=this.real_children();for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.traverse(block))}return _a};CodeNode.prototype.toString=function toString(idt){var _a,_b,_c,_d,child,children;idt=idt||"";children=(function(){_a=[];_b=this.real_children();for(_c=0,_d=_b.length;_c<_d;_c++){child=_b[_c];_a.push(child.toString(idt+TAB))}return _a}).call(this).join("");return"\n"+idt+children};return CodeNode}).call(this);exports.SplatNode=(function(){SplatNode=function SplatNode(name){if(!(name.compile)){name=literal(name)}this.children=[(this.name=name)];return this};__extends(SplatNode,BaseNode);SplatNode.prototype.type="Splat";SplatNode.prototype.compile_node=function compile_node(o){var _a;if((typeof(_a=this.index)!=="undefined"&&_a!==null)){return this.compile_param(o)}else{return this.name.compile(o)}};SplatNode.prototype.compile_param=function compile_param(o){var _a,_b,_c,i,name,trailing;name=this.name.compile(o);o.scope.find(name);i=0;_a=this.trailings;for(_b=0,_c=_a.length;_b<_c;_b++){trailing=_a[_b];o.scope.assign(trailing.compile(o),"arguments[arguments.length - "+this.trailings.length+" + "+i+"]");i+=1}return""+name+" = Array.prototype.slice.call(arguments, "+this.index+", arguments.length - "+(this.trailings.length)+")"};SplatNode.prototype.compile_value=function compile_value(o,name,index,trailings){if((typeof trailings!=="undefined"&&trailings!==null)){return"Array.prototype.slice.call("+name+", "+index+", "+(name)+".length - "+trailings+")"}else{return"Array.prototype.slice.call("+name+", "+index+")"}};return SplatNode}).call(this);SplatNode.compile_mixed_array=function compile_mixed_array(list,o){var _a,_b,_c,arg,args,code,i,prev;args=[];i=0;_a=list;for(_b=0,_c=_a.length;_b<_c;_b++){arg=_a[_b];code=arg.compile(o);if(!(arg instanceof SplatNode)){prev=args[i-1];if(i===1&&prev.substr(0,1)==="["&&prev.substr(prev.length-1,1)==="]"){args[i-1]=""+(prev.substr(0,prev.length-1))+", "+code+"]";continue}else{if(i>1&&prev.substr(0,9)===".concat(["&&prev.substr(prev.length-2,2)==="])"){args[i-1]=""+(prev.substr(0,prev.length-2))+", "+code+"])";continue}else{code="["+code+"]"}}}args.push(i===0?code:".concat("+code+")");i+=1}return args.join("")};exports.WhileNode=(function(){WhileNode=function WhileNode(condition,opts){this.children=[(this.condition=condition)];this.filter=opts&&opts.filter;return this};__extends(WhileNode,BaseNode);WhileNode.prototype.type="While";WhileNode.prototype.add_body=function add_body(body){this.children.push((this.body=body));return this};WhileNode.prototype.make_return=function make_return(){this.returns=true;return this};WhileNode.prototype.top_sensitive=function top_sensitive(){return true};WhileNode.prototype.compile_node=function compile_node(o){var cond,post,pre,rvar,set,top;top=del(o,"top")&&!this.returns;o.indent=this.idt(1);o.top=true;cond=this.condition.compile(o);set="";if(!top){rvar=o.scope.free_variable();set=""+this.tab+rvar+" = [];\n";if(this.body){this.body=PushNode.wrap(rvar,this.body)}}pre=""+set+(this.tab)+"while ("+cond+")";if(!this.body){return""+pre+" null;"+post}if(this.filter){this.body=Expressions.wrap([new IfNode(this.filter,this.body)])}this.returns?(post=new ReturnNode(literal(rvar)).compile(merge(o,{indent:this.idt()}))):(post="");return""+pre+" {\n"+(this.body.compile(o))+"\n"+this.tab+"}\n"+post};return WhileNode}).call(this);statement(WhileNode);exports.OpNode=(function(){OpNode=function OpNode(operator,first,second,flip){this.type+=" "+operator;this.children=compact([(this.first=first),(this.second=second)]);this.operator=this.CONVERSIONS[operator]||operator;this.flip=!!flip;return this};__extends(OpNode,BaseNode);OpNode.prototype.type="Op";OpNode.prototype.CONVERSIONS={"==":"===","!=":"!=="};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype.is_unary=function is_unary(){return !this.second};OpNode.prototype.is_chainable=function is_chainable(){return this.CHAINABLE.indexOf(this.operator)>=0};OpNode.prototype.compile_node=function compile_node(o){o.operation=true;if(this.is_chainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().is_chainable()){return this.compile_chain(o)}if(this.ASSIGNMENT.indexOf(this.operator)>=0){return this.compile_assignment(o)}if(this.is_unary()){return this.compile_unary(o)}if(this.operator==="?"){return this.compile_existence(o)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compile_chain=function compile_chain(o){var _a,_b,first,second,shared;shared=this.first.unwrap().second;if(shared instanceof CallNode){_a=shared.compile_reference(o);this.first.second=_a[0];shared=_a[1]}_b=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_b[0];second=_b[1];shared=_b[2];return"("+first+") && ("+shared+" "+this.operator+" "+second+")"};OpNode.prototype.compile_assignment=function compile_assignment(o){var _a,first,second;_a=[this.first.compile(o),this.second.compile(o)];first=_a[0];second=_a[1];if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return""+first+" = "+(ExistenceNode.compile_test(o,this.first))+" ? "+first+" : "+second}return""+first+" = "+first+" "+(this.operator.substr(0,2))+" "+second};OpNode.prototype.compile_existence=function compile_existence(o){var _a,first,second,test;_a=[this.first.compile(o),this.second.compile(o)];first=_a[0];second=_a[1];test=ExistenceNode.compile_test(o,this.first);return""+test+" ? "+first+" : "+second};OpNode.prototype.compile_unary=function compile_unary(o){var parts,space;space=this.PREFIX_OPERATORS.indexOf(this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode}).call(this);exports.TryNode=(function(){TryNode=function TryNode(attempt,error,recovery,ensure){this.children=compact([(this.attempt=attempt),(this.recovery=recovery),(this.ensure=ensure)]);this.error=error;this;return this};__extends(TryNode,BaseNode);TryNode.prototype.type="Try";TryNode.prototype.make_return=function make_return(){if(this.attempt){this.attempt=this.attempt.make_return()}if(this.recovery){this.recovery=this.recovery.make_return()}return this};TryNode.prototype.compile_node=function compile_node(o){var attempt_part,catch_part,error_part,finally_part;o.indent=this.idt(1);o.top=true;attempt_part=this.attempt.compile(o);error_part=this.error?" ("+(this.error.compile(o))+") ":" ";catch_part=this.recovery?" catch"+error_part+"{\n"+(this.recovery.compile(o))+"\n"+this.tab+"}":"";finally_part=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o))+"\n"+this.tab+"}";return""+(this.tab)+"try {\n"+attempt_part+"\n"+this.tab+"}"+catch_part+finally_part};return TryNode}).call(this);statement(TryNode);exports.ThrowNode=(function(){ThrowNode=function ThrowNode(expression){this.children=[(this.expression=expression)];return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype.type="Throw";ThrowNode.prototype.make_return=function make_return(){return this};ThrowNode.prototype.compile_node=function compile_node(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode}).call(this);statement(ThrowNode);exports.ExistenceNode=(function(){ExistenceNode=function ExistenceNode(expression){this.children=[(this.expression=expression)];return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype.type="Existence";ExistenceNode.prototype.compile_node=function compile_node(o){return ExistenceNode.compile_test(o,this.expression)};return ExistenceNode}).call(this);ExistenceNode.compile_test=function compile_test(o,variable){var _a,_b,_c,first,second;_a=[variable,variable];first=_a[0];second=_a[1];if(variable instanceof CallNode||(variable instanceof ValueNode&&variable.has_properties())){_b=variable.compile_reference(o);first=_b[0];second=_b[1]}_c=[first.compile(o),second.compile(o)];first=_c[0];second=_c[1];return"(typeof "+first+' !== "undefined" && '+second+" !== null)"};exports.ParentheticalNode=(function(){ParentheticalNode=function ParentheticalNode(expression){this.children=[(this.expression=expression)];return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype.type="Paren";ParentheticalNode.prototype.is_statement=function is_statement(){return this.expression.is_statement()};ParentheticalNode.prototype.make_return=function make_return(){return this.expression.make_return()};ParentheticalNode.prototype.compile_node=function compile_node(o){var code,l;code=this.expression.compile(o);if(this.is_statement()){return code}l=code.length;if(code.substr(l-1,1)===";"){code=code.substr(o,l-1)}if(this.expression instanceof AssignNode){return code}else{return"("+code+")"}};return ParentheticalNode}).call(this);exports.ForNode=(function(){ForNode=function ForNode(body,source,name,index){var _a;this.body=body;this.name=name;this.index=index||null;this.source=source.source;this.filter=source.filter;this.step=source.step;this.object=!!source.object;if(this.object){_a=[this.index,this.name];this.name=_a[0];this.index=_a[1]}this.children=compact([this.body,this.source,this.filter]);this.returns=false;return this};__extends(ForNode,BaseNode);ForNode.prototype.type="For";ForNode.prototype.top_sensitive=function top_sensitive(){return true};ForNode.prototype.make_return=function make_return(){this.returns=true;return this};ForNode.prototype.compile_return_value=function compile_return_value(val,o){if(this.returns){return new ReturnNode(literal(val)).compile(o)}return val||""};ForNode.prototype.compile_node=function compile_node(o){var body,body_dent,close,for_part,index,index_var,ivar,lvar,name,range,return_result,rvar,scope,set_result,source,source_part,step_part,svar,top_level,var_part,vars;top_level=del(o,"top")&&!this.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;scope=o.scope;name=this.name&&this.name.compile(o);index=this.index&&this.index.compile(o);if(name){scope.find(name)}if(index){scope.find(index)}body_dent=this.idt(1);if(!(top_level)){rvar=scope.free_variable()}svar=scope.free_variable();ivar=range?name:index||scope.free_variable();var_part="";body=Expressions.wrap([this.body]);if(range){index_var=scope.free_variable();source_part=source.compile_variables(o);for_part=source.compile(merge(o,{index:ivar,step:this.step}));for_part=""+index_var+" = 0, "+for_part+", "+index_var+"++"}else{index_var=null;source_part=""+svar+" = "+(this.source.compile(o))+";\n"+this.tab;if(name){var_part=""+body_dent+name+" = "+svar+"["+ivar+"];\n"}if(!this.object){lvar=scope.free_variable();step_part=this.step?""+ivar+" += "+(this.step.compile(o)):""+ivar+"++";for_part=""+ivar+" = 0, "+lvar+" = "+(svar)+".length; "+ivar+" < "+lvar+"; "+step_part}}set_result=rvar?this.idt()+rvar+" = []; ":this.idt();return_result=this.compile_return_value(rvar,o);if(top_level&&body.contains(function(n){return n instanceof CodeNode})){body=ClosureNode.wrap(body,true)}if(!(top_level)){body=PushNode.wrap(rvar,body)}this.filter?(body=Expressions.wrap([new IfNode(this.filter,body)])):null;if(this.object){o.scope.assign("__hasProp","Object.prototype.hasOwnProperty",true);for_part=""+ivar+" in "+svar+") { if (__hasProp.call("+svar+", "+ivar+")"}body=body.compile(merge(o,{indent:body_dent,top:true}));vars=range?name:""+name+", "+ivar;close=this.object?"}}\n":"}\n";return""+set_result+(source_part)+"for ("+for_part+") {\n"+var_part+body+"\n"+this.tab+close+return_result};return ForNode}).call(this);statement(ForNode);exports.IfNode=(function(){IfNode=function IfNode(condition,body,else_body,tags){this.condition=condition;this.body=body&&body.unwrap();this.else_body=else_body&&else_body.unwrap();this.children=compact(flatten([this.condition,this.body,this.else_body]));this.tags=tags||{};if(this.condition instanceof Array){this.multiple=true}if(this.tags.invert){this.condition=new OpNode("!",new ParentheticalNode(this.condition))}return this};__extends(IfNode,BaseNode);IfNode.prototype.type="If";IfNode.prototype.push=function push(else_body){var eb;eb=else_body.unwrap();this.else_body?this.else_body.push(eb):(this.else_body=eb);return this};IfNode.prototype.force_statement=function force_statement(){this.tags.statement=true;return this};IfNode.prototype.rewrite_condition=function rewrite_condition(expression){this.switcher=expression;return this};IfNode.prototype.rewrite_switch=function rewrite_switch(o){var _a,_b,_c,assigner,cond,i,variable;assigner=this.switcher;if(!(this.switcher.unwrap() instanceof LiteralNode)){variable=literal(o.scope.free_variable());assigner=new AssignNode(variable,this.switcher);this.switcher=variable}this.condition=(function(){if(this.multiple){_a=[];_b=this.condition;for(i=0,_c=_b.length;i<_c;i++){cond=_b[i];_a.push(new OpNode("==",(i===0?assigner:this.switcher),cond))}return _a}else{return new OpNode("==",assigner,this.condition)}}).call(this);if(this.is_chain()){this.else_body.rewrite_condition(this.switcher)}return this};IfNode.prototype.add_else=function add_else(exprs,statement){if(this.is_chain()){this.else_body.add_else(exprs,statement)}else{if(!(statement)){exprs=exprs.unwrap()}this.children.push((this.else_body=exprs))}return this};IfNode.prototype.is_chain=function is_chain(){return this.chain=this.chain||this.else_body&&this.else_body instanceof IfNode};IfNode.prototype.is_statement=function is_statement(){return this.statement=this.statement||!!(this.comment||this.tags.statement||this.body.is_statement()||(this.else_body&&this.else_body.is_statement()))};IfNode.prototype.compile_condition=function compile_condition(o){var _a,_b,_c,_d,cond;return(function(){_a=[];_b=flatten([this.condition]);for(_c=0,_d=_b.length;_c<_d;_c++){cond=_b[_c];_a.push(cond.compile(o))}return _a}).call(this).join(" || ")};IfNode.prototype.compile_node=function compile_node(o){if(this.is_statement()){return this.compile_statement(o)}else{return this.compile_ternary(o)}};IfNode.prototype.make_return=function make_return(){this.body=this.body&&this.body.make_return();this.else_body=this.else_body&&this.else_body.make_return();return this};IfNode.prototype.compile_statement=function compile_statement(o){var body,child,com_dent,cond_o,else_part,if_dent,if_part,prefix;if(this.switcher){this.rewrite_switch(o)}child=del(o,"chain_child");cond_o=merge(o);o.indent=this.idt(1);o.top=true;if_dent=child?"":this.idt();com_dent=child?this.idt():"";prefix=this.comment?""+(this.comment.compile(cond_o))+"\n"+com_dent:"";body=Expressions.wrap([this.body]).compile(o);if_part=""+prefix+(if_dent)+"if ("+(this.compile_condition(cond_o))+") {\n"+body+"\n"+this.tab+"}";if(!(this.else_body)){return if_part}else_part=this.is_chain()?" else "+this.else_body.compile(merge(o,{indent:this.idt(),chain_child:true})):" else {\n"+(Expressions.wrap([this.else_body]).compile(o))+"\n"+this.tab+"}";return""+if_part+else_part};IfNode.prototype.compile_ternary=function compile_ternary(o){var else_part,if_part;if_part=this.condition.compile(o)+" ? "+this.body.compile(o);else_part=this.else_body?this.else_body.compile(o):"null";return""+if_part+" : "+else_part};return IfNode}).call(this);PushNode=(exports.PushNode={wrap:function wrap(array,expressions){var expr;expr=expressions.unwrap();if(expr.is_pure_statement()||expr.contains_pure_statement()){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function wrap(expressions,statement){var call,func;if(expressions.contains_pure_statement()){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));call=new CallNode(new ValueNode(func,[new AccessorNode(literal("call"))]),[literal("this")]);if(statement){return Expressions.wrap([call])}else{return call}}});TAB=" ";TRAILING_WHITESPACE=/\s+$/gm;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;literal=function literal(name){return new LiteralNode(name)}})();(function(){var Lexer,compile,helpers,lexer,parser,path,process_scripts;if((typeof process!=="undefined"&&process!==null)){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));require.registerExtension?require.registerExtension(".coffee",function(content){return compile(content)}):null}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.5.6";lexer=new Lexer();exports.compile=(compile=function compile(code,options){options=options||{};try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.source){err.message="In "+(options.source)+", "+(err.message)}throw err}});exports.tokens=function tokens(code){return lexer.tokenize(code)};exports.nodes=function nodes(code){return parser.parse(lexer.tokenize(code))};exports.run=(function(code,options){var __dirname,__filename;module.filename=(__filename=options.source);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))});exports.extend=function extend(func){return Lexer.extensions.push(func)};parser.lexer={lex:function lex(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function setInput(tokens){this.tokens=tokens;this.pos=0;return this.pos},upcomingInput:function upcomingInput(){return""},showPosition:function showPosition(){return this.pos}};if((typeof document!=="undefined"&&document!==null)&&document.getElementsByTagName){process_scripts=function process_scripts(){var _a,_b,_c,_d,tag;_a=[];_b=document.getElementsByTagName("script");for(_c=0,_d=_b.length;_c<_d;_c++){tag=_b[_c];tag.type==="text/coffeescript"?_a.push(eval(exports.compile(tag.innerHTML))):null}return _a};if(window.addEventListener){window.addEventListener("load",process_scripts,false)}else{if(window.attachEvent){window.attachEvent("onload",process_scripts)}}}})(); \ No newline at end of file diff --git a/index.html b/index.html index a5737aa9..6c20b529 100644 --- a/index.html +++ b/index.html @@ -44,8 +44,8 @@ Switch/When/Else Try/Catch/Finally Chained Comparisons + String and RegExp Interpolation Multiline Strings and Heredocs - String Interpolation Cake, and Cakefiles "text/coffeescript" Script Tags Resources @@ -115,7 +115,7 @@ alert reverse '.eeffoC yrT'

Latest Version: - 0.5.5 + 0.5.6

@@ -179,7 +179,7 @@ math = { // Splats: race = function race(winner) { var runners; - runners = Array.prototype.slice.call(arguments, 1); + runners = Array.prototype.slice.call(arguments, 1, arguments.length - 0); return print(winner, runners); }; // Existence: @@ -220,7 +220,7 @@ math = { // Splats: race = function race(winner) { var runners; - runners = Array.prototype.slice.call(arguments, 1); + runners = Array.prototype.slice.call(arguments, 1, arguments.length - 0); return print(winner, runners); }; // Existence: @@ -268,11 +268,11 @@ cubed_list = (function() {

To install, first make sure you have a working version of - Node.js version 0.1.31 or higher. + Node.js version 0.1.33 or higher. Then clone the CoffeeScript source repository from GitHub, or download the latest - release: 0.5.5. + release: 0.5.6. To install the CoffeeScript compiler system-wide under /usr/local, open the directory and run:

@@ -546,7 +546,8 @@ num = 1; change_numbers = function change_numbers() { var new_num; new_num = -1; - return num = 10; + num = 10; + return num; }; new_num = change_numbers();
@@ -568,9 +570,9 @@ new_num = change_numbers();

This behavior is effectively identical to Ruby's scope for local variables. - Because you don't have direct access to the var keyword, - it's impossible to shadow an outer variable on purpose, you may only refer - to it. So be careful that you're not reusing the name of an external + Because you don't have direct access to the var keyword, + it's impossible to shadow an outer variable on purpose, you may only refer + to it. So be careful that you're not reusing the name of an external variable accidentally, if you're writing a deeply nested function.

@@ -608,7 +610,7 @@ new_num = change_numbers(); date: if friday then sue else jill -expensive ||= do_the_math() +expensive: or do_the_math()

var date, expensive, mood;
 if (singing) {
   mood = greatly_improved;
@@ -621,10 +623,9 @@ date = friday ? sue : jill;
 expensive = expensive || do_the_math();
 

- The conditional assignment operators are included: ||=, - which only assigns a value to a variable if the variable's current value - is falsy, and &&=, which only replaces the value of - truthy variables. + You can assign a variable to a half-expression to perform an operation + like Ruby's ||=, which only assigns a value to a variable + if the variable's current value is falsy.

@@ -719,10 +720,11 @@ alert "The Field: = (silver = (the_field = "unknown")); award_medals = function award_medals(first, second) { var rest; - rest = Array.prototype.slice.call(arguments, 2); + rest = Array.prototype.slice.call(arguments, 2, arguments.length - 0); gold = first; silver = second; - return the_field = rest; + the_field = rest; + return the_field; }; contenders = ["Michael Phelps", "Liu Xiang", "Yao Ming", "Allyson Felix", "Shawn Johnson", "Roman Sebrle", "Guo Jingjing", "Tyson Gay", "Asafa Powell", "Usain Bolt"]; award_medals.apply(this, contenders); @@ -733,10 +735,11 @@ award_medals.apply(t gold = (silver = (the_field = "unknown")); award_medals = function award_medals(first, second) { var rest; - rest = Array.prototype.slice.call(arguments, 2); + rest = Array.prototype.slice.call(arguments, 2, arguments.length - 0); gold = first; silver = second; - return the_field = rest; + the_field = rest; + return the_field; }; contenders = ["Michael Phelps", "Liu Xiang", "Yao Ming", "Allyson Felix", "Shawn Johnson", "Roman Sebrle", "Guo Jingjing", "Tyson Gay", "Asafa Powell", "Usain Bolt"]; award_medals.apply(this, contenders); @@ -1011,7 +1014,11 @@ grade = function if (student.excellent_work) { return "A+"; } else if (student.okay_stuff) { - return student.tried_hard ? "B" : "B-"; + if (student.tried_hard) { + return "B"; + } else { + return "B-"; + } } else { return "C"; } @@ -1022,7 +1029,11 @@ grade = function grade(student) { if (student.excellent_work) { return "A+"; } else if (student.okay_stuff) { - return student.tried_hard ? "B" : "B-"; + if (student.tried_hard) { + return "B"; + } else { + return "B-"; + } } else { return "C"; } @@ -1040,9 +1051,9 @@ eldest = 24 > 21 ? "Liz" : "Ike";

six: (one: 1) + (two: 2) + (three: 3)
 
var one, six, three, two;
-six = ((one = 1)) + ((two = 2)) + ((three = 3));
+six = (one = 1) + (two = 2) + (three = 3);
 

Things that would otherwise be statements in JavaScript, when used @@ -1397,6 +1408,29 @@ _c = _b.address; street = _c[0]; city = _c[1]; ;alert(poet + " — " + street);'>run: poet + " — " + street
+

+ Pattern matching can even be combined with splats. +

+
tag: "<impossible>"
+
+[open, contents..., close]: tag.split("")
+
+
+
+
+
var _a, close, contents, open, tag;
+tag = "<impossible>";
+_a = tag.split("");
+open = _a[0];
+contents = Array.prototype.slice.call(_a, 1, _a.length - 1);
+close = _a[_a.length - 1];
+

@@ -1409,7 +1443,7 @@ city = _c[1]; gives a good overview of the quirks.

- The fat arrow => can be used to both define a function, and to bind + The fat arrow => can be used to both define a function, and to bind it to the current value of this, right on the spot. This is helpful when using callback-based libraries like Prototype or jQuery, for creating iterator functions to pass to each, or event-handler functions @@ -1441,6 +1475,40 @@ Account = function purchase() on it would have raised an exception.

+

+ If you have more custom needs for function binding, CoffeeScript includes + the <- bind operator, which works the same as ECMAScript 5 + and Prototype.js's Function#bind. The first argument is the this + value, and the remainder are curried arguments. In the example below, + we curry a jQuery request for a URL, and then execute the bound function + with the missing callback argument. +

+
url: "documentation/coffee/binding.coffee"
+
+get_source: jQuery.get <- jQuery, url
+
+get_source (response) -> alert response
+
var get_source, url;
+url = "documentation/coffee/binding.coffee";
+get_source = (function(func, obj, args) {
+  return function() {
+    return func.apply(obj, args.concat(Array.prototype.slice.call(arguments, 0)));
+  };
+}(jQuery.get, jQuery, [url]));
+get_source(function(response) {
+  return alert(response);
+});
+

@@ -1552,6 +1620,42 @@ cholesterol = 127; healthy = (200 > cholesterol) && (cholesterol > 60); ;alert(healthy);'>run: healthy
+

+ + String and RegExp Interpolation + A version of ECMAScript Harmony's proposed string interpolation + is included in CoffeeScript. Simple variables can be included by marking + them with a dollar sign. +

+
author: "Wittgenstein"
+quote:  "A picture is a fact. -- $author"
+
var author, quote;
+author = "Wittgenstein";
+quote = "A picture is a fact. -- " + author;
+

+

+ And arbitrary expressions can be interpolated by using brackets ${ ... }
+ Interpolation works the same way within regular expressions. +

+
sentence: "${ 22 / 7 } is a decent approximation of π"
+
+sep:   "[.\\/\\- ]"
+dates: /\d+$sep\d+$sep\d+/g
+
+
+
var dates, sentence, sep;
+sentence = "" + (22 / 7) + " is a decent approximation of π";
+sep = "[.\\/\\- ]";
+dates = (new RegExp("\\d+" + sep + "\\d+" + sep + "\\d+", "g"));
+

+

Multiline Strings and Heredocs @@ -1592,37 +1696,11 @@ world..."; </strong> '''

var html;
-html = "<strong>\n  cup of coffeescript\n</strong>";
+html = '<strong>\n  cup of coffeescript\n</strong>';
 

-

- - String Interpolation - A version of ECMAScript Harmony's proposed string interpolation - is included in CoffeeScript. Simple variables can be included by marking - them with a dollar sign. + Double-quoted heredocs, like double-quoted strings, allow interpolation.

-
author: "Wittgenstein"
-quote:  "A picture is a fact. -- $author"
-
var author, quote;
-author = "Wittgenstein";
-quote = "A picture is a fact. -- " + author;
-

-

- And arbitrary expressions can be interpolated by using brackets ${ ... } -

-
sentence: "${ 22 / 7 } is a decent approximation of π"
-
-
-
-
var sentence;
-sentence = '' + (22 / 7) + " is a decent approximation of π";
-

@@ -1733,6 +1811,17 @@ sentence = '' + (22 / 7) + " is a decent approximation of π"; Change Log

+

+ 0.5.6 + Interpolation can now be used within regular expressions and heredocs, as well as + strings. Added the <- bind operator. + Allowing assignment to half-expressions instead of special ||=-style + operators. The arguments object is no longer automatically converted into + an array. After requiring coffee-script, Node.js can now directly + load .coffee files, thanks to registerExtension. Multiple + splats can now be used in function calls, arrays, and pattern matching. +

+

0.5.5 String interpolation, contributed by diff --git a/lib/coffee-script.js b/lib/coffee-script.js index af5e4a61..068d1a23 100644 --- a/lib/coffee-script.js +++ b/lib/coffee-script.js @@ -23,7 +23,7 @@ helpers = this.helpers; } // The current CoffeeScript version number. - exports.VERSION = '0.5.5'; + exports.VERSION = '0.5.6'; // Instantiate a Lexer for our use here. lexer = new Lexer(); // Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison diff --git a/lib/helpers.js b/lib/helpers.js index 2e13105a..6a336e8d 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -47,13 +47,13 @@ _a = options; for (key in _a) { if (__hasProp.call(_a, key)) { val = _a[key]; - ((fresh[key] = val)); + (fresh[key] = val); }} if (overrides) { _b = overrides; for (key in _b) { if (__hasProp.call(_b, key)) { val = _b[key]; - ((fresh[key] = val)); + (fresh[key] = val); }} } return fresh; @@ -65,7 +65,7 @@ _a = []; _b = properties; for (key in _b) { if (__hasProp.call(_b, key)) { val = _b[key]; - _a.push(((object[key] = val))); + _a.push((object[key] = val)); }} return _a; }); diff --git a/lib/lexer.js b/lib/lexer.js index 33b84ca1..ccf8cac1 100644 --- a/lib/lexer.js +++ b/lib/lexer.js @@ -123,7 +123,7 @@ // though `is` means `===` otherwise. Lexer.prototype.identifier_token = function identifier_token() { var accessed, id, tag; - if (!((id = this.match(IDENTIFIER, 1)))) { + if (!(id = this.match(IDENTIFIER, 1))) { return false; } this.name_access_type(); @@ -153,7 +153,7 @@ // Matches numbers, including decimals, hex, and exponential notation. Lexer.prototype.number_token = function number_token() { var number; - if (!((number = this.match(NUMBER, 1)))) { + if (!(number = this.match(NUMBER, 1))) { return false; } this.token('NUMBER', number); @@ -167,7 +167,7 @@ if (!(starts(this.chunk, '"') || starts(this.chunk, "'"))) { return false; } - if (!((string = this.balanced_token(['"', '"'], ['${', '}']) || this.balanced_token(["'", "'"])))) { + if (!(string = this.balanced_token(['"', '"'], ['${', '}']) || this.balanced_token(["'", "'"]))) { return false; } this.interpolate_string(string.replace(STRING_NEWLINES, " \\\n")); @@ -179,12 +179,12 @@ // preserve whitespace, but ignore indentation to the left. Lexer.prototype.heredoc_token = function heredoc_token() { var doc, match, quote; - if (!((match = this.chunk.match(HEREDOC)))) { + if (!(match = this.chunk.match(HEREDOC))) { return false; } quote = match[1].substr(0, 1); doc = this.sanitize_heredoc(match[2] || match[4], quote); - this.interpolate_string('' + quote + doc + quote); + this.interpolate_string("" + quote + doc + quote); this.line += count(match[1], "\n"); this.i += match[1].length; return true; @@ -195,7 +195,7 @@ if (!(starts(this.chunk, '`'))) { return false; } - if (!((script = this.balanced_token(['`', '`'])))) { + if (!(script = this.balanced_token(['`', '`']))) { return false; } this.token('JS', script.replace(JS_CLEANER, '')); @@ -214,10 +214,10 @@ if (include(NOT_REGEX, this.tag())) { return false; } - if (!((regex = this.balanced_token(['/', '/'])))) { + if (!(regex = this.balanced_token(['/', '/']))) { return false; } - regex += ((flags = this.chunk.substr(regex.length).match(REGEX_FLAGS))); + regex += (flags = this.chunk.substr(regex.length).match(REGEX_FLAGS)); if (regex.match(REGEX_INTERPOLATION)) { str = regex.substring(1).split('/')[0]; str = str.replace(REGEX_ESCAPE, function(escaped) { @@ -225,7 +225,7 @@ }); this.tokens = this.tokens.concat([['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']]); this.interpolate_string("\"" + str + "\"", true); - this.tokens = this.tokens.concat([[',', ','], ['STRING', "'" + flags + "'"], [')', ')'], [')', ')']]); + this.tokens = this.tokens.concat([[',', ','], ['STRING', "\"" + flags + "\""], [')', ')'], [')', ')']]); } else { this.token('REGEX', regex); } @@ -243,7 +243,7 @@ // so they're treated as real tokens, like any other part of the language. Lexer.prototype.comment_token = function comment_token() { var comment, i, lines; - if (!((comment = this.match(COMMENT, 1)))) { + if (!(comment = this.match(COMMENT, 1))) { return false; } this.line += (comment.match(MULTILINER) || []).length; @@ -268,7 +268,7 @@ // can close multiple indents, so we need to know how far in we happen to be. Lexer.prototype.line_token = function line_token() { var diff, indent, next_character, no_newlines, prev, size; - if (!((indent = this.match(MULTI_DENT, 1)))) { + if (!(indent = this.match(MULTI_DENT, 1))) { return false; } this.line += indent.match(MULTILINER).length; @@ -313,7 +313,7 @@ // as being "spaced", because there are some cases where it makes a difference. Lexer.prototype.whitespace_token = function whitespace_token() { var prev, space; - if (!((space = this.match(WHITESPACE, 1)))) { + if (!(space = this.match(WHITESPACE, 1))) { return false; } prev = this.prev(); @@ -411,7 +411,7 @@ Lexer.prototype.tag_half_assignment = function tag_half_assignment(tag) { var last; last = this.tokens.pop(); - this.tokens.push(['' + tag + "=", '' + tag + "=", last[2]]); + this.tokens.push(["" + tag + "=", "" + tag + "=", last[2]]); return true; }; // A source of ambiguity in our grammar used to be parameter lists in function @@ -483,14 +483,14 @@ interp = "this." + (interp.substring(1)); } if (pi < i) { - tokens.push(['STRING', '' + quote + (str.substring(pi, i)) + quote]); + tokens.push(['STRING', "" + quote + (str.substring(pi, i)) + quote]); } tokens.push(['IDENTIFIER', interp]); i += group.length - 1; pi = i + 1; - } else if (((expr = balanced_string(str.substring(i), [['${', '}']])))) { + } else if ((expr = balanced_string(str.substring(i), [['${', '}']]))) { if (pi < i) { - tokens.push(['STRING', '' + quote + (str.substring(pi, i)) + quote]); + tokens.push(['STRING', "" + quote + (str.substring(pi, i)) + quote]); } inner = expr.substring(2, expr.length - 1); if (inner.length) { @@ -501,7 +501,7 @@ nested.pop(); tokens.push(['TOKENS', nested]); } else { - tokens.push(['STRING', '' + quote + quote]); + tokens.push(['STRING', "" + quote + quote]); } i += expr.length - 1; pi = i + 1; @@ -509,10 +509,10 @@ i += 1; } if (pi < i && pi < str.length - 1) { - tokens.push(['STRING', '' + quote + (str.substring(pi, i)) + quote]); + tokens.push(['STRING', "" + quote + (str.substring(pi, i)) + quote]); } if (!(tokens[0][0] === 'STRING')) { - tokens.unshift(['STRING', "''"]); + tokens.unshift(['STRING', '""']); } _c = tokens; for (i = 0, _d = _c.length; i < _d; i++) { @@ -544,7 +544,7 @@ // Peek at a tag in the current token stream. Lexer.prototype.tag = function tag(index, tag) { var tok; - if (!((tok = this.prev(index)))) { + if (!(tok = this.prev(index))) { return null; } if ((typeof tag !== "undefined" && tag !== null)) { @@ -555,7 +555,7 @@ // Peek at a value in the current token stream. Lexer.prototype.value = function value(index, val) { var tok; - if (!((tok = this.prev(index)))) { + if (!(tok = this.prev(index))) { return null; } if ((typeof val !== "undefined" && val !== null)) { @@ -571,7 +571,7 @@ // match if successful, and `false` otherwise. Lexer.prototype.match = function match(regex, index) { var m; - if (!((m = this.chunk.match(regex)))) { + if (!(m = this.chunk.match(regex))) { return false; } if (m) { diff --git a/lib/nodes.js b/lib/nodes.js index 9b42d820..a0a4fc2f 100644 --- a/lib/nodes.js +++ b/lib/nodes.js @@ -275,10 +275,10 @@ var code; code = this.compile_node(o); if (o.scope.has_assignments(this)) { - code = '' + (this.tab) + "var " + (o.scope.compiled_assignments()) + ";\n" + code; + code = "" + (this.tab) + "var " + (o.scope.compiled_assignments()) + ";\n" + code; } if (o.scope.has_declarations(this)) { - code = '' + (this.tab) + "var " + (o.scope.compiled_declarations()) + ";\n" + code; + code = "" + (this.tab) + "var " + (o.scope.compiled_declarations()) + ";\n" + code; } return code; }; @@ -294,7 +294,7 @@ if (node.is_statement()) { return compiled_node; } else { - return '' + (this.idt()) + compiled_node + ";"; + return "" + (this.idt()) + compiled_node + ";"; } }; return Expressions; @@ -329,7 +329,7 @@ var end, idt; idt = this.is_statement() ? this.idt() : ''; end = this.is_statement() ? ';' : ''; - return '' + idt + this.value + end; + return "" + idt + this.value + end; }; LiteralNode.prototype.toString = function toString(idt) { return " \"" + this.value + "\""; @@ -350,7 +350,7 @@ if (this.expression.is_statement()) { o.as_statement = true; } - return '' + (this.tab) + "return " + (this.expression.compile(o)) + ";"; + return "" + (this.tab) + "return " + (this.expression.compile(o)) + ";"; }; return ReturnNode; }).call(this); @@ -429,7 +429,7 @@ soaked = true; if (this.base instanceof CallNode && prop === props[0]) { temp = o.scope.free_variable(); - complete = "(" + temp + " = " + complete + ")" + this.SOAK + ((baseline = temp + prop.compile(o))); + complete = "(" + temp + " = " + complete + ")" + this.SOAK + (baseline = temp + prop.compile(o)); } else { complete = complete + this.SOAK + (baseline += prop.compile(o)); } @@ -463,7 +463,7 @@ return this; }; CommentNode.prototype.compile_node = function compile_node(o) { - return '' + this.tab + "//" + this.lines.join("\n" + this.tab + "//"); + return "" + this.tab + "//" + this.lines.join("\n" + this.tab + "//"); }; return CommentNode; }).call(this); @@ -519,15 +519,15 @@ if (this.is_super) { return this.compile_super(args, o); } - return '' + (this.prefix()) + (this.variable.compile(o)) + "(" + args + ")"; + return "" + (this.prefix()) + (this.variable.compile(o)) + "(" + args + ")"; }; // `super()` is converted into a call against the superclass's implementation // of the current function. CallNode.prototype.compile_super = function compile_super(args, o) { var meth, methname; methname = o.scope.method.name; - meth = o.scope.method.proto ? '' + (o.scope.method.proto) + ".__superClass__." + methname : '' + (methname) + ".__superClass__.constructor"; - return '' + (meth) + ".call(this" + (args.length ? ', ' : '') + args + ")"; + meth = o.scope.method.proto ? "" + (o.scope.method.proto) + ".__superClass__." + methname : "" + (methname) + ".__superClass__.constructor"; + return "" + (meth) + ".call(this" + (args.length ? ', ' : '') + args + ")"; }; // If you call a function with a splat, it's converted into a JavaScript // `.apply()` call to allow an array of arguments to be passed. @@ -540,13 +540,14 @@ obj = temp; meth = "(" + temp + " = " + (this.variable.source) + ")" + (this.variable.last); } - return '' + (this.prefix()) + (meth) + ".apply(" + obj + ", " + (this.compile_splat_arguments(o)) + ")"; + return "" + (this.prefix()) + (meth) + ".apply(" + obj + ", " + (this.compile_splat_arguments(o)) + ")"; }; return CallNode; }).call(this); //### CurryNode - // Node to bind an context and/or some arguments to a function, returning a new function - // After `Underscore.bind` from [Underscore](http://documentcloud.github.com/underscore/). + // Binds a context object and a list of arguments to a function, + // returning the bound function. After ECMAScript 5, Prototype.js, and + // Underscore's `bind` functions. exports.CurryNode = (function() { CurryNode = function CurryNode(meth, args) { this.children = flatten([(this.meth = meth), (this.context = args[0]), (this.args = (args.slice(1) || []))]); @@ -661,7 +662,7 @@ _b = [this.from.compile(o), this.to.compile(o)]; from = _b[0]; to = _b[1]; - return '' + this.from_var + " = " + from + "; " + this.to_var + " = " + to + ";\n" + this.tab; + return "" + this.from_var + " = " + from + "; " + this.to_var + " = " + to + ";\n" + this.tab; }; // When compiled normally, the range returns the contents of the *for loop* // needed to iterate over the values in the range. Used by comprehensions. @@ -672,13 +673,13 @@ } idx = del(o, 'index'); step = del(o, 'step'); - vars = '' + idx + " = " + this.from_var; + vars = "" + idx + " = " + this.from_var; step = step ? step.compile(o) : '1'; equals = this.exclusive ? '' : '='; intro = "(" + this.from_var + " <= " + this.to_var + " ? " + idx; - compare = '' + intro + " <" + equals + " " + this.to_var + " : " + idx + " >" + equals + " " + this.to_var + ")"; - incr = '' + intro + " += " + step + " : " + idx + " -= " + step + ")"; - return '' + vars + "; " + compare + "; " + incr; + compare = "" + intro + " <" + equals + " " + this.to_var + " : " + idx + " >" + equals + " " + this.to_var + ")"; + incr = "" + intro + " += " + step + " : " + idx + " -= " + step + ")"; + return "" + vars + "; " + compare + "; " + incr; }; // When used as a value, expand the range into the equivalent array. In the // future, the code this generates should probably be cleaned up by handwriting @@ -794,7 +795,7 @@ } else if (i === this.objects.length - 1) { objects.push(code); } else { - objects.push('' + code + ", "); + objects.push("" + code + ", "); } } objects = objects.join(''); @@ -855,7 +856,7 @@ props = props.empty() ? '' : props.compile(o) + '\n'; extension = extension ? this.idt() + extension.compile(o) + ';\n' : ''; returns = this.returns ? new ReturnNode(this.variable).compile(o) : ''; - return '' + construct + extension + props + returns; + return "" + construct + extension + props + returns; }; return ClassNode; }).call(this); @@ -914,14 +915,14 @@ } val = this.value.compile(o); if (this.context === 'object') { - return '' + name + ": " + val; + return "" + name + ": " + val; } if (!(this.is_value() && this.variable.has_properties())) { o.scope.find(name); } - val = '' + name + " = " + val; + val = "" + name + " = " + val; if (stmt) { - return '' + this.tab + val + ";"; + return "" + this.tab + val + ";"; } if (top) { return val; @@ -937,7 +938,7 @@ var _a, _b, _c, access_class, assigns, code, i, idx, obj, oindex, olength, splat, val, val_var, value; val_var = o.scope.free_variable(); value = this.value.is_statement() ? ClosureNode.wrap(this.value) : this.value; - assigns = ['' + this.tab + val_var + " = " + (value.compile(o)) + ";"]; + assigns = ["" + this.tab + val_var + " = " + (value.compile(o)) + ";"]; o.top = true; o.as_statement = true; splat = false; @@ -952,11 +953,11 @@ } access_class = this.variable.is_array() ? IndexNode : AccessorNode; if (obj instanceof SplatNode && !splat) { - val = literal(obj.compile_value(o, val_var, ((oindex = this.variable.base.objects.indexOf(obj))), ((olength = this.variable.base.objects.length)) - oindex - 1)); + val = literal(obj.compile_value(o, val_var, (oindex = this.variable.base.objects.indexOf(obj)), (olength = this.variable.base.objects.length) - oindex - 1)); splat = true; } else { if (typeof idx !== 'object') { - idx = literal(splat ? '' + (val_var) + ".length - " + (olength - idx) : idx); + idx = literal(splat ? "" + (val_var) + ".length - " + (olength - idx) : idx); } val = new ValueNode(literal(val_var), [new access_class(idx)]); } @@ -978,7 +979,7 @@ from = range.from.compile(o); to = range.to.compile(o) + ' - ' + from + plus; val = this.value.compile(o); - return '' + (name) + ".splice.apply(" + name + ", [" + from + ", " + to + "].concat(" + val + "))"; + return "" + (name) + ".splice.apply(" + name + ", [" + from + ", " + to + "].concat(" + val + "))"; }; return AssignNode; }).call(this); @@ -1121,7 +1122,7 @@ o.scope.assign(trailing.compile(o), "arguments[arguments.length - " + this.trailings.length + " + " + i + "]"); i += 1; } - return '' + name + " = Array.prototype.slice.call(arguments, " + this.index + ", arguments.length - " + (this.trailings.length) + ")"; + return "" + name + " = Array.prototype.slice.call(arguments, " + this.index + ", arguments.length - " + (this.trailings.length) + ")"; }; // A compiling a splat as a destructuring assignment means slicing arguments // from the right-hand-side's corresponding array. @@ -1147,10 +1148,10 @@ if (!(arg instanceof SplatNode)) { prev = args[i - 1]; if (i === 1 && prev.substr(0, 1) === '[' && prev.substr(prev.length - 1, 1) === ']') { - args[i - 1] = '' + (prev.substr(0, prev.length - 1)) + ", " + code + "]"; + args[i - 1] = "" + (prev.substr(0, prev.length - 1)) + ", " + code + "]"; continue; } else if (i > 1 && prev.substr(0, 9) === '.concat([' && prev.substr(prev.length - 2, 2) === '])') { - args[i - 1] = '' + (prev.substr(0, prev.length - 2)) + ", " + code + "])"; + args[i - 1] = "" + (prev.substr(0, prev.length - 2)) + ", " + code + "])"; continue; } else { code = "[" + code + "]"; @@ -1196,14 +1197,14 @@ set = ''; if (!top) { rvar = o.scope.free_variable(); - set = '' + this.tab + rvar + " = [];\n"; + set = "" + this.tab + rvar + " = [];\n"; if (this.body) { this.body = PushNode.wrap(rvar, this.body); } } - pre = '' + set + (this.tab) + "while (" + cond + ")"; + pre = "" + set + (this.tab) + "while (" + cond + ")"; if (!this.body) { - return '' + pre + " null;" + post; + return "" + pre + " null;" + post; } if (this.filter) { this.body = Expressions.wrap([new IfNode(this.filter, this.body)]); @@ -1211,7 +1212,7 @@ this.returns ? (post = new ReturnNode(literal(rvar)).compile(merge(o, { indent: this.idt() }))) : (post = ''); - return '' + pre + " {\n" + (this.body.compile(o)) + "\n" + this.tab + "}\n" + post; + return "" + pre + " {\n" + (this.body.compile(o)) + "\n" + this.tab + "}\n" + post; }; return WhileNode; }).call(this); @@ -1293,9 +1294,9 @@ o.scope.find(first); } if (this.operator === '?=') { - return '' + first + " = " + (ExistenceNode.compile_test(o, this.first)) + " ? " + first + " : " + second; + return "" + first + " = " + (ExistenceNode.compile_test(o, this.first)) + " ? " + first + " : " + second; } - return '' + first + " = " + first + " " + (this.operator.substr(0, 2)) + " " + second; + return "" + first + " = " + first + " " + (this.operator.substr(0, 2)) + " " + second; }; // If this is an existence operator, we delegate to `ExistenceNode.compile_test` // to give us the safe references for the variables. @@ -1305,7 +1306,7 @@ first = _a[0]; second = _a[1]; test = ExistenceNode.compile_test(o, this.first); - return '' + test + " ? " + first + " : " + second; + return "" + test + " ? " + first + " : " + second; }; // Compile a unary **OpNode**. OpNode.prototype.compile_unary = function compile_unary(o) { @@ -1349,7 +1350,7 @@ error_part = this.error ? " (" + (this.error.compile(o)) + ") " : ' '; catch_part = this.recovery ? " catch" + error_part + "{\n" + (this.recovery.compile(o)) + "\n" + this.tab + "}" : ''; finally_part = (this.ensure || '') && ' finally {\n' + this.ensure.compile(merge(o)) + "\n" + this.tab + "}"; - return '' + (this.tab) + "try {\n" + attempt_part + "\n" + this.tab + "}" + catch_part + finally_part; + return "" + (this.tab) + "try {\n" + attempt_part + "\n" + this.tab + "}" + catch_part + finally_part; }; return TryNode; }).call(this); @@ -1368,7 +1369,7 @@ return this; }; ThrowNode.prototype.compile_node = function compile_node(o) { - return '' + (this.tab) + "throw " + (this.expression.compile(o)) + ";"; + return "" + (this.tab) + "throw " + (this.expression.compile(o)) + ";"; }; return ThrowNode; }).call(this); @@ -1435,7 +1436,11 @@ if (code.substr(l - 1, 1) === ';') { code = code.substr(o, l - 1); } - return "(" + code + ")"; + if (this.expression instanceof AssignNode) { + return code; + } else { + return "(" + code + ")"; + } }; return ParentheticalNode; }).call(this); @@ -1513,17 +1518,17 @@ index: ivar, step: this.step })); - for_part = '' + index_var + " = 0, " + for_part + ", " + index_var + "++"; + for_part = "" + index_var + " = 0, " + for_part + ", " + index_var + "++"; } else { index_var = null; - source_part = '' + svar + " = " + (this.source.compile(o)) + ";\n" + this.tab; + source_part = "" + svar + " = " + (this.source.compile(o)) + ";\n" + this.tab; if (name) { - var_part = '' + body_dent + name + " = " + svar + "[" + ivar + "];\n"; + var_part = "" + body_dent + name + " = " + svar + "[" + ivar + "];\n"; } if (!this.object) { lvar = scope.free_variable(); - step_part = this.step ? '' + ivar + " += " + (this.step.compile(o)) : '' + ivar + "++"; - for_part = '' + ivar + " = 0, " + lvar + " = " + (svar) + ".length; " + ivar + " < " + lvar + "; " + step_part; + step_part = this.step ? "" + ivar + " += " + (this.step.compile(o)) : "" + ivar + "++"; + for_part = "" + ivar + " = 0, " + lvar + " = " + (svar) + ".length; " + ivar + " < " + lvar + "; " + step_part; } } set_result = rvar ? this.idt() + rvar + ' = []; ' : this.idt(); @@ -1539,15 +1544,15 @@ this.filter ? (body = Expressions.wrap([new IfNode(this.filter, body)])) : null; if (this.object) { o.scope.assign('__hasProp', 'Object.prototype.hasOwnProperty', true); - for_part = '' + ivar + " in " + svar + ") { if (__hasProp.call(" + svar + ", " + ivar + ")"; + for_part = "" + ivar + " in " + svar + ") { if (__hasProp.call(" + svar + ", " + ivar + ")"; } body = body.compile(merge(o, { indent: body_dent, top: true })); - vars = range ? name : '' + name + ", " + ivar; + vars = range ? name : "" + name + ", " + ivar; close = this.object ? '}}\n' : '}\n'; - return '' + set_result + (source_part) + "for (" + for_part + ") {\n" + var_part + body + "\n" + this.tab + close + return_result; + return "" + set_result + (source_part) + "for (" + for_part + ") {\n" + var_part + body + "\n" + this.tab + close + return_result; }; return ForNode; }).call(this); @@ -1676,9 +1681,9 @@ o.top = true; if_dent = child ? '' : this.idt(); com_dent = child ? this.idt() : ''; - prefix = this.comment ? '' + (this.comment.compile(cond_o)) + "\n" + com_dent : ''; + prefix = this.comment ? "" + (this.comment.compile(cond_o)) + "\n" + com_dent : ''; body = Expressions.wrap([this.body]).compile(o); - if_part = '' + prefix + (if_dent) + "if (" + (this.compile_condition(cond_o)) + ") {\n" + body + "\n" + this.tab + "}"; + if_part = "" + prefix + (if_dent) + "if (" + (this.compile_condition(cond_o)) + ") {\n" + body + "\n" + this.tab + "}"; if (!(this.else_body)) { return if_part; } @@ -1686,14 +1691,14 @@ indent: this.idt(), chain_child: true })) : " else {\n" + (Expressions.wrap([this.else_body]).compile(o)) + "\n" + this.tab + "}"; - return '' + if_part + else_part; + return "" + if_part + else_part; }; // Compile the IfNode as a ternary operator. IfNode.prototype.compile_ternary = function compile_ternary(o) { var else_part, if_part; if_part = this.condition.compile(o) + ' ? ' + this.body.compile(o); else_part = this.else_body ? this.else_body.compile(o) : 'null'; - return '' + if_part + " : " + else_part; + return "" + if_part + " : " + else_part; }; return IfNode; }).call(this); diff --git a/lib/optparse.js b/lib/optparse.js index a88ad049..ce136e10 100755 --- a/lib/optparse.js +++ b/lib/optparse.js @@ -51,7 +51,7 @@ var _a, _b, _c, _d, _e, _f, _g, _h, i, let_part, lines, rule, spaces; lines = ['Available options:']; if (this.banner) { - lines.unshift('' + this.banner + "\n"); + lines.unshift("" + this.banner + "\n"); } _a = this.rules; for (_b = 0, _c = _a.length; _b < _c; _b++) { diff --git a/lib/rewriter.js b/lib/rewriter.js index c3e77745..92eb5422 100644 --- a/lib/rewriter.js +++ b/lib/rewriter.js @@ -311,7 +311,7 @@ _a = INVERSES; for (key in _a) { if (__hasProp.call(_a, key)) { val = _a[key]; - ((debt[key] = 0)); + (debt[key] = 0); }} return this.scan_tokens((function(__this) { var __func = function(prev, token, post, i) { diff --git a/lib/scope.js b/lib/scope.js index efa2d64c..aeded357 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -100,7 +100,7 @@ _a = []; _b = this.variables; for (key in _b) { if (__hasProp.call(_b, key)) { val = _b[key]; - val.assigned ? _a.push('' + key + " = " + (val.value)) : null; + val.assigned ? _a.push("" + key + " = " + (val.value)) : null; }} return _a; }; diff --git a/package.json b/package.json index 4babddf9..ea97adcf 100644 --- a/package.json +++ b/package.json @@ -3,5 +3,5 @@ "description": "Unfancy JavaScript", "keywords": ["javascript", "language"], "author": "Jeremy Ashkenas", - "version": "0.5.5" + "version": "0.5.6" } diff --git a/src/coffee-script.coffee b/src/coffee-script.coffee index bedb9129..26516029 100644 --- a/src/coffee-script.coffee +++ b/src/coffee-script.coffee @@ -22,7 +22,7 @@ else helpers: this.helpers # The current CoffeeScript version number. -exports.VERSION: '0.5.5' +exports.VERSION: '0.5.6' # Instantiate a Lexer for our use here. lexer: new Lexer() diff --git a/src/lexer.coffee b/src/lexer.coffee index bfcf9b3f..6f6de894 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -158,7 +158,7 @@ exports.Lexer: class Lexer str: str.replace REGEX_ESCAPE, (escaped) -> '\\' + escaped @tokens: @tokens.concat [['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']] @interpolate_string "\"$str\"", yes - @tokens: @tokens.concat [[',', ','], ['STRING', "'$flags'"], [')', ')'], [')', ')']] + @tokens: @tokens.concat [[',', ','], ['STRING', "\"$flags\""], [')', ')'], [')', ')']] else @token 'REGEX', regex @i: + regex.length @@ -375,7 +375,7 @@ exports.Lexer: class Lexer pi: i + 1 i: + 1 tokens.push ['STRING', "$quote${ str.substring(pi, i) }$quote"] if pi < i and pi < str.length - 1 - tokens.unshift ['STRING', "''"] unless tokens[0][0] is 'STRING' + tokens.unshift ['STRING', '""'] unless tokens[0][0] is 'STRING' for token, i in tokens [tag, value]: token if tag is 'TOKENS' diff --git a/src/nodes.coffee b/src/nodes.coffee index 55e3be43..d05e70a4 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -397,8 +397,9 @@ exports.CallNode: class CallNode extends BaseNode #### CurryNode -# Node to bind an context and/or some arguments to a function, returning a new function -# After `Underscore.bind` from [Underscore](http://documentcloud.github.com/underscore/). +# Binds a context object and a list of arguments to a function, +# returning the bound function. After ECMAScript 5, Prototype.js, and +# Underscore's `bind` functions. exports.CurryNode: class CurryNode extends CallNode type: 'Curry' @@ -714,8 +715,8 @@ exports.AssignNode: class AssignNode extends BaseNode [obj, idx]: [obj.value, obj.variable.base] if @variable.is_object() access_class: if @variable.is_array() then IndexNode else AccessorNode if obj instanceof SplatNode and not splat - val: literal(obj.compile_value(o, val_var, - (oindex: @variable.base.objects.indexOf(obj)), + val: literal(obj.compile_value(o, val_var, + (oindex: @variable.base.objects.indexOf(obj)), (olength: @variable.base.objects.length) - oindex - 1)) splat: true else @@ -1077,7 +1078,7 @@ exports.ParentheticalNode: class ParentheticalNode extends BaseNode return code if @is_statement() l: code.length code: code.substr(o, l-1) if code.substr(l-1, 1) is ';' - "($code)" + if @expression instanceof AssignNode then code else "($code)" #### ForNode