riml 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING +0 -2
 - data/Gemfile +1 -1
 - data/Rakefile +1 -1
 - data/bin/riml +7 -9
 - data/lib/ast_rewriter.rb +0 -4
 - data/lib/class_map.rb +8 -3
 - data/lib/compiler.rb +34 -11
 - data/lib/constants.rb +6 -1
 - data/lib/errors.rb +1 -0
 - data/lib/grammar.y +2 -2
 - data/lib/included.vim +2 -0
 - data/lib/lexer.rb +6 -2
 - data/lib/parser.rb +531 -532
 - data/lib/repl.rb +50 -12
 - data/lib/riml.rb +7 -5
 - data/version.rb +2 -2
 - metadata +20 -14
 
    
        data/CONTRIBUTING
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ task :default => :test 
     | 
|
| 
       5 
5 
     | 
    
         
             
            task :test => [:output_test_count]
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            desc 'Run all *_tests and *_specs (default)'
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
            Rake::TestTask.new(:test) do |t|
         
     | 
| 
       9 
9 
     | 
    
         
             
              TEST_LIST = FileList['test/**/*_test.rb'].to_a
         
     | 
| 
       10 
10 
     | 
    
         
             
              t.test_files = TEST_LIST
         
     | 
| 
       11 
11 
     | 
    
         
             
            end
         
     | 
    
        data/bin/riml
    CHANGED
    
    | 
         @@ -12,7 +12,7 @@ module Riml 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              class Options
         
     | 
| 
       14 
14 
     | 
    
         
             
                def self.parse(argv)
         
     | 
| 
       15 
     | 
    
         
            -
                   
     | 
| 
      
 15 
     | 
    
         
            +
                  argv << '--help' if argv.size.zero?
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                  # defaults
         
     | 
| 
       18 
18 
     | 
    
         
             
                  options = OpenStruct.new
         
     | 
| 
         @@ -34,26 +34,24 @@ module Riml 
     | 
|
| 
       34 
34 
     | 
    
         
             
                      options.stdio = true
         
     | 
| 
       35 
35 
     | 
    
         
             
                    end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
                    opts.on("-k", "--check FILES", Array, "Checks syntax of file(s). Because Riml is a superset of VimL, this can be used to check VimL's syntax as well.") do |filenames|
         
     | 
| 
      
 37 
     | 
    
         
            +
                    opts.on("-k", "--check FILES", Array, "Checks syntax of file(s). Because Riml is (almost) a superset of VimL, this can be used to check VimL's syntax as well.") do |filenames|
         
     | 
| 
       38 
38 
     | 
    
         
             
                      append_filenames_to_list_if_all_exist(options.check_syntax_files, *filenames)
         
     | 
| 
       39 
39 
     | 
    
         
             
                    end
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
                    opts.on("-t", "--source-path PATH", "Path riml uses for `riml_source` to find files. Defaults to pwd.") do |path|
         
     | 
| 
      
 41 
     | 
    
         
            +
                    opts.on("-t", "--source-path PATH", "Path riml uses for `riml_source` and `riml_include` to find files. Defaults to pwd.") do |path|
         
     | 
| 
       42 
42 
     | 
    
         
             
                      if Dir.exists?(path)
         
     | 
| 
       43 
43 
     | 
    
         
             
                        Riml.source_path = path
         
     | 
| 
       44 
44 
     | 
    
         
             
                      else
         
     | 
| 
       45 
     | 
    
         
            -
                         
     | 
| 
       46 
     | 
    
         
            -
                        exit 1
         
     | 
| 
      
 45 
     | 
    
         
            +
                        abort "Couldn't find directory #{path.inspect}."
         
     | 
| 
       47 
46 
     | 
    
         
             
                      end
         
     | 
| 
       48 
47 
     | 
    
         
             
                    end
         
     | 
| 
       49 
48 
     | 
    
         | 
| 
       50 
49 
     | 
    
         
             
                    opts.on("-i", "--interactive", "Start an interactive riml session (REPL).") do
         
     | 
| 
       51 
     | 
    
         
            -
                      require 'repl'
         
     | 
| 
       52 
50 
     | 
    
         
             
                      options.repl = true
         
     | 
| 
       53 
51 
     | 
    
         
             
                    end
         
     | 
| 
       54 
52 
     | 
    
         | 
| 
       55 
53 
     | 
    
         
             
                    opts.on("--vi", "Use vi readline settings during interactive session.") do
         
     | 
| 
       56 
     | 
    
         
            -
                      options.vi_readline = true
         
     | 
| 
      
 54 
     | 
    
         
            +
                      options.vi_readline = options.repl =  true
         
     | 
| 
       57 
55 
     | 
    
         
             
                    end
         
     | 
| 
       58 
56 
     | 
    
         | 
| 
       59 
57 
     | 
    
         
             
                    opts.on_tail("-v", "--version", "Show riml version.") do
         
     | 
| 
         @@ -77,8 +75,7 @@ module Riml 
     | 
|
| 
       77 
75 
     | 
    
         
             
                    if File.exists?(fname)
         
     | 
| 
       78 
76 
     | 
    
         
             
                      list << fname
         
     | 
| 
       79 
77 
     | 
    
         
             
                    else
         
     | 
| 
       80 
     | 
    
         
            -
                       
     | 
| 
       81 
     | 
    
         
            -
                      exit 1
         
     | 
| 
      
 78 
     | 
    
         
            +
                      abort "Couldn't find file #{fname.inspect}."
         
     | 
| 
       82 
79 
     | 
    
         
             
                    end
         
     | 
| 
       83 
80 
     | 
    
         
             
                  end
         
     | 
| 
       84 
81 
     | 
    
         
             
                end
         
     | 
| 
         @@ -100,6 +97,7 @@ module Riml 
     | 
|
| 
       100 
97 
     | 
    
         
             
                      # "ok (1 file)" OR "ok (2 files)"
         
     | 
| 
       101 
98 
     | 
    
         
             
                      puts "ok (#{size} file#{'s' if size > 1})"
         
     | 
| 
       102 
99 
     | 
    
         
             
                    elsif options.repl
         
     | 
| 
      
 100 
     | 
    
         
            +
                      require 'repl'
         
     | 
| 
       103 
101 
     | 
    
         
             
                      Riml::Repl.new(options.vi_readline).run
         
     | 
| 
       104 
102 
     | 
    
         
             
                    end
         
     | 
| 
       105 
103 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/ast_rewriter.rb
    CHANGED
    
    | 
         @@ -98,12 +98,8 @@ module Riml 
     | 
|
| 
       98 
98 
     | 
    
         
             
                  end
         
     | 
| 
       99 
99 
     | 
    
         | 
| 
       100 
100 
     | 
    
         
             
                  def replace(node)
         
     | 
| 
       101 
     | 
    
         
            -
                    if classes[node.name]
         
     | 
| 
       102 
     | 
    
         
            -
                      raise ClassRedefinitionError, "can't redefine class #{node.name.inspect}"
         
     | 
| 
       103 
     | 
    
         
            -
                    end
         
     | 
| 
       104 
101 
     | 
    
         
             
                    classes[node.name] = node
         
     | 
| 
       105 
102 
     | 
    
         | 
| 
       106 
     | 
    
         
            -
                    name, expressions = node.name, node.expressions
         
     | 
| 
       107 
103 
     | 
    
         
             
                    InsertInitializeMethod.new(node, classes).rewrite_on_match
         
     | 
| 
       108 
104 
     | 
    
         
             
                    constructor = node.constructor
         
     | 
| 
       109 
105 
     | 
    
         
             
                    constructor.scope_modifier = 'g:' unless constructor.scope_modifier
         
     | 
    
        data/lib/class_map.rb
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
              class ClassNotFound < NameError; end
         
     | 
| 
      
 1 
     | 
    
         
            +
            require File.expand_path("../errors", __FILE__)
         
     | 
| 
       3 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            module Riml
         
     | 
| 
       4 
4 
     | 
    
         
             
              # Map of {"ClassName" => ClassDefinitionNode}
         
     | 
| 
       5 
5 
     | 
    
         
             
              # Can also query object for superclass of a named class, etc...
         
     | 
| 
       6 
6 
     | 
    
         
             
              #
         
     | 
| 
         @@ -17,13 +17,18 @@ module Riml 
     | 
|
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                def []=(key, val)
         
     | 
| 
       19 
19 
     | 
    
         
             
                  ensure_key_is_string!(key)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  if @map[key]
         
     | 
| 
      
 21 
     | 
    
         
            +
                    raise ClassRedefinitionError, "can't redefine class #{key.inspect}."
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
       20 
23 
     | 
    
         
             
                  @map[key] = val
         
     | 
| 
       21 
24 
     | 
    
         
             
                end
         
     | 
| 
       22 
25 
     | 
    
         | 
| 
       23 
26 
     | 
    
         
             
                def superclass(key)
         
     | 
| 
       24 
27 
     | 
    
         
             
                  ensure_key_is_string!(key)
         
     | 
| 
       25 
28 
     | 
    
         
             
                  super_key = @map[key].superclass_name
         
     | 
| 
       26 
     | 
    
         
            -
                   
     | 
| 
      
 29 
     | 
    
         
            +
                  unless @map[super_key]
         
     | 
| 
      
 30 
     | 
    
         
            +
                    raise ClassNotFound, "class #{super_key.inspect} not found."
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
       27 
32 
     | 
    
         
             
                  @map[super_key]
         
     | 
| 
       28 
33 
     | 
    
         
             
                end
         
     | 
| 
       29 
34 
     | 
    
         | 
    
        data/lib/compiler.rb
    CHANGED
    
    | 
         @@ -3,6 +3,7 @@ require File.expand_path('../nodes', __FILE__) 
     | 
|
| 
       3 
3 
     | 
    
         
             
            # visits AST nodes and translates them into VimL
         
     | 
| 
       4 
4 
     | 
    
         
             
            module Riml
         
     | 
| 
       5 
5 
     | 
    
         
             
              class Compiler
         
     | 
| 
      
 6 
     | 
    
         
            +
                attr_accessor :parser
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
                # Base abstract visitor
         
     | 
| 
       8 
9 
     | 
    
         
             
                class Visitor
         
     | 
| 
         @@ -77,7 +78,6 @@ module Riml 
     | 
|
| 
       77 
78 
     | 
    
         
             
                    node.body.compiled_output.each_line do |line|
         
     | 
| 
       78 
79 
     | 
    
         
             
                      node.compiled_output << node.indent + line
         
     | 
| 
       79 
80 
     | 
    
         
             
                    end
         
     | 
| 
       80 
     | 
    
         
            -
                    node.compiled_output << "\n" unless node.compiled_output[-1] == "\n"
         
     | 
| 
       81 
81 
     | 
    
         
             
                    node.force_newline = true
         
     | 
| 
       82 
82 
     | 
    
         
             
                    node.compiled_output << "endwhile"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -267,7 +267,7 @@ module Riml 
     | 
|
| 
       267 
267 
     | 
    
         
             
                    # if `function doIt(*options)`, then:
         
     | 
| 
       268 
268 
     | 
    
         
             
                    # *options OR options in function body becomes `a:000`
         
     | 
| 
       269 
269 
     | 
    
         
             
                    if [ splat, splat[1..-1] ].include?(node.name)
         
     | 
| 
       270 
     | 
    
         
            -
                      node.scope_modifier =  
     | 
| 
      
 270 
     | 
    
         
            +
                      node.scope_modifier = 'a:'
         
     | 
| 
       271 
271 
     | 
    
         
             
                      node.name = '000'
         
     | 
| 
       272 
272 
     | 
    
         
             
                    end
         
     | 
| 
       273 
273 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -408,7 +408,7 @@ module Riml 
     | 
|
| 
       408 
408 
     | 
    
         
             
                  def walk_node!(node)
         
     | 
| 
       409 
409 
     | 
    
         
             
                    node.each do |expr|
         
     | 
| 
       410 
410 
     | 
    
         
             
                      expr.accept(self) if expr.respond_to?(:accept)
         
     | 
| 
       411 
     | 
    
         
            -
                    end
         
     | 
| 
      
 411 
     | 
    
         
            +
                    end if node.respond_to?(:each)
         
     | 
| 
       412 
412 
     | 
    
         
             
                  end
         
     | 
| 
       413 
413 
     | 
    
         
             
                end
         
     | 
| 
       414 
414 
     | 
    
         | 
| 
         @@ -427,7 +427,7 @@ module Riml 
     | 
|
| 
       427 
427 
     | 
    
         
             
                    else
         
     | 
| 
       428 
428 
     | 
    
         
             
                      node.scope = @scope
         
     | 
| 
       429 
429 
     | 
    
         
             
                    end
         
     | 
| 
       430 
     | 
    
         
            -
                    walk_node!(node) 
     | 
| 
      
 430 
     | 
    
         
            +
                    walk_node!(node)
         
     | 
| 
       431 
431 
     | 
    
         
             
                  end
         
     | 
| 
       432 
432 
     | 
    
         
             
                end
         
     | 
| 
       433 
433 
     | 
    
         | 
| 
         @@ -491,14 +491,16 @@ module Riml 
     | 
|
| 
       491 
491 
     | 
    
         
             
                  def compile(node)
         
     | 
| 
       492 
492 
     | 
    
         
             
                    if node.name == 'riml_source'
         
     | 
| 
       493 
493 
     | 
    
         
             
                      node.name = 'source'
         
     | 
| 
       494 
     | 
    
         
            -
                      node 
     | 
| 
       495 
     | 
    
         
            -
                        unless File.exists?(File.join(Riml.source_path, file))
         
     | 
| 
       496 
     | 
    
         
            -
                          raise Riml::FileNotFound, "#{file.inspect} could not be found in " \
         
     | 
| 
       497 
     | 
    
         
            -
                            "source path (#{Riml.source_path.inspect})"
         
     | 
| 
       498 
     | 
    
         
            -
                        end
         
     | 
| 
       499 
     | 
    
         
            -
             
     | 
| 
      
 494 
     | 
    
         
            +
                      each_existing_file!(node) do |file|
         
     | 
| 
       500 
495 
     | 
    
         
             
                        root_node(node).current_compiler.compile_queue << file
         
     | 
| 
       501 
496 
     | 
    
         
             
                      end
         
     | 
| 
      
 497 
     | 
    
         
            +
                    elsif node.name == 'riml_include'
         
     | 
| 
      
 498 
     | 
    
         
            +
                      each_existing_file!(node) do |file|
         
     | 
| 
      
 499 
     | 
    
         
            +
                        full_path = File.join(Riml.source_path, file)
         
     | 
| 
      
 500 
     | 
    
         
            +
                        riml_src = File.read(full_path)
         
     | 
| 
      
 501 
     | 
    
         
            +
                        node.compiled_output << root_node(node).current_compiler.compile_include(riml_src, file)
         
     | 
| 
      
 502 
     | 
    
         
            +
                      end
         
     | 
| 
      
 503 
     | 
    
         
            +
                      return node.compiled_output
         
     | 
| 
       502 
504 
     | 
    
         
             
                    end
         
     | 
| 
       503 
505 
     | 
    
         
             
                    node.compiled_output << node.name
         
     | 
| 
       504 
506 
     | 
    
         
             
                    compile_arguments(node)
         
     | 
| 
         @@ -507,6 +509,20 @@ module Riml 
     | 
|
| 
       507 
509 
     | 
    
         
             
                    node.compiled_output
         
     | 
| 
       508 
510 
     | 
    
         
             
                  end
         
     | 
| 
       509 
511 
     | 
    
         | 
| 
      
 512 
     | 
    
         
            +
                  def each_existing_file!(node)
         
     | 
| 
      
 513 
     | 
    
         
            +
                    files = []
         
     | 
| 
      
 514 
     | 
    
         
            +
                    node.arguments.map(&:value).each do |file|
         
     | 
| 
      
 515 
     | 
    
         
            +
                      if File.exists?(File.join(Riml.source_path, file))
         
     | 
| 
      
 516 
     | 
    
         
            +
                        files << file
         
     | 
| 
      
 517 
     | 
    
         
            +
                      else
         
     | 
| 
      
 518 
     | 
    
         
            +
                        raise Riml::FileNotFound, "#{file.inspect} could not be found in " \
         
     | 
| 
      
 519 
     | 
    
         
            +
                          "source path (#{Riml.source_path.inspect})"
         
     | 
| 
      
 520 
     | 
    
         
            +
                      end
         
     | 
| 
      
 521 
     | 
    
         
            +
                    end
         
     | 
| 
      
 522 
     | 
    
         
            +
                    # all files exist
         
     | 
| 
      
 523 
     | 
    
         
            +
                    files.each {|f| yield f} if block_given?
         
     | 
| 
      
 524 
     | 
    
         
            +
                  end
         
     | 
| 
      
 525 
     | 
    
         
            +
             
     | 
| 
       510 
526 
     | 
    
         
             
                  def root_node(node)
         
     | 
| 
       511 
527 
     | 
    
         
             
                    node = node.parent until node.parent.nil?
         
     | 
| 
       512 
528 
     | 
    
         
             
                    node
         
     | 
| 
         @@ -597,7 +613,7 @@ module Riml 
     | 
|
| 
       597 
613 
     | 
    
         
             
                    node.keys.each do |key|
         
     | 
| 
       598 
614 
     | 
    
         
             
                      node.compiled_output << '['
         
     | 
| 
       599 
615 
     | 
    
         
             
                      key.accept(visitor_for_node(key))
         
     | 
| 
       600 
     | 
    
         
            -
                      node.compiled_output <<  
     | 
| 
      
 616 
     | 
    
         
            +
                      node.compiled_output << ']'
         
     | 
| 
       601 
617 
     | 
    
         
             
                    end
         
     | 
| 
       602 
618 
     | 
    
         
             
                    node.compiled_output
         
     | 
| 
       603 
619 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -643,6 +659,13 @@ module Riml 
     | 
|
| 
       643 
659 
     | 
    
         
             
                  @compile_queue ||= []
         
     | 
| 
       644 
660 
     | 
    
         
             
                end
         
     | 
| 
       645 
661 
     | 
    
         | 
| 
      
 662 
     | 
    
         
            +
                def compile_include(source, from_file = nil)
         
     | 
| 
      
 663 
     | 
    
         
            +
                  root_node = parser.parse(source)
         
     | 
| 
      
 664 
     | 
    
         
            +
                  output = compile(root_node)
         
     | 
| 
      
 665 
     | 
    
         
            +
                  return output unless from_file
         
     | 
| 
      
 666 
     | 
    
         
            +
                  (Riml::INCLUDE_COMMENT_FMT % from_file) + output
         
     | 
| 
      
 667 
     | 
    
         
            +
                end
         
     | 
| 
      
 668 
     | 
    
         
            +
             
     | 
| 
       646 
669 
     | 
    
         
             
                # compiles nodes into output code
         
     | 
| 
       647 
670 
     | 
    
         
             
                def compile(root_node)
         
     | 
| 
       648 
671 
     | 
    
         
             
                  root_node.extend CompilerAccessible
         
     | 
    
        data/lib/constants.rb
    CHANGED
    
    | 
         @@ -4,11 +4,16 @@ module Riml 
     | 
|
| 
       4 
4 
     | 
    
         
             
                  %w(function function! if else elseif while for in
         
     | 
| 
       5 
5 
     | 
    
         
             
                     return is isnot finish break continue call let unlet unlet! try
         
     | 
| 
       6 
6 
     | 
    
         
             
                     catch finally)
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       7 
8 
     | 
    
         
             
                VIML_END_KEYWORDS =
         
     | 
| 
       8 
9 
     | 
    
         
             
                  %w(endfunction endif endwhile endfor endtry)
         
     | 
| 
      
 10 
     | 
    
         
            +
                RIML_END_KEYWORDS = %w(end)
         
     | 
| 
      
 11 
     | 
    
         
            +
                END_KEYWORDS = VIML_END_KEYWORDS + RIML_END_KEYWORDS
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       9 
13 
     | 
    
         
             
                RIML_KEYWORDS =
         
     | 
| 
       10 
14 
     | 
    
         
             
                  %w(def defm super end then unless until true false nil class new)
         
     | 
| 
       11 
15 
     | 
    
         
             
                DEFINE_KEYWORDS = %w(def def! defm defm! function function!)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       12 
17 
     | 
    
         
             
                KEYWORDS = VIML_KEYWORDS + VIML_END_KEYWORDS + RIML_KEYWORDS
         
     | 
| 
       13 
18 
     | 
    
         | 
| 
       14 
19 
     | 
    
         
             
                SPECIAL_VARIABLE_PREFIXES =
         
     | 
| 
         @@ -16,7 +21,7 @@ module Riml 
     | 
|
| 
       16 
21 
     | 
    
         
             
                BUILTIN_COMMANDS  =
         
     | 
| 
       17 
22 
     | 
    
         
             
                  %w(echo echon echohl execute sleep)
         
     | 
| 
       18 
23 
     | 
    
         
             
                RIML_COMMANDS =
         
     | 
| 
       19 
     | 
    
         
            -
                  %w(riml_source)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  %w(riml_source riml_include)
         
     | 
| 
       20 
25 
     | 
    
         
             
                VIML_COMMANDS =
         
     | 
| 
       21 
26 
     | 
    
         
             
                  %w(source source! command! command silent silent!)
         
     | 
| 
       22 
27 
     | 
    
         | 
    
        data/lib/errors.rb
    CHANGED
    
    
    
        data/lib/grammar.y
    CHANGED
    
    | 
         @@ -379,7 +379,7 @@ rule 
     | 
|
| 
       379 
379 
     | 
    
         | 
| 
       380 
380 
     | 
    
         
             
              Return:
         
     | 
| 
       381 
381 
     | 
    
         
             
                RETURN ValueExpression                { result = ReturnNode.new(val[1]) }
         
     | 
| 
       382 
     | 
    
         
            -
              | RETURN 
     | 
| 
      
 382 
     | 
    
         
            +
              | RETURN                                { result = ReturnNode.new(nil) }
         
     | 
| 
       383 
383 
     | 
    
         
             
              ;
         
     | 
| 
       384 
384 
     | 
    
         | 
| 
       385 
385 
     | 
    
         
             
              EndScript:
         
     | 
| 
         @@ -390,7 +390,7 @@ rule 
     | 
|
| 
       390 
390 
     | 
    
         
             
              If:
         
     | 
| 
       391 
391 
     | 
    
         
             
                IF ValueExpression IfBlock END                    { result = IfNode.new(val[1], val[2]) }
         
     | 
| 
       392 
392 
     | 
    
         
             
              | IF ValueExpression THEN ValueExpression END       { result = IfNode.new(val[1], Nodes.new([val[3]])) }
         
     | 
| 
       393 
     | 
    
         
            -
              |  
     | 
| 
      
 393 
     | 
    
         
            +
              | AnyExpression IF ValueExpression                  { result = IfNode.new(val[2], Nodes.new([val[0]])) }
         
     | 
| 
       394 
394 
     | 
    
         
             
              ;
         
     | 
| 
       395 
395 
     | 
    
         | 
| 
       396 
396 
     | 
    
         
             
              Unless:
         
     | 
    
        data/lib/included.vim
    ADDED
    
    
    
        data/lib/lexer.rb
    CHANGED
    
    | 
         @@ -198,7 +198,7 @@ module Riml 
     | 
|
| 
       198 
198 
     | 
    
         
             
                      parts = heredoc_string.split(INTERPOLATION_SPLIT_REGEX)
         
     | 
| 
       199 
199 
     | 
    
         
             
                      handle_interpolation(*parts)
         
     | 
| 
       200 
200 
     | 
    
         
             
                    else
         
     | 
| 
       201 
     | 
    
         
            -
                      @token_buf << [:STRING_D, heredoc_string]
         
     | 
| 
      
 201 
     | 
    
         
            +
                      @token_buf << [:STRING_D, escape_double_quotes(heredoc_string)]
         
     | 
| 
       202 
202 
     | 
    
         
             
                    end
         
     | 
| 
       203 
203 
     | 
    
         
             
                    @lineno += heredoc_string.each_line.to_a.size
         
     | 
| 
       204 
204 
     | 
    
         
             
                  # operators of more than 1 char
         
     | 
| 
         @@ -278,13 +278,17 @@ module Riml 
     | 
|
| 
       278 
278 
     | 
    
         
             
                    if part[0..1] == '#{' && part[-1] == '}'
         
     | 
| 
       279 
279 
     | 
    
         
             
                      @token_buf.concat tokenize_without_moving_pos(part[2...-1])
         
     | 
| 
       280 
280 
     | 
    
         
             
                    else
         
     | 
| 
       281 
     | 
    
         
            -
                      @token_buf << [:STRING_D, part]
         
     | 
| 
      
 281 
     | 
    
         
            +
                      @token_buf << [:STRING_D, escape_double_quotes(part)]
         
     | 
| 
       282 
282 
     | 
    
         
             
                    end
         
     | 
| 
       283 
283 
     | 
    
         
             
                    # string-concatenate all the parts unless this is the last part
         
     | 
| 
       284 
284 
     | 
    
         
             
                    @token_buf << ['.', '.'] unless parts[i + 1].nil?
         
     | 
| 
       285 
285 
     | 
    
         
             
                  end
         
     | 
| 
       286 
286 
     | 
    
         
             
                end
         
     | 
| 
       287 
287 
     | 
    
         | 
| 
      
 288 
     | 
    
         
            +
                def escape_double_quotes(string)
         
     | 
| 
      
 289 
     | 
    
         
            +
                  string.gsub(/"/, '\"')
         
     | 
| 
      
 290 
     | 
    
         
            +
                end
         
     | 
| 
      
 291 
     | 
    
         
            +
             
     | 
| 
       288 
292 
     | 
    
         
             
                def tokenize_without_moving_pos(code)
         
     | 
| 
       289 
293 
     | 
    
         
             
                  Lexer.new(code).tokenize
         
     | 
| 
       290 
294 
     | 
    
         
             
                end
         
     | 
    
        data/lib/parser.rb
    CHANGED
    
    | 
         @@ -58,79 +58,79 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 487) 
     | 
|
| 
       58 
58 
     | 
    
         
             
            ##### State transition tables begin ###
         
     | 
| 
       59 
59 
     | 
    
         | 
| 
       60 
60 
     | 
    
         
             
            clist = [
         
     | 
| 
       61 
     | 
    
         
            -
            ' 
     | 
| 
       62 
     | 
    
         
            -
            ' 
     | 
| 
       63 
     | 
    
         
            -
            ' 
     | 
| 
       64 
     | 
    
         
            -
            ' 
     | 
| 
       65 
     | 
    
         
            -
            ' 
     | 
| 
       66 
     | 
    
         
            -
            ' 
     | 
| 
       67 
     | 
    
         
            -
            ' 
     | 
| 
       68 
     | 
    
         
            -
            ' 
     | 
| 
       69 
     | 
    
         
            -
            ' 
     | 
| 
       70 
     | 
    
         
            -
            ' 
     | 
| 
       71 
     | 
    
         
            -
            ' 
     | 
| 
       72 
     | 
    
         
            -
            ' 
     | 
| 
       73 
     | 
    
         
            -
            ' 
     | 
| 
       74 
     | 
    
         
            -
            ' 
     | 
| 
       75 
     | 
    
         
            -
            ' 
     | 
| 
       76 
     | 
    
         
            -
            ' 
     | 
| 
       77 
     | 
    
         
            -
            '83, 
     | 
| 
       78 
     | 
    
         
            -
            '45,63,69,70, 
     | 
| 
       79 
     | 
    
         
            -
            ' 
     | 
| 
       80 
     | 
    
         
            -
            ' 
     | 
| 
       81 
     | 
    
         
            -
            ' 
     | 
| 
       82 
     | 
    
         
            -
            ' 
     | 
| 
       83 
     | 
    
         
            -
            ' 
     | 
| 
       84 
     | 
    
         
            -
            ' 
     | 
| 
       85 
     | 
    
         
            -
            ' 
     | 
| 
       86 
     | 
    
         
            -
            ' 
     | 
| 
       87 
     | 
    
         
            -
            ' 
     | 
| 
       88 
     | 
    
         
            -
            ' 
     | 
| 
       89 
     | 
    
         
            -
            ' 
     | 
| 
       90 
     | 
    
         
            -
            ' 
     | 
| 
       91 
     | 
    
         
            -
            ' 
     | 
| 
       92 
     | 
    
         
            -
            ' 
     | 
| 
       93 
     | 
    
         
            -
            ' 
     | 
| 
       94 
     | 
    
         
            -
            ' 
     | 
| 
       95 
     | 
    
         
            -
            ' 
     | 
| 
       96 
     | 
    
         
            -
            ' 
     | 
| 
       97 
     | 
    
         
            -
            ' 
     | 
| 
       98 
     | 
    
         
            -
            ' 
     | 
| 
       99 
     | 
    
         
            -
            ' 
     | 
| 
       100 
     | 
    
         
            -
            ' 
     | 
| 
       101 
     | 
    
         
            -
            ' 
     | 
| 
       102 
     | 
    
         
            -
            ' 
     | 
| 
       103 
     | 
    
         
            -
            ' 
     | 
| 
       104 
     | 
    
         
            -
            ' 
     | 
| 
       105 
     | 
    
         
            -
            ' 
     | 
| 
       106 
     | 
    
         
            -
            ', 
     | 
| 
       107 
     | 
    
         
            -
            ' 
     | 
| 
       108 
     | 
    
         
            -
            ' 
     | 
| 
       109 
     | 
    
         
            -
            ' 
     | 
| 
       110 
     | 
    
         
            -
            ' 
     | 
| 
       111 
     | 
    
         
            -
            ' 
     | 
| 
      
 61 
     | 
    
         
            +
            '77,35,182,35,78,35,79,82,80,81,84,35,316,83,35,72,73,151,57,56,85,86',
         
     | 
| 
      
 62 
     | 
    
         
            +
            '74,370,87,58,75,35,46,48,47,88,49,43,44,45,63,69,70,-98,248,59,50,67',
         
     | 
| 
      
 63 
     | 
    
         
            +
            '76,60,185,346,245,61,62,351,352,146,280,250,244,332,376,315,282,250',
         
     | 
| 
      
 64 
     | 
    
         
            +
            '36,37,36,37,36,37,235,347,154,131,36,37,285,36,37,35,248,59,377,67,246',
         
     | 
| 
      
 65 
     | 
    
         
            +
            '256,151,311,26,-172,36,37,52,77,54,154,267,78,-203,79,82,80,81,84,-171',
         
     | 
| 
      
 66 
     | 
    
         
            +
            '250,83,248,72,73,154,57,56,85,86,74,154,87,58,75,35,46,48,47,88,49,43',
         
     | 
| 
      
 67 
     | 
    
         
            +
            '44,45,63,69,70,154,154,59,50,67,76,60,154,36,37,61,62,271,326,59,242',
         
     | 
| 
      
 68 
     | 
    
         
            +
            '67,154,185,328,327,241,239,49,242,239,154,240,154,185,241,-98,336,59',
         
     | 
| 
      
 69 
     | 
    
         
            +
            '49,67,272,237,46,48,47,139,49,43,44,45,139,26,323,36,37,52,50,54,239',
         
     | 
| 
      
 70 
     | 
    
         
            +
            '123,124,229,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 71 
     | 
    
         
            +
            '120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,275',
         
     | 
| 
      
 72 
     | 
    
         
            +
            '131,-148,-148,-148,-148,131,137,154,304,146,257,54,300,99,-32,-146,-146',
         
     | 
| 
      
 73 
     | 
    
         
            +
            '-146,-146,169,170,171,172,272,256,59,361,67,234,123,124,123,124,233',
         
     | 
| 
      
 74 
     | 
    
         
            +
            '121,122,125,351,367,123,124,322,123,124,340,121,122,125,109,110,111',
         
     | 
| 
      
 75 
     | 
    
         
            +
            '115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108,107',
         
     | 
| 
      
 76 
     | 
    
         
            +
            '100,102,101,126,127,95,94,129,77,99,341,99,78,229,79,82,80,81,84,99',
         
     | 
| 
      
 77 
     | 
    
         
            +
            '247,83,99,72,73,192,57,56,85,86,74,189,87,58,75,35,46,48,47,88,49,43',
         
     | 
| 
      
 78 
     | 
    
         
            +
            '44,45,63,69,70,139,185,59,50,67,76,60,59,320,67,61,62,188,123,124,186',
         
     | 
| 
      
 79 
     | 
    
         
            +
            '121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,185,46,48',
         
     | 
| 
      
 80 
     | 
    
         
            +
            '47,59,49,43,44,45,256,-145,-145,-145,-145,185,50,26,77,36,37,52,78,54',
         
     | 
| 
      
 81 
     | 
    
         
            +
            '79,82,80,81,84,317,185,83,99,72,73,185,57,56,85,86,74,131,87,58,75,35',
         
     | 
| 
      
 82 
     | 
    
         
            +
            '46,48,47,88,49,43,44,45,63,69,70,139,173,59,50,67,76,60,146,-89,54,61',
         
     | 
| 
      
 83 
     | 
    
         
            +
            '62,256,123,124,362,121,122,125,109,110,111,115,116,117,112,113,114,118',
         
     | 
| 
      
 84 
     | 
    
         
            +
            '119,120,99,46,48,47,365,49,43,44,45,278,-149,-149,-149,-149,368,50,26',
         
     | 
| 
      
 85 
     | 
    
         
            +
            '77,36,37,52,78,54,79,82,80,81,84,279,331,83,99,72,73,371,57,56,85,86',
         
     | 
| 
      
 86 
     | 
    
         
            +
            '74,372,87,58,75,35,46,48,47,88,49,43,44,45,63,69,70,-98,185,59,50,67',
         
     | 
| 
      
 87 
     | 
    
         
            +
            '76,60,146,374,54,61,62,-88,123,124,316,121,122,125,109,110,111,115,116',
         
     | 
| 
      
 88 
     | 
    
         
            +
            '117,112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102',
         
     | 
| 
      
 89 
     | 
    
         
            +
            '101,126,127,95,312,26,77,36,37,52,78,54,79,82,80,81,84,316,-36,83,99',
         
     | 
| 
      
 90 
     | 
    
         
            +
            '72,73,91,57,56,85,86,74,99,87,58,75,185,46,48,47,88,49,43,44,45,63,69',
         
     | 
| 
      
 91 
     | 
    
         
            +
            '70,-98,383,59,50,67,76,60,256,185,313,61,62,99,123,124,133,121,122,125',
         
     | 
| 
      
 92 
     | 
    
         
            +
            '109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104',
         
     | 
| 
      
 93 
     | 
    
         
            +
            '106,108,107,100,102,101,126,127,123,124,26,77,131,387,52,78,54,79,82',
         
     | 
| 
      
 94 
     | 
    
         
            +
            '80,81,84,123,124,83,99,72,73,316,57,56,85,86,74,389,87,58,75,35,46,48',
         
     | 
| 
      
 95 
     | 
    
         
            +
            '47,88,49,43,44,45,63,69,70,292,91,59,50,67,76,60,99,185,89,61,62,128',
         
     | 
| 
      
 96 
     | 
    
         
            +
            '256,256,342,296,364,256,363,333,99,256,256,307,339,392,,,,,,,,,,,,,',
         
     | 
| 
      
 97 
     | 
    
         
            +
            ',123,124,,121,122,125,26,,36,37,52,,54,123,124,,121,122,125,109,110',
         
     | 
| 
      
 98 
     | 
    
         
            +
            '111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108',
         
     | 
| 
      
 99 
     | 
    
         
            +
            '107,100,102,101,126,127,95,94,129,353,99,,,,,,,,,,,,,99,,,,,,,,,,,,',
         
     | 
| 
      
 100 
     | 
    
         
            +
            ',123,124,,121,122,125,123,124,,121,122,125,,123,124,,121,122,125,109',
         
     | 
| 
      
 101 
     | 
    
         
            +
            '110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106',
         
     | 
| 
      
 102 
     | 
    
         
            +
            '108,107,100,102,101,126,127,95,94,129,348,99,,,,,,99,136,56,,86,,,99',
         
     | 
| 
      
 103 
     | 
    
         
            +
            ',,,46,48,47,,49,43,44,45,63,,123,124,,59,50,67,,60,,,,61,62,123,124',
         
     | 
| 
      
 104 
     | 
    
         
            +
            ',121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97',
         
     | 
| 
      
 105 
     | 
    
         
            +
            '103,105,104,106,108,107,100,102,101,126,127,95,94,129,26,99,,,52,,54',
         
     | 
| 
      
 106 
     | 
    
         
            +
            ',232,136,56,,86,,99,,,,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,',
         
     | 
| 
      
 107 
     | 
    
         
            +
            ',61,62,136,56,,86,123,124,,121,122,125,46,48,47,,49,43,44,45,63,,,,',
         
     | 
| 
      
 108 
     | 
    
         
            +
            '59,50,67,,60,,,,61,62,,,26,,,,52,,54,,232,,,136,56,,86,,,,99,,,46,48',
         
     | 
| 
      
 109 
     | 
    
         
            +
            '47,,49,43,44,45,63,,,-98,26,59,50,67,52,60,54,,,61,62,136,56,,86,123',
         
     | 
| 
      
 110 
     | 
    
         
            +
            '124,,121,122,125,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61',
         
     | 
| 
      
 111 
     | 
    
         
            +
            '62,136,56,155,86,,,52,,54,,46,48,47,,49,43,44,45,63,,99,-98,,59,50,67',
         
     | 
| 
       112 
112 
     | 
    
         
             
            ',60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59',
         
     | 
| 
       113 
     | 
    
         
            -
            '50,67,,60,,,,61,62,136,56, 
     | 
| 
       114 
     | 
    
         
            -
            ' 
     | 
| 
       115 
     | 
    
         
            -
            '63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49 
     | 
| 
       116 
     | 
    
         
            -
            '44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48 
     | 
| 
       117 
     | 
    
         
            -
            ' 
     | 
| 
      
 113 
     | 
    
         
            +
            '50,67,,60,,,,61,62,136,56,162,86,,,52,,54,,46,48,47,,49,43,44,45,63',
         
     | 
| 
      
 114 
     | 
    
         
            +
            ',,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44',
         
     | 
| 
      
 115 
     | 
    
         
            +
            '45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49',
         
     | 
| 
      
 116 
     | 
    
         
            +
            '43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48',
         
     | 
| 
      
 117 
     | 
    
         
            +
            '47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,',
         
     | 
| 
       118 
118 
     | 
    
         
             
            '46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
       119 
     | 
    
         
            -
            ',54 
     | 
| 
       120 
     | 
    
         
            -
            '86,,,52,,54,,46,48,47,,49,43,44,45,63 
     | 
| 
       121 
     | 
    
         
            -
            '56,26,86 
     | 
| 
       122 
     | 
    
         
            -
            ' 
     | 
| 
      
 119 
     | 
    
         
            +
            ',54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26',
         
     | 
| 
      
 120 
     | 
    
         
            +
            '86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136',
         
     | 
| 
      
 121 
     | 
    
         
            +
            '56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61',
         
     | 
| 
      
 122 
     | 
    
         
            +
            '62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,',
         
     | 
| 
       123 
123 
     | 
    
         
             
            '60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50',
         
     | 
| 
       124 
124 
     | 
    
         
             
            '67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,',
         
     | 
| 
       125 
125 
     | 
    
         
             
            '59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63',
         
     | 
| 
       126 
126 
     | 
    
         
             
            ',,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44',
         
     | 
| 
       127 
127 
     | 
    
         
             
            '45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49',
         
     | 
| 
       128 
     | 
    
         
            -
            '43,44,45,63 
     | 
| 
       129 
     | 
    
         
            -
            ' 
     | 
| 
       130 
     | 
    
         
            -
            '46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
       131 
     | 
    
         
            -
            ',54,,46,48,47,,49,43,44,45,63 
     | 
| 
       132 
     | 
    
         
            -
            ' 
     | 
| 
       133 
     | 
    
         
            -
            ' 
     | 
| 
      
 128 
     | 
    
         
            +
            '43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48',
         
     | 
| 
      
 129 
     | 
    
         
            +
            '47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54',
         
     | 
| 
      
 130 
     | 
    
         
            +
            ',46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
      
 131 
     | 
    
         
            +
            ',54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86',
         
     | 
| 
      
 132 
     | 
    
         
            +
            ',,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56',
         
     | 
| 
      
 133 
     | 
    
         
            +
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62',
         
     | 
| 
       134 
134 
     | 
    
         
             
            '136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,',
         
     | 
| 
       135 
135 
     | 
    
         
             
            '61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,',
         
     | 
| 
       136 
136 
     | 
    
         
             
            '60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50',
         
     | 
| 
         @@ -159,119 +159,120 @@ clist = [ 
     | 
|
| 
       159 
159 
     | 
    
         
             
            ',46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
       160 
160 
     | 
    
         
             
            ',54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86',
         
     | 
| 
       161 
161 
     | 
    
         
             
            ',,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56',
         
     | 
| 
       162 
     | 
    
         
            -
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63 
     | 
| 
      
 162 
     | 
    
         
            +
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136',
         
     | 
| 
      
 163 
     | 
    
         
            +
            '56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62',
         
     | 
| 
       163 
164 
     | 
    
         
             
            '136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,',
         
     | 
| 
       164 
     | 
    
         
            -
            '61,62,136,56, 
     | 
| 
       165 
     | 
    
         
            -
            ' 
     | 
| 
       166 
     | 
    
         
            -
            ' 
     | 
| 
       167 
     | 
    
         
            -
            ' 
     | 
| 
       168 
     | 
    
         
            -
            ' 
     | 
| 
       169 
     | 
    
         
            -
            ' 
     | 
| 
       170 
     | 
    
         
            -
            ' 
     | 
| 
       171 
     | 
    
         
            -
            ' 
     | 
| 
       172 
     | 
    
         
            -
            ' 
     | 
| 
      
 165 
     | 
    
         
            +
            '61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,',
         
     | 
| 
      
 166 
     | 
    
         
            +
            '60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50',
         
     | 
| 
      
 167 
     | 
    
         
            +
            '67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,',
         
     | 
| 
      
 168 
     | 
    
         
            +
            '59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63',
         
     | 
| 
      
 169 
     | 
    
         
            +
            ',,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44',
         
     | 
| 
      
 170 
     | 
    
         
            +
            '45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49',
         
     | 
| 
      
 171 
     | 
    
         
            +
            '43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47',
         
     | 
| 
      
 172 
     | 
    
         
            +
            ',49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46',
         
     | 
| 
      
 173 
     | 
    
         
            +
            '48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
       173 
174 
     | 
    
         
             
            ',54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86',
         
     | 
| 
       174 
175 
     | 
    
         
             
            ',,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56',
         
     | 
| 
       175 
     | 
    
         
            -
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63 
     | 
| 
       176 
     | 
    
         
            -
            ' 
     | 
| 
       177 
     | 
    
         
            -
            ' 
     | 
| 
      
 176 
     | 
    
         
            +
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136',
         
     | 
| 
      
 177 
     | 
    
         
            +
            '56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61',
         
     | 
| 
      
 178 
     | 
    
         
            +
            '62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60',
         
     | 
| 
      
 179 
     | 
    
         
            +
            ',,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67',
         
     | 
| 
       178 
180 
     | 
    
         
             
            ',60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59',
         
     | 
| 
       179 
181 
     | 
    
         
             
            '50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,',
         
     | 
| 
       180 
     | 
    
         
            -
            ',,,59,50,67,,60,,,,61,62,136,56,26,86,,,52, 
     | 
| 
      
 182 
     | 
    
         
            +
            ',,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,298,54,,46,48,47,,49,43,44',
         
     | 
| 
       181 
183 
     | 
    
         
             
            '45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46,48,47,',
         
     | 
| 
       182 
184 
     | 
    
         
             
            '49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54,,46',
         
     | 
| 
       183 
     | 
    
         
            -
            '48,47,,49,43,44,45,63 
     | 
| 
      
 185 
     | 
    
         
            +
            '48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52,,54',
         
     | 
| 
      
 186 
     | 
    
         
            +
            ',46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86,,,52',
         
     | 
| 
       184 
187 
     | 
    
         
             
            ',54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56,26,86',
         
     | 
| 
       185 
188 
     | 
    
         
             
            ',,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,,61,62,136,56',
         
     | 
| 
       186 
189 
     | 
    
         
             
            '26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,-98,,59,50,67,,60,,,,61,62',
         
     | 
| 
       187 
     | 
    
         
            -
            '136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63 
     | 
| 
       188 
     | 
    
         
            -
            ' 
     | 
| 
       189 
     | 
    
         
            -
            ' 
     | 
| 
       190 
     | 
    
         
            -
            '50,67,,60,,,,61,62 
     | 
| 
       191 
     | 
    
         
            -
            ' 
     | 
| 
       192 
     | 
    
         
            -
            ' 
     | 
| 
       193 
     | 
    
         
            -
            ' 
     | 
| 
       194 
     | 
    
         
            -
            ' 
     | 
| 
       195 
     | 
    
         
            -
            ' 
     | 
| 
       196 
     | 
    
         
            -
            ' 
     | 
| 
       197 
     | 
    
         
            -
            ' 
     | 
| 
       198 
     | 
    
         
            -
            ' 
     | 
| 
       199 
     | 
    
         
            -
            ' 
     | 
| 
       200 
     | 
    
         
            -
            ' 
     | 
| 
       201 
     | 
    
         
            -
            ' 
     | 
| 
       202 
     | 
    
         
            -
            ' 
     | 
| 
       203 
     | 
    
         
            -
            ', 
     | 
| 
       204 
     | 
    
         
            -
            ' 
     | 
| 
       205 
     | 
    
         
            -
            ' 
     | 
| 
       206 
     | 
    
         
            -
            ' 
     | 
| 
       207 
     | 
    
         
            -
            ' 
     | 
| 
       208 
     | 
    
         
            -
            '109,110, 
     | 
| 
       209 
     | 
    
         
            -
            ' 
     | 
| 
       210 
     | 
    
         
            -
            ' 
     | 
| 
       211 
     | 
    
         
            -
            '103,105, 
     | 
| 
       212 
     | 
    
         
            -
            ' 
     | 
| 
       213 
     | 
    
         
            -
            ' 
     | 
| 
       214 
     | 
    
         
            -
            ' 
     | 
| 
       215 
     | 
    
         
            -
            ' 
     | 
| 
       216 
     | 
    
         
            -
            ' 
     | 
| 
       217 
     | 
    
         
            -
            '118,119, 
     | 
| 
       218 
     | 
    
         
            -
            ' 
     | 
| 
       219 
     | 
    
         
            -
            ' 
     | 
| 
       220 
     | 
    
         
            -
            ' 
     | 
| 
       221 
     | 
    
         
            -
            ' 
     | 
| 
       222 
     | 
    
         
            -
            ' 
     | 
| 
       223 
     | 
    
         
            -
            ' 
     | 
| 
       224 
     | 
    
         
            -
            ' 
     | 
| 
       225 
     | 
    
         
            -
            ' 
     | 
| 
       226 
     | 
    
         
            -
            ' 
     | 
| 
       227 
     | 
    
         
            -
            ' 
     | 
| 
       228 
     | 
    
         
            -
            ' 
     | 
| 
       229 
     | 
    
         
            -
            ' 
     | 
| 
       230 
     | 
    
         
            -
            ' 
     | 
| 
       231 
     | 
    
         
            -
            '111,112,113, 
     | 
| 
       232 
     | 
    
         
            -
            ' 
     | 
| 
       233 
     | 
    
         
            -
            ' 
     | 
| 
       234 
     | 
    
         
            -
            ' 
     | 
| 
       235 
     | 
    
         
            -
            ' 
     | 
| 
       236 
     | 
    
         
            -
            ' 
     | 
| 
       237 
     | 
    
         
            -
            ' 
     | 
| 
       238 
     | 
    
         
            -
            ' 
     | 
| 
       239 
     | 
    
         
            -
            ' 
     | 
| 
       240 
     | 
    
         
            -
            ' 
     | 
| 
       241 
     | 
    
         
            -
            ' 
     | 
| 
       242 
     | 
    
         
            -
            ' 
     | 
| 
       243 
     | 
    
         
            -
            ' 
     | 
| 
       244 
     | 
    
         
            -
            ' 
     | 
| 
       245 
     | 
    
         
            -
            ' 
     | 
| 
       246 
     | 
    
         
            -
            ' 
     | 
| 
       247 
     | 
    
         
            -
            ' 
     | 
| 
       248 
     | 
    
         
            -
            ' 
     | 
| 
       249 
     | 
    
         
            -
            ' 
     | 
| 
       250 
     | 
    
         
            -
            ' 
     | 
| 
       251 
     | 
    
         
            -
            ' 
     | 
| 
       252 
     | 
    
         
            -
            ' 
     | 
| 
       253 
     | 
    
         
            -
            ' 
     | 
| 
       254 
     | 
    
         
            -
            ' 
     | 
| 
       255 
     | 
    
         
            -
            ' 
     | 
| 
       256 
     | 
    
         
            -
            ' 
     | 
| 
       257 
     | 
    
         
            -
            ' 
     | 
| 
       258 
     | 
    
         
            -
            ' 
     | 
| 
       259 
     | 
    
         
            -
            ' 
     | 
| 
       260 
     | 
    
         
            -
            ' 
     | 
| 
       261 
     | 
    
         
            -
            ' 
     | 
| 
       262 
     | 
    
         
            -
            ' 
     | 
| 
       263 
     | 
    
         
            -
            ' 
     | 
| 
       264 
     | 
    
         
            -
            ' 
     | 
| 
       265 
     | 
    
         
            -
            ' 
     | 
| 
       266 
     | 
    
         
            -
            ' 
     | 
| 
       267 
     | 
    
         
            -
            ' 
     | 
| 
       268 
     | 
    
         
            -
            ' 
     | 
| 
       269 
     | 
    
         
            -
            ' 
     | 
| 
       270 
     | 
    
         
            -
            ' 
     | 
| 
       271 
     | 
    
         
            -
            ' 
     | 
| 
       272 
     | 
    
         
            -
             
     | 
| 
       273 
     | 
    
         
            -
            '125,126,94,93,129,,,,,,,,,,,,,,,98' ]
         
     | 
| 
       274 
     | 
    
         
            -
                    racc_action_table = arr = ::Array.new(5414, nil)
         
     | 
| 
      
 190 
     | 
    
         
            +
            '136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,,60,,,',
         
     | 
| 
      
 191 
     | 
    
         
            +
            '61,62,136,56,26,86,,,52,,54,,46,48,47,,49,43,44,45,63,,,,,59,50,67,',
         
     | 
| 
      
 192 
     | 
    
         
            +
            '60,,,,61,62,136,56,159,86,123,124,52,121,122,125,46,48,47,,49,43,44',
         
     | 
| 
      
 193 
     | 
    
         
            +
            '45,63,,,,,59,50,67,,60,,,,61,62,,,167,,,,52,,,,,,,,,,,,381,,99,,,,123',
         
     | 
| 
      
 194 
     | 
    
         
            +
            '124,,121,122,125,,,,,,167,,123,124,52,121,122,125,109,110,111,115,116',
         
     | 
| 
      
 195 
     | 
    
         
            +
            '117,112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102',
         
     | 
| 
      
 196 
     | 
    
         
            +
            '101,126,127,95,94,129,385,99,,,,,123,124,,121,122,125,123,124,99,121',
         
     | 
| 
      
 197 
     | 
    
         
            +
            '122,125,,123,124,,121,122,125,109,110,111,115,116,117,112,113,114,118',
         
     | 
| 
      
 198 
     | 
    
         
            +
            '119,120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129',
         
     | 
| 
      
 199 
     | 
    
         
            +
            '185,99,,,,,,99,123,124,,121,122,125,99,,,,,123,124,,121,122,125,109',
         
     | 
| 
      
 200 
     | 
    
         
            +
            '110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106',
         
     | 
| 
      
 201 
     | 
    
         
            +
            '108,107,100,102,101,126,127,95,94,129,185,,,99,,,123,124,,121,122,125',
         
     | 
| 
      
 202 
     | 
    
         
            +
            ',,99,,,,,123,124,,121,122,125,109,110,111,115,116,117,112,113,114,118',
         
     | 
| 
      
 203 
     | 
    
         
            +
            '119,120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129',
         
     | 
| 
      
 204 
     | 
    
         
            +
            '185,99,,,,,,,,,,,,,99,,,,,123,124,,121,122,125,109,110,111,115,116,117',
         
     | 
| 
      
 205 
     | 
    
         
            +
            '112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101',
         
     | 
| 
      
 206 
     | 
    
         
            +
            '126,127,95,94,129,185,,,,,,,,,,,,,,99,,,,,123,124,,121,122,125,109,110',
         
     | 
| 
      
 207 
     | 
    
         
            +
            '111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108',
         
     | 
| 
      
 208 
     | 
    
         
            +
            '107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125',
         
     | 
| 
      
 209 
     | 
    
         
            +
            '109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104',
         
     | 
| 
      
 210 
     | 
    
         
            +
            '106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121',
         
     | 
| 
      
 211 
     | 
    
         
            +
            '122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103',
         
     | 
| 
      
 212 
     | 
    
         
            +
            '105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124',
         
     | 
| 
      
 213 
     | 
    
         
            +
            '99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98',
         
     | 
| 
      
 214 
     | 
    
         
            +
            '97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,310,',
         
     | 
| 
      
 215 
     | 
    
         
            +
            ',,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 216 
     | 
    
         
            +
            '120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,',
         
     | 
| 
      
 217 
     | 
    
         
            +
            ',,,,,310,,,,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113',
         
     | 
| 
      
 218 
     | 
    
         
            +
            '114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101,126,127',
         
     | 
| 
      
 219 
     | 
    
         
            +
            '95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115,116,117',
         
     | 
| 
      
 220 
     | 
    
         
            +
            '112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101',
         
     | 
| 
      
 221 
     | 
    
         
            +
            '126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115',
         
     | 
| 
      
 222 
     | 
    
         
            +
            '116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100',
         
     | 
| 
      
 223 
     | 
    
         
            +
            '102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110',
         
     | 
| 
      
 224 
     | 
    
         
            +
            '111,115,116,117,112,113,114,118,119,120,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
         
     | 
| 
      
 225 
     | 
    
         
            +
            ',123,124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 226 
     | 
    
         
            +
            '120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,',
         
     | 
| 
      
 227 
     | 
    
         
            +
            ',,,,,,,,,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113,114',
         
     | 
| 
      
 228 
     | 
    
         
            +
            '118,119,120,123,124,,121,122,125,109,110,111,115,116,117,112,113,114',
         
     | 
| 
      
 229 
     | 
    
         
            +
            '118,119,120,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115,116,117',
         
     | 
| 
      
 230 
     | 
    
         
            +
            '112,113,114,118,119,120,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,123,124,99,121',
         
     | 
| 
      
 231 
     | 
    
         
            +
            '122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103',
         
     | 
| 
      
 232 
     | 
    
         
            +
            '105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124',
         
     | 
| 
      
 233 
     | 
    
         
            +
            '99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,123,124',
         
     | 
| 
      
 234 
     | 
    
         
            +
            ',121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,,,,,,,',
         
     | 
| 
      
 235 
     | 
    
         
            +
            ',,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 236 
     | 
    
         
            +
            '120,123,124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 237 
     | 
    
         
            +
            '120,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113',
         
     | 
| 
      
 238 
     | 
    
         
            +
            '114,118,119,120,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,123,124,99,121,122,125',
         
     | 
| 
      
 239 
     | 
    
         
            +
            '109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104',
         
     | 
| 
      
 240 
     | 
    
         
            +
            '106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121',
         
     | 
| 
      
 241 
     | 
    
         
            +
            '122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103',
         
     | 
| 
      
 242 
     | 
    
         
            +
            '105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124',
         
     | 
| 
      
 243 
     | 
    
         
            +
            '99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98',
         
     | 
| 
      
 244 
     | 
    
         
            +
            '97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,236,',
         
     | 
| 
      
 245 
     | 
    
         
            +
            ',,,,123,124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119',
         
     | 
| 
      
 246 
     | 
    
         
            +
            '120,96,98,97,103,105,104,106,108,107,100,102,101,,,,,,,,,,,,,,,,,,123',
         
     | 
| 
      
 247 
     | 
    
         
            +
            '124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96',
         
     | 
| 
      
 248 
     | 
    
         
            +
            '98,97,103,105,104,106,108,107,100,102,101,,,,,,,,,,,,,,,,,,123,124,99',
         
     | 
| 
      
 249 
     | 
    
         
            +
            '121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97',
         
     | 
| 
      
 250 
     | 
    
         
            +
            '103,105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123',
         
     | 
| 
      
 251 
     | 
    
         
            +
            '124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96',
         
     | 
| 
      
 252 
     | 
    
         
            +
            '98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,',
         
     | 
| 
      
 253 
     | 
    
         
            +
            ',,,,,287,99,123,124,,121,122,125,109,110,111,115,116,117,112,113,114',
         
     | 
| 
      
 254 
     | 
    
         
            +
            '118,119,120,96,98,97,103,105,104,106,108,107,100,102,101,126,127,95',
         
     | 
| 
      
 255 
     | 
    
         
            +
            '94,129,,,,,,,,,,,338,,123,124,99,121,122,125,109,110,111,115,116,117',
         
     | 
| 
      
 256 
     | 
    
         
            +
            '112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101',
         
     | 
| 
      
 257 
     | 
    
         
            +
            '126,127,95,94,129,,,,,,,,,,,290,,,291,99,123,124,,121,122,125,109,110',
         
     | 
| 
      
 258 
     | 
    
         
            +
            '111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108',
         
     | 
| 
      
 259 
     | 
    
         
            +
            '107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125',
         
     | 
| 
      
 260 
     | 
    
         
            +
            '109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103,105,104',
         
     | 
| 
      
 261 
     | 
    
         
            +
            '106,108,107,100,102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121',
         
     | 
| 
      
 262 
     | 
    
         
            +
            '122,125,109,110,111,115,116,117,112,113,114,118,119,120,96,98,97,103',
         
     | 
| 
      
 263 
     | 
    
         
            +
            '105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,236,,,,,,123',
         
     | 
| 
      
 264 
     | 
    
         
            +
            '124,99,121,122,125,109,110,111,115,116,117,112,113,114,118,119,120,96',
         
     | 
| 
      
 265 
     | 
    
         
            +
            '98,97,103,105,104,106,108,107,100,102,101,126,127,95,94,129,,,,,,,,',
         
     | 
| 
      
 266 
     | 
    
         
            +
            ',,335,,,291,99,123,124,,121,122,125,109,110,111,115,116,117,112,113',
         
     | 
| 
      
 267 
     | 
    
         
            +
            '114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101,126,127',
         
     | 
| 
      
 268 
     | 
    
         
            +
            '95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115,116,117',
         
     | 
| 
      
 269 
     | 
    
         
            +
            '112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100,102,101',
         
     | 
| 
      
 270 
     | 
    
         
            +
            '126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110,111,115',
         
     | 
| 
      
 271 
     | 
    
         
            +
            '116,117,112,113,114,118,119,120,96,98,97,103,105,104,106,108,107,100',
         
     | 
| 
      
 272 
     | 
    
         
            +
            '102,101,126,127,95,94,129,,,,,,,,,,,,,123,124,99,121,122,125,109,110',
         
     | 
| 
      
 273 
     | 
    
         
            +
            '111,115,116,117,112,113,114,118,119,120,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
         
     | 
| 
      
 274 
     | 
    
         
            +
            ',,,99' ]
         
     | 
| 
      
 275 
     | 
    
         
            +
                    racc_action_table = arr = ::Array.new(5458, nil)
         
     | 
| 
       275 
276 
     | 
    
         
             
                    idx = 0
         
     | 
| 
       276 
277 
     | 
    
         
             
                    clist.each do |str|
         
     | 
| 
       277 
278 
     | 
    
         
             
                      str.split(',', -1).each do |i|
         
     | 
| 
         @@ -281,242 +282,242 @@ clist = [ 
     | 
|
| 
       281 
282 
     | 
    
         
             
                    end
         
     | 
| 
       282 
283 
     | 
    
         | 
| 
       283 
284 
     | 
    
         
             
            clist = [
         
     | 
| 
       284 
     | 
    
         
            -
            ' 
     | 
| 
       285 
     | 
    
         
            -
            ' 
     | 
| 
       286 
     | 
    
         
            -
            ' 
     | 
| 
       287 
     | 
    
         
            -
            ' 
     | 
| 
       288 
     | 
    
         
            -
            ' 
     | 
| 
       289 
     | 
    
         
            -
            ' 
     | 
| 
       290 
     | 
    
         
            -
            ' 
     | 
| 
       291 
     | 
    
         
            -
            ' 
     | 
| 
       292 
     | 
    
         
            -
            ' 
     | 
| 
       293 
     | 
    
         
            -
            ' 
     | 
| 
       294 
     | 
    
         
            -
            ' 
     | 
| 
       295 
     | 
    
         
            -
            ' 
     | 
| 
       296 
     | 
    
         
            -
            ' 
     | 
| 
       297 
     | 
    
         
            -
            '132, 
     | 
| 
       298 
     | 
    
         
            -
            ' 
     | 
| 
       299 
     | 
    
         
            -
            ' 
     | 
| 
       300 
     | 
    
         
            -
            ' 
     | 
| 
       301 
     | 
    
         
            -
            ' 
     | 
| 
       302 
     | 
    
         
            -
            ' 
     | 
| 
       303 
     | 
    
         
            -
            ' 
     | 
| 
       304 
     | 
    
         
            -
            ' 
     | 
| 
       305 
     | 
    
         
            -
            ' 
     | 
| 
       306 
     | 
    
         
            -
            ' 
     | 
| 
      
 285 
     | 
    
         
            +
            '0,386,83,283,0,380,0,0,0,0,0,390,269,0,2,0,0,161,0,0,0,0,0,354,0,0,0',
         
     | 
| 
      
 286 
     | 
    
         
            +
            '0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,0,0,186,315,147,0,0,319,319,83,184',
         
     | 
| 
      
 287 
     | 
    
         
            +
            '152,147,285,364,269,184,249,386,386,283,283,380,380,134,315,161,134',
         
     | 
| 
      
 288 
     | 
    
         
            +
            '390,390,186,2,2,319,267,154,364,154,149,259,55,259,0,151,0,0,0,272,0',
         
     | 
| 
      
 289 
     | 
    
         
            +
            '151,176,272,272,272,272,272,272,272,152,268,272,248,272,272,152,272',
         
     | 
| 
      
 290 
     | 
    
         
            +
            '272,272,272,272,249,272,272,272,272,272,272,272,272,272,272,272,272',
         
     | 
| 
      
 291 
     | 
    
         
            +
            '272,272,272,154,267,272,272,272,272,272,55,319,319,272,272,178,281,253',
         
     | 
| 
      
 292 
     | 
    
         
            +
            '243,253,176,328,281,281,243,140,328,141,138,268,141,248,282,141,8,289',
         
     | 
| 
      
 293 
     | 
    
         
            +
            '8,282,8,178,136,245,245,245,236,245,245,245,245,310,272,277,272,272',
         
     | 
| 
      
 294 
     | 
    
         
            +
            '272,245,272,294,178,178,295,178,178,178,178,178,178,178,178,178,178',
         
     | 
| 
      
 295 
     | 
    
         
            +
            '178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178',
         
     | 
| 
      
 296 
     | 
    
         
            +
            '178,178,178,178,178,179,236,29,29,29,29,310,29,252,252,245,158,245,245',
         
     | 
| 
      
 297 
     | 
    
         
            +
            '178,158,41,41,41,41,65,65,65,65,179,343,69,343,69,133,220,220,208,208',
         
     | 
| 
      
 298 
     | 
    
         
            +
            '132,208,208,208,350,350,221,221,276,179,179,305,179,179,179,179,179',
         
     | 
| 
      
 299 
     | 
    
         
            +
            '179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179',
         
     | 
| 
      
 300 
     | 
    
         
            +
            '179,179,179,179,179,179,179,179,179,179,385,220,306,208,385,130,385',
         
     | 
| 
      
 301 
     | 
    
         
            +
            '385,385,385,385,221,150,385,179,385,385,92,385,385,385,385,385,89,385',
         
     | 
| 
      
 302 
     | 
    
         
            +
            '385,385,385,385,385,385,385,385,385,385,385,385,385,385,31,314,385,385',
         
     | 
| 
      
 303 
     | 
    
         
            +
            '385,385,385,70,274,70,385,385,87,195,195,85,195,195,195,195,195,195',
         
     | 
| 
      
 304 
     | 
    
         
            +
            '195,195,195,195,195,195,195,195,195,84,54,54,54,71,54,54,54,54,156,31',
         
     | 
| 
      
 305 
     | 
    
         
            +
            '31,31,31,327,54,385,368,385,385,385,368,385,368,368,368,368,368,270',
         
     | 
| 
      
 306 
     | 
    
         
            +
            '330,368,195,368,368,332,368,368,368,368,368,160,368,368,368,368,368',
         
     | 
| 
      
 307 
     | 
    
         
            +
            '368,368,368,368,368,368,368,368,368,368,30,67,368,368,368,368,368,54',
         
     | 
| 
      
 308 
     | 
    
         
            +
            '342,54,368,368,163,196,196,344,196,196,196,196,196,196,196,196,196,196',
         
     | 
| 
      
 309 
     | 
    
         
            +
            '196,196,196,196,196,164,246,246,246,346,246,246,246,246,182,30,30,30',
         
     | 
| 
      
 310 
     | 
    
         
            +
            '30,351,246,368,185,368,368,368,185,368,185,185,185,185,185,183,284,185',
         
     | 
| 
      
 311 
     | 
    
         
            +
            '196,185,185,355,185,185,185,185,185,356,185,185,185,185,185,185,185',
         
     | 
| 
      
 312 
     | 
    
         
            +
            '185,185,185,185,185,185,185,185,185,358,185,185,185,185,185,246,360',
         
     | 
| 
      
 313 
     | 
    
         
            +
            '246,185,185,361,193,193,363,193,193,193,193,193,193,193,193,193,193',
         
     | 
| 
       307 
314 
     | 
    
         
             
            '193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193',
         
     | 
| 
       308 
     | 
    
         
            -
            '193,193,193, 
     | 
| 
       309 
     | 
    
         
            -
            ' 
     | 
| 
       310 
     | 
    
         
            -
            ' 
     | 
| 
       311 
     | 
    
         
            -
            '357,287,382,382,359,194,194,361,194,194,194,194,194,194,194,194,194',
         
     | 
| 
      
 315 
     | 
    
         
            +
            '193,193,193,260,185,90,185,185,185,90,185,90,90,90,90,90,365,187,90',
         
     | 
| 
      
 316 
     | 
    
         
            +
            '193,90,90,190,90,90,90,90,90,222,90,90,90,375,90,90,90,90,90,90,90,90',
         
     | 
| 
      
 317 
     | 
    
         
            +
            '90,90,90,90,376,90,90,90,90,90,261,378,261,90,90,223,194,194,23,194',
         
     | 
| 
       312 
318 
     | 
    
         
             
            '194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194',
         
     | 
| 
       313 
     | 
    
         
            -
            '194,194,194, 
     | 
| 
       314 
     | 
    
         
            -
            ' 
     | 
| 
       315 
     | 
    
         
            -
            ' 
     | 
| 
       316 
     | 
    
         
            -
            ' 
     | 
| 
       317 
     | 
    
         
            -
            ' 
     | 
| 
       318 
     | 
    
         
            -
            ' 
     | 
| 
       319 
     | 
    
         
            -
            ' 
     | 
| 
       320 
     | 
    
         
            -
            ' 
     | 
| 
       321 
     | 
    
         
            -
            ' 
     | 
| 
       322 
     | 
    
         
            -
            ' 
     | 
| 
       323 
     | 
    
         
            -
            ' 
     | 
| 
       324 
     | 
    
         
            -
            ' 
     | 
| 
       325 
     | 
    
         
            -
            ' 
     | 
| 
       326 
     | 
    
         
            -
            ' 
     | 
| 
       327 
     | 
    
         
            -
            ' 
     | 
| 
       328 
     | 
    
         
            -
            ' 
     | 
| 
       329 
     | 
    
         
            -
            ' 
     | 
| 
       330 
     | 
    
         
            -
            ' 
     | 
| 
       331 
     | 
    
         
            -
            ', 
     | 
| 
       332 
     | 
    
         
            -
            ' 
     | 
| 
       333 
     | 
    
         
            -
            ' 
     | 
| 
       334 
     | 
    
         
            -
            ' 
     | 
| 
       335 
     | 
    
         
            -
            ' 
     | 
| 
       336 
     | 
    
         
            -
            ' 
     | 
| 
       337 
     | 
    
         
            -
            '61,61 
     | 
| 
       338 
     | 
    
         
            -
            ' 
     | 
| 
       339 
     | 
    
         
            -
            ' 
     | 
| 
       340 
     | 
    
         
            -
            ' 
     | 
| 
       341 
     | 
    
         
            -
            ' 
     | 
| 
       342 
     | 
    
         
            -
            ' 
     | 
| 
       343 
     | 
    
         
            -
            ' 
     | 
| 
       344 
     | 
    
         
            -
            ' 
     | 
| 
       345 
     | 
    
         
            -
            ' 
     | 
| 
       346 
     | 
    
         
            -
            ' 
     | 
| 
       347 
     | 
    
         
            -
            ' 
     | 
| 
       348 
     | 
    
         
            -
            ', 
     | 
| 
       349 
     | 
    
         
            -
            ' 
     | 
| 
       350 
     | 
    
         
            -
            ', 
     | 
| 
       351 
     | 
    
         
            -
            ' 
     | 
| 
       352 
     | 
    
         
            -
            ' 
     | 
| 
       353 
     | 
    
         
            -
            ' 
     | 
| 
       354 
     | 
    
         
            -
            ' 
     | 
| 
       355 
     | 
    
         
            -
            ' 
     | 
| 
       356 
     | 
    
         
            -
            '169 
     | 
| 
       357 
     | 
    
         
            -
            ' 
     | 
| 
       358 
     | 
    
         
            -
            ' 
     | 
| 
       359 
     | 
    
         
            -
            ' 
     | 
| 
       360 
     | 
    
         
            -
            ' 
     | 
| 
       361 
     | 
    
         
            -
            ' 
     | 
| 
       362 
     | 
    
         
            -
            ', 
     | 
| 
       363 
     | 
    
         
            -
            ' 
     | 
| 
       364 
     | 
    
         
            -
            ' 
     | 
| 
       365 
     | 
    
         
            -
            ' 
     | 
| 
       366 
     | 
    
         
            -
            ' 
     | 
| 
       367 
     | 
    
         
            -
            ', 
     | 
| 
       368 
     | 
    
         
            -
            ' 
     | 
| 
       369 
     | 
    
         
            -
            ',, 
     | 
| 
       370 
     | 
    
         
            -
            ' 
     | 
| 
       371 
     | 
    
         
            -
            ' 
     | 
| 
       372 
     | 
    
         
            -
            ' 
     | 
| 
       373 
     | 
    
         
            -
            ' 
     | 
| 
       374 
     | 
    
         
            -
            ' 
     | 
| 
       375 
     | 
    
         
            -
            ',,,103 
     | 
| 
       376 
     | 
    
         
            -
            ' 
     | 
| 
       377 
     | 
    
         
            -
            ' 
     | 
| 
       378 
     | 
    
         
            -
            ' 
     | 
| 
       379 
     | 
    
         
            -
            ',106 
     | 
| 
       380 
     | 
    
         
            -
            ' 
     | 
| 
       381 
     | 
    
         
            -
            ' 
     | 
| 
       382 
     | 
    
         
            -
            ' 
     | 
| 
       383 
     | 
    
         
            -
            '109,,109 
     | 
| 
       384 
     | 
    
         
            -
            ' 
     | 
| 
       385 
     | 
    
         
            -
            ', 
     | 
| 
       386 
     | 
    
         
            -
            ' 
     | 
| 
       387 
     | 
    
         
            -
            '112,,112 
     | 
| 
       388 
     | 
    
         
            -
            ' 
     | 
| 
       389 
     | 
    
         
            -
            ', 
     | 
| 
       390 
     | 
    
         
            -
            ' 
     | 
| 
       391 
     | 
    
         
            -
            '115,,115 
     | 
| 
       392 
     | 
    
         
            -
            ' 
     | 
| 
       393 
     | 
    
         
            -
            ', 
     | 
| 
       394 
     | 
    
         
            -
            ' 
     | 
| 
       395 
     | 
    
         
            -
            '118,,118 
     | 
| 
       396 
     | 
    
         
            -
            ' 
     | 
| 
       397 
     | 
    
         
            -
            ', 
     | 
| 
       398 
     | 
    
         
            -
            ' 
     | 
| 
       399 
     | 
    
         
            -
            ',121,121 
     | 
| 
       400 
     | 
    
         
            -
            ' 
     | 
| 
       401 
     | 
    
         
            -
            ', 
     | 
| 
       402 
     | 
    
         
            -
            ' 
     | 
| 
       403 
     | 
    
         
            -
            ',124,124 
     | 
| 
       404 
     | 
    
         
            -
            ' 
     | 
| 
       405 
     | 
    
         
            -
            ' 
     | 
| 
       406 
     | 
    
         
            -
            ' 
     | 
| 
       407 
     | 
    
         
            -
            ' 
     | 
| 
       408 
     | 
    
         
            -
            ' 
     | 
| 
       409 
     | 
    
         
            -
            ' 
     | 
| 
       410 
     | 
    
         
            -
            ' 
     | 
| 
       411 
     | 
    
         
            -
            ', 
     | 
| 
       412 
     | 
    
         
            -
            ' 
     | 
| 
       413 
     | 
    
         
            -
            ' 
     | 
| 
       414 
     | 
    
         
            -
            ' 
     | 
| 
       415 
     | 
    
         
            -
            ' 
     | 
| 
       416 
     | 
    
         
            -
            ' 
     | 
| 
       417 
     | 
    
         
            -
            ' 
     | 
| 
       418 
     | 
    
         
            -
            ' 
     | 
| 
       419 
     | 
    
         
            -
            ' 
     | 
| 
       420 
     | 
    
         
            -
            ' 
     | 
| 
       421 
     | 
    
         
            -
            ' 
     | 
| 
       422 
     | 
    
         
            -
            ' 
     | 
| 
       423 
     | 
    
         
            -
            ' 
     | 
| 
       424 
     | 
    
         
            -
            ', 
     | 
| 
       425 
     | 
    
         
            -
            ' 
     | 
| 
       426 
     | 
    
         
            -
            ' 
     | 
| 
       427 
     | 
    
         
            -
            ' 
     | 
| 
       428 
     | 
    
         
            -
            ' 
     | 
| 
       429 
     | 
    
         
            -
            ' 
     | 
| 
       430 
     | 
    
         
            -
            ' 
     | 
| 
       431 
     | 
    
         
            -
            ' 
     | 
| 
       432 
     | 
    
         
            -
            ', 
     | 
| 
       433 
     | 
    
         
            -
            ', 
     | 
| 
       434 
     | 
    
         
            -
            ' 
     | 
| 
       435 
     | 
    
         
            -
            ' 
     | 
| 
       436 
     | 
    
         
            -
            ' 
     | 
| 
       437 
     | 
    
         
            -
            ' 
     | 
| 
       438 
     | 
    
         
            -
            ' 
     | 
| 
       439 
     | 
    
         
            -
            ',,,,325,325,,325,325,325,325,325,325,325,325,325,325,325,325,325,325',
         
     | 
| 
      
 319 
     | 
    
         
            +
            '194,194,194,194,194,194,194,194,194,194,194,224,224,90,381,22,382,90',
         
     | 
| 
      
 320 
     | 
    
         
            +
            '381,90,381,381,381,381,381,166,166,381,194,381,381,383,381,381,381,381',
         
     | 
| 
      
 321 
     | 
    
         
            +
            '381,384,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381',
         
     | 
| 
      
 322 
     | 
    
         
            +
            '231,3,381,381,381,381,381,224,388,1,381,381,20,309,238,309,238,345,286',
         
     | 
| 
      
 323 
     | 
    
         
            +
            '345,286,166,255,303,255,303,391,,,,,,,,,,,,,,,209,209,,209,209,209,381',
         
     | 
| 
      
 324 
     | 
    
         
            +
            ',381,381,381,,381,20,20,,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20',
         
     | 
| 
      
 325 
     | 
    
         
            +
            '20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,321,209,,,,,,,,,',
         
     | 
| 
      
 326 
     | 
    
         
            +
            ',,,20,,,,,,,,,,,,,,210,210,,210,210,210,211,211,,211,211,211,,321,321',
         
     | 
| 
      
 327 
     | 
    
         
            +
            ',321,321,321,321,321,321,321,321,321,321,321,321,321,321,321,321,321',
         
     | 
| 
      
 328 
     | 
    
         
            +
            '321,321,321,321,321,321,321,321,321,321,321,321,321,321,321,318,210',
         
     | 
| 
      
 329 
     | 
    
         
            +
            ',,,,,211,131,131,,131,,,321,,,,131,131,131,,131,131,131,131,131,,165',
         
     | 
| 
      
 330 
     | 
    
         
            +
            '165,,131,131,131,,131,,,,131,131,318,318,,318,318,318,318,318,318,318',
         
     | 
| 
      
 331 
     | 
    
         
            +
            '318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318,318',
         
     | 
| 
      
 332 
     | 
    
         
            +
            '318,318,318,318,318,318,318,318,131,165,,,131,,131,,131,229,229,,229',
         
     | 
| 
      
 333 
     | 
    
         
            +
            ',318,,,,,229,229,229,,229,229,229,229,229,,,,,229,229,229,,229,,,,229',
         
     | 
| 
      
 334 
     | 
    
         
            +
            '229,127,127,,127,212,212,,212,212,212,127,127,127,,127,127,127,127,127',
         
     | 
| 
      
 335 
     | 
    
         
            +
            ',,,,127,127,127,,127,,,,127,127,,,229,,,,229,,229,,229,,,56,56,,56,',
         
     | 
| 
      
 336 
     | 
    
         
            +
            ',,212,,,56,56,56,,56,56,56,56,56,,,56,127,56,56,56,127,56,127,,,56,56',
         
     | 
| 
      
 337 
     | 
    
         
            +
            '159,159,,159,213,213,,213,213,213,159,159,159,,159,159,159,159,159,',
         
     | 
| 
      
 338 
     | 
    
         
            +
            ',159,,159,159,159,,159,,,,159,159,58,58,56,58,,,56,,56,,58,58,58,,58',
         
     | 
| 
      
 339 
     | 
    
         
            +
            '58,58,58,58,,213,58,,58,58,58,,58,,,,58,58,60,60,159,60,,,159,,159,',
         
     | 
| 
      
 340 
     | 
    
         
            +
            '60,60,60,,60,60,60,60,60,,,,,60,60,60,,60,,,,60,60,61,61,58,61,,,58',
         
     | 
| 
      
 341 
     | 
    
         
            +
            ',58,,61,61,61,,61,61,61,61,61,,,,,61,61,61,,61,,,,61,61,62,62,60,62',
         
     | 
| 
      
 342 
     | 
    
         
            +
            ',,60,,60,,62,62,62,,62,62,62,62,62,,,,,62,62,62,,62,,,,62,62,247,247',
         
     | 
| 
      
 343 
     | 
    
         
            +
            '61,247,,,61,,61,,247,247,247,,247,247,247,247,247,,,247,,247,247,247',
         
     | 
| 
      
 344 
     | 
    
         
            +
            ',247,,,,247,247,352,352,62,352,,,62,,62,,352,352,352,,352,352,352,352',
         
     | 
| 
      
 345 
     | 
    
         
            +
            '352,,,,,352,352,352,,352,,,,352,352,256,256,247,256,,,247,,247,,256',
         
     | 
| 
      
 346 
     | 
    
         
            +
            '256,256,,256,256,256,256,256,,,,,256,256,256,,256,,,,256,256,257,257',
         
     | 
| 
      
 347 
     | 
    
         
            +
            '352,257,,,352,,352,,257,257,257,,257,257,257,257,257,,,257,,257,257',
         
     | 
| 
      
 348 
     | 
    
         
            +
            '257,,257,,,,257,257,155,155,256,155,,,256,,256,,155,155,155,,155,155',
         
     | 
| 
      
 349 
     | 
    
         
            +
            '155,155,155,,,155,,155,155,155,,155,,,,155,155,162,162,257,162,,,257',
         
     | 
| 
      
 350 
     | 
    
         
            +
            ',257,,162,162,162,,162,162,162,162,162,,,162,,162,162,162,,162,,,,162',
         
     | 
| 
      
 351 
     | 
    
         
            +
            '162,75,75,155,75,,,155,,155,,75,75,75,,75,75,75,75,75,,,75,,75,75,75',
         
     | 
| 
      
 352 
     | 
    
         
            +
            ',75,,,,75,75,77,77,162,77,,,162,,162,,77,77,77,,77,77,77,77,77,,,,,77',
         
     | 
| 
      
 353 
     | 
    
         
            +
            '77,77,,77,,,,77,77,78,78,75,78,,,75,,75,,78,78,78,,78,78,78,78,78,,',
         
     | 
| 
      
 354 
     | 
    
         
            +
            ',,78,78,78,,78,,,,78,78,79,79,77,79,,,77,,77,,79,79,79,,79,79,79,79',
         
     | 
| 
      
 355 
     | 
    
         
            +
            '79,,,,,79,79,79,,79,,,,79,79,82,82,78,82,,,78,,78,,82,82,82,,82,82,82',
         
     | 
| 
      
 356 
     | 
    
         
            +
            '82,82,,,,,82,82,82,,82,,,,82,82,188,188,79,188,,,79,,79,,188,188,188',
         
     | 
| 
      
 357 
     | 
    
         
            +
            ',188,188,188,188,188,,,188,,188,188,188,,188,,,,188,188,52,52,82,52',
         
     | 
| 
      
 358 
     | 
    
         
            +
            ',,82,,82,,52,52,52,,52,52,52,52,52,,,52,,52,52,52,,52,,,,52,52,367,367',
         
     | 
| 
      
 359 
     | 
    
         
            +
            '188,367,,,188,,188,,367,367,367,,367,367,367,367,367,,,,,367,367,367',
         
     | 
| 
      
 360 
     | 
    
         
            +
            ',367,,,,367,367,167,167,52,167,,,52,,52,,167,167,167,,167,167,167,167',
         
     | 
| 
      
 361 
     | 
    
         
            +
            '167,,,,,167,167,167,,167,,,,167,167,169,169,367,169,,,367,,367,,169',
         
     | 
| 
      
 362 
     | 
    
         
            +
            '169,169,,169,169,169,169,169,,,,,169,169,169,,169,,,,169,169,312,312',
         
     | 
| 
      
 363 
     | 
    
         
            +
            '167,312,,,167,,167,,312,312,312,,312,312,312,312,312,,,312,,312,312',
         
     | 
| 
      
 364 
     | 
    
         
            +
            '312,,312,,,,312,312,275,275,169,275,,,169,,169,,275,275,275,,275,275',
         
     | 
| 
      
 365 
     | 
    
         
            +
            '275,275,275,,,,,275,275,275,,275,,,,275,275,91,91,312,91,,,312,,312',
         
     | 
| 
      
 366 
     | 
    
         
            +
            ',91,91,91,,91,91,91,91,91,,,,,91,91,91,,91,,,,91,91,26,26,275,26,,,275',
         
     | 
| 
      
 367 
     | 
    
         
            +
            ',275,,26,26,26,,26,26,26,26,26,,,,,26,26,26,,26,,,,26,26,94,94,91,94',
         
     | 
| 
      
 368 
     | 
    
         
            +
            ',,91,,91,,94,94,94,,94,94,94,94,94,,,,,94,94,94,,94,,,,94,94,95,95,26',
         
     | 
| 
      
 369 
     | 
    
         
            +
            '95,,,26,,26,,95,95,95,,95,95,95,95,95,,,,,95,95,95,,95,,,,95,95,96,96',
         
     | 
| 
      
 370 
     | 
    
         
            +
            '94,96,,,94,,94,,96,96,96,,96,96,96,96,96,,,,,96,96,96,,96,,,,96,96,97',
         
     | 
| 
      
 371 
     | 
    
         
            +
            '97,95,97,,,95,,95,,97,97,97,,97,97,97,97,97,,,,,97,97,97,,97,,,,97,97',
         
     | 
| 
      
 372 
     | 
    
         
            +
            '98,98,96,98,,,96,,96,,98,98,98,,98,98,98,98,98,,,,,98,98,98,,98,,,,98',
         
     | 
| 
      
 373 
     | 
    
         
            +
            '98,99,99,97,99,,,97,,97,,99,99,99,,99,99,99,99,99,,,,,99,99,99,,99,',
         
     | 
| 
      
 374 
     | 
    
         
            +
            ',,99,99,100,100,98,100,,,98,,98,,100,100,100,,100,100,100,100,100,,',
         
     | 
| 
      
 375 
     | 
    
         
            +
            ',,100,100,100,,100,,,,100,100,101,101,99,101,,,99,,99,,101,101,101,',
         
     | 
| 
      
 376 
     | 
    
         
            +
            '101,101,101,101,101,,,,,101,101,101,,101,,,,101,101,102,102,100,102',
         
     | 
| 
      
 377 
     | 
    
         
            +
            ',,100,,100,,102,102,102,,102,102,102,102,102,,,,,102,102,102,,102,,',
         
     | 
| 
      
 378 
     | 
    
         
            +
            ',102,102,103,103,101,103,,,101,,101,,103,103,103,,103,103,103,103,103',
         
     | 
| 
      
 379 
     | 
    
         
            +
            ',,,,103,103,103,,103,,,,103,103,104,104,102,104,,,102,,102,,104,104',
         
     | 
| 
      
 380 
     | 
    
         
            +
            '104,,104,104,104,104,104,,,,,104,104,104,,104,,,,104,104,105,105,103',
         
     | 
| 
      
 381 
     | 
    
         
            +
            '105,,,103,,103,,105,105,105,,105,105,105,105,105,,,,,105,105,105,,105',
         
     | 
| 
      
 382 
     | 
    
         
            +
            ',,,105,105,106,106,104,106,,,104,,104,,106,106,106,,106,106,106,106',
         
     | 
| 
      
 383 
     | 
    
         
            +
            '106,,,,,106,106,106,,106,,,,106,106,107,107,105,107,,,105,,105,,107',
         
     | 
| 
      
 384 
     | 
    
         
            +
            '107,107,,107,107,107,107,107,,,,,107,107,107,,107,,,,107,107,108,108',
         
     | 
| 
      
 385 
     | 
    
         
            +
            '106,108,,,106,,106,,108,108,108,,108,108,108,108,108,,,,,108,108,108',
         
     | 
| 
      
 386 
     | 
    
         
            +
            ',108,,,,108,108,109,109,107,109,,,107,,107,,109,109,109,,109,109,109',
         
     | 
| 
      
 387 
     | 
    
         
            +
            '109,109,,,,,109,109,109,,109,,,,109,109,110,110,108,110,,,108,,108,',
         
     | 
| 
      
 388 
     | 
    
         
            +
            '110,110,110,,110,110,110,110,110,,,,,110,110,110,,110,,,,110,110,111',
         
     | 
| 
      
 389 
     | 
    
         
            +
            '111,109,111,,,109,,109,,111,111,111,,111,111,111,111,111,,,,,111,111',
         
     | 
| 
      
 390 
     | 
    
         
            +
            '111,,111,,,,111,111,112,112,110,112,,,110,,110,,112,112,112,,112,112',
         
     | 
| 
      
 391 
     | 
    
         
            +
            '112,112,112,,,,,112,112,112,,112,,,,112,112,113,113,111,113,,,111,,111',
         
     | 
| 
      
 392 
     | 
    
         
            +
            ',113,113,113,,113,113,113,113,113,,,,,113,113,113,,113,,,,113,113,114',
         
     | 
| 
      
 393 
     | 
    
         
            +
            '114,112,114,,,112,,112,,114,114,114,,114,114,114,114,114,,,,,114,114',
         
     | 
| 
      
 394 
     | 
    
         
            +
            '114,,114,,,,114,114,115,115,113,115,,,113,,113,,115,115,115,,115,115',
         
     | 
| 
      
 395 
     | 
    
         
            +
            '115,115,115,,,,,115,115,115,,115,,,,115,115,116,116,114,116,,,114,,114',
         
     | 
| 
      
 396 
     | 
    
         
            +
            ',116,116,116,,116,116,116,116,116,,,,,116,116,116,,116,,,,116,116,117',
         
     | 
| 
      
 397 
     | 
    
         
            +
            '117,115,117,,,115,,115,,117,117,117,,117,117,117,117,117,,,,,117,117',
         
     | 
| 
      
 398 
     | 
    
         
            +
            '117,,117,,,,117,117,118,118,116,118,,,116,,116,,118,118,118,,118,118',
         
     | 
| 
      
 399 
     | 
    
         
            +
            '118,118,118,,,,,118,118,118,,118,,,,118,118,119,119,117,119,,,117,,117',
         
     | 
| 
      
 400 
     | 
    
         
            +
            ',119,119,119,,119,119,119,119,119,,,,,119,119,119,,119,,,,119,119,120',
         
     | 
| 
      
 401 
     | 
    
         
            +
            '120,118,120,,,118,,118,,120,120,120,,120,120,120,120,120,,,,,120,120',
         
     | 
| 
      
 402 
     | 
    
         
            +
            '120,,120,,,,120,120,121,121,119,121,,,119,,119,,121,121,121,,121,121',
         
     | 
| 
      
 403 
     | 
    
         
            +
            '121,121,121,,,,,121,121,121,,121,,,,121,121,122,122,120,122,,,120,,120',
         
     | 
| 
      
 404 
     | 
    
         
            +
            ',122,122,122,,122,122,122,122,122,,,,,122,122,122,,122,,,,122,122,123',
         
     | 
| 
      
 405 
     | 
    
         
            +
            '123,121,123,,,121,,121,,123,123,123,,123,123,123,123,123,,,,,123,123',
         
     | 
| 
      
 406 
     | 
    
         
            +
            '123,,123,,,,123,123,124,124,122,124,,,122,,122,,124,124,124,,124,124',
         
     | 
| 
      
 407 
     | 
    
         
            +
            '124,124,124,,,,,124,124,124,,124,,,,124,124,125,125,123,125,,,123,,123',
         
     | 
| 
      
 408 
     | 
    
         
            +
            ',125,125,125,,125,125,125,125,125,,,,,125,125,125,,125,,,,125,125,126',
         
     | 
| 
      
 409 
     | 
    
         
            +
            '126,124,126,,,124,,124,,126,126,126,,126,126,126,126,126,,,,,126,126',
         
     | 
| 
      
 410 
     | 
    
         
            +
            '126,,126,,,,126,126,232,232,125,232,,,125,,125,,232,232,232,,232,232',
         
     | 
| 
      
 411 
     | 
    
         
            +
            '232,232,232,,,232,,232,232,232,,232,,,,232,232,128,128,126,128,,,126',
         
     | 
| 
      
 412 
     | 
    
         
            +
            ',126,,128,128,128,,128,128,128,128,128,,,,,128,128,128,,128,,,,128,128',
         
     | 
| 
      
 413 
     | 
    
         
            +
            '129,129,232,129,,,232,,232,,129,129,129,,129,129,129,129,129,,,,,129',
         
     | 
| 
      
 414 
     | 
    
         
            +
            '129,129,,129,,,,129,129,278,278,128,278,,,128,,128,,278,278,278,,278',
         
     | 
| 
      
 415 
     | 
    
         
            +
            '278,278,278,278,,,,,278,278,278,,278,,,,278,278,146,146,129,146,,,129',
         
     | 
| 
      
 416 
     | 
    
         
            +
            ',129,,146,146,146,,146,146,146,146,146,,,146,,146,146,146,,146,,,,146',
         
     | 
| 
      
 417 
     | 
    
         
            +
            '146,279,279,278,279,,,278,,278,,279,279,279,,279,279,279,279,279,,,',
         
     | 
| 
      
 418 
     | 
    
         
            +
            ',279,279,279,,279,,,,279,279,240,240,146,240,,,146,,146,,240,240,240',
         
     | 
| 
      
 419 
     | 
    
         
            +
            ',240,240,240,240,240,,,,,240,240,240,,240,,,,240,240,242,242,279,242',
         
     | 
| 
      
 420 
     | 
    
         
            +
            ',,279,,279,,242,242,242,,242,242,242,242,242,,,,,242,242,242,,242,,',
         
     | 
| 
      
 421 
     | 
    
         
            +
            ',242,242,172,172,240,172,,,240,,240,,172,172,172,,172,172,172,172,172',
         
     | 
| 
      
 422 
     | 
    
         
            +
            ',,,,172,172,172,,172,,,,172,172,291,291,242,291,,,242,242,242,,291,291',
         
     | 
| 
      
 423 
     | 
    
         
            +
            '291,,291,291,291,291,291,,,291,,291,291,291,,291,,,,291,291,137,137',
         
     | 
| 
      
 424 
     | 
    
         
            +
            '172,137,,,172,,172,,137,137,137,,137,137,137,137,137,,,137,,137,137',
         
     | 
| 
      
 425 
     | 
    
         
            +
            '137,,137,,,,137,137,171,171,291,171,,,291,,291,,171,171,171,,171,171',
         
     | 
| 
      
 426 
     | 
    
         
            +
            '171,171,171,,,,,171,171,171,,171,,,,171,171,287,287,137,287,,,137,,137',
         
     | 
| 
      
 427 
     | 
    
         
            +
            ',287,287,287,,287,287,287,287,287,,,,,287,287,287,,287,,,,287,287,271',
         
     | 
| 
      
 428 
     | 
    
         
            +
            '271,171,271,,,171,,171,,271,271,271,,271,271,271,271,271,,,,,271,271',
         
     | 
| 
      
 429 
     | 
    
         
            +
            '271,,271,,,,271,271,170,170,287,170,,,287,,287,,170,170,170,,170,170',
         
     | 
| 
      
 430 
     | 
    
         
            +
            '170,170,170,,,,,170,170,170,,170,,,,170,170,237,237,271,237,,,271,,271',
         
     | 
| 
      
 431 
     | 
    
         
            +
            ',237,237,237,,237,237,237,237,237,,,237,,237,237,237,,237,,,,237,237',
         
     | 
| 
      
 432 
     | 
    
         
            +
            '57,57,170,57,,,170,,170,,57,57,57,,57,57,57,57,57,,,,,57,57,57,,57,',
         
     | 
| 
      
 433 
     | 
    
         
            +
            ',,57,57,63,63,237,63,,,237,,237,,63,63,63,,63,63,63,63,63,,,,,63,63',
         
     | 
| 
      
 434 
     | 
    
         
            +
            '63,,63,,,,63,63,86,86,57,86,214,214,57,214,214,214,86,86,86,,86,86,86',
         
     | 
| 
      
 435 
     | 
    
         
            +
            '86,86,,,,,86,86,86,,86,,,,86,86,,,63,,,,63,,,,,,,,,,,,369,,214,,,,215',
         
     | 
| 
      
 436 
     | 
    
         
            +
            '215,,215,215,215,,,,,,86,,369,369,86,369,369,369,369,369,369,369,369',
         
     | 
| 
      
 437 
     | 
    
         
            +
            '369,369,369,369,369,369,369,369,369,369,369,369,369,369,369,369,369',
         
     | 
| 
      
 438 
     | 
    
         
            +
            '369,369,369,369,369,369,369,379,215,,,,,216,216,,216,216,216,217,217',
         
     | 
| 
      
 439 
     | 
    
         
            +
            '369,217,217,217,,379,379,,379,379,379,379,379,379,379,379,379,379,379',
         
     | 
| 
      
 440 
     | 
    
         
            +
            '379,379,379,379,379,379,379,379,379,379,379,379,379,379,379,379,379',
         
     | 
| 
      
 441 
     | 
    
         
            +
            '379,379,379,379,324,216,,,,,,217,218,218,,218,218,218,379,,,,,324,324',
         
     | 
| 
      
 442 
     | 
    
         
            +
            ',324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324',
         
     | 
| 
      
 443 
     | 
    
         
            +
            '324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,325,,,218',
         
     | 
| 
      
 444 
     | 
    
         
            +
            ',,219,219,,219,219,219,,,324,,,,,325,325,,325,325,325,325,325,325,325',
         
     | 
| 
       440 
445 
     | 
    
         
             
            '325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325,325',
         
     | 
| 
       441 
     | 
    
         
            -
            '325, 
     | 
| 
       442 
     | 
    
         
            -
            ', 
     | 
| 
       443 
     | 
    
         
            -
            ' 
     | 
| 
       444 
     | 
    
         
            -
            ',,,,, 
     | 
| 
       445 
     | 
    
         
            -
            ' 
     | 
| 
       446 
     | 
    
         
            -
            ' 
     | 
| 
       447 
     | 
    
         
            -
            ',,,370,,,,,380,380,,380,380,380,380,380,380,380,380,380,380,380,380',
         
     | 
| 
       448 
     | 
    
         
            -
            '380,380,380,380,380,380,380,380,380,380,380,380,380,380,380,380,380',
         
     | 
| 
       449 
     | 
    
         
            -
            '380,380,380,219,,,,,,,,,,,,266,266,380,266,266,266,266,266,266,266,266',
         
     | 
| 
       450 
     | 
    
         
            -
            '266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266',
         
     | 
| 
       451 
     | 
    
         
            -
            '266,266,266,266,266,266,266,,,,,,,,,,,,,264,264,266,264,264,264,264',
         
     | 
| 
       452 
     | 
    
         
            -
            '264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264',
         
     | 
| 
       453 
     | 
    
         
            -
            '264,264,264,264,264,264,264,264,264,264,264,,,,,,,,,,,,,263,263,264',
         
     | 
| 
      
 446 
     | 
    
         
            +
            '325,325,325,325,325,325,325,325,181,219,,,,,,,,,,,,,325,,,,,181,181',
         
     | 
| 
      
 447 
     | 
    
         
            +
            ',181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181',
         
     | 
| 
      
 448 
     | 
    
         
            +
            '181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,180,,,,',
         
     | 
| 
      
 449 
     | 
    
         
            +
            ',,,,,,,,,181,,,,,180,180,,180,180,180,180,180,180,180,180,180,180,180',
         
     | 
| 
      
 450 
     | 
    
         
            +
            '180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180',
         
     | 
| 
      
 451 
     | 
    
         
            +
            '180,180,180,180,,,,,,,,,,,,,263,263,180,263,263,263,263,263,263,263',
         
     | 
| 
       454 
452 
     | 
    
         
             
            '263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263',
         
     | 
| 
       455 
     | 
    
         
            -
            '263,263,263,263,263,263,263,263, 
     | 
| 
       456 
     | 
    
         
            -
            ' 
     | 
| 
       457 
     | 
    
         
            -
            ' 
     | 
| 
       458 
     | 
    
         
            -
            ' 
     | 
| 
       459 
     | 
    
         
            -
            ' 
     | 
| 
       460 
     | 
    
         
            -
            ' 
     | 
| 
      
 453 
     | 
    
         
            +
            '263,263,263,263,263,263,263,263,,,,,,,,,,,,,265,265,263,265,265,265',
         
     | 
| 
      
 454 
     | 
    
         
            +
            '265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265',
         
     | 
| 
      
 455 
     | 
    
         
            +
            '265,265,265,265,265,265,265,265,265,265,265,265,,,,,,,,,,,,,262,262',
         
     | 
| 
      
 456 
     | 
    
         
            +
            '265,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262',
         
     | 
| 
      
 457 
     | 
    
         
            +
            '262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,,,,',
         
     | 
| 
      
 458 
     | 
    
         
            +
            ',,262,,,,,,258,258,262,258,258,258,258,258,258,258,258,258,258,258,258',
         
     | 
| 
      
 459 
     | 
    
         
            +
            '258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258',
         
     | 
| 
      
 460 
     | 
    
         
            +
            '258,258,258,,,,,,,258,,,,,,308,308,258,308,308,308,308,308,308,308,308',
         
     | 
| 
      
 461 
     | 
    
         
            +
            '308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308',
         
     | 
| 
      
 462 
     | 
    
         
            +
            '308,308,308,308,308,308,308,,,,,,,,,,,,,334,334,308,334,334,334,334',
         
     | 
| 
      
 463 
     | 
    
         
            +
            '334,334,334,334,334,334,334,334,334,334,334,334,334,334,334,334,334',
         
     | 
| 
      
 464 
     | 
    
         
            +
            '334,334,334,334,334,334,334,334,334,334,334,,,,,,,,,,,,,191,191,334',
         
     | 
| 
      
 465 
     | 
    
         
            +
            '191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191',
         
     | 
| 
      
 466 
     | 
    
         
            +
            '191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,,,,,,,,',
         
     | 
| 
      
 467 
     | 
    
         
            +
            ',,,,197,197,191,197,197,197,197,197,197,197,197,197,197,197,197,197',
         
     | 
| 
      
 468 
     | 
    
         
            +
            '197,197,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,198,197,198,198,198,198,198',
         
     | 
| 
       461 
469 
     | 
    
         
             
            '198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198',
         
     | 
| 
       462 
     | 
    
         
            -
            '198,198,198,198,198,198,198,198,198,198, 
     | 
| 
       463 
     | 
    
         
            -
            ' 
     | 
| 
       464 
     | 
    
         
            -
            ' 
     | 
| 
       465 
     | 
    
         
            -
            ' 
     | 
| 
       466 
     | 
    
         
            -
            '200, 
     | 
| 
       467 
     | 
    
         
            -
            ' 
     | 
| 
       468 
     | 
    
         
            -
            ' 
     | 
| 
       469 
     | 
    
         
            -
            '203,203,203,203,203,203,203,203,203,203 
     | 
| 
       470 
     | 
    
         
            -
            '204,204,204,204,204,204,204,204,204,204,204,204,204 
     | 
| 
       471 
     | 
    
         
            -
            '205,205,205,205,205,205,205,205,205,205,205,205,205,205 
     | 
| 
      
 470 
     | 
    
         
            +
            '198,198,198,198,198,198,198,198,198,198,,,,,,,,,,,,,199,199,198,199',
         
     | 
| 
      
 471 
     | 
    
         
            +
            '199,199,199,199,199,199,199,199,199,199,199,199,199,199,200,200,,200',
         
     | 
| 
      
 472 
     | 
    
         
            +
            '200,200,200,200,200,200,200,200,200,200,200,200,200,200,,,,,,,,,,,,201',
         
     | 
| 
      
 473 
     | 
    
         
            +
            '201,199,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201',
         
     | 
| 
      
 474 
     | 
    
         
            +
            ',,200,,,,,,,,,,,,,,,,,,,,,,,,,,,299,299,201,299,299,299,299,299,299',
         
     | 
| 
      
 475 
     | 
    
         
            +
            '299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299',
         
     | 
| 
      
 476 
     | 
    
         
            +
            '299,299,299,299,299,299,299,299,299,,,,,,,,,,,,,203,203,299,203,203',
         
     | 
| 
      
 477 
     | 
    
         
            +
            '203,203,203,203,203,203,203,203,203,203,203,203,203,204,204,,204,204',
         
     | 
| 
      
 478 
     | 
    
         
            +
            '204,204,204,204,204,204,204,204,204,204,204,204,204,,,,,,,,,,,,205,205',
         
     | 
| 
      
 479 
     | 
    
         
            +
            '203,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,206',
         
     | 
| 
       472 
480 
     | 
    
         
             
            '206,204,206,206,206,206,206,206,206,206,206,206,206,206,206,206,206',
         
     | 
| 
       473 
     | 
    
         
            -
            '207,207,205,207,207,207,207,207,207,207,207,207,207,207,207 
     | 
| 
       474 
     | 
    
         
            -
            '207 
     | 
| 
       475 
     | 
    
         
            -
            ' 
     | 
| 
       476 
     | 
    
         
            -
            ' 
     | 
| 
       477 
     | 
    
         
            -
            ' 
     | 
| 
       478 
     | 
    
         
            -
            ' 
     | 
| 
       479 
     | 
    
         
            -
            ' 
     | 
| 
       480 
     | 
    
         
            -
            ' 
     | 
| 
       481 
     | 
    
         
            -
            ' 
     | 
| 
      
 481 
     | 
    
         
            +
            ',,,,,,,,,,,207,207,205,207,207,207,207,207,207,207,207,207,207,207,207',
         
     | 
| 
      
 482 
     | 
    
         
            +
            '207,207,207,,,206,,,,,,,,,,,,,,,,,,,,,,,,,,,264,264,207,264,264,264',
         
     | 
| 
      
 483 
     | 
    
         
            +
            '264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264',
         
     | 
| 
      
 484 
     | 
    
         
            +
            '264,264,264,264,264,264,264,264,264,264,264,264,,,,,,,,,,,,,337,337',
         
     | 
| 
      
 485 
     | 
    
         
            +
            '264,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337',
         
     | 
| 
      
 486 
     | 
    
         
            +
            '337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,,,,',
         
     | 
| 
      
 487 
     | 
    
         
            +
            ',,,,,,,,254,254,337,254,254,254,254,254,254,254,254,254,254,254,254',
         
     | 
| 
      
 488 
     | 
    
         
            +
            '254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254',
         
     | 
| 
      
 489 
     | 
    
         
            +
            '254,254,254,,,,,,,254,,,,,,225,225,254,225,225,225,225,225,225,225,225',
         
     | 
| 
       482 
490 
     | 
    
         
             
            '225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225,225',
         
     | 
| 
       483 
     | 
    
         
            -
            ' 
     | 
| 
      
 491 
     | 
    
         
            +
            '225,225,,,,,,,,,,,,,,,,,,226,226,225,226,226,226,226,226,226,226,226',
         
     | 
| 
       484 
492 
     | 
    
         
             
            '226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226',
         
     | 
| 
       485 
     | 
    
         
            -
            ' 
     | 
| 
      
 493 
     | 
    
         
            +
            '226,226,,,,,,,,,,,,,,,,,,227,227,226,227,227,227,227,227,227,227,227',
         
     | 
| 
       486 
494 
     | 
    
         
             
            '227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227',
         
     | 
| 
       487 
     | 
    
         
            -
            '227,227,227,227,227,,,,,,,,,,,,,228,228,227,228,228,228,228 
     | 
| 
      
 495 
     | 
    
         
            +
            '227,227,227,227,227,227,227,,,,,,,,,,,,,228,228,227,228,228,228,228',
         
     | 
| 
       488 
496 
     | 
    
         
             
            '228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228,228',
         
     | 
| 
       489 
     | 
    
         
            -
            '228,228,228,228,228,228,228,228,228 
     | 
| 
       490 
     | 
    
         
            -
            ' 
     | 
| 
       491 
     | 
    
         
            -
            ' 
     | 
| 
       492 
     | 
    
         
            -
            ' 
     | 
| 
       493 
     | 
    
         
            -
            ' 
     | 
| 
       494 
     | 
    
         
            -
            ' 
     | 
| 
       495 
     | 
    
         
            -
            ' 
     | 
| 
       496 
     | 
    
         
            -
            ' 
     | 
| 
       497 
     | 
    
         
            -
            ' 
     | 
| 
       498 
     | 
    
         
            -
            ' 
     | 
| 
       499 
     | 
    
         
            -
            ' 
     | 
| 
       500 
     | 
    
         
            -
            '298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,,,,,,,,',
         
     | 
| 
       501 
     | 
    
         
            -
            ',,298,,255,255,298,255,255,255,255,255,255,255,255,255,255,255,255,255',
         
     | 
| 
       502 
     | 
    
         
            -
            '255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255',
         
     | 
| 
       503 
     | 
    
         
            -
            '255,255,,,,,,,255,,,,,,135,135,255,135,135,135,135,135,135,135,135,135',
         
     | 
| 
      
 497 
     | 
    
         
            +
            '228,228,228,228,228,228,228,228,228,228,228,,,,,,,,,,,,,,228,228,297',
         
     | 
| 
      
 498 
     | 
    
         
            +
            '297,,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297',
         
     | 
| 
      
 499 
     | 
    
         
            +
            '297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,,,,',
         
     | 
| 
      
 500 
     | 
    
         
            +
            ',,,,,,297,,230,230,297,230,230,230,230,230,230,230,230,230,230,230,230',
         
     | 
| 
      
 501 
     | 
    
         
            +
            '230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230',
         
     | 
| 
      
 502 
     | 
    
         
            +
            '230,230,230,,,,,,,,,,,230,,,230,230,293,293,,293,293,293,293,293,293',
         
     | 
| 
      
 503 
     | 
    
         
            +
            '293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293',
         
     | 
| 
      
 504 
     | 
    
         
            +
            '293,293,293,293,293,293,293,293,293,,,,,,,,,,,,,177,177,293,177,177',
         
     | 
| 
      
 505 
     | 
    
         
            +
            '177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177',
         
     | 
| 
      
 506 
     | 
    
         
            +
            '177,177,177,177,177,177,177,177,177,177,177,177,177,,,,,,,,,,,,,135',
         
     | 
| 
      
 507 
     | 
    
         
            +
            '135,177,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135',
         
     | 
| 
       504 
508 
     | 
    
         
             
            '135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135',
         
     | 
| 
       505 
     | 
    
         
            -
            '135, 
     | 
| 
       506 
     | 
    
         
            -
            ' 
     | 
| 
       507 
     | 
    
         
            -
            ' 
     | 
| 
       508 
     | 
    
         
            -
            '294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294',
         
     | 
| 
       509 
     | 
    
         
            -
            '294,294,294,294,294,294,294,294,294,294,294,294,294,294,,,,,,,,,,,,',
         
     | 
| 
       510 
     | 
    
         
            -
            '289,289,294,289,289,289,289,289,289,289,289,289,289,289,289,289,289',
         
     | 
| 
       511 
     | 
    
         
            -
            '289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289',
         
     | 
| 
       512 
     | 
    
         
            -
            '289,,,,,,,,,,,289,,,289,289,142,142,,142,142,142,142,142,142,142,142',
         
     | 
| 
      
 509 
     | 
    
         
            +
            ',,,,,,135,,,,,,288,288,135,288,288,288,288,288,288,288,288,288,288,288',
         
     | 
| 
      
 510 
     | 
    
         
            +
            '288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288',
         
     | 
| 
      
 511 
     | 
    
         
            +
            '288,288,288,288,,,,,,,,,,,288,,,288,288,142,142,,142,142,142,142,142',
         
     | 
| 
       513 
512 
     | 
    
         
             
            '142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142',
         
     | 
| 
       514 
     | 
    
         
            -
            '142,142,142,142,142,142,142 
     | 
| 
       515 
     | 
    
         
            -
            ' 
     | 
| 
       516 
     | 
    
         
            -
            ' 
     | 
| 
       517 
     | 
    
         
            -
            ' 
     | 
| 
       518 
     | 
    
         
            -
            ' 
     | 
| 
       519 
     | 
    
         
            -
             
     | 
| 
      
 513 
     | 
    
         
            +
            '142,142,142,142,142,142,142,142,142,142,,,,,,,,,,,,,266,266,142,266',
         
     | 
| 
      
 514 
     | 
    
         
            +
            '266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266,266',
         
     | 
| 
      
 515 
     | 
    
         
            +
            '266,266,266,266,266,266,266,266,266,266,266,266,266,266,,,,,,,,,,,,',
         
     | 
| 
      
 516 
     | 
    
         
            +
            '157,157,266,157,157,157,157,157,157,157,157,157,157,157,157,157,157',
         
     | 
| 
      
 517 
     | 
    
         
            +
            '157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157',
         
     | 
| 
      
 518 
     | 
    
         
            +
            '157,,,,,,,,,,,,,202,202,157,202,202,202,202,202,202,202,202,202,202',
         
     | 
| 
      
 519 
     | 
    
         
            +
            '202,202,202,202,202,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,202' ]
         
     | 
| 
      
 520 
     | 
    
         
            +
                    racc_action_check = arr = ::Array.new(5458, nil)
         
     | 
| 
       520 
521 
     | 
    
         
             
                    idx = 0
         
     | 
| 
       521 
522 
     | 
    
         
             
                    clist.each do |str|
         
     | 
| 
       522 
523 
     | 
    
         
             
                      str.split(',', -1).each do |i|
         
     | 
| 
         @@ -526,46 +527,46 @@ clist = [ 
     | 
|
| 
       526 
527 
     | 
    
         
             
                    end
         
     | 
| 
       527 
528 
     | 
    
         | 
| 
       528 
529 
     | 
    
         
             
            racc_action_pointer = [
         
     | 
| 
       529 
     | 
    
         
            -
                 
     | 
| 
      
 530 
     | 
    
         
            +
                -2,   694,   -15,   684,   nil,   nil,   nil,   nil,   120,   nil,
         
     | 
| 
       530 
531 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       531 
     | 
    
         
            -
             
     | 
| 
       532 
     | 
    
         
            -
                
     | 
| 
       533 
     | 
    
         
            -
               nil, 
     | 
| 
       534 
     | 
    
         
            -
               nil,   nil,   
     | 
| 
       535 
     | 
    
         
            -
               
     | 
| 
       536 
     | 
    
         
            -
                
     | 
| 
       537 
     | 
    
         
            -
               nil,   nil,   
     | 
| 
       538 
     | 
    
         
            -
                
     | 
| 
       539 
     | 
    
         
            -
               
     | 
| 
       540 
     | 
    
         
            -
               
     | 
| 
       541 
     | 
    
         
            -
             
     | 
| 
       542 
     | 
    
         
            -
                
     | 
| 
       543 
     | 
    
         
            -
             
     | 
| 
       544 
     | 
    
         
            -
                
     | 
| 
       545 
     | 
    
         
            -
                
     | 
| 
       546 
     | 
    
         
            -
               
     | 
| 
       547 
     | 
    
         
            -
             
     | 
| 
       548 
     | 
    
         
            -
                
     | 
| 
       549 
     | 
    
         
            -
               
     | 
| 
       550 
     | 
    
         
            -
                
     | 
| 
       551 
     | 
    
         
            -
                
     | 
| 
       552 
     | 
    
         
            -
             
     | 
| 
       553 
     | 
    
         
            -
             
     | 
| 
       554 
     | 
    
         
            -
                
     | 
| 
       555 
     | 
    
         
            -
                
     | 
| 
       556 
     | 
    
         
            -
                
     | 
| 
       557 
     | 
    
         
            -
             
     | 
| 
       558 
     | 
    
         
            -
             
     | 
| 
       559 
     | 
    
         
            -
             
     | 
| 
       560 
     | 
    
         
            -
                
     | 
| 
       561 
     | 
    
         
            -
             
     | 
| 
       562 
     | 
    
         
            -
                
     | 
| 
       563 
     | 
    
         
            -
               nil,   nil,    
     | 
| 
       564 
     | 
    
         
            -
                
     | 
| 
       565 
     | 
    
         
            -
                
     | 
| 
       566 
     | 
    
         
            -
             
     | 
| 
       567 
     | 
    
         
            -
             
     | 
| 
       568 
     | 
    
         
            -
                
     | 
| 
      
 532 
     | 
    
         
            +
               691,   nil,   555,   560,   nil,   nil,  1819,   nil,   nil,   139,
         
     | 
| 
      
 533 
     | 
    
         
            +
               382,   295,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 534 
     | 
    
         
            +
               nil,   153,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 535 
     | 
    
         
            +
               nil,   nil,  1588,   nil,   339,    43,   994,  3469,  1060,   nil,
         
     | 
| 
      
 536 
     | 
    
         
            +
              1093,  1126,  1159,  3502,   nil,   157,   nil,   384,   nil,   203,
         
     | 
| 
      
 537 
     | 
    
         
            +
               301,   329,   nil,   nil,   nil,  1390,   nil,  1423,  1456,  1489,
         
     | 
| 
      
 538 
     | 
    
         
            +
               nil,   nil,  1522,   -39,   339,   311,  3535,   261,   nil,   321,
         
     | 
| 
      
 539 
     | 
    
         
            +
               557,  1786,   274,   nil,  1852,  1885,  1918,  1951,  1984,  2017,
         
     | 
| 
      
 540 
     | 
    
         
            +
              2050,  2083,  2116,  2149,  2182,  2215,  2248,  2281,  2314,  2347,
         
     | 
| 
      
 541 
     | 
    
         
            +
              2380,  2413,  2446,  2479,  2512,  2545,  2578,  2611,  2644,  2677,
         
     | 
| 
      
 542 
     | 
    
         
            +
              2710,  2743,  2776,  2809,  2842,  2875,  2908,   948,  2974,  3007,
         
     | 
| 
      
 543 
     | 
    
         
            +
               211,   838,   212,   208,   -21,  5122,    79,  3271,   113,   nil,
         
     | 
| 
      
 544 
     | 
    
         
            +
               110,    67,  5219,   nil,   nil,   nil,  3073,   -39,   nil,   -14,
         
     | 
| 
      
 545 
     | 
    
         
            +
               222,    -1,    14,   nil,    36,  1324,   290,  5313,   143,  1027,
         
     | 
| 
      
 546 
     | 
    
         
            +
               316,   -24,  1357,   349,   358,   830,   609,  1654,   nil,  1687,
         
     | 
| 
      
 547 
     | 
    
         
            +
              3403,  3304,  3205,   nil,   nil,   nil,    53,  5075,   137,   215,
         
     | 
| 
      
 548 
     | 
    
         
            +
              3847,  3793,   448,   467,    47,   470,    17,   479,  1555,   nil,
         
     | 
| 
      
 549 
     | 
    
         
            +
               574,  4176,   nil,   476,   563,   302,   389,  4223,  4270,  4317,
         
     | 
| 
      
 550 
     | 
    
         
            +
              4335,  4364,  5360,  4458,  4476,  4505,  4523,  4552,   204,   678,
         
     | 
| 
      
 551 
     | 
    
         
            +
               754,   760,   924,  1003,  3511,  3564,  3618,  3624,  3674,  3726,
         
     | 
| 
      
 552 
     | 
    
         
            +
               202,   212,   485,   513,   595,  4740,  4787,  4834,  4881,   915,
         
     | 
| 
      
 553 
     | 
    
         
            +
              4978,   592,  2941,   nil,   nil,   nil,   129,  3436,   612,   nil,
         
     | 
| 
      
 554 
     | 
    
         
            +
              3139,   nil,  3172,    58,   nil,   138,   426,  1192,    64,    20,
         
     | 
| 
      
 555 
     | 
    
         
            +
               nil,   nil,   134,   101,  4693,   620,  1258,  1291,  4035,    -4,
         
     | 
| 
      
 556 
     | 
    
         
            +
               469,   518,  3988,  3894,  4599,  3941,  5266,    37,    62,   -29,
         
     | 
| 
      
 557 
     | 
    
         
            +
               389,  3370,    89,   nil,   338,  1753,   255,   171,  3040,  3106,
         
     | 
| 
      
 558 
     | 
    
         
            +
               nil,   136,   130,   -26,   477,    16,   616,  3337,  5169,    69,
         
     | 
| 
      
 559 
     | 
    
         
            +
               nil,  3238,   nil,  5028,   142,    95,   nil,  4931,   nil,  4411,
         
     | 
| 
      
 560 
     | 
    
         
            +
               nil,   nil,   nil,   621,   nil,   170,   205,   nil,  4082,   611,
         
     | 
| 
      
 561 
     | 
    
         
            +
               134,   nil,  1720,   nil,   309,    28,   nil,   nil,   843,    48,
         
     | 
| 
      
 562 
     | 
    
         
            +
               nil,   767,   nil,   nil,  3685,  3739,   nil,   353,   119,   nil,
         
     | 
| 
      
 563 
     | 
    
         
            +
               368,   nil,   373,   nil,  4129,   nil,   nil,  4646,   nil,   nil,
         
     | 
| 
      
 564 
     | 
    
         
            +
               nil,   nil,   340,   158,   432,   615,   370,   nil,   nil,   nil,
         
     | 
| 
      
 565 
     | 
    
         
            +
               255,   440,  1225,   nil,    16,   482,   488,   nil,   483,   nil,
         
     | 
| 
      
 566 
     | 
    
         
            +
               512,   431,   nil,   485,    39,   529,   nil,  1621,   383,  3577,
         
     | 
| 
      
 567 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   557,   510,   nil,   577,  3631,
         
     | 
| 
      
 568 
     | 
    
         
            +
               -24,   644,   641,   622,   662,   296,   -28,   nil,   664,   nil,
         
     | 
| 
      
 569 
     | 
    
         
            +
               -18,   704,   nil ]
         
     | 
| 
       569 
570 
     | 
    
         | 
| 
       570 
571 
     | 
    
         
             
            racc_action_default = [
         
     | 
| 
       571 
572 
     | 
    
         
             
                -1,  -217,    -2,    -3,    -6,    -7,    -8,    -9,   -10,   -11,
         
     | 
| 
         @@ -575,9 +576,9 @@ racc_action_default = [ 
     | 
|
| 
       575 
576 
     | 
    
         
             
               -46,   -47,   -48,   -49,   -50,   -51,   -52,   -53,   -54,   -55,
         
     | 
| 
       576 
577 
     | 
    
         
             
               -56,   -57,   -61,   -64,   -67,  -217,   -99,   -98,   -99,   -97,
         
     | 
| 
       577 
578 
     | 
    
         
             
               -98,   -98,   -98,   -98,  -140,  -217,  -147,  -217,  -152,   -98,
         
     | 
| 
       578 
     | 
    
         
            -
               -98,   -98,  -168,  -169,  -170, 
     | 
| 
      
 579 
     | 
    
         
            +
               -98,   -98,  -168,  -169,  -170,  -179,  -180,   -98,   -98,   -98,
         
     | 
| 
       579 
580 
     | 
    
         
             
              -189,  -190,   -98,  -217,  -217,  -217,   -98,  -215,  -216,  -217,
         
     | 
| 
       580 
     | 
    
         
            -
                -5,  -217,  -156,   -98,   -98,   -98,   -98,   -98,   -98, 
     | 
| 
      
 581 
     | 
    
         
            +
                -5,   -98,  -217,  -156,   -98,   -98,   -98,   -98,   -98,   -98,
         
     | 
| 
       581 
582 
     | 
    
         
             
               -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,
         
     | 
| 
       582 
583 
     | 
    
         
             
               -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,
         
     | 
| 
       583 
584 
     | 
    
         
             
               -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,   -98,
         
     | 
| 
         @@ -585,131 +586,129 @@ racc_action_default = [ 
     | 
|
| 
       585 
586 
     | 
    
         
             
               -71,  -217,   -62,   -42,   -43,   -47,   -61,  -217,   -68,  -217,
         
     | 
| 
       586 
587 
     | 
    
         
             
              -217,  -150,  -153,  -157,   -98,   -99,   -91,  -100,  -148,   -99,
         
     | 
| 
       587 
588 
     | 
    
         
             
              -217,  -217,   -99,   -94,  -136,  -137,  -138,   -98,  -139,   -98,
         
     | 
| 
       588 
     | 
    
         
            -
               -98,   -98,   -98,  -151,  -154,  -155,  -217,  -178,  - 
     | 
| 
       589 
     | 
    
         
            -
              -217,  -217,  -217,  -217,  - 
     | 
| 
       590 
     | 
    
         
            -
             
     | 
| 
      
 589 
     | 
    
         
            +
               -98,   -98,   -98,  -151,  -154,  -155,  -217,  -178,  -217,  -217,
         
     | 
| 
      
 590 
     | 
    
         
            +
              -217,  -217,  -217,  -217,  -197,  -203,  -217,  -213,   -99,   393,
         
     | 
| 
      
 591 
     | 
    
         
            +
                -4,  -183,  -150,  -102,  -103,  -104,  -105,  -106,  -107,  -108,
         
     | 
| 
       591 
592 
     | 
    
         
             
              -109,  -110,  -111,  -112,  -113,  -114,  -115,  -116,  -117,  -118,
         
     | 
| 
       592 
593 
     | 
    
         
             
              -119,  -120,  -121,  -122,  -123,  -124,  -125,  -126,  -127,  -128,
         
     | 
| 
       593 
     | 
    
         
            -
              -129,  -130,  -131,  -132,  -133,  -134,  -135,  - 
     | 
| 
       594 
     | 
    
         
            -
             
     | 
| 
       595 
     | 
    
         
            -
               - 
     | 
| 
       596 
     | 
    
         
            -
              - 
     | 
| 
       597 
     | 
    
         
            -
              -217,  -217,  -217,  - 
     | 
| 
       598 
     | 
    
         
            -
              - 
     | 
| 
       599 
     | 
    
         
            -
             
     | 
| 
       600 
     | 
    
         
            -
             
     | 
| 
       601 
     | 
    
         
            -
               - 
     | 
| 
       602 
     | 
    
         
            -
              -217, 
     | 
| 
       603 
     | 
    
         
            -
              - 
     | 
| 
       604 
     | 
    
         
            -
              - 
     | 
| 
       605 
     | 
    
         
            -
             
     | 
| 
       606 
     | 
    
         
            -
              - 
     | 
| 
       607 
     | 
    
         
            -
              - 
     | 
| 
       608 
     | 
    
         
            -
              - 
     | 
| 
       609 
     | 
    
         
            -
              - 
     | 
| 
       610 
     | 
    
         
            -
              - 
     | 
| 
      
 594 
     | 
    
         
            +
              -129,  -130,  -131,  -132,  -133,  -134,  -135,  -186,  -217,   -98,
         
     | 
| 
      
 595 
     | 
    
         
            +
              -217,  -217,   -83,   -87,   -86,   -38,   -29,   -99,  -217,   -85,
         
     | 
| 
      
 596 
     | 
    
         
            +
               -98,   -59,   -98,  -217,   -65,  -217,  -217,   -99,  -217,  -158,
         
     | 
| 
      
 597 
     | 
    
         
            +
              -159,  -160,  -217,   -98,  -100,  -217,   -98,   -99,  -100,  -217,
         
     | 
| 
      
 598 
     | 
    
         
            +
              -217,  -217,  -217,  -141,  -142,  -143,  -144,  -172,  -171,  -174,
         
     | 
| 
      
 599 
     | 
    
         
            +
              -217,   -98,   -98,  -204,  -217,   -98,  -217,  -217,   -98,   -98,
         
     | 
| 
      
 600 
     | 
    
         
            +
              -194,  -217,  -217,  -202,  -217,  -217,  -217,   -98,  -217,  -217,
         
     | 
| 
      
 601 
     | 
    
         
            +
               -76,   -81,   -77,   -82,   -73,   -75,   -89,  -217,   -60,   -63,
         
     | 
| 
      
 602 
     | 
    
         
            +
               -66,   -69,   -70,  -217,  -161,  -217,  -217,   -90,  -101,  -217,
         
     | 
| 
      
 603 
     | 
    
         
            +
              -217,   -92,   -99,   -93,  -217,  -175,  -173,  -181,  -217,  -202,
         
     | 
| 
      
 604 
     | 
    
         
            +
              -184,  -217,  -188,  -191,  -217,  -217,  -195,  -217,  -217,  -198,
         
     | 
| 
      
 605 
     | 
    
         
            +
              -217,  -211,  -217,  -214,  -187,   -78,   -79,   -80,   -58,   -88,
         
     | 
| 
      
 606 
     | 
    
         
            +
              -162,  -163,   -96,  -217,  -217,  -217,  -217,  -176,  -182,  -205,
         
     | 
| 
      
 607 
     | 
    
         
            +
              -206,  -217,   -98,  -185,  -217,  -217,  -217,  -200,  -217,  -199,
         
     | 
| 
      
 608 
     | 
    
         
            +
              -217,   -95,  -164,  -174,  -217,  -174,  -207,   -98,   -98,  -217,
         
     | 
| 
      
 609 
     | 
    
         
            +
              -192,  -193,  -196,  -201,  -212,  -217,  -217,  -177,  -217,  -217,
         
     | 
| 
      
 610 
     | 
    
         
            +
              -208,   -98,  -217,  -174,  -217,   -98,  -209,  -165,  -217,  -166,
         
     | 
| 
      
 611 
     | 
    
         
            +
              -210,  -217,  -167 ]
         
     | 
| 
       611 
612 
     | 
    
         | 
| 
       612 
613 
     | 
    
         
             
            racc_goto_table = [
         
     | 
| 
       613 
     | 
    
         
            -
                90,     2,   144,    
     | 
| 
       614 
     | 
    
         
            -
                
     | 
| 
       615 
     | 
    
         
            -
                
     | 
| 
       616 
     | 
    
         
            -
               135,   nil,   150,   nil,   nil,   nil,    
     | 
| 
       617 
     | 
    
         
            -
               nil,    
     | 
| 
       618 
     | 
    
         
            -
               nil,   nil,   160,   nil,   nil,   nil,   142,   161,   156,    
     | 
| 
       619 
     | 
    
         
            -
               163,   nil,   nil,   nil,   164,   165,   166,   174,   175,     
     | 
| 
       620 
     | 
    
         
            -
                 
     | 
| 
       621 
     | 
    
         
            -
               nil,   179,   180,    
     | 
| 
       622 
     | 
    
         
            -
               nil,   nil,   nil,   nil,    20,    
     | 
| 
       623 
     | 
    
         
            -
               196,   197,   198,   199,   200,   201,   202,   203,   204, 
     | 
| 
       624 
     | 
    
         
            -
               206,   207,   208,   209,   210,   211,   212,   213,   214, 
     | 
| 
       625 
     | 
    
         
            -
               216,   217,   218,   219,   220,   221,   222,   223,   224, 
     | 
| 
       626 
     | 
    
         
            -
               226,   227,   228,    
     | 
| 
       627 
     | 
    
         
            -
                
     | 
| 
       628 
     | 
    
         
            -
               142,   134,    
     | 
| 
       629 
     | 
    
         
            -
               nil,    
     | 
| 
       630 
     | 
    
         
            -
                
     | 
| 
       631 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,    
     | 
| 
       632 
     | 
    
         
            -
             
     | 
| 
       633 
     | 
    
         
            -
                
     | 
| 
       634 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 614 
     | 
    
         
            +
                90,     2,   144,   141,    20,   143,    93,   145,    92,   148,
         
     | 
| 
      
 615 
     | 
    
         
            +
               295,   349,     1,   330,   168,   134,   270,   274,   138,   140,
         
     | 
| 
      
 616 
     | 
    
         
            +
               147,   302,   187,   158,   345,   132,   281,   190,   152,   350,
         
     | 
| 
      
 617 
     | 
    
         
            +
               135,   nil,   150,   nil,   nil,   nil,   183,   nil,   231,   nil,
         
     | 
| 
      
 618 
     | 
    
         
            +
               nil,   nil,   366,   nil,   184,   251,   160,   253,   nil,   nil,
         
     | 
| 
      
 619 
     | 
    
         
            +
               nil,   nil,   160,   nil,   nil,   nil,   142,   161,   156,   358,
         
     | 
| 
      
 620 
     | 
    
         
            +
               163,   nil,   nil,   nil,   164,   165,   166,   174,   175,    92,
         
     | 
| 
      
 621 
     | 
    
         
            +
                92,   176,   nil,   314,   nil,   160,   nil,   nil,   nil,   177,
         
     | 
| 
      
 622 
     | 
    
         
            +
               nil,   178,   179,   180,   295,   nil,   181,   nil,   nil,   nil,
         
     | 
| 
      
 623 
     | 
    
         
            +
               nil,   nil,   nil,   nil,    20,   191,   nil,   243,   193,   194,
         
     | 
| 
      
 624 
     | 
    
         
            +
               195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
         
     | 
| 
      
 625 
     | 
    
         
            +
               205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
         
     | 
| 
      
 626 
     | 
    
         
            +
               215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
         
     | 
| 
      
 627 
     | 
    
         
            +
               225,   226,   227,   228,   152,   230,   289,   nil,   260,   238,
         
     | 
| 
      
 628 
     | 
    
         
            +
               276,   277,   251,   nil,   134,   305,   284,   nil,   134,   268,
         
     | 
| 
      
 629 
     | 
    
         
            +
               142,   134,   252,   269,    92,   nil,   134,   255,   nil,   254,
         
     | 
| 
      
 630 
     | 
    
         
            +
               nil,   251,   nil,   258,   261,   nil,   254,   375,   nil,   378,
         
     | 
| 
      
 631 
     | 
    
         
            +
               nil,   262,   nil,   263,   264,   265,   266,   nil,   nil,   nil,
         
     | 
| 
      
 632 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   283,   388,   nil,    20,
         
     | 
| 
      
 633 
     | 
    
         
            +
               286,   nil,   nil,   144,   144,   nil,   143,   143,   145,   145,
         
     | 
| 
      
 634 
     | 
    
         
            +
               301,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       635 
635 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       636 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   289,   nil,   nil,   294,   nil,   nil,
         
     | 
| 
       637 
     | 
    
         
            -
               nil,   nil,   nil,   330,   nil,   298,   nil,   300,   nil,   nil,
         
     | 
| 
       638 
     | 
    
         
            -
               304,   nil,   307,   nil,    91,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       639 
     | 
    
         
            -
               310,   309,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       640 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   320,   345,   319,    20,   nil,   nil,
         
     | 
| 
       641 
     | 
    
         
            -
               322,   nil,    90,   325,   326,   355,   356,   nil,   357,   358,
         
     | 
| 
       642 
     | 
    
         
            -
               nil,   360,   335,   361,   nil,   nil,   338,   nil,   nil,   nil,
         
     | 
| 
       643 
636 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       644 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,    
     | 
| 
      
 637 
     | 
    
         
            +
               nil,   nil,   nil,   288,   nil,   nil,   293,   nil,   nil,   nil,
         
     | 
| 
      
 638 
     | 
    
         
            +
               nil,   nil,   329,   nil,   297,   nil,   299,   nil,   nil,   303,
         
     | 
| 
      
 639 
     | 
    
         
            +
               nil,   306,   nil,    92,   nil,   nil,   nil,   nil,   nil,   309,
         
     | 
| 
      
 640 
     | 
    
         
            +
               308,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 641 
     | 
    
         
            +
               nil,   nil,   nil,   319,   344,   318,    20,   nil,   nil,   321,
         
     | 
| 
      
 642 
     | 
    
         
            +
               nil,    90,   324,   325,   354,   355,   nil,   356,   357,   nil,
         
     | 
| 
      
 643 
     | 
    
         
            +
               359,   334,   360,   nil,   nil,   337,   nil,   nil,   nil,   nil,
         
     | 
| 
       645 
644 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       646 
     | 
    
         
            -
               nil,   nil,   nil,   nil,    
     | 
| 
       647 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   392,
         
     | 
| 
       648 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   370,   nil,   nil,
         
     | 
| 
      
 645 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   343,   nil,   nil,    90,   373,   nil,
         
     | 
| 
       649 
646 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       650 
     | 
    
         
            -
                
     | 
| 
       651 
     | 
    
         
            -
               nil,   nil,   nil,    
     | 
| 
       652 
     | 
    
         
            -
             
     | 
| 
      
 647 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   382,   nil,   nil,   384,   nil,
         
     | 
| 
      
 648 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   391,   nil,
         
     | 
| 
      
 649 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   369,   nil,   nil,   nil,
         
     | 
| 
      
 650 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   380,
         
     | 
| 
      
 651 
     | 
    
         
            +
               nil,   379,    20,   nil,   nil,   nil,   nil,   nil,    90,   nil,
         
     | 
| 
      
 652 
     | 
    
         
            +
               nil,   nil,   386,   nil,    90,    20,   390,   nil,    90,    20 ]
         
     | 
| 
       653 
653 
     | 
    
         | 
| 
       654 
654 
     | 
    
         
             
            racc_goto_check = [
         
     | 
| 
       655 
     | 
    
         
            -
                 4,     2,    23,     
     | 
| 
       656 
     | 
    
         
            -
                 
     | 
| 
       657 
     | 
    
         
            -
                35,    33,    29,    61,    24,    63,     3,     
     | 
| 
       658 
     | 
    
         
            -
                20,   nil,    51,   nil,   nil,   nil,    39,    49,   nil, 
     | 
| 
       659 
     | 
    
         
            -
               nil,    64,   nil,     
     | 
| 
      
 655 
     | 
    
         
            +
                 4,     2,    23,    43,    20,    32,    55,    39,    50,    46,
         
     | 
| 
      
 656 
     | 
    
         
            +
                48,    64,     1,    38,    53,    22,    62,    62,    47,    47,
         
     | 
| 
      
 657 
     | 
    
         
            +
                45,    35,    33,    29,    61,    24,    63,     3,    56,    65,
         
     | 
| 
      
 658 
     | 
    
         
            +
                20,   nil,    51,   nil,   nil,   nil,    39,   nil,    49,   nil,
         
     | 
| 
      
 659 
     | 
    
         
            +
               nil,   nil,    64,   nil,    60,    57,    22,    57,   nil,   nil,
         
     | 
| 
       660 
660 
     | 
    
         
             
               nil,   nil,    22,   nil,   nil,   nil,    20,    50,    52,    38,
         
     | 
| 
       661 
661 
     | 
    
         
             
                52,   nil,   nil,   nil,    20,    20,    20,    55,    55,    50,
         
     | 
| 
       662 
     | 
    
         
            -
                50,    50,   nil, 
     | 
| 
       663 
     | 
    
         
            -
               nil,    20,    20,    20, 
     | 
| 
       664 
     | 
    
         
            -
               nil,   nil,   nil,   nil,    20, 
     | 
| 
      
 662 
     | 
    
         
            +
                50,    50,   nil,    59,   nil,    22,   nil,   nil,   nil,    20,
         
     | 
| 
      
 663 
     | 
    
         
            +
               nil,    20,    20,    20,    48,   nil,    20,   nil,   nil,   nil,
         
     | 
| 
      
 664 
     | 
    
         
            +
               nil,   nil,   nil,   nil,    20,    20,   nil,    43,    20,    20,
         
     | 
| 
       665 
665 
     | 
    
         
             
                20,    20,    20,    20,    20,    20,    20,    20,    20,    20,
         
     | 
| 
       666 
666 
     | 
    
         
             
                20,    20,    20,    20,    20,    20,    20,    20,    20,    20,
         
     | 
| 
       667 
667 
     | 
    
         
             
                20,    20,    20,    20,    20,    20,    20,    20,    20,    20,
         
     | 
| 
       668 
     | 
    
         
            -
                20,    20,    20,    20,    56,    20,    49, 
     | 
| 
       669 
     | 
    
         
            -
             
     | 
| 
      
 668 
     | 
    
         
            +
                20,    20,    20,    20,    56,    20,    49,   nil,    51,    52,
         
     | 
| 
      
 669 
     | 
    
         
            +
                60,    60,    57,   nil,    22,    57,    60,   nil,    22,    56,
         
     | 
| 
       670 
670 
     | 
    
         
             
                20,    22,    55,    51,    50,   nil,    22,    52,   nil,    20,
         
     | 
| 
       671 
     | 
    
         
            -
               nil,   nil,     
     | 
| 
       672 
     | 
    
         
            -
             
     | 
| 
       673 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil, 
     | 
| 
       674 
     | 
    
         
            -
                 
     | 
| 
       675 
     | 
    
         
            -
                 
     | 
| 
       676 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 671 
     | 
    
         
            +
               nil,    57,   nil,    20,    52,   nil,    20,    59,   nil,    59,
         
     | 
| 
      
 672 
     | 
    
         
            +
               nil,    20,   nil,    20,    20,    20,    20,   nil,   nil,   nil,
         
     | 
| 
      
 673 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,     2,    59,   nil,    20,
         
     | 
| 
      
 674 
     | 
    
         
            +
                52,   nil,   nil,    23,    23,   nil,    32,    32,    39,    39,
         
     | 
| 
      
 675 
     | 
    
         
            +
                46,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       677 
676 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       678 
     | 
    
         
            -
               nil,   nil,   nil,   nil,    20,   nil,   nil,    20,   nil,   nil,
         
     | 
| 
       679 
     | 
    
         
            -
               nil,   nil,   nil,    60,   nil,    20,   nil,    20,   nil,   nil,
         
     | 
| 
       680 
     | 
    
         
            -
                52,   nil,    55,   nil,    50,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       681 
     | 
    
         
            -
                52,    20,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       682 
     | 
    
         
            -
               nil,   nil,   nil,   nil,     2,    60,    20,    20,   nil,   nil,
         
     | 
| 
       683 
     | 
    
         
            -
                20,   nil,     4,    20,    20,    60,    60,   nil,    60,    60,
         
     | 
| 
       684 
     | 
    
         
            -
               nil,    60,    20,    60,   nil,   nil,    20,   nil,   nil,   nil,
         
     | 
| 
       685 
677 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       686 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,     
     | 
| 
      
 678 
     | 
    
         
            +
               nil,   nil,   nil,    20,   nil,   nil,    20,   nil,   nil,   nil,
         
     | 
| 
      
 679 
     | 
    
         
            +
               nil,   nil,    60,   nil,    20,   nil,    20,   nil,   nil,    52,
         
     | 
| 
      
 680 
     | 
    
         
            +
               nil,    55,   nil,    50,   nil,   nil,   nil,   nil,   nil,    52,
         
     | 
| 
      
 681 
     | 
    
         
            +
                20,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
      
 682 
     | 
    
         
            +
               nil,   nil,   nil,     2,    60,    20,    20,   nil,   nil,    20,
         
     | 
| 
      
 683 
     | 
    
         
            +
               nil,     4,    20,    20,    60,    60,   nil,    60,    60,   nil,
         
     | 
| 
      
 684 
     | 
    
         
            +
                60,    20,    60,   nil,   nil,    20,   nil,   nil,   nil,   nil,
         
     | 
| 
       687 
685 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       688 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,    60,   nil, 
     | 
| 
       689 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    60,
         
     | 
| 
       690 
     | 
    
         
            -
               nil,   nil,   nil,   nil,   nil,   nil,   nil,    20,   nil,   nil,
         
     | 
| 
      
 686 
     | 
    
         
            +
               nil,   nil,   nil,   nil,    52,   nil,   nil,     4,    60,   nil,
         
     | 
| 
       691 
687 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       692 
     | 
    
         
            -
             
     | 
| 
       693 
     | 
    
         
            -
               nil,   nil,   nil, 
     | 
| 
       694 
     | 
    
         
            -
                20 
     | 
| 
      
 688 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,    60,   nil,   nil,    60,   nil,
         
     | 
| 
      
 689 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    60,   nil,
         
     | 
| 
      
 690 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,    20,   nil,   nil,   nil,
         
     | 
| 
      
 691 
     | 
    
         
            +
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     2,
         
     | 
| 
      
 692 
     | 
    
         
            +
               nil,    20,    20,   nil,   nil,   nil,   nil,   nil,     4,   nil,
         
     | 
| 
      
 693 
     | 
    
         
            +
               nil,   nil,     2,   nil,     4,    20,     2,   nil,     4,    20 ]
         
     | 
| 
       695 
694 
     | 
    
         | 
| 
       696 
695 
     | 
    
         
             
            racc_goto_pointer = [
         
     | 
| 
       697 
     | 
    
         
            -
               nil,     
     | 
| 
      
 696 
     | 
    
         
            +
               nil,    12,     1,   -63,    -2,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       698 
697 
     | 
    
         
             
               nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
         
     | 
| 
       699 
     | 
    
         
            -
                 4,   nil,   -11,   -52,      
     | 
| 
       700 
     | 
    
         
            -
               nil,   nil,   -49,   - 
     | 
| 
       701 
     | 
    
         
            -
               nil,   nil,   nil, 
     | 
| 
       702 
     | 
    
         
            -
                 0,   -23,     2,   - 
     | 
| 
       703 
     | 
    
         
            -
               -40,  - 
     | 
| 
      
 698 
     | 
    
         
            +
                 4,   nil,   -11,   -52,     2,   nil,   nil,   nil,   nil,   -34,
         
     | 
| 
      
 699 
     | 
    
         
            +
               nil,   nil,   -49,   -64,   nil,  -225,   nil,   nil,  -269,   -47,
         
     | 
| 
      
 700 
     | 
    
         
            +
               nil,   nil,   nil,   -49,   nil,   -34,   -45,   -12,  -226,   -93,
         
     | 
| 
      
 701 
     | 
    
         
            +
                 0,   -23,     2,   -49,   nil,    -2,   -27,  -107,   nil,  -196,
         
     | 
| 
      
 702 
     | 
    
         
            +
               -40,  -291,  -162,  -158,  -308,  -290 ]
         
     | 
| 
       704 
703 
     | 
    
         | 
| 
       705 
704 
     | 
    
         
             
            racc_goto_default = [
         
     | 
| 
       706 
705 
     | 
    
         
             
               nil,   nil,   nil,     3,     4,     5,     6,     7,     8,     9,
         
     | 
| 
       707 
706 
     | 
    
         
             
                10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
         
     | 
| 
       708 
707 
     | 
    
         
             
               157,    21,    22,    23,   nil,    24,    25,    27,    28,    29,
         
     | 
| 
       709 
708 
     | 
    
         
             
                30,    31,    32,    33,    34,   149,    38,    39,    40,    41,
         
     | 
| 
       710 
     | 
    
         
            -
                42,    51,    66,   nil,    53,   nil,   nil,    
     | 
| 
       711 
     | 
    
         
            -
                55,   nil,    
     | 
| 
       712 
     | 
    
         
            -
                
     | 
| 
      
 709 
     | 
    
         
            +
                42,    51,    66,   nil,    53,   nil,   nil,   294,   130,   nil,
         
     | 
| 
      
 710 
     | 
    
         
            +
                55,   nil,   259,    64,    65,    68,   249,   153,    71,   nil,
         
     | 
| 
      
 711 
     | 
    
         
            +
               273,   nil,   nil,   nil,   nil,   nil ]
         
     | 
| 
       713 
712 
     | 
    
         | 
| 
       714 
713 
     | 
    
         
             
            racc_reduce_table = [
         
     | 
| 
       715 
714 
     | 
    
         
             
              0, 0, :racc_error,
         
     | 
| 
         @@ -891,7 +890,7 @@ racc_reduce_table = [ 
     | 
|
| 
       891 
890 
     | 
    
         
             
              1, 159, :_reduce_176,
         
     | 
| 
       892 
891 
     | 
    
         
             
              3, 159, :_reduce_177,
         
     | 
| 
       893 
892 
     | 
    
         
             
              2, 105, :_reduce_178,
         
     | 
| 
       894 
     | 
    
         
            -
               
     | 
| 
      
 893 
     | 
    
         
            +
              1, 105, :_reduce_179,
         
     | 
| 
       895 
894 
     | 
    
         
             
              1, 117, :_reduce_180,
         
     | 
| 
       896 
895 
     | 
    
         
             
              4, 108, :_reduce_181,
         
     | 
| 
       897 
896 
     | 
    
         
             
              5, 108, :_reduce_182,
         
     | 
| 
         @@ -932,7 +931,7 @@ racc_reduce_table = [ 
     | 
|
| 
       932 
931 
     | 
    
         | 
| 
       933 
932 
     | 
    
         
             
            racc_reduce_n = 217
         
     | 
| 
       934 
933 
     | 
    
         | 
| 
       935 
     | 
    
         
            -
            racc_shift_n =  
     | 
| 
      
 934 
     | 
    
         
            +
            racc_shift_n = 393
         
     | 
| 
       936 
935 
     | 
    
         | 
| 
       937 
936 
     | 
    
         
             
            racc_token_table = {
         
     | 
| 
       938 
937 
     | 
    
         
             
              false => 0,
         
     |