#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.9
# from Racc grammer file "".
#

require 'racc/parser.rb'

require 'puppet'
require 'puppet/pops'

module Puppet
  class ParseError < Puppet::Error; end
  class ImportError < Racc::ParseError; end
  class AlreadyImportedError < ImportError; end
end

module Puppet
  module Pops
    module Parser
      class Parser < Racc::Parser

module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 858)

# Make emacs happy
# Local Variables:
# mode: ruby
# End:
...end egrammar.ra/module_eval...
##### State transition tables begin ###

clist = [
'75,77,281,-281,60,70,144,71,-267,114,-141,-279,292,167,448,438,447,144',
'463,336,437,-276,387,116,20,119,398,113,115,147,51,282,54,293,66,12',
'388,58,43,46,147,53,44,10,11,-281,168,61,19,118,-267,45,-141,-279,17',
'18,-142,98,99,101,100,337,82,-276,96,97,75,77,52,437,169,95,42,78,399',
'80,81,79,452,-143,59,48,67,68,62,63,64,65,55,-182,-182,57,75,77,69,144',
'60,70,-142,71,102,114,-140,313,402,448,314,447,-178,-178,317,316,134',
'135,396,116,20,119,147,113,115,-143,51,371,54,292,66,137,405,58,43,46',
'292,53,44,-183,-183,-179,-179,61,19,118,406,45,-140,295,17,18,292,98',
'99,101,100,293,82,384,96,97,-184,-184,52,295,408,95,42,78,383,80,81',
'293,273,-138,59,48,67,68,62,63,64,65,55,-181,-181,57,75,77,69,94,60',
'70,383,71,102,114,-184,-184,134,135,-183,-183,328,329,-182,-182,-181',
'-181,-221,116,20,119,126,113,115,-138,51,414,54,275,66,12,416,58,43',
'46,84,53,44,10,11,-180,-180,61,19,118,379,45,94,263,17,18,262,132,86',
'101,100,125,82,423,96,97,-178,-178,52,127,126,95,42,78,424,80,81,292',
'197,334,59,48,67,68,62,63,64,65,55,335,295,57,75,77,69,427,60,70,293',
'71,102,132,292,194,276,125,128,129,130,131,430,150,285,127,126,295,20',
'122,383,279,150,375,51,293,54,192,66,12,439,58,43,46,440,53,44,10,11',
'326,441,61,19,442,280,45,373,132,17,18,370,125,128,129,130,131,82,445',
'366,127,449,451,52,364,363,284,42,78,342,80,81,273,460,273,59,48,67',
'68,62,63,64,65,55,307,397,57,75,77,69,308,60,70,334,71,495,273,128,129',
'130,131,159,159,311,467,311,315,469,334,126,151,20,472,334,150,126,94',
'51,86,54,334,66,12,94,58,43,46,477,53,44,10,11,451,479,61,19,480,481',
'45,482,132,17,18,334,125,94,132,486,487,82,125,488,127,433,489,52,490',
'491,127,42,78,94,80,81,94,86,499,59,48,67,68,62,63,64,65,55,500,83,57',
'75,77,69,502,60,70,503,71,493,114,128,129,130,131,504,366,128,129,130',
'131,,,,116,20,119,126,113,115,,51,,54,,66,12,,58,43,46,,53,44,10,11',
',,61,19,118,,45,,,17,18,,132,,101,100,125,82,,96,97,,,52,127,,95,42',
'78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,102',
',335,,,,128,129,130,131,,,,126,,,20,,,-266,126,,51,,54,,66,137,,58,43',
'46,,53,44,,,,,61,19,,,45,132,,17,18,125,,,132,,,82,125,127,,,,52,-266',
',127,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70',
',71,,128,129,130,131,,,,128,129,130,131,,126,,,20,,126,,,,51,,54,,66',
'12,,58,43,46,,53,44,10,11,,,61,19,,,45,132,,17,18,125,132,,,,125,82',
',127,,,,52,127,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
'77,69,,60,70,,71,,128,129,130,131,,128,129,130,131,,,,126,,,20,,126',
',,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,132,,17,18,125',
'132,,,,125,82,,127,,,,52,127,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,485,128,129,130,131,,128,129,130,131',
',,,126,,,20,,126,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45',
'132,,17,18,125,132,,,,125,82,,127,,,,52,127,,,42,78,,80,81,,,,59,48',
'67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,128,129,130,131,,128',
'129,130,131,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,75,77,,,169,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,114,167,,,164,,,,75,77,,,169',
',116,20,119,,113,115,,51,,54,82,66,137,,58,43,46,,53,44,168,78,,,61',
'19,118,,45,,,17,18,167,,,164,,,82,75,77,,,169,52,,,95,42,78,,80,81,',
',82,59,48,67,68,62,63,64,65,55,168,78,57,75,77,69,,60,70,,71,,114,167',
',,164,,,,75,77,,,169,,116,20,119,,113,115,,51,,54,82,66,137,,58,43,46',
',53,44,168,78,,,61,19,118,,45,,,17,18,167,,,164,,,82,,96,97,,,52,,,95',
'42,78,,80,81,,,82,59,48,67,68,62,63,64,65,55,168,78,57,75,77,69,114',
'60,70,,71,,114,,,,,,,,116,,119,,113,115,116,20,119,,113,115,,51,,54',
',66,137,,58,43,46,,53,44,118,,,,61,19,118,,45,,,17,18,,,96,97,,,82,',
',95,,,52,,,95,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
'69,,60,70,,71,,114,,,,,,,,,,,,,,116,20,119,,113,115,,51,,54,,66,12,',
'58,43,46,,53,44,10,11,,,61,19,118,,45,,,17,18,87,88,89,,,,82,,96,97',
',,52,,,95,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,',
'60,70,,71,185,114,,,,90,92,91,93,,,,,,,116,20,119,,113,115,,51,,54,',
'66,12,,58,43,46,,53,44,10,11,,,61,19,118,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,143,,,,,51,,54,,66,12,,58,43,46,,53,44',
'10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
'67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,114,,,,,,,,,,,,,,116',
'20,119,,113,115,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,118,,45',
',,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65',
'55,,,57,75,77,69,114,60,70,,71,,114,,,,,,,,116,,119,,113,115,116,20',
'119,,113,115,,51,,54,,66,137,,58,43,46,,53,44,118,,,,61,19,118,,45,',
',17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55',
',,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43',
'46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81',
',,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,',
',,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,',
',,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
'77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53',
'44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
'67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,',
',,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,',
',,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
'70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61',
'19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63',
'64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66',
'137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78',
',80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,',
',,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45',
',,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65',
'55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,',
'58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,305,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43',
'46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81',
',,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,',
',,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46',
',53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,',
',,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,',
',,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,453,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43',
'46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,',
',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
',20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,',
',,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
'77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53',
'44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
'67,68,62,63,64,65,55,,,57,75,77,69,,60,70,176,71,,,,,,,,,,,,,,,,,20',
',,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,',
',82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180',
'173,75,77,69,,60,70,183,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58',
'43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69,,60,70,,71',
'185,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61',
'19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62',
'63,64,65,172,181,180,173,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,',
',51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
'54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'196,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17',
'18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,',
'57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43',
'46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,',
',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
',20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,',
',,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
'77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53',
'44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
'48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
',,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,',
',82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
'69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44',
'10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48',
'67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,',
',,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
'11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
'68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
',54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,',
',52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
'70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11',
',,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,214',
'232,224,233,66,226,235,227,43,212,,216,210,,,,,61,19,236,231,211,,,17',
'209,,,,,,,82,,,,,234,215,,,,42,78,,80,81,,,,228,213,229,230,219,220',
'221,222,225,237,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
'54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
'48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
',,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82',
',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
'54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59',
'48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20',
',,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82',
',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
'54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46',
',53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,259,42,78,,80,81,,',
',59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,',
',20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,',
',,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77',
'69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44',
',,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
'68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
',54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137',
',58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80',
'81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,',
',,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18',
',,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57',
'75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46',
',53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,',
',,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,',
',,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,',
',,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75',
'77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53',
'44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174',
'171,67,68,62,63,64,65,172,181,180,173,75,77,69,,60,70,,71,409,,,,,,',
',,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,',
',17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,174,171,67,68,62,63,64,65',
'172,181,180,173,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,',
'66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,',
',,42,78,,80,81,,,,174,171,67,68,62,63,64,65,172,181,180,173,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,',
',,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,392,,,,,,,,,,,,,,,,20,,,,,,51',
',54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,',
',52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60',
'70,,71,390,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
'11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
'68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,381,,,,,,,,,,,,,,,,20,,,',
',,51,,54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82',
',,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69',
',60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,12,,58,43,46,,53,44,10',
'11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67',
'68,62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51',
',54,,66,137,,58,43,46,,53,44,,,,,61,19,,,45,,,17,18,,,,,,,82,,,,,,52',
',,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70,',
'71,,,,,,,,,,,,,,,,,20,297,,,,,51,,54,,66,12,,58,43,46,,53,44,10,11,',
',61,19,,,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68',
'62,63,64,65,55,,,57,75,77,69,,60,70,,71,,,,,,,,,,,,,,,,,20,,,,,,51,',
'54,,66,12,,58,43,46,,53,44,10,11,,,61,19,,,45,,,17,18,,,,,,,82,,,,,',
'52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64,65,55,,,57,75,77,69,,60,70',
',71,,,,,,,,,,,,,,,,,20,,,,,,51,,54,,66,137,,58,43,46,,53,44,,,,,61,19',
',,45,,,17,18,,,,,,,82,,,,,,52,,,,42,78,,80,81,,,,59,48,67,68,62,63,64',
'65,55,114,,57,,,69,,,,,,,110,105,116,,119,,113,115,,106,108,107,109',
',,,,,,,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,',
',95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,',
'118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105',
'116,367,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111',
',,98,99,101,100,103,104,,96,97,114,,298,,,95,,,,,,,110,105,116,,119',
',113,115,,106,108,107,109,,,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101',
'100,103,104,,96,97,114,,299,,,95,,,,,,,110,105,116,,119,,113,115,,106',
'108,107,109,,,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101,100,103,104',
',96,97,114,,300,,,95,,,,,,,110,105,116,,119,,113,115,,106,108,107,109',
',,,,,,,,,102,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,',
',,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102',
',,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,338,,,95,,,,110',
'105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112',
'111,,114,98,99,101,100,103,104,,96,97,,,110,105,116,95,119,,113,115',
',106,108,107,109,,,,,,,,,,,,,,,,118,,,,102,111,,,98,99,101,100,103,104',
'114,96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,',
',,,,,,,,102,,,118,,,,112,111,,114,98,99,101,100,103,104,,96,97,,,110',
'105,116,95,119,114,113,115,,106,108,107,109,,,,,,105,116,,119,,113,115',
',106,,118,,,,102,,,,98,99,101,100,103,104,,96,97,118,,,,,95,,114,98',
'99,101,100,103,104,,96,97,,,,105,116,95,119,114,113,115,,106,,,,,,102',
',,105,116,,119,,113,115,,106,,118,,,,102,,,,98,99,101,100,103,104,,96',
'97,118,,,,,95,,114,98,99,101,100,103,104,,96,97,,,,105,116,95,119,114',
'113,115,,106,,,,,,102,,,,116,,119,,113,115,,,,118,,,,102,114,,,98,99',
'101,100,103,104,,96,97,118,,116,,119,95,113,115,98,99,101,100,103,104',
',96,97,,,,,,95,,,,,,118,,,,,,102,,98,99,101,100,103,104,114,96,97,,',
',,,95,102,,,110,105,116,332,119,,113,115,,106,108,107,109,,,,,,,,,,',
',,102,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,',
'110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,',
'112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119',
',113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98,99,101',
'100,103,104,114,96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108',
'107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98,99,101,100,103,104,114',
'96,97,,,,,,95,,,,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,',
',,,,102,,,118,,,,112,111,,,98,99,101,100,103,104,,96,97,,,,,,95,114',
',,,,,,,,,328,329,110,105,116,,119,,113,115,,106,108,107,109,,,,102,',
',,,,,,,,,,118,,,,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,',
',,110,105,116,,119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,',
',,112,111,,,98,99,101,100,103,104,114,96,97,,,,,,95,,,,110,105,116,',
'119,,113,115,,106,108,107,109,,,,,,,,,,,,,102,,,118,,,,112,111,,,98',
'99,101,100,103,104,,96,97,,354,232,353,233,95,351,235,355,,344,,350',
'352,,,,,,,236,231,356,,,,349,,,,,,,,102,,,,234,357,,,,,,,,,,,,360,358',
'361,359,345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350',
'352,,,,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361',
'359,345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352',
',,,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
'345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
'345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
'345,346,347,348,362,237,354,232,353,233,,351,235,355,,344,,350,352,',
',,,,,236,231,356,,,,349,,,,,,,,,,,,234,357,,,,,,,,,,,,360,358,361,359',
'345,346,347,348,362,237' ]
        racc_action_table = arr = ::Array.new(10120, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'0,0,147,229,0,0,213,0,210,247,220,230,294,308,390,376,390,48,413,223',
'376,211,296,247,0,247,303,247,247,213,0,147,0,294,0,0,296,0,0,0,48,0',
'0,0,0,229,308,0,0,247,210,0,220,230,0,0,221,247,247,247,247,223,0,211',
'247,247,192,192,0,393,192,247,0,0,304,0,0,0,393,222,0,0,0,0,0,0,0,0',
'0,220,220,0,488,488,0,171,488,488,221,488,247,246,219,184,306,445,184',
'445,46,46,189,189,16,16,301,246,488,246,171,246,246,222,488,273,488',
'293,488,488,309,488,488,488,273,488,488,221,221,60,60,488,488,246,310',
'488,219,273,488,488,383,246,246,246,246,273,488,292,246,246,222,222',
'488,383,312,246,488,488,286,488,488,383,123,212,488,488,488,488,488',
'488,488,488,488,219,219,488,4,4,488,121,4,4,325,4,246,242,65,65,56,56',
'64,64,414,414,63,63,62,62,330,242,4,242,174,242,242,212,4,331,4,140',
'4,4,333,4,4,4,4,4,4,4,4,61,61,4,4,242,282,4,120,117,4,4,116,174,85,242',
'242,174,4,339,242,242,212,212,4,174,137,242,4,4,341,4,4,150,83,343,4',
'4,4,4,4,4,4,4,4,349,150,4,480,480,4,365,480,480,150,480,242,137,194',
'79,142,137,174,174,174,174,368,143,150,137,12,194,480,12,372,145,375',
'277,480,194,480,78,480,480,378,480,480,480,379,480,480,480,480,194,380',
'480,480,382,146,480,274,12,480,480,271,12,137,137,137,137,480,389,268',
'12,391,392,480,267,265,149,480,480,261,480,480,156,400,157,480,480,480',
'480,480,480,480,480,480,160,302,480,479,479,480,162,479,479,415,479',
'479,170,12,12,12,12,173,57,175,422,182,187,426,429,133,50,479,434,435',
'49,370,204,479,198,479,208,479,479,203,479,479,479,448,479,479,479,479',
'449,451,479,479,452,455,479,458,133,479,479,459,133,206,370,462,465',
'479,370,466,133,370,471,479,473,474,370,479,479,8,479,479,205,5,483',
'479,479,479,479,479,479,479,479,479,484,1,479,477,477,479,492,477,477',
'494,477,477,241,133,133,133,133,496,501,370,370,370,370,,,,241,477,241',
'158,241,241,,477,,477,,477,477,,477,477,477,,477,477,477,477,,,477,477',
'241,,477,,,477,477,,158,,241,241,158,477,,241,241,,,477,158,,241,477',
'477,,477,477,,,,477,477,477,477,477,477,477,477,477,,,477,209,209,477',
',209,209,,209,241,,209,,,,158,158,158,158,,,,226,,,209,,,226,59,,209',
',209,,209,209,,209,209,209,,209,209,,,,,209,209,,,209,226,,209,209,226',
',,59,,,209,59,226,,,,209,226,,59,209,209,,209,209,,,,209,209,209,209',
'209,209,209,209,209,,,209,10,10,209,,10,10,,10,,226,226,226,226,,,,59',
'59,59,59,,224,,,10,,54,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10',
'10,,,10,224,,10,10,224,54,,,,54,10,,224,,,,10,54,,,10,10,,10,10,,,,10',
'10,10,10,10,10,10,10,10,,,10,11,11,10,,11,11,,11,,224,224,224,224,,54',
'54,54,54,,,,228,,,11,,225,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,',
'11,11,,,11,228,,11,11,228,225,,,,225,11,,228,,,,11,225,,,11,11,,11,11',
',,,11,11,11,11,11,11,11,11,11,,,11,460,460,11,,460,460,,460,460,228',
'228,228,228,,225,225,225,225,,,,55,,,460,,172,,,,460,,460,,460,460,',
'460,460,460,,460,460,460,460,,,460,460,,,460,55,,460,460,55,172,,,,172',
'460,,55,,,,460,172,,,460,460,,460,460,,,,460,460,460,460,460,460,460',
'460,460,,,460,447,447,460,,447,447,,447,,55,55,55,55,,172,172,172,172',
',,,,,,447,,,,,,447,,447,,447,447,,447,447,447,,447,447,,,,,447,447,',
',447,,,447,447,,,,,,,447,307,307,,,307,447,,,,447,447,,447,447,,,,447',
'447,447,447,447,447,447,447,447,,,447,17,17,447,,17,17,,17,,239,307',
',,307,,,,402,402,,,402,,239,17,239,,239,239,,17,,17,307,17,17,,17,17',
'17,,17,17,307,307,,,17,17,239,,17,,,17,17,402,,,402,,,17,227,227,,,227',
'17,,,239,17,17,,17,17,,,402,17,17,17,17,17,17,17,17,17,402,402,17,18',
'18,17,,18,18,,18,,245,227,,,227,,,,58,58,,,58,,245,18,245,,245,245,',
'18,,18,227,18,18,,18,18,18,,18,18,227,227,,,18,18,245,,18,,,18,18,58',
',,58,,,18,,245,245,,,18,,,245,18,18,,18,18,,,58,18,18,18,18,18,18,18',
'18,18,58,58,18,19,19,18,244,19,19,,19,,240,,,,,,,,244,,244,,244,244',
'240,19,240,,240,240,,19,,19,,19,19,,19,19,19,,19,19,244,,,,19,19,240',
',19,,,19,19,,,244,244,,,19,,,244,,,19,,,240,19,19,,19,19,,,,19,19,19',
'19,19,19,19,19,19,,,19,20,20,19,,20,20,,20,,243,,,,,,,,,,,,,,243,20',
'243,,243,243,,20,,20,,20,20,,20,20,20,,20,20,20,20,,,20,20,243,,20,',
',20,20,7,7,7,,,,20,,243,243,,,20,,,243,20,20,,20,20,,,,20,20,20,20,20',
'20,20,20,20,,,20,196,196,20,,196,196,,196,196,138,,,,7,7,7,7,,,,,,,138',
'196,138,,138,138,,196,,196,,196,196,,196,196,196,,196,196,196,196,,',
'196,196,138,,196,,,196,196,,,,,,,196,,,,,,196,,,,196,196,,196,196,,',
',196,196,196,196,196,196,196,196,196,196,196,196,47,47,196,,47,47,,47',
',,,,,,,,,,,,,,,,47,47,,,,,47,,47,,47,47,,47,47,47,,47,47,47,47,,,47',
'47,,,47,,,47,47,,,,,,,47,,,,,,47,,,,47,47,,47,47,,,,47,47,47,47,47,47',
'47,47,47,,,47,440,440,47,,440,440,,440,,136,,,,,,,,,,,,,,136,440,136',
',136,136,,440,,440,,440,440,,440,440,440,,440,440,440,440,,,440,440',
'136,,440,,,440,440,,,,,,,440,,,,,,440,,,,440,440,,440,440,,,,440,440',
'440,440,440,440,440,440,440,,,440,437,437,440,238,437,437,,437,,139',
',,,,,,,238,,238,,238,238,139,437,139,,139,139,,437,,437,,437,437,,437',
'437,437,,437,437,238,,,,437,437,139,,437,,,437,437,,,,,,,437,,,,,,437',
',,,437,437,,437,437,,,,437,437,437,437,437,437,437,437,437,,,437,430',
'430,437,,430,430,,430,,,,,,,,,,,,,,,,,430,,,,,,430,,430,,430,430,,430',
'430,430,,430,430,430,430,,,430,430,,,430,,,430,430,,,,,,,430,,,,,,430',
',,,430,430,,430,430,,,,430,430,430,430,430,430,430,430,430,,,430,51',
'51,430,,51,51,,51,,,,,,,,,,,,,,,,,51,,,,,,51,,51,,51,51,,51,51,51,,51',
'51,,,,,51,51,,,51,,,51,51,,,,,,,51,,,,,,51,,,,51,51,,51,51,,,,51,51',
'51,51,51,51,51,51,51,,,51,52,52,51,,52,52,,52,,,,,,,,,,,,,,,,,52,,,',
',,52,,52,,52,52,,52,52,52,,52,52,,,,,52,52,,,52,,,52,52,,,,,,,52,,,',
',,52,,,,52,52,,52,52,,,,52,52,52,52,52,52,52,52,52,,,52,53,53,52,,53',
'53,,53,,,,,,,,,,,,,,,,,53,,,,,,53,,53,,53,53,,53,53,53,,53,53,,,,,53',
'53,,,53,,,53,53,,,,,,,53,,,,,,53,,,,53,53,,53,53,,,,53,53,53,53,53,53',
'53,53,53,,,53,214,214,53,,214,214,,214,,,,,,,,,,,,,,,,,214,,,,,,214',
',214,,214,214,,214,214,214,,214,214,,,,,214,214,,,214,,,214,214,,,,',
',,214,,,,,,214,,,,214,214,,214,214,,,,214,214,214,214,214,214,214,214',
'214,,,214,423,423,214,,423,423,,423,,,,,,,,,,,,,,,,,423,,,,,,423,,423',
',423,423,,423,423,423,,423,423,,,,,423,423,,,423,,,423,423,,,,,,,423',
',,,,,423,,,,423,423,,423,423,,,,423,423,423,423,423,423,423,423,423',
',,423,193,193,423,,193,193,,193,,,,,,,,,,,,,,,,,193,,,,,,193,,193,,193',
'193,,193,193,193,,193,193,193,193,,,193,193,,,193,,,193,193,,,,,,,193',
',,,,,193,,,,193,193,,193,193,,,,193,193,193,193,193,193,193,193,193',
',,193,215,215,193,,215,215,,215,,,,,,,,,,,,,,,,,215,,,,,,215,,215,,215',
'215,,215,215,215,,215,215,,,,,215,215,,,215,,,215,215,,,,,,,215,,,,',
',215,,,,215,215,,215,215,,,,215,215,215,215,215,215,215,215,215,,,215',
'216,216,215,,216,216,,216,,,,,,,,,,,,,,,,,216,,,,,,216,,216,,216,216',
',216,216,216,,216,216,,,,,216,216,,,216,,,216,216,,,,,,,216,,,,,,216',
',,,216,216,,216,216,,,,216,216,216,216,216,216,216,216,216,,,216,159',
'159,216,,159,159,,159,159,,,,,,,,,,,,,,,,159,,,,,,159,,159,,159,159',
',159,159,159,,159,159,159,159,,,159,159,,,159,,,159,159,,,,,,,159,,',
',,,159,,,,159,159,,159,159,,,,159,159,159,159,159,159,159,159,159,,',
'159,405,405,159,,405,405,,405,,,,,,,,,,,,,,,,,405,,,,,,405,,405,,405',
'405,,405,405,405,,405,405,405,405,,,405,405,,,405,,,405,405,,,,,,,405',
',,,,,405,,,,405,405,,405,405,,,,405,405,405,405,405,405,405,405,405',
',,405,397,397,405,,397,397,,397,,,,,,,,,,,,,,,,,397,,,,,,397,,397,,397',
'397,,397,397,397,,397,397,397,397,,,397,397,,,397,,,397,397,,,,,,,397',
',,,,,397,,,,397,397,,397,397,,,,397,397,397,397,397,397,397,397,397',
',,397,396,396,397,,396,396,,396,,,,,,,,,,,,,,,,,396,,,,,,396,,396,,396',
'396,,396,396,396,,396,396,396,396,,,396,396,,,396,,,396,396,,,,,,,396',
',,,,,396,,,,396,396,,396,396,,,,396,396,396,396,396,396,396,396,396',
',,396,394,394,396,,394,394,,394,394,,,,,,,,,,,,,,,,394,,,,,,394,,394',
',394,394,,394,394,394,,394,394,,,,,394,394,,,394,,,394,394,,,,,,,394',
',,,,,394,,,,394,394,,394,394,,,,394,394,394,394,394,394,394,394,394',
',,394,387,387,394,,387,387,,387,,,,,,,,,,,,,,,,,387,,,,,,387,,387,,387',
'387,,387,387,387,,387,387,387,387,,,387,387,,,387,,,387,387,,,,,,,387',
',,,,,387,,,,387,387,,387,387,,,,387,387,387,387,387,387,387,387,387',
',,387,384,384,387,,384,384,,384,,,,,,,,,,,,,,,,,384,,,,,,384,,384,,384',
'384,,384,384,384,,384,384,,,,,384,384,,,384,,,384,384,,,,,,,384,,,,',
',384,,,,384,384,,384,384,,,,384,384,384,384,384,384,384,384,384,,,384',
'69,69,384,,69,69,69,69,,,,,,,,,,,,,,,,,69,,,,,,69,,69,,69,69,,69,69',
'69,,69,69,69,69,,,69,69,,,69,,,69,69,,,,,,,69,,,,,,69,,,,69,69,,69,69',
',,,69,69,69,69,69,69,69,69,69,69,69,69,70,70,69,,70,70,70,70,,,,,,,',
',,,,,,,,,70,,,,,,70,,70,,70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,',
',70,70,,,,,,,70,,,,,,70,,,,70,70,,70,70,,,,70,70,70,70,70,70,70,70,70',
'70,70,70,71,71,70,,71,71,,71,71,,,,,,,,,,,,,,,,71,,,,,,71,,71,,71,71',
',71,71,71,,71,71,71,71,,,71,71,,,71,,,71,71,,,,,,,71,,,,,,71,,,,71,71',
',71,71,,,,71,71,71,71,71,71,71,71,71,71,71,71,76,76,71,,76,76,,76,,',
',,,,,,,,,,,,,,76,,,,,,76,,76,,76,76,,76,76,76,,76,76,76,76,,,76,76,',
',76,,,76,76,,,,,,,76,,,,,,76,,,,76,76,,76,76,,,,76,76,76,76,76,76,76',
'76,76,,,76,259,259,76,,259,259,,259,,,,,,,,,,,,,,,,,259,,,,,,259,,259',
',259,259,,259,259,259,,259,259,,,,,259,259,,,259,,,259,259,,,,,,,259',
',,,,,259,,,,259,259,,259,259,,,,259,259,259,259,259,259,259,259,259',
',,259,366,366,259,,366,366,,366,,,,,,,,,,,,,,,,,366,,,,,,366,,366,,366',
'366,,366,366,366,,366,366,,,,,366,366,,,366,,,366,366,,,,,,,366,,,,',
',366,,,,366,366,,366,366,,,,366,366,366,366,366,366,366,366,366,,,366',
'81,81,366,,81,81,,81,,,,,,,,,,,,,,,,,81,,,,,,81,,81,,81,81,,81,81,81',
',81,81,,,,,81,81,,,81,,,81,81,,,,,,,81,,,,,,81,,,,81,81,,81,81,,,,81',
'81,81,81,81,81,81,81,81,,,81,342,342,81,,342,342,,342,,,,,,,,,,,,,,',
',,342,,,,,,342,,342,,342,342,,342,342,342,,342,342,,,,,342,342,,,342',
',,342,342,,,,,,,342,,,,,,342,,,,342,342,,342,342,,,,342,342,342,342',
'342,342,342,342,342,,,342,84,84,342,,84,84,,84,,,,,,,,,,,,,,,,,84,,',
',,,84,,84,,84,84,,84,84,84,,84,84,84,84,,,84,84,,,84,,,84,84,,,,,,,84',
',,,,,84,,,,84,84,,84,84,,,,84,84,84,84,84,84,84,84,84,,,84,338,338,84',
',338,338,,338,,,,,,,,,,,,,,,,,338,,,,,,338,,338,,338,338,,338,338,338',
',338,338,,,,,338,338,,,338,,,338,338,,,,,,,338,,,,,,338,,,,338,338,',
'338,338,,,,338,338,338,338,338,338,338,338,338,,,338,86,86,338,,86,86',
',86,,,,,,,,,,,,,,,,,86,,,,,,86,,86,,86,86,,86,86,86,,86,86,86,86,,,86',
'86,,,86,,,86,86,,,,,,,86,,,,,,86,,,,86,86,,86,86,,,,86,86,86,86,86,86',
'86,86,86,,,86,87,87,86,,87,87,,87,,,,,,,,,,,,,,,,,87,,,,,,87,,87,,87',
'87,,87,87,87,,87,87,87,87,,,87,87,,,87,,,87,87,,,,,,,87,,,,,,87,,,,87',
'87,,87,87,,,,87,87,87,87,87,87,87,87,87,,,87,88,88,87,,88,88,,88,,,',
',,,,,,,,,,,,,88,,,,,,88,,88,,88,88,,88,88,88,,88,88,88,88,,,88,88,,',
'88,,,88,88,,,,,,,88,,,,,,88,,,,88,88,,88,88,,,,88,88,88,88,88,88,88',
'88,88,,,88,89,89,88,,89,89,,89,,,,,,,,,,,,,,,,,89,,,,,,89,,89,,89,89',
',89,89,89,,89,89,89,89,,,89,89,,,89,,,89,89,,,,,,,89,,,,,,89,,,,89,89',
',89,89,,,,89,89,89,89,89,89,89,89,89,,,89,90,90,89,,90,90,,90,,,,,,',
',,,,,,,,,,90,,,,,,90,,90,,90,90,,90,90,90,,90,90,90,90,,,90,90,,,90',
',,90,90,,,,,,,90,,,,,,90,,,,90,90,,90,90,,,,90,90,90,90,90,90,90,90',
'90,,,90,91,91,90,,91,91,,91,,,,,,,,,,,,,,,,,91,,,,,,91,,91,,91,91,,91',
'91,91,,91,91,91,91,,,91,91,,,91,,,91,91,,,,,,,91,,,,,,91,,,,91,91,,91',
'91,,,,91,91,91,91,91,91,91,91,91,,,91,92,92,91,,92,92,,92,,,,,,,,,,',
',,,,,,92,,,,,,92,,92,,92,92,,92,92,92,,92,92,92,92,,,92,92,,,92,,,92',
'92,,,,,,,92,,,,,,92,,,,92,92,,92,92,,,,92,92,92,92,92,92,92,92,92,,',
'92,93,93,92,,93,93,,93,,,,,,,,,,,,,,,,,93,,,,,,93,,93,,93,93,,93,93',
'93,,93,93,93,93,,,93,93,,,93,,,93,93,,,,,,,93,,,,,,93,,,,93,93,,93,93',
',,,93,93,93,93,93,93,93,93,93,,,93,94,94,93,,94,94,,94,,,,,,,,,,,,,',
',,,94,,,,,,94,94,94,94,94,94,94,94,94,94,,94,94,,,,,94,94,94,94,94,',
',94,94,,,,,,,94,,,,,94,94,,,,94,94,,94,94,,,,94,94,94,94,94,94,94,94',
'94,94,,94,95,95,94,,95,95,,95,,,,,,,,,,,,,,,,,95,,,,,,95,,95,,95,95',
',95,95,95,,95,95,,,,,95,95,,,95,,,95,95,,,,,,,95,,,,,,95,,,,95,95,,95',
'95,,,,95,95,95,95,95,95,95,95,95,,,95,96,96,95,,96,96,,96,,,,,,,,,,',
',,,,,,96,,,,,,96,,96,,96,96,,96,96,96,,96,96,,,,,96,96,,,96,,,96,96',
',,,,,,96,,,,,,96,,,,96,96,,96,96,,,,96,96,96,96,96,96,96,96,96,,,96',
'97,97,96,,97,97,,97,,,,,,,,,,,,,,,,,97,,,,,,97,,97,,97,97,,97,97,97',
',97,97,,,,,97,97,,,97,,,97,97,,,,,,,97,,,,,,97,,,,97,97,,97,97,,,,97',
'97,97,97,97,97,97,97,97,,,97,98,98,97,,98,98,,98,,,,,,,,,,,,,,,,,98',
',,,,,98,,98,,98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,98,,,,,,,98',
',,,,,98,,,,98,98,,98,98,,,,98,98,98,98,98,98,98,98,98,,,98,99,99,98',
',99,99,,99,,,,,,,,,,,,,,,,,99,,,,,,99,,99,,99,99,,99,99,99,,99,99,,',
',,99,99,,,99,,,99,99,,,,,,,99,,,,,,99,,,,99,99,,99,99,,,,99,99,99,99',
'99,99,99,99,99,,,99,100,100,99,,100,100,,100,,,,,,,,,,,,,,,,,100,,,',
',,100,,100,,100,100,,100,100,100,,100,100,,,,,100,100,,,100,,,100,100',
',,,,,,100,,,,,,100,,,,100,100,,100,100,,,,100,100,100,100,100,100,100',
'100,100,,,100,101,101,100,,101,101,,101,,,,,,,,,,,,,,,,,101,,,,,,101',
',101,,101,101,,101,101,101,,101,101,,,,,101,101,,,101,,,101,101,,,,',
',,101,,,,,,101,,,,101,101,,101,101,,,,101,101,101,101,101,101,101,101',
'101,,,101,102,102,101,,102,102,,102,,,,,,,,,,,,,,,,,102,,,,,,102,,102',
',102,102,,102,102,102,,102,102,,,,,102,102,,,102,,,102,102,,,,,,,102',
',,,,,102,,,,102,102,,102,102,,,,102,102,102,102,102,102,102,102,102',
',,102,103,103,102,,103,103,,103,,,,,,,,,,,,,,,,,103,,,,,,103,,103,,103',
'103,,103,103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,,,,103,,,,',
',103,,,,103,103,,103,103,,,,103,103,103,103,103,103,103,103,103,,,103',
'104,104,103,,104,104,,104,,,,,,,,,,,,,,,,,104,,,,,,104,,104,,104,104',
',104,104,104,,104,104,,,,,104,104,,,104,,,104,104,,,,,,,104,,,,,,104',
',,,104,104,,104,104,,,,104,104,104,104,104,104,104,104,104,,,104,105',
'105,104,,105,105,,105,,,,,,,,,,,,,,,,,105,,,,,,105,,105,,105,105,,105',
'105,105,,105,105,,,,,105,105,,,105,,,105,105,,,,,,,105,,,,,,105,,,,105',
'105,,105,105,,,,105,105,105,105,105,105,105,105,105,,,105,106,106,105',
',106,106,,106,,,,,,,,,,,,,,,,,106,,,,,,106,,106,,106,106,,106,106,106',
',106,106,,,,,106,106,,,106,,,106,106,,,,,,,106,,,,,,106,,,,106,106,',
'106,106,,,,106,106,106,106,106,106,106,106,106,,,106,107,107,106,,107',
'107,,107,,,,,,,,,,,,,,,,,107,,,,,,107,,107,,107,107,,107,107,107,,107',
'107,,,,,107,107,,,107,,,107,107,,,,,,,107,,,,,,107,,,,107,107,,107,107',
',,,107,107,107,107,107,107,107,107,107,,,107,108,108,107,,108,108,,108',
',,,,,,,,,,,,,,,,108,,,,,,108,,108,,108,108,,108,108,108,,108,108,,,',
',108,108,,,108,,,108,108,,,,,,,108,,,,,,108,,,,108,108,,108,108,,,,108',
'108,108,108,108,108,108,108,108,,,108,109,109,108,,109,109,,109,,,,',
',,,,,,,,,,,,109,,,,,,109,,109,,109,109,,109,109,109,,109,109,,,,,109',
'109,,,109,,,109,109,,,,,,,109,,,,,,109,,,,109,109,,109,109,,,,109,109',
'109,109,109,109,109,109,109,,,109,110,110,109,,110,110,,110,,,,,,,,',
',,,,,,,,110,,,,,,110,,110,,110,110,,110,110,110,,110,110,,,,,110,110',
',,110,,,110,110,,,,,,,110,,,,,,110,,,,110,110,,110,110,,,,110,110,110',
'110,110,110,110,110,110,,,110,111,111,110,,111,111,,111,,,,,,,,,,,,',
',,,,111,,,,,,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111,,,111',
',,111,111,,,,,,,111,,,,,,111,,,,111,111,,111,111,,,,111,111,111,111',
'111,111,111,111,111,,,111,112,112,111,,112,112,,112,,,,,,,,,,,,,,,,',
'112,,,,,,112,,112,,112,112,,112,112,112,,112,112,,,,,112,112,,,112,',
',112,112,,,,,,,112,,,,,,112,,,,112,112,,112,112,,,,112,112,112,112,112',
'112,112,112,112,,,112,113,113,112,,113,113,,113,,,,,,,,,,,,,,,,,113',
',,,,,113,,113,,113,113,,113,113,113,,113,113,,,,,113,113,,,113,,,113',
'113,,,,,,,113,,,,,,113,,,113,113,113,,113,113,,,,113,113,113,113,113',
'113,113,113,113,,,113,114,114,113,,114,114,,114,,,,,,,,,,,,,,,,,114',
',,,,,114,,114,,114,114,,114,114,114,,114,114,,,,,114,114,,,114,,,114',
'114,,,,,,,114,,,,,,114,,,,114,114,,114,114,,,,114,114,114,114,114,114',
'114,114,114,,,114,337,337,114,,337,337,,337,,,,,,,,,,,,,,,,,337,,,,',
',337,,337,,337,337,,337,337,337,,337,337,,,,,337,337,,,337,,,337,337',
',,,,,,337,,,,,,337,,,,337,337,,337,337,,,,337,337,337,337,337,337,337',
'337,337,,,337,336,336,337,,336,336,,336,,,,,,,,,,,,,,,,,336,,,,,,336',
',336,,336,336,,336,336,336,,336,336,,,,,336,336,,,336,,,336,336,,,,',
',,336,,,,,,336,,,,336,336,,336,336,,,,336,336,336,336,336,336,336,336',
'336,,,336,118,118,336,,118,118,,118,,,,,,,,,,,,,,,,,118,,,,,,118,,118',
',118,118,,118,118,118,,118,118,,,,,118,118,,,118,,,118,118,,,,,,,118',
',,,,,118,,,,118,118,,118,118,,,,118,118,118,118,118,118,118,118,118',
',,118,119,119,118,,119,119,,119,,,,,,,,,,,,,,,,,119,,,,,,119,,119,,119',
'119,,119,119,119,,119,119,,,,,119,119,,,119,,,119,119,,,,,,,119,,,,',
',119,,,,119,119,,119,119,,,,119,119,119,119,119,119,119,119,119,,,119',
'335,335,119,,335,335,,335,,,,,,,,,,,,,,,,,335,,,,,,335,,335,,335,335',
',335,335,335,,335,335,,,,,335,335,,,335,,,335,335,,,,,,,335,,,,,,335',
',,,335,335,,335,335,,,,335,335,335,335,335,335,335,335,335,,,335,320',
'320,335,,320,320,,320,,,,,,,,,,,,,,,,,320,,,,,,320,,320,,320,320,,320',
'320,320,,320,320,320,320,,,320,320,,,320,,,320,320,,,,,,,320,,,,,,320',
',,,320,320,,320,320,,,,320,320,320,320,320,320,320,320,320,,,320,122',
'122,320,,122,122,,122,,,,,,,,,,,,,,,,,122,,,,,,122,,122,,122,122,,122',
'122,122,,122,122,,,,,122,122,,,122,,,122,122,,,,,,,122,,,,,,122,,,,122',
'122,,122,122,,,,122,122,122,122,122,122,122,122,122,,,122,315,315,122',
',315,315,,315,,,,,,,,,,,,,,,,,315,,,,,,315,,315,,315,315,,315,315,315',
',315,315,315,315,,,315,315,,,315,,,315,315,,,,,,,315,,,,,,315,,,,315',
'315,,315,315,,,,315,315,315,315,315,315,315,315,315,315,315,315,314',
'314,315,,314,314,,314,314,,,,,,,,,,,,,,,,314,,,,,,314,,314,,314,314',
',314,314,314,,314,314,314,314,,,314,314,,,314,,,314,314,,,,,,,314,,',
',,,314,,,,314,314,,314,314,,,,314,314,314,314,314,314,314,314,314,314',
'314,314,311,311,314,,311,311,,311,,,,,,,,,,,,,,,,,311,,,,,,311,,311',
',311,311,,311,311,311,,311,311,311,311,,,311,311,,,311,,,311,311,,,',
',,,311,,,,,,311,,,,311,311,,311,311,,,,311,311,311,311,311,311,311,311',
'311,311,311,311,300,300,311,,300,300,,300,,,,,,,,,,,,,,,,,300,,,,,,300',
',300,,300,300,,300,300,300,,300,300,,,,,300,300,,,300,,,300,300,,,,',
',,300,,,,,,300,,,,300,300,,300,300,,,,300,300,300,300,300,300,300,300',
'300,,,300,299,299,300,,299,299,,299,299,,,,,,,,,,,,,,,,299,,,,,,299',
',299,,299,299,,299,299,299,,299,299,299,299,,,299,299,,,299,,,299,299',
',,,,,,299,,,,,,299,,,,299,299,,299,299,,,,299,299,299,299,299,299,299',
'299,299,,,299,298,298,299,,298,298,,298,298,,,,,,,,,,,,,,,,298,,,,,',
'298,,298,,298,298,,298,298,298,,298,298,298,298,,,298,298,,,298,,,298',
'298,,,,,,,298,,,,,,298,,,,298,298,,298,298,,,,298,298,298,298,298,298',
'298,298,298,,,298,284,284,298,,284,284,,284,284,,,,,,,,,,,,,,,,284,',
',,,,284,,284,,284,284,,284,284,284,,284,284,284,284,,,284,284,,,284',
',,284,284,,,,,,,284,,,,,,284,,,,284,284,,284,284,,,,284,284,284,284',
'284,284,284,284,284,,,284,281,281,284,,281,281,,281,,,,,,,,,,,,,,,,',
'281,,,,,,281,,281,,281,281,,281,281,281,,281,281,281,281,,,281,281,',
',281,,,281,281,,,,,,,281,,,,,,281,,,,281,281,,281,281,,,,281,281,281',
'281,281,281,281,281,281,,,281,280,280,281,,280,280,,280,,,,,,,,,,,,',
',,,,280,,,,,,280,,280,,280,280,,280,280,280,,280,280,,,,,280,280,,,280',
',,280,280,,,,,,,280,,,,,,280,,,,280,280,,280,280,,,,280,280,280,280',
'280,280,280,280,280,,,280,151,151,280,,151,151,,151,,,,,,,,,,,,,,,,',
'151,151,,,,,151,,151,,151,151,,151,151,151,,151,151,151,151,,,151,151',
',,151,,,151,151,,,,,,,151,,,,,,151,,,,151,151,,151,151,,,,151,151,151',
'151,151,151,151,151,151,,,151,276,276,151,,276,276,,276,,,,,,,,,,,,',
',,,,276,,,,,,276,,276,,276,276,,276,276,276,,276,276,276,276,,,276,276',
',,276,,,276,276,,,,,,,276,,,,,,276,,,,276,276,,276,276,,,,276,276,276',
'276,276,276,276,276,276,,,276,279,279,276,,279,279,,279,,,,,,,,,,,,',
',,,,279,,,,,,279,,279,,279,279,,279,279,279,,279,279,,,,,279,279,,,279',
',,279,279,,,,,,,279,,,,,,279,,,,279,279,,279,279,,,,279,279,279,279',
'279,279,279,279,279,264,,279,,,279,,,,,,,264,264,264,,264,,264,264,',
'264,264,264,264,,,,,,,,,,,,,,,,264,,,,264,264,,,264,264,264,264,264',
'264,260,264,264,,,,,,264,,,,260,260,260,,260,,260,260,,260,260,260,260',
',,,,,,,,,,,,264,,,260,,,,260,260,,,260,260,260,260,260,260,269,260,260',
',,,,,260,,,,269,269,269,269,269,,269,269,,269,269,269,269,,,,,,,,,,',
',,260,,,269,,,,269,269,,,269,269,269,269,269,269,,269,269,152,,152,',
',269,,,,,,,152,152,152,,152,,152,152,,152,152,152,152,,,,,,,,,,269,',
',,,,152,,,,152,152,,,152,152,152,152,152,152,,152,152,154,,154,,,152',
',,,,,,154,154,154,,154,,154,154,,154,154,154,154,,,,,,,,,,152,,,,,,154',
',,,154,154,,,154,154,154,154,154,154,,154,154,155,,155,,,154,,,,,,,155',
'155,155,,155,,155,155,,155,155,155,155,,,,,,,,,,154,,,,,,155,,,,155',
'155,,,155,155,155,155,155,155,377,155,155,,,,,,155,,,,377,377,377,,377',
',377,377,,377,377,377,377,,,,,,,,,,,,,155,,,377,,,,377,377,,,377,377',
'377,377,377,377,256,377,377,,,256,,,377,,,,256,256,256,,256,,256,256',
',256,256,256,256,,,,,,,,,,,,,377,,,256,,,,256,256,,255,256,256,256,256',
'256,256,,256,256,,,255,255,255,256,255,,255,255,,255,255,255,255,,,',
',,,,,,,,,,,,255,,,,256,255,,,255,255,255,255,255,255,418,255,255,,,',
',,255,,,,418,418,418,,418,,418,418,,418,418,418,418,,,,,,,,,,,,,255',
',,418,,,,418,418,,254,418,418,418,418,418,418,,418,418,,,254,254,254',
'418,254,253,254,254,,254,254,254,254,,,,,,253,253,,253,,253,253,,253',
',254,,,,418,,,,254,254,254,254,254,254,,254,254,253,,,,,254,,252,253',
'253,253,253,253,253,,253,253,,,,252,252,253,252,251,252,252,,252,,,',
',,254,,,251,251,,251,,251,251,,251,,252,,,,253,,,,252,252,252,252,252',
'252,,252,252,251,,,,,252,,250,251,251,251,251,251,251,,251,251,,,,250',
'250,251,250,249,250,250,,250,,,,,,252,,,,249,,249,,249,249,,,,250,,',
',251,248,,,250,250,250,250,250,250,,250,250,249,,248,,248,250,248,248',
'249,249,249,249,249,249,,249,249,,,,,,249,,,,,,248,,,,,,250,,248,248',
'248,248,248,248,207,248,248,,,,,,248,249,,,207,207,207,207,207,,207',
'207,,207,207,207,207,,,,,,,,,,,,,248,,,207,,,,207,207,,,207,207,207',
'207,207,207,420,207,207,,,,,,207,,,,420,420,420,,420,,420,420,,420,420',
'420,420,,,,,,,,,,,,,207,,,420,,,,420,420,,,420,420,420,420,420,420,421',
'420,420,,,,,,420,,,,421,421,421,,421,,421,421,,421,421,421,421,,,,,',
',,,,,,,420,,,421,,,,421,421,,,421,421,421,421,421,421,425,421,421,,',
',,,421,,,,425,425,425,,425,,425,425,,425,425,425,425,,,,,,,,,,,,,421',
',,425,,,,425,425,,,425,425,425,425,425,425,195,425,425,,,,,,425,,,,195',
'195,195,,195,,195,195,,195,195,195,195,,,,,,,,,,,,,425,,,195,,,,195',
'195,,,195,195,195,195,195,195,,195,195,,,,,,195,444,,,,,,,,,,195,195',
'444,444,444,,444,,444,444,,444,444,444,444,,,,195,,,,,,,,,,,,444,,,',
'444,444,,,444,444,444,444,444,444,9,444,444,,,,,,444,,,,9,9,9,,9,,9',
'9,,9,9,9,9,,,,,,,,,,,,,444,,,9,,,,9,9,,,9,9,9,9,9,9,419,9,9,,,,,,9,',
',,419,419,419,,419,,419,419,,419,419,419,419,,,,,,,,,,,,,9,,,419,,,',
'419,419,,,419,419,419,419,419,419,,419,419,,334,334,334,334,419,334',
'334,334,,334,,334,334,,,,,,,334,334,334,,,,334,,,,,,,,419,,,,334,334',
',,,,,,,,,,,334,334,334,334,334,334,334,334,334,334,373,373,373,373,',
'373,373,373,,373,,373,373,,,,,,,373,373,373,,,,373,,,,,,,,,,,,373,373',
',,,,,,,,,,,373,373,373,373,373,373,373,373,373,373,332,332,332,332,',
'332,332,332,,332,,332,332,,,,,,,332,332,332,,,,332,,,,,,,,,,,,332,332',
',,,,,,,,,,,332,332,332,332,332,332,332,332,332,332,398,398,398,398,',
'398,398,398,,398,,398,398,,,,,,,398,398,398,,,,398,,,,,,,,,,,,398,398',
',,,,,,,,,,,398,398,398,398,398,398,398,398,398,398,263,263,263,263,',
'263,263,263,,263,,263,263,,,,,,,263,263,263,,,,263,,,,,,,,,,,,263,263',
',,,,,,,,,,,263,263,263,263,263,263,263,263,263,263,367,367,367,367,',
'367,367,367,,367,,367,367,,,,,,,367,367,367,,,,367,,,,,,,,,,,,367,367',
',,,,,,,,,,,367,367,367,367,367,367,367,367,367,367' ]
        racc_action_check = arr = ::Array.new(10120, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
    -2,   458,   nil,   nil,   182,   433,   nil,  1328,   433,  9641,
   642,   734,   292,   nil,   nil,   nil,    21,  1010,  1102,  1194,
  1286,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    17,  1470,    -9,   324,
   365,  1838,  1930,  2022,   664,   843,   105,   374,  1119,   574,
    46,   138,   113,   111,   107,   103,   nil,   nil,   nil,  3218,
  3310,  3402,   nil,   nil,   nil,   nil,  3494,   nil,   233,   216,
   nil,  3770,   nil,   262,  3954,   229,  4138,  4230,  4322,  4414,
  4506,  4598,  4690,  4782,  4874,  4966,  5058,  5150,  5242,  5334,
  5426,  5518,  5610,  5702,  5794,  5886,  5978,  6070,  6162,  6254,
  6346,  6438,  6530,  6622,  6714,   nil,   199,   228,  6990,  7082,
   227,   178,  7358,   144,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   384,   nil,   nil,  1566,   248,  1382,  1658,
   190,   nil,   275,   224,   nil,   296,   310,    -7,   nil,   338,
   225,  8278,  8711,   nil,  8768,  8825,   327,   329,   480,  2574,
   352,   nil,   350,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   351,    69,   848,   373,   204,   371,   nil,   nil,   nil,   nil,
   nil,   nil,   373,   nil,    93,   nil,   nil,   375,   nil,   106,
   nil,   nil,    64,  2298,   250,  9524,  1378,   nil,   386,   nil,
   nil,   nil,   nil,   395,   388,   436,   417,  9308,   388,   550,
    -4,     9,   159,   -20,  2114,  2390,  2482,   nil,   nil,    90,
    -2,    44,    67,     7,   659,   756,   567,  1073,   751,    -9,
    -1,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1652,  1014,
  1198,   462,   186,  1290,  1192,  1106,    94,     2,  9254,  9226,
  9209,  9162,  9145,  9098,  9081,  8980,  8933,   nil,   nil,  3586,
  8600,   337,   nil,  9968,  8546,   298,   nil,   321,   298,  8654,
   nil,   294,   nil,    96,   319,   nil,  8370,   278,   nil,  8462,
  8186,  8094,   185,   nil,  8002,   nil,   153,   nil,   nil,   nil,
   nil,   nil,   139,    89,   -24,   nil,     9,   nil,  7910,  7818,
  7726,   105,   357,    17,    64,   nil,    66,   981,   -28,   119,
   134,  7634,   154,   nil,  7542,  7450,   nil,   nil,   nil,   nil,
  7266,   nil,   nil,   nil,   nil,   177,   nil,   nil,   nil,   nil,
   194,   205,  9848,   210,  9728,  7174,  6898,  6806,  4046,   234,
   nil,   250,  3862,   250,   nil,   nil,   nil,   nil,   nil,   261,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   269,  3678, 10028,   285,   nil,
   390,   nil,   289,  9788,   nil,   233,     7,  8879,   302,   307,
   312,   nil,   254,   112,  3126,   nil,   nil,  3034,   nil,   329,
   -19,   332,   310,    56,  2942,   nil,  2850,  2758,  9908,   nil,
   345,   nil,  1027,   nil,   nil,  2666,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   -53,   120,   361,   nil,   nil,  9034,  9695,
  9362,  9416,   375,  2206,   nil,  9470,   378,   nil,   nil,   376,
  1746,   nil,   nil,   nil,   366,   381,   nil,  1654,   nil,   nil,
  1562,   nil,   nil,   nil,  9587,    72,   nil,   918,   399,   380,
   nil,   405,   408,   nil,   nil,   408,   nil,   nil,   410,   411,
   826,   nil,   418,   nil,   nil,   419,   390,   nil,   nil,   nil,
   nil,   425,   nil,   427,   428,   nil,   nil,   458,   nil,   366,
   274,   nil,   nil,   437,   447,   nil,   nil,   nil,    90,   nil,
   nil,   nil,   453,   nil,   456,   nil,   464,   nil,   nil,   nil,
   nil,   433,   nil,   nil,   nil,   nil ]

racc_action_default = [
    -3,  -285,    -1,    -2,    -4,    -5,    -8,   -10,   -16,   -21,
  -285,  -285,  -185,   -33,   -34,   -35,   -36,  -285,  -285,  -285,
  -285,   -63,   -64,   -65,   -66,   -67,   -68,   -69,   -70,   -71,
   -72,   -73,   -74,   -75,   -76,   -77,   -78,   -79,   -80,   -81,
   -82,   -83,   -84,   -85,   -86,   -87,   -88,  -285,  -285,   -95,
   -99,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,
  -235,  -258,  -207,  -208,  -209,  -210,  -204,  -205,  -206,  -285,
  -285,  -285,  -231,  -232,  -233,  -234,  -285,  -237,  -285,  -250,
  -253,  -285,  -259,  -285,  -285,    -7,  -285,  -285,  -285,  -285,
  -285,  -285,  -285,  -285,  -135,  -285,  -285,  -285,  -285,  -285,
  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,  -285,
  -285,  -285,  -285,  -285,  -285,   -93,  -285,  -130,  -284,  -284,
   -22,   -23,  -285,  -284,  -154,  -178,  -179,  -180,  -181,  -182,
  -183,  -184,  -185,  -285,  -151,  -152,   -47,  -185,   -48,   -55,
  -285,   -14,  -260,   -90,   -94,  -199,  -285,  -258,   -96,  -285,
  -285,  -285,  -285,  -106,  -285,  -285,  -284,  -284,  -285,  -285,
  -260,  -165,  -167,  -168,  -169,  -170,  -171,  -173,  -174,  -235,
  -284,  -225,  -227,  -230,  -226,  -260,  -212,  -221,  -222,  -223,
  -228,  -229,  -260,  -214,  -285,  -217,  -218,  -285,  -236,  -285,
  -241,  -244,  -285,  -248,  -285,  -285,  -285,   506,    -6,    -9,
   -11,   -12,   -13,   -17,   -18,   -19,   -20,  -285,  -260,  -285,
   -86,   -87,   -88,  -278,  -271,  -277,  -265,  -136,  -139,  -207,
  -208,  -209,  -210,  -285,  -268,  -282,  -185,  -274,  -280,  -205,
  -206,  -264,  -269,  -270,  -272,  -273,  -275,  -283,   -37,   -38,
   -39,   -40,   -41,   -42,   -43,   -44,   -45,   -46,   -49,   -50,
   -51,   -52,   -53,   -54,   -56,   -57,  -285,   -58,  -124,  -285,
   -61,  -260,  -100,  -135,  -134,  -285,  -133,  -285,  -262,  -285,
   -28,  -284,  -186,  -285,  -285,   -59,  -261,  -285,   -92,  -285,
  -285,  -248,  -285,  -101,  -285,  -104,  -260,  -189,  -191,  -192,
  -193,  -194,  -196,  -285,  -285,  -258,  -285,   -98,  -285,  -285,
  -285,  -285,  -285,  -285,  -285,  -162,  -284,  -261,  -285,  -285,
  -285,  -261,  -285,  -215,  -285,  -285,  -238,  -239,  -240,  -242,
  -285,  -245,  -246,  -247,  -249,  -260,  -251,  -254,  -256,  -257,
    -8,  -285,  -135,  -285,  -261,  -285,  -285,  -285,  -285,  -260,
  -126,  -285,  -261,  -260,  -138,  -140,  -141,  -142,  -143,  -285,
  -265,  -266,  -267,  -268,  -271,  -274,  -276,  -277,  -278,  -279,
  -280,  -281,  -282,  -131,  -132,  -285,  -263,  -135,  -285,  -157,
  -285,  -187,  -260,  -135,   -15,   -89,  -285,  -201,  -285,  -285,
  -285,  -103,  -285,  -261,  -285,  -197,  -198,  -285,   -97,  -285,
  -109,  -285,  -115,  -285,  -285,  -119,  -284,  -284,  -135,  -161,
  -285,  -175,  -285,  -166,  -172,  -284,  -211,  -224,  -213,  -216,
  -219,  -220,  -243,  -285,  -285,  -260,   -26,  -137,  -146,  -144,
  -145,  -128,  -285,  -261,   -60,   -62,  -285,   -25,   -29,  -260,
  -284,  -158,  -159,  -160,  -285,  -260,   -91,  -285,  -200,  -202,
  -248,  -102,  -105,  -190,  -195,  -109,  -108,  -285,  -285,  -115,
  -114,  -285,  -285,  -118,  -120,  -285,  -155,  -156,  -285,  -260,
  -285,  -176,  -285,  -252,  -255,  -285,   -30,  -125,  -127,  -129,
   -27,  -285,  -188,  -285,  -285,  -107,  -110,  -285,  -113,  -285,
  -284,  -147,  -148,  -285,  -285,  -164,  -177,   -24,   -31,  -153,
  -150,  -203,  -285,  -112,  -285,  -117,  -285,  -122,  -123,  -149,
  -163,  -262,  -111,  -116,  -121,   -32 ]

racc_goto_table = [
     2,   140,   136,   138,   139,   268,   124,   145,   148,   258,
   165,   163,   179,   179,   365,   327,   261,   188,   142,   146,
   286,   403,   323,   395,   431,   266,   266,   271,   141,   208,
   339,   120,   121,   133,   465,    85,   152,   154,   155,   265,
   267,   175,   182,   450,   428,   368,   446,   417,   156,   157,
   177,   177,   177,   170,   400,   496,   404,   190,   443,   386,
   301,   302,   385,   394,   325,   476,   195,   199,   200,   201,
   202,   283,   410,   158,   309,   257,   321,   322,     3,   207,
   238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
   248,   249,   250,   251,   252,   253,   254,   255,   256,   260,
   478,   475,   278,   264,   264,   319,   320,   269,   277,   145,
   378,   203,   204,   205,   206,   198,   461,   454,   318,   191,
   455,   458,   296,   193,     1,   nil,   306,   274,   nil,   462,
   145,   124,   141,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   310,   146,   372,   nil,   nil,   nil,   nil,   312,   nil,
   nil,   nil,   303,   145,   471,   340,   nil,   nil,   nil,   304,
   nil,   nil,   nil,   nil,   nil,   nil,   157,   nil,   170,   nil,
   nil,   nil,   145,   nil,   333,   nil,   nil,   330,   369,   165,
   163,   376,   nil,   nil,   146,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   324,   138,   nil,   331,   nil,   343,   152,
   154,   155,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   401,   nil,   nil,   nil,   nil,   156,   157,
   124,   nil,   170,   nil,   nil,   nil,   nil,   341,   nil,   nil,
   nil,   nil,   145,   nil,   464,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   256,   nil,   nil,   505,   nil,   nil,
   nil,   nil,   382,   nil,   407,   nil,   nil,   374,   411,   165,
   163,   412,   nil,   nil,   260,   377,   nil,   415,   nil,   474,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   324,   nil,   nil,   380,   260,   nil,   nil,   nil,   nil,
   nil,   413,   177,   nil,   nil,   177,   177,   nil,   389,   391,
   nil,   190,   429,   457,   457,   422,   nil,   nil,   435,   426,
   nil,   nil,   457,   nil,   nil,   nil,   nil,   nil,   nil,   468,
   418,   419,   420,   421,   nil,   nil,   nil,   425,   nil,   nil,
   nil,   nil,   nil,   459,   436,   nil,   nil,   457,   434,   nil,
   nil,   nil,   145,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   269,   nil,   nil,   165,   163,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   432,   nil,   nil,   nil,   374,   444,
   nil,   501,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   260,
   nil,   466,   nil,   nil,   nil,   nil,   nil,   497,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   470,   nil,   nil,   nil,   nil,
   nil,   473,   nil,   nil,   nil,   nil,   nil,   nil,   256,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   425,   nil,   nil,   483,   nil,   nil,   nil,   nil,
   nil,   nil,   152,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   324,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   484,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   269,   nil,   nil,   nil,   492,   nil,   494,
   498 ]

racc_goto_check = [
     2,     6,    10,    10,    10,    13,    65,    43,    45,    58,
    41,    42,    87,    87,    14,   100,    22,    93,     8,    82,
    50,    74,    83,    55,    71,    57,    57,    66,     6,    11,
    59,     9,     9,    68,    12,     5,    10,    10,    10,    61,
    61,    84,    84,    53,    16,    70,    52,    62,    65,    65,
     6,     6,     6,    65,    73,    56,    76,     6,    77,    78,
    66,    66,    80,    54,    50,    51,    10,     6,     6,     6,
     6,    49,    86,    68,    66,    21,    89,    90,     3,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
    53,    52,    45,    10,    10,    94,    95,    10,    15,    43,
    83,     9,     9,     9,     9,     5,    74,    55,    97,    98,
    67,    67,     8,    99,     1,   nil,    15,    65,   nil,    67,
    43,    65,     6,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    15,    82,    50,   nil,   nil,   nil,   nil,    15,   nil,
   nil,   nil,    65,    43,    67,    58,   nil,   nil,   nil,     2,
   nil,   nil,   nil,   nil,   nil,   nil,    65,   nil,    65,   nil,
   nil,   nil,    43,   nil,    15,   nil,   nil,     6,    57,    41,
    42,    22,   nil,   nil,    82,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,     2,    10,   nil,     2,   nil,    11,    10,
    10,    10,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    57,   nil,   nil,   nil,   nil,    65,    65,
    65,   nil,    65,   nil,   nil,   nil,   nil,    15,   nil,   nil,
   nil,   nil,    43,   nil,   100,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    10,   nil,   nil,    14,   nil,   nil,
   nil,   nil,    15,   nil,    87,   nil,   nil,     6,    87,    41,
    42,    93,   nil,   nil,    10,    10,   nil,    11,   nil,    83,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,     2,   nil,   nil,     2,    10,   nil,   nil,   nil,   nil,
   nil,    15,     6,   nil,   nil,     6,     6,   nil,     2,     2,
   nil,     6,    11,    57,    57,    15,   nil,   nil,    11,    15,
   nil,   nil,    57,   nil,   nil,   nil,   nil,   nil,   nil,    58,
    10,    10,    10,    10,   nil,   nil,   nil,    10,   nil,   nil,
   nil,   nil,   nil,    11,    45,   nil,   nil,    57,    15,   nil,
   nil,   nil,    43,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    10,   nil,   nil,    41,    42,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,    65,   nil,   nil,   nil,     6,    10,
   nil,    13,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    10,
   nil,    15,   nil,   nil,   nil,   nil,   nil,    57,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    15,   nil,   nil,   nil,   nil,
   nil,    15,   nil,   nil,   nil,   nil,   nil,   nil,    10,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    10,   nil,   nil,    15,   nil,   nil,   nil,   nil,
   nil,   nil,    10,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     2,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     2,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    10,   nil,   nil,   nil,     2,   nil,     2,
     2 ]

racc_goto_pointer = [
   nil,   124,     0,    78,   nil,    31,   -19,   nil,   -29,    21,
   -15,   -65,  -381,  -117,  -254,   -34,  -322,   nil,   nil,   nil,
   nil,   -38,   -98,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   -48,   -47,   -41,   nil,   -41,   nil,   nil,   nil,   -78,
  -130,  -382,  -344,  -349,  -237,  -277,  -425,   -93,  -104,  -229,
   nil,   -79,  -287,   nil,   nil,    -6,   -96,  -276,    17,   nil,
  -226,  -346,   nil,  -252,  -286,   nil,  -252,  -325,  -235,   nil,
  -231,   nil,   -29,  -171,   -28,   nil,  -242,   -57,   nil,  -116,
  -115,   nil,   nil,   -59,   -84,   -83,   nil,   -71,    41,    44,
  -180 ]

racc_goto_default = [
   nil,   nil,   456,   nil,     4,     5,     6,     7,   nil,     8,
     9,   nil,   nil,   nil,   nil,   nil,   270,    13,    14,    15,
    16,   nil,   393,    21,    22,    23,    24,    25,    26,    27,
    28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
    38,    39,    40,    41,    47,   nil,    49,    50,   149,   nil,
   nil,   153,   nil,   nil,   nil,   nil,   nil,   272,   nil,   nil,
   117,   nil,   217,   223,   218,    56,   nil,   nil,   nil,   123,
   nil,   nil,   160,   nil,   161,   162,   166,   287,   288,   289,
   290,   291,   294,   nil,   nil,   184,   186,   187,   178,    72,
    73,    74,    76,   nil,   nil,   nil,   189,   nil,   nil,   nil,
   nil ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 100, :_reduce_1,
  1, 100, :_reduce_2,
  0, 100, :_reduce_3,
  1, 101, :_reduce_4,
  1, 103, :_reduce_5,
  3, 103, :_reduce_6,
  2, 103, :_reduce_7,
  1, 104, :_reduce_8,
  3, 104, :_reduce_9,
  1, 105, :_reduce_none,
  3, 105, :_reduce_11,
  3, 105, :_reduce_12,
  3, 105, :_reduce_13,
  1, 107, :_reduce_14,
  3, 107, :_reduce_15,
  1, 106, :_reduce_none,
  3, 106, :_reduce_17,
  3, 106, :_reduce_18,
  3, 106, :_reduce_19,
  3, 106, :_reduce_20,
  1, 108, :_reduce_none,
  2, 108, :_reduce_22,
  2, 108, :_reduce_23,
  7, 108, :_reduce_24,
  5, 108, :_reduce_25,
  5, 108, :_reduce_26,
  4, 115, :_reduce_27,
  1, 112, :_reduce_28,
  3, 112, :_reduce_29,
  1, 111, :_reduce_30,
  2, 111, :_reduce_31,
  4, 111, :_reduce_32,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  1, 109, :_reduce_none,
  3, 109, :_reduce_37,
  3, 109, :_reduce_38,
  3, 109, :_reduce_39,
  3, 109, :_reduce_40,
  3, 109, :_reduce_41,
  3, 109, :_reduce_42,
  3, 109, :_reduce_43,
  3, 109, :_reduce_44,
  3, 109, :_reduce_45,
  3, 109, :_reduce_46,
  2, 109, :_reduce_47,
  2, 109, :_reduce_48,
  3, 109, :_reduce_49,
  3, 109, :_reduce_50,
  3, 109, :_reduce_51,
  3, 109, :_reduce_52,
  3, 109, :_reduce_53,
  3, 109, :_reduce_54,
  2, 109, :_reduce_55,
  3, 109, :_reduce_56,
  3, 109, :_reduce_57,
  3, 109, :_reduce_58,
  3, 109, :_reduce_59,
  5, 119, :_reduce_60,
  1, 121, :_reduce_61,
  3, 121, :_reduce_62,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_none,
  1, 116, :_reduce_84,
  1, 116, :_reduce_85,
  1, 116, :_reduce_86,
  1, 116, :_reduce_87,
  1, 116, :_reduce_88,
  4, 118, :_reduce_89,
  2, 118, :_reduce_90,
  5, 118, :_reduce_91,
  3, 118, :_reduce_92,
  2, 143, :_reduce_93,
  2, 143, :_reduce_94,
  1, 123, :_reduce_95,
  2, 123, :_reduce_96,
  4, 145, :_reduce_97,
  3, 145, :_reduce_98,
  1, 145, :_reduce_99,
  3, 146, :_reduce_100,
  2, 144, :_reduce_101,
  3, 148, :_reduce_102,
  2, 148, :_reduce_103,
  2, 147, :_reduce_104,
  4, 147, :_reduce_105,
  2, 126, :_reduce_106,
  5, 150, :_reduce_107,
  4, 150, :_reduce_108,
  0, 151, :_reduce_none,
  2, 151, :_reduce_110,
  4, 151, :_reduce_111,
  3, 151, :_reduce_112,
  6, 127, :_reduce_113,
  5, 127, :_reduce_114,
  0, 152, :_reduce_none,
  4, 152, :_reduce_116,
  3, 152, :_reduce_117,
  5, 125, :_reduce_118,
  1, 153, :_reduce_119,
  2, 153, :_reduce_120,
  5, 154, :_reduce_121,
  1, 155, :_reduce_none,
  1, 155, :_reduce_none,
  1, 120, :_reduce_none,
  4, 120, :_reduce_125,
  1, 158, :_reduce_126,
  3, 158, :_reduce_127,
  3, 157, :_reduce_128,
  6, 124, :_reduce_129,
  2, 124, :_reduce_130,
  3, 159, :_reduce_131,
  3, 159, :_reduce_132,
  1, 160, :_reduce_none,
  1, 160, :_reduce_none,
  0, 110, :_reduce_135,
  1, 110, :_reduce_136,
  3, 110, :_reduce_137,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  1, 162, :_reduce_none,
  3, 161, :_reduce_144,
  3, 161, :_reduce_145,
  3, 161, :_reduce_146,
  6, 128, :_reduce_147,
  6, 129, :_reduce_148,
  7, 117, :_reduce_149,
  7, 117, :_reduce_150,
  1, 167, :_reduce_none,
  1, 167, :_reduce_none,
  7, 130, :_reduce_153,
  1, 168, :_reduce_154,
  1, 166, :_reduce_none,
  1, 166, :_reduce_none,
  1, 169, :_reduce_none,
  2, 169, :_reduce_158,
  1, 170, :_reduce_none,
  1, 170, :_reduce_none,
  4, 132, :_reduce_161,
  3, 132, :_reduce_162,
  7, 131, :_reduce_163,
  6, 131, :_reduce_164,
  1, 171, :_reduce_165,
  3, 171, :_reduce_166,
  1, 173, :_reduce_none,
  1, 173, :_reduce_none,
  1, 173, :_reduce_169,
  1, 173, :_reduce_none,
  1, 174, :_reduce_171,
  3, 174, :_reduce_172,
  1, 175, :_reduce_none,
  1, 175, :_reduce_none,
  1, 172, :_reduce_none,
  2, 172, :_reduce_176,
  6, 134, :_reduce_177,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_none,
  1, 164, :_reduce_185,
  1, 165, :_reduce_186,
  2, 165, :_reduce_187,
  4, 165, :_reduce_188,
  1, 149, :_reduce_189,
  3, 149, :_reduce_190,
  1, 176, :_reduce_none,
  1, 176, :_reduce_none,
  1, 177, :_reduce_none,
  1, 177, :_reduce_none,
  3, 179, :_reduce_195,
  1, 179, :_reduce_196,
  2, 180, :_reduce_197,
  2, 178, :_reduce_198,
  1, 181, :_reduce_199,
  4, 181, :_reduce_200,
  4, 135, :_reduce_201,
  5, 136, :_reduce_202,
  7, 136, :_reduce_203,
  1, 122, :_reduce_204,
  1, 137, :_reduce_205,
  1, 137, :_reduce_206,
  1, 137, :_reduce_207,
  1, 137, :_reduce_208,
  1, 137, :_reduce_209,
  1, 137, :_reduce_210,
  4, 138, :_reduce_211,
  2, 138, :_reduce_212,
  4, 138, :_reduce_213,
  2, 138, :_reduce_214,
  3, 139, :_reduce_215,
  4, 139, :_reduce_216,
  2, 139, :_reduce_217,
  1, 184, :_reduce_218,
  3, 184, :_reduce_219,
  3, 185, :_reduce_220,
  1, 186, :_reduce_none,
  1, 186, :_reduce_222,
  1, 183, :_reduce_223,
  3, 183, :_reduce_224,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 187, :_reduce_none,
  1, 141, :_reduce_none,
  1, 141, :_reduce_none,
  1, 141, :_reduce_none,
  1, 188, :_reduce_234,
  1, 188, :_reduce_235,
  2, 189, :_reduce_236,
  1, 191, :_reduce_237,
  1, 193, :_reduce_238,
  1, 194, :_reduce_239,
  2, 192, :_reduce_240,
  1, 195, :_reduce_241,
  1, 196, :_reduce_242,
  2, 196, :_reduce_243,
  2, 190, :_reduce_244,
  2, 197, :_reduce_245,
  2, 197, :_reduce_246,
  3, 102, :_reduce_247,
  0, 182, :_reduce_none,
  1, 182, :_reduce_none,
  0, 198, :_reduce_250,
  2, 198, :_reduce_251,
  4, 198, :_reduce_252,
  1, 133, :_reduce_253,
  3, 133, :_reduce_254,
  5, 133, :_reduce_255,
  1, 199, :_reduce_none,
  1, 199, :_reduce_none,
  1, 142, :_reduce_258,
  1, 140, :_reduce_259,
  0, 114, :_reduce_none,
  1, 114, :_reduce_261,
  0, 113, :_reduce_none,
  1, 113, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  1, 163, :_reduce_none,
  0, 156, :_reduce_284 ]

racc_reduce_n = 285

racc_shift_n = 506

racc_token_table = {
  false => 0,
  :error => 1,
  :STRING => 2,
  :DQPRE => 3,
  :DQMID => 4,
  :DQPOST => 5,
  :WORD => 6,
  :LBRACK => 7,
  :RBRACK => 8,
  :LBRACE => 9,
  :RBRACE => 10,
  :SYMBOL => 11,
  :FARROW => 12,
  :COMMA => 13,
  :TRUE => 14,
  :FALSE => 15,
  :EQUALS => 16,
  :APPENDS => 17,
  :DELETES => 18,
  :LESSEQUAL => 19,
  :NOTEQUAL => 20,
  :DOT => 21,
  :COLON => 22,
  :LLCOLLECT => 23,
  :RRCOLLECT => 24,
  :QMARK => 25,
  :LPAREN => 26,
  :RPAREN => 27,
  :ISEQUAL => 28,
  :GREATEREQUAL => 29,
  :GREATERTHAN => 30,
  :LESSTHAN => 31,
  :IF => 32,
  :ELSE => 33,
  :DEFINE => 34,
  :ELSIF => 35,
  :VARIABLE => 36,
  :CLASS => 37,
  :INHERITS => 38,
  :NODE => 39,
  :BOOLEAN => 40,
  :NAME => 41,
  :SEMIC => 42,
  :CASE => 43,
  :DEFAULT => 44,
  :AT => 45,
  :ATAT => 46,
  :LCOLLECT => 47,
  :RCOLLECT => 48,
  :CLASSREF => 49,
  :NOT => 50,
  :OR => 51,
  :AND => 52,
  :UNDEF => 53,
  :PARROW => 54,
  :PLUS => 55,
  :MINUS => 56,
  :TIMES => 57,
  :DIV => 58,
  :LSHIFT => 59,
  :RSHIFT => 60,
  :UMINUS => 61,
  :MATCH => 62,
  :NOMATCH => 63,
  :REGEX => 64,
  :IN_EDGE => 65,
  :OUT_EDGE => 66,
  :IN_EDGE_SUB => 67,
  :OUT_EDGE_SUB => 68,
  :IN => 69,
  :UNLESS => 70,
  :PIPE => 71,
  :LAMBDA => 72,
  :SELBRACE => 73,
  :NUMBER => 74,
  :HEREDOC => 75,
  :SUBLOCATE => 76,
  :RENDER_STRING => 77,
  :RENDER_EXPR => 78,
  :EPP_START => 79,
  :EPP_END => 80,
  :EPP_END_TRIM => 81,
  :FUNCTION => 82,
  :TYPE => 83,
  :PRIVATE => 84,
  :ATTR => 85,
  :APPLICATION_R => 86,
  :CONSUMES_R => 87,
  :PRODUCES_R => 88,
  :SITE_R => 89,
  :APPLICATION => 90,
  :PRODUCES => 91,
  :CONSUMES => 92,
  :SITE => 93,
  :LOW => 94,
  :HIGH => 95,
  :LISTSTART => 96,
  :SPLAT => 97,
  :MODULO => 98 }

racc_nt_base = 99

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "STRING",
  "DQPRE",
  "DQMID",
  "DQPOST",
  "WORD",
  "LBRACK",
  "RBRACK",
  "LBRACE",
  "RBRACE",
  "SYMBOL",
  "FARROW",
  "COMMA",
  "TRUE",
  "FALSE",
  "EQUALS",
  "APPENDS",
  "DELETES",
  "LESSEQUAL",
  "NOTEQUAL",
  "DOT",
  "COLON",
  "LLCOLLECT",
  "RRCOLLECT",
  "QMARK",
  "LPAREN",
  "RPAREN",
  "ISEQUAL",
  "GREATEREQUAL",
  "GREATERTHAN",
  "LESSTHAN",
  "IF",
  "ELSE",
  "DEFINE",
  "ELSIF",
  "VARIABLE",
  "CLASS",
  "INHERITS",
  "NODE",
  "BOOLEAN",
  "NAME",
  "SEMIC",
  "CASE",
  "DEFAULT",
  "AT",
  "ATAT",
  "LCOLLECT",
  "RCOLLECT",
  "CLASSREF",
  "NOT",
  "OR",
  "AND",
  "UNDEF",
  "PARROW",
  "PLUS",
  "MINUS",
  "TIMES",
  "DIV",
  "LSHIFT",
  "RSHIFT",
  "UMINUS",
  "MATCH",
  "NOMATCH",
  "REGEX",
  "IN_EDGE",
  "OUT_EDGE",
  "IN_EDGE_SUB",
  "OUT_EDGE_SUB",
  "IN",
  "UNLESS",
  "PIPE",
  "LAMBDA",
  "SELBRACE",
  "NUMBER",
  "HEREDOC",
  "SUBLOCATE",
  "RENDER_STRING",
  "RENDER_EXPR",
  "EPP_START",
  "EPP_END",
  "EPP_END_TRIM",
  "FUNCTION",
  "TYPE",
  "PRIVATE",
  "ATTR",
  "APPLICATION_R",
  "CONSUMES_R",
  "PRODUCES_R",
  "SITE_R",
  "APPLICATION",
  "PRODUCES",
  "CONSUMES",
  "SITE",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "assignments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "capability_mapping",
  "call_function_expression",
  "bracketed_expression",
  "selector_entries",
  "expressions",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "application_expression",
  "hostclass_expression",
  "node_definition_expression",
  "site_definition_expression",
  "epp_render_expression",
  "function_definition",
  "type_alias",
  "type_definition",
  "reserved_word",
  "array",
  "hash",
  "regex",
  "quotedtext",
  "type",
  "call_function_start",
  "lambda",
  "call_method_expression",
  "named_access",
  "lambda_parameter_list",
  "lambda_rest",
  "parameters",
  "if_part",
  "else",
  "unless_else",
  "case_options",
  "case_option",
  "options_statements",
  "nil",
  "selector_entry",
  "selector_entry_list",
  "collect_query",
  "optional_query",
  "attribute_operation",
  "attribute_name",
  "keyword",
  "classname",
  "parameter_list",
  "opt_statements",
  "capability_kw",
  "stacked_classname",
  "classparent",
  "classnameordefault",
  "hostnames",
  "nodeparent",
  "hostname",
  "dotted_name",
  "name_or_number",
  "parameter",
  "untyped_parameter",
  "typed_parameter",
  "regular_parameter",
  "splat_parameter",
  "parameter_type",
  "optional_statements",
  "collection_entries",
  "hashpairs",
  "hashpair",
  "collection_entry",
  "collection_entry_keyword",
  "string",
  "dq_string",
  "heredoc",
  "dqpre",
  "dqrval",
  "dqpost",
  "dqmid",
  "text_expression",
  "dqtail",
  "sublocated_text",
  "epp_parameters_list",
  "epp_end" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

module_eval(<<'.,.,', 'egrammar.ra', 68)
  def _reduce_1(val, _values, result)
     result = create_program(Factory.block_or_expression(*val[0])) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 69)
  def _reduce_2(val, _values, result)
     result = create_program(Factory.block_or_expression(*val[0])) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 70)
  def _reduce_3(val, _values, result)
     result = create_empty_program() 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 74)
  def _reduce_4(val, _values, result)
     result = transform_calls(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 81)
  def _reduce_5(val, _values, result)
     result = [val[0]]
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 82)
  def _reduce_6(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 83)
  def _reduce_7(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 90)
  def _reduce_8(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 91)
  def _reduce_9(val, _values, result)
     result = aryfy(val[0]).push(val[1]).push(val[2]) 
    result
  end
.,.,

# reduce 10 omitted

module_eval(<<'.,.,', 'egrammar.ra', 96)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 97)
  def _reduce_12(val, _values, result)
     result = val[0].plus_set(val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 98)
  def _reduce_13(val, _values, result)
     result = val[0].minus_set(val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 101)
  def _reduce_14(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 102)
  def _reduce_15(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 16 omitted

module_eval(<<'.,.,', 'egrammar.ra', 106)
  def _reduce_17(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 107)
  def _reduce_18(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 108)
  def _reduce_19(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 109)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 21 omitted

module_eval(<<'.,.,', 'egrammar.ra', 118)
  def _reduce_22(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, :virtual)
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Virtual (@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 129)
  def _reduce_23(val, _values, result)
          result = val[1]
      unless Factory.set_resource_form(result, :exported)
        # This is equivalent to a syntax error - additional semantic restrictions apply
        error val[0], "Exported (@@) can only be applied to a Resource Expression"
      end
      # relocate the result
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 140)
  def _reduce_24(val, _values, result)
          bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
      result = Factory.RESOURCE(val[0], bodies)
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 147)
  def _reduce_25(val, _values, result)
            result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
        loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 156)
  def _reduce_26(val, _values, result)
           result = case Factory.resource_shape(val[0])
       when :resource, :class
        # This catches deprecated syntax.
        # If the attribute operations does not include +>, then the found expression
        # is actually a LEFT followed by LITERAL_HASH
        #
        unless tmp = transform_resource_wo_title(val[0], val[2], val[1], val[4])
          error val[1], "Syntax error resource body without title or hash with +>"
        end
        tmp
      when :defaults
        Factory.RESOURCE_DEFAULTS(val[0], val[2])
      when :override
        # This was only done for override in original - TODO should it be here at all
        Factory.RESOURCE_OVERRIDE(val[0], val[2])
      else
        error val[0], "Expression is not valid as a resource, resource-default, or resource-override"
      end
     loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 178)
  def _reduce_27(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 181)
  def _reduce_28(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 182)
  def _reduce_29(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 188)
  def _reduce_30(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 189)
  def _reduce_31(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 190)
  def _reduce_32(val, _values, result)
     result = val[2] 
    result
  end
.,.,

# reduce 33 omitted

# reduce 34 omitted

# reduce 35 omitted

# reduce 36 omitted

module_eval(<<'.,.,', 'egrammar.ra', 199)
  def _reduce_37(val, _values, result)
     result = val[0].in val[2]        ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 200)
  def _reduce_38(val, _values, result)
     result = val[0] =~  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 201)
  def _reduce_39(val, _values, result)
     result = val[0].mne val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 202)
  def _reduce_40(val, _values, result)
     result = val[0] +   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 203)
  def _reduce_41(val, _values, result)
     result = val[0] -   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 204)
  def _reduce_42(val, _values, result)
     result = val[0] /   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 205)
  def _reduce_43(val, _values, result)
     result = val[0] *   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 206)
  def _reduce_44(val, _values, result)
     result = val[0] %   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 207)
  def _reduce_45(val, _values, result)
     result = val[0] <<  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 208)
  def _reduce_46(val, _values, result)
     result = val[0] >>  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 209)
  def _reduce_47(val, _values, result)
     result = val[1].minus()          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 210)
  def _reduce_48(val, _values, result)
     result = val[1].unfold()         ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 211)
  def _reduce_49(val, _values, result)
     result = val[0].ne  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 212)
  def _reduce_50(val, _values, result)
     result = val[0] ==  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 213)
  def _reduce_51(val, _values, result)
     result = val[0] >   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 214)
  def _reduce_52(val, _values, result)
     result = val[0] >=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 215)
  def _reduce_53(val, _values, result)
     result = val[0] <   val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 216)
  def _reduce_54(val, _values, result)
     result = val[0] <=  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 217)
  def _reduce_55(val, _values, result)
     result = val[1].not              ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 218)
  def _reduce_56(val, _values, result)
     result = val[0].and val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 219)
  def _reduce_57(val, _values, result)
     result = val[0].or  val[2]       ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 220)
  def _reduce_58(val, _values, result)
     result = val[0].select(*val[2])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 221)
  def _reduce_59(val, _values, result)
     result = val[1].paren()          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 224)
  def _reduce_60(val, _values, result)
     result = val[0][*val[2]]         ; loc result, val[0], val[4] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 233)
  def _reduce_61(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 234)
  def _reduce_62(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 63 omitted

# reduce 64 omitted

# reduce 65 omitted

# reduce 66 omitted

# reduce 67 omitted

# reduce 68 omitted

# reduce 69 omitted

# reduce 70 omitted

# reduce 71 omitted

# reduce 72 omitted

# reduce 73 omitted

# reduce 74 omitted

# reduce 75 omitted

# reduce 76 omitted

# reduce 77 omitted

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

# reduce 82 omitted

# reduce 83 omitted

module_eval(<<'.,.,', 'egrammar.ra', 260)
  def _reduce_84(val, _values, result)
     result = Factory.NUMBER(val[0][:value])          ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 261)
  def _reduce_85(val, _values, result)
     result = Factory.literal(val[0][:value])         ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 262)
  def _reduce_86(val, _values, result)
     result = Factory.literal(:default)               ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 263)
  def _reduce_87(val, _values, result)
     result = Factory.literal(:undef)                 ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 264)
  def _reduce_88(val, _values, result)
     result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 273)
  def _reduce_89(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[3]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 277)
  def _reduce_90(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 281)
  def _reduce_91(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, val[1])
      loc result, val[0], val[4]
      result.lambda = val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 286)
  def _reduce_92(val, _values, result)
          result = Factory.CALL_NAMED(val[0], true, [])
      loc result, val[0], val[2]
      result.lambda = val[2]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 292)
  def _reduce_93(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 293)
  def _reduce_94(val, _values, result)
     result = Factory.QNAME(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 298)
  def _reduce_95(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 299)
  def _reduce_96(val, _values, result)
     result = val[0]; val[0].lambda = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 302)
  def _reduce_97(val, _values, result)
     result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 303)
  def _reduce_98(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 304)
  def _reduce_99(val, _values, result)
     result = Factory.CALL_METHOD(val[0], []); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 308)
  def _reduce_100(val, _values, result)
            result = val[0].dot(Factory.fqn(val[2][:value]))
        loc result, val[1], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 316)
  def _reduce_101(val, _values, result)
          result = Factory.LAMBDA(val[0][:value], val[1][:value])
      loc result, val[0][:start], val[1][:end]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 321)
  def _reduce_102(val, _values, result)
     result = {:end => val[2], :value =>val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 322)
  def _reduce_103(val, _values, result)
     result = {:end => val[1], :value => nil } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 326)
  def _reduce_104(val, _values, result)
     result = {:start => val[0], :value => [] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 327)
  def _reduce_105(val, _values, result)
     result = {:start => val[0], :value => val[1] } 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 335)
  def _reduce_106(val, _values, result)
          result = val[1]
      loc(result, val[0], val[1])
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 342)
  def _reduce_107(val, _values, result)
            result = Factory.IF(val[0], Factory.block_or_expression(*val[2]), val[4])
        loc(result, val[0], (val[4] ? val[4] : val[3]))
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 346)
  def _reduce_108(val, _values, result)
            result = Factory.IF(val[0], nil, val[3])
        loc(result, val[0], (val[3] ? val[3] : val[2]))
      
    result
  end
.,.,

# reduce 109 omitted

module_eval(<<'.,.,', 'egrammar.ra', 354)
  def _reduce_110(val, _values, result)
            result = val[1]
        loc(result, val[0], val[1])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 358)
  def _reduce_111(val, _values, result)
            result = Factory.block_or_expression(*val[2])
        loc result, val[0], val[3]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 362)
  def _reduce_112(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 369)
  def _reduce_113(val, _values, result)
          result = Factory.UNLESS(val[1], Factory.block_or_expression(*val[3]), val[5])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 373)
  def _reduce_114(val, _values, result)
          result = Factory.UNLESS(val[1], nil, val[4])
      loc result, val[0], val[4]
    
    result
  end
.,.,

# reduce 115 omitted

module_eval(<<'.,.,', 'egrammar.ra', 383)
  def _reduce_116(val, _values, result)
            result = Factory.block_or_expression(*val[2])
        loc result, val[0], val[3]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 387)
  def _reduce_117(val, _values, result)
            result = nil # don't think a nop is needed here either
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 394)
  def _reduce_118(val, _values, result)
          result = Factory.CASE(val[1], *val[3])
      loc result, val[0], val[4]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 400)
  def _reduce_119(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 401)
  def _reduce_120(val, _values, result)
     result = val[0].push val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 406)
  def _reduce_121(val, _values, result)
            result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
      
    result
  end
.,.,

# reduce 122 omitted

# reduce 123 omitted

# reduce 124 omitted

module_eval(<<'.,.,', 'egrammar.ra', 422)
  def _reduce_125(val, _values, result)
            result = val[1]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 427)
  def _reduce_126(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 428)
  def _reduce_127(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 433)
  def _reduce_128(val, _values, result)
     result = Factory.MAP(val[0], val[2]) ; loc result, val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 443)
  def _reduce_129(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], val[3])
      loc result, val[0], val[5]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 447)
  def _reduce_130(val, _values, result)
          result = Factory.COLLECT(val[0], val[1], [])
      loc result, val[0], val[1]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 452)
  def _reduce_131(val, _values, result)
     result = Factory.VIRTUAL_QUERY(val[1])   ; loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 453)
  def _reduce_132(val, _values, result)
     result = Factory.EXPORTED_QUERY(val[1])  ; loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 133 omitted

# reduce 134 omitted

module_eval(<<'.,.,', 'egrammar.ra', 462)
  def _reduce_135(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 463)
  def _reduce_136(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 464)
  def _reduce_137(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 138 omitted

# reduce 139 omitted

# reduce 140 omitted

# reduce 141 omitted

# reduce 142 omitted

# reduce 143 omitted

module_eval(<<'.,.,', 'egrammar.ra', 483)
  def _reduce_144(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], :'=>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 487)
  def _reduce_145(val, _values, result)
            result = Factory.ATTRIBUTE_OP(val[0][:value], :'+>', val[2])
        loc result, val[0], val[2]
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 491)
  def _reduce_146(val, _values, result)
          result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
   
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 500)
  def _reduce_147(val, _values, result)
          result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
      loc result, val[0], val[5]
      # New lexer does not keep track of this, this is done in validation
      if @lexer.respond_to?(:'indefine=')
        @lexer.indefine = false
      end
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 511)
  def _reduce_148(val, _values, result)
        result = add_definition(Factory.APPLICATION(classname(val[1][:value]), val[2], val[4]))
    loc result, val[0], val[5]
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 517)
  def _reduce_149(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        Factory.QNAME(classname(val[0][:value])),
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 524)
  def _reduce_150(val, _values, result)
        result = Factory.CAPABILITY_MAPPING(val[1][:value],
                                        val[0],
                                        classname(val[2][:value]), val[4])
    loc result, val[0], val[6]
    add_mapping(result)
  
    result
  end
.,.,

# reduce 151 omitted

# reduce 152 omitted

module_eval(<<'.,.,', 'egrammar.ra', 541)
  def _reduce_153(val, _values, result)
          # Remove this class' name from the namestack as all nested classes have been parsed
      namepop
      result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 551)
  def _reduce_154(val, _values, result)
     namestack(val[0][:value]) ; result = val[0] 
    result
  end
.,.,

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

module_eval(<<'.,.,', 'egrammar.ra', 560)
  def _reduce_158(val, _values, result)
     result = val[1] 
    result
  end
.,.,

# reduce 159 omitted

# reduce 160 omitted

module_eval(<<'.,.,', 'egrammar.ra', 577)
  def _reduce_161(val, _values, result)
        result = add_definition(Factory.SITE(val[2]))
    loc result, val[0], val[3]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 581)
  def _reduce_162(val, _values, result)
        result = add_definition(Factory.SITE(nil))
    loc result, val[0], val[2]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 591)
  def _reduce_163(val, _values, result)
          result = add_definition(Factory.NODE(val[1], val[3], val[5]))
      loc result, val[0], val[6]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 595)
  def _reduce_164(val, _values, result)
          result = add_definition(Factory.NODE(val[1], val[3], nil))
      loc result, val[0], val[5]
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 605)
  def _reduce_165(val, _values, result)
     result = [result] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 606)
  def _reduce_166(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 167 omitted

# reduce 168 omitted

module_eval(<<'.,.,', 'egrammar.ra', 613)
  def _reduce_169(val, _values, result)
     result = Factory.literal(:default); loc result, val[0] 
    result
  end
.,.,

# reduce 170 omitted

module_eval(<<'.,.,', 'egrammar.ra', 617)
  def _reduce_171(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 618)
  def _reduce_172(val, _values, result)
     result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2] 
    result
  end
.,.,

# reduce 173 omitted

# reduce 174 omitted

# reduce 175 omitted

module_eval(<<'.,.,', 'egrammar.ra', 627)
  def _reduce_176(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 633)
  def _reduce_177(val, _values, result)
          result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[4]))
      loc result, val[0], val[5]
    
    result
  end
.,.,

# reduce 178 omitted

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

# reduce 183 omitted

# reduce 184 omitted

module_eval(<<'.,.,', 'egrammar.ra', 648)
  def _reduce_185(val, _values, result)
     error val[0], "'class' is not a valid classname" 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 652)
  def _reduce_186(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 653)
  def _reduce_187(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 654)
  def _reduce_188(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 658)
  def _reduce_189(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 659)
  def _reduce_190(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 191 omitted

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

module_eval(<<'.,.,', 'egrammar.ra', 671)
  def _reduce_195(val, _values, result)
     result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 672)
  def _reduce_196(val, _values, result)
     result = Factory.PARAM(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 675)
  def _reduce_197(val, _values, result)
     result = val[1]; val[1].captures_rest() 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 678)
  def _reduce_198(val, _values, result)
     val[1].type_expr(val[0]) ; result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 681)
  def _reduce_199(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 682)
  def _reduce_200(val, _values, result)
     result = val[0][*val[2]] ; loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 687)
  def _reduce_201(val, _values, result)
          result = add_definition(Factory.TYPE_ASSIGNMENT(val[1], val[3]))
      loc(result, val[0], val[3])
    
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 695)
  def _reduce_202(val, _values, result)
            result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], nil, val[3]))
        loc(result, val[0], val[4])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 699)
  def _reduce_203(val, _values, result)
            result = add_definition(Factory.TYPE_DEFINITION(val[1][:value], val[3][:value], val[5]))
        loc(result, val[0], val[6])
      
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 706)
  def _reduce_204(val, _values, result)
     result = Factory.fqn(val[0][:value]).var ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 711)
  def _reduce_205(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 712)
  def _reduce_206(val, _values, result)
     result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 713)
  def _reduce_207(val, _values, result)
     result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 714)
  def _reduce_208(val, _values, result)
     result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 715)
  def _reduce_209(val, _values, result)
     result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 716)
  def _reduce_210(val, _values, result)
     result = Factory.RESERVED(val[0][:value], true) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 722)
  def _reduce_211(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 723)
  def _reduce_212(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 724)
  def _reduce_213(val, _values, result)
     result = Factory.LIST(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 725)
  def _reduce_214(val, _values, result)
     result = Factory.literal([]) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 728)
  def _reduce_215(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 729)
  def _reduce_216(val, _values, result)
     result = Factory.HASH(val[1]); loc result, val[0], val[3] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 730)
  def _reduce_217(val, _values, result)
     result = Factory.literal({}) ; loc result, val[0], val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 733)
  def _reduce_218(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 734)
  def _reduce_219(val, _values, result)
     result = val[0].push val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 737)
  def _reduce_220(val, _values, result)
     result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1] 
    result
  end
.,.,

# reduce 221 omitted

module_eval(<<'.,.,', 'egrammar.ra', 741)
  def _reduce_222(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 744)
  def _reduce_223(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 745)
  def _reduce_224(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 225 omitted

# reduce 226 omitted

# reduce 227 omitted

# reduce 228 omitted

# reduce 229 omitted

# reduce 230 omitted

# reduce 231 omitted

# reduce 232 omitted

# reduce 233 omitted

module_eval(<<'.,.,', 'egrammar.ra', 762)
  def _reduce_234(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 763)
  def _reduce_235(val, _values, result)
     result = Factory.literal(val[0][:value]) ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 765)
  def _reduce_236(val, _values, result)
     result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 766)
  def _reduce_237(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 767)
  def _reduce_238(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 768)
  def _reduce_239(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 769)
  def _reduce_240(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 770)
  def _reduce_241(val, _values, result)
     result = Factory.TEXT(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 773)
  def _reduce_242(val, _values, result)
     result = [val[0]] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 774)
  def _reduce_243(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 777)
  def _reduce_244(val, _values, result)
     result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 780)
  def _reduce_245(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 781)
  def _reduce_246(val, _values, result)
     result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 784)
  def _reduce_247(val, _values, result)
     result = Factory.EPP(val[1], val[2]); loc result, val[0] 
    result
  end
.,.,

# reduce 248 omitted

# reduce 249 omitted

module_eval(<<'.,.,', 'egrammar.ra', 791)
  def _reduce_250(val, _values, result)
     result = nil 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 792)
  def _reduce_251(val, _values, result)
     result = [] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 793)
  def _reduce_252(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 796)
  def _reduce_253(val, _values, result)
     result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 797)
  def _reduce_254(val, _values, result)
     result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 798)
  def _reduce_255(val, _values, result)
     result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4] 
    result
  end
.,.,

# reduce 256 omitted

# reduce 257 omitted

module_eval(<<'.,.,', 'egrammar.ra', 804)
  def _reduce_258(val, _values, result)
     result = Factory.QREF(val[0][:value])  ; loc result, val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 807)
  def _reduce_259(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0] 
    result
  end
.,.,

# reduce 260 omitted

module_eval(<<'.,.,', 'egrammar.ra', 813)
  def _reduce_261(val, _values, result)
     result = nil 
    result
  end
.,.,

# reduce 262 omitted

# reduce 263 omitted

# reduce 264 omitted

# reduce 265 omitted

# reduce 266 omitted

# reduce 267 omitted

# reduce 268 omitted

# reduce 269 omitted

# reduce 270 omitted

# reduce 271 omitted

# reduce 272 omitted

# reduce 273 omitted

# reduce 274 omitted

# reduce 275 omitted

# reduce 276 omitted

# reduce 277 omitted

# reduce 278 omitted

# reduce 279 omitted

# reduce 280 omitted

# reduce 281 omitted

# reduce 282 omitted

# reduce 283 omitted

module_eval(<<'.,.,', 'egrammar.ra', 842)
  def _reduce_284(val, _values, result)
     result = nil
    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

      end   # class Parser
      end   # module Parser
    end   # module Pops
  end   # module Puppet
