#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.5.2
# from Racc grammar file "".
#

require 'racc/parser.rb'

require_relative '../../../puppet'
require_relative '../../../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', 885)

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

clist = [
'69,72,283,-267,70,64,79,65,83,84,85,64,110,65,-276,376,304,163,396,305',
'65,-145,326,284,20,19,112,-281,115,-279,377,51,111,54,82,60,12,250,57',
'43,46,271,53,44,10,11,-267,90,77,18,164,147,45,114,77,16,17,-276,86',
'88,87,89,125,78,-145,327,122,141,148,52,-281,272,-279,42,73,91,75,76',
'74,251,155,58,48,61,62,55,56,69,72,63,144,70,64,283,65,63,444,125,124',
'110,166,122,121,283,118,445,77,440,182,439,123,20,19,112,284,115,77',
'125,51,111,54,122,60,12,284,57,43,46,80,53,44,10,11,124,184,77,18,121',
'276,45,114,428,16,17,125,123,427,125,122,187,78,122,82,124,125,252,52',
'121,122,141,42,73,91,75,76,123,263,262,58,48,61,62,55,56,69,72,63,90',
'70,64,124,65,144,124,121,125,489,121,141,122,124,427,123,90,121,123',
'125,264,20,19,122,440,123,439,265,51,-225,54,266,60,12,144,57,43,46',
'147,53,44,10,11,269,124,77,18,270,121,45,263,262,16,17,125,124,123,125',
'122,121,78,122,263,262,125,274,52,123,122,295,42,73,296,75,76,263,262',
'302,58,48,61,62,55,56,69,72,63,-226,70,64,124,65,302,124,121,69,72,121',
'82,70,124,90,123,90,121,123,90,423,20,19,307,306,123,318,319,51,90,54',
'324,60,12,110,57,43,46,155,53,44,10,11,332,350,77,18,351,112,45,115',
'353,16,17,111,69,72,357,363,70,78,367,369,77,372,373,52,283,386,387',
'42,73,266,75,76,114,391,274,58,48,61,62,55,56,69,72,63,397,70,64,110',
'65,399,372,-225,163,404,406,160,413,414,324,325,417,112,420,115,372',
'20,19,111,372,147,429,430,51,433,54,78,60,127,110,57,43,46,434,53,44',
'164,73,437,114,77,18,441,112,45,115,443,16,17,111,69,72,452,453,70,78',
'455,457,324,461,463,52,324,466,467,42,73,469,75,76,114,473,443,58,48',
'61,62,55,56,69,72,63,475,70,64,110,65,477,478,479,163,480,332,160,485',
'283,486,487,488,112,499,115,500,20,19,111,501,503,77,504,51,505,54,78',
'60,127,284,57,43,46,506,53,44,164,73,353,114,77,18,,316,45,,,16,17,',
'69,72,,,70,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63',
',70,64,,65,,,,163,,,160,,,,,,,,,,20,19,,,358,,,51,360,54,78,60,127,283',
'57,43,46,283,53,44,164,73,,,77,18,77,,45,,77,16,17,,284,,,,284,78,,',
',,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,',
',,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,',
',45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,136,,',
',,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,69,72,',
',70,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64',
',65,,,,163,,,160,,,,,,,,,,20,19,,,,,,51,,54,78,60,127,,57,43,46,,53',
'44,164,73,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,110,70,64,,65,,,,,,,,,,112,,115,,,,111,20,19',
',,,,,51,,54,,60,127,,57,43,46,,53,44,114,,,,77,18,,,45,,,16,17,,,92',
'93,,,78,,,91,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,110',
'70,64,,65,,,,,,,,,,112,,115,,,,111,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,114,,,,77,18,,,45,,,16,17,,,92,93,,,78,,,91,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,168,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64',
'173,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137',
'61,62,55,56,69,72,63,,70,64,,65,175,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,',
',,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,110,70,64,,186,,,,,,,,,,112,,115,,,,111,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,114,,,,77,18,,,45,,,16,17,,,92,93,,,78,,,91,,,52,,',
',42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,',
',,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61',
'62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12',
',57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19',
',,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,',
',78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65',
',,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,',
'51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,204',
'219,210,220,60,213,222,214,43,202,,206,200,,,,,77,18,223,218,201,,,16',
'199,,,,,,,78,,,,,221,205,,,,42,73,,75,76,,,,215,203,216,217,211,212',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,',
',58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53',
'44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19',
',,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54',
',60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,',
'42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,',
',,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17',
',,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,',
',58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,245,42,73,,75,76,,,,58,48,61',
'62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12',
',57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,',
',78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65',
',,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46',
',53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,287,,,,,51',
',54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,',
',52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,',
',,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,',
',45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43',
'46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,175,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,',
',325,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,',
',58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,',
',,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16',
'17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70',
'64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62',
'55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,',
'57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64',
',65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11',
',,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61',
'62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12',
',57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,379,,,,,,,,,,,,,,,,20',
'19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,',
',,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64',
',65,381,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10',
'11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61',
'62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127',
',57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,,65,400',
',,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55',
'56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57',
'43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53',
'44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48',
'61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60',
'127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73',
',75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19',
',,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,',
',78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56,69,72,63,,70,64,',
'65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77',
'18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56',
'69,72,63,,70,64,,65,432,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57',
'43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75',
'76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,',
',,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56',
'69,72,63,,70,64,,65,446,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57',
'43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76',
',,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,',
'51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,',
',,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,',
',51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,',
',,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,',
',,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,138,137,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,',
',51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,138,137,61,62,55,56',
'69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43',
'46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,',
',58,48,61,62,55,56,69,72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,127,,57,43,46,,53,44,,,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52',
',,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,482,,,,,,,',
',,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45',
',,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72',
'63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53',
'44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58',
'48,61,62,55,56,69,72,63,,70,64,,65,491,,,,,,,,,,,,,,,,20,19,,,,,,51',
',54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,',
',52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,493,,,',
',,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18',
',,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69',
'72,63,,70,64,,65,,,,,,,,,,,,,,,,,20,19,,,,,,51,,54,,60,12,,57,43,46',
',53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,',
',,58,48,61,62,55,56,69,72,63,,70,64,,65,498,,,,,,,,,,,,,,,,20,19,,,',
',,51,,54,,60,12,,57,43,46,,53,44,10,11,,,77,18,,,45,,,16,17,,,,,,,78',
',,,,,52,,,,42,73,,75,76,,,,58,48,61,62,55,56,69,72,63,,70,64,,65,,,',
',,,,,,,,,,,,,20,19,,,,,,51,,54,,60,127,,57,43,46,,53,44,,,,,77,18,,',
'45,,,16,17,,,,,,,78,,,,,,52,,,,42,73,,75,76,110,,,58,48,61,62,55,56',
',,63,106,101,112,,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,,,,114',
',,,108,107,,,94,95,97,96,99,100,,92,93,110,,288,,,91,,,,,,,106,101,112',
',115,,109,,111,,102,104,103,105,,,98,,,,,,,,,,,,,114,,,,108,107,,,94',
'95,97,96,99,100,,92,93,110,,289,,,91,,,,,,,106,101,112,,115,,109,,111',
',102,104,103,105,,,98,,,,,,,,,,,,,114,,,,108,107,,,94,95,97,96,99,100',
',92,93,110,,290,,,91,,,,,,,106,101,112,,115,,109,,111,,102,104,103,105',
',,98,,,,,,,,,,,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106',
'101,112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108',
'107,,,94,95,97,96,99,100,,92,93,,,,,,91,,110,,,,,,,,,318,319,,106,101',
'112,322,115,110,109,,111,98,102,104,103,105,,,,,,112,,115,,,,111,,,',
'114,,,,108,107,,,94,95,97,96,99,100,,92,93,114,,,110,,91,,,,,97,96,',
',,92,93,112,,115,110,,91,111,,,,,98,,,,,,112,,115,,,,111,,,,114,98,',
',,,,,,,97,96,,,,92,93,114,,,110,,91,,,94,95,97,96,,,,92,93,112,,115',
'110,,91,111,,,,,98,,,,,,112,,115,,,,111,,,,114,98,,,,,,,94,95,97,96',
',,,92,93,114,,,110,,91,,,94,95,97,96,99,100,,92,93,112,,115,110,,91',
'111,,,,,98,,,,,101,112,,115,,,,111,,102,,114,98,,,,,,,94,95,97,96,99',
'100,,92,93,114,,,,,91,,110,94,95,97,96,99,100,,92,93,,,,101,112,91,115',
'110,,,111,98,102,,,,,,,,101,112,,115,,,,111,98,102,,114,,,,,,,,94,95',
'97,96,99,100,,92,93,114,,,,,91,,110,94,95,97,96,99,100,,92,93,,,,101',
'112,91,115,,,,111,98,102,,,,,,,,,,,,,,,,98,,,114,,,,,110,,,94,95,97',
'96,99,100,,92,93,106,101,112,,115,91,109,,111,,102,104,103,105,,,,,',
',,,,,,,,,98,114,,,,,110,,,94,95,97,96,99,100,,92,93,106,101,112,,115',
'91,109,,111,,102,104,103,105,,,,,,,,,,,,,,,98,114,,,,,107,,,94,95,97',
'96,99,100,110,92,93,,,328,,,91,,,,106,101,112,,115,,109,,111,,102,104',
'103,105,,,,,,98,,,,,,,,,,114,,,,108,107,,,94,95,97,96,99,100,,92,93',
'110,-65,,,,91,-65,,,,,,106,101,112,,115,,109,,111,,102,104,103,105,',
',98,,,,,,,,,,,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106',
'101,112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108',
'107,,,94,95,97,96,99,100,110,92,93,,,,,,91,,,,106,101,112,354,115,,109',
',111,,102,104,103,105,,,,,,98,,,,,,,,,,114,,,,108,107,,110,94,95,97',
'96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105,,,',
',,,,,,,,,98,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106,101',
'112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108,107',
',110,94,95,97,96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104',
'103,105,,,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95,97,96,99,100,,92',
'93,,,106,101,112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,',
'114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106,101,112,91,115,',
'109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95',
'97,96,99,100,,92,93,,,106,101,112,91,115,,109,,111,,102,104,103,105',
',,,,,,,,,,,,98,,,114,,,,108,107,,110,94,95,97,96,99,100,,92,93,,,106',
'101,112,91,115,,109,,111,,102,104,103,105,,,,,,,,,,,,,98,,,114,,,,108',
'107,,,94,95,97,96,99,100,,92,93,,340,219,339,220,91,337,222,341,,334',
',336,338,,,,,,,223,218,342,,,,335,,98,,,,,,,,,,221,343,,,,,,,,,,,,346',
'344,347,345,348,349,340,219,339,220,,337,222,341,,334,,336,338,,,,,',
',223,218,342,,,,335,,,,,,,,,,,,221,343,,,,,,,,,,,,346,344,347,345,348',
'349,340,219,339,220,,337,222,341,,334,,336,338,,,,,,,223,218,342,,,',
'335,,,,,,,,,,,,221,343,,,,,,,,,,,,346,344,347,345,348,349,340,219,339',
'220,,337,222,341,,334,,336,338,,,,,,,223,218,342,,,,335,,,,,,,,,,,,221',
'343,,,,,,,,,,,,346,344,347,345,348,349' ]
        racc_action_table = arr = ::Array.new(9957, 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,285,200,0,0,1,0,7,7,7,166,225,166,201,286,174,296,298,174,298,202',
'209,285,0,0,225,216,225,217,286,0,225,0,5,0,0,112,0,0,0,144,0,0,0,0',
'200,8,0,0,296,49,0,225,166,0,0,201,7,7,7,7,54,0,202,209,54,48,50,0,216',
'144,217,0,0,225,0,0,0,112,56,0,0,0,0,0,0,4,4,0,48,4,4,372,4,166,383',
'12,54,226,59,12,54,147,12,383,372,379,73,379,54,4,4,226,372,226,147',
'55,4,226,4,55,4,4,147,4,4,4,4,4,4,4,4,12,74,4,4,12,147,4,226,365,4,4',
'58,12,365,127,58,79,4,127,81,55,138,113,4,55,138,137,4,4,226,4,4,55',
'119,119,4,4,4,4,4,4,10,10,4,116,10,10,58,10,137,127,58,210,470,127,203',
'210,138,470,58,117,138,127,211,130,10,10,211,437,138,437,131,10,132',
'10,135,10,10,203,10,10,10,136,10,10,10,10,139,210,10,10,142,210,10,153',
'153,10,10,213,211,210,215,213,211,10,215,154,154,357,146,10,211,357',
'156,10,10,158,10,10,165,165,167,10,10,10,10,10,10,11,11,10,170,11,11',
'213,11,172,215,213,182,182,215,188,182,357,193,213,194,357,215,195,357',
'11,11,179,179,357,404,404,11,196,11,198,11,11,126,11,11,11,212,11,11',
'11,11,247,254,11,11,256,126,11,126,257,11,11,126,57,57,260,267,57,11',
'272,273,274,277,283,11,284,291,292,11,11,293,11,11,126,294,297,11,11',
'11,11,11,11,16,16,11,301,16,16,128,16,303,315,320,57,321,323,57,329',
'331,333,335,352,128,355,128,359,16,16,128,361,363,366,367,16,370,16',
'57,16,16,129,16,16,16,371,16,16,57,57,378,128,16,16,380,129,16,129,381',
'16,16,129,214,214,388,389,214,16,394,403,405,412,416,16,419,424,425',
'16,16,431,16,16,129,440,441,16,16,16,16,16,16,17,17,16,443,17,17,224',
'17,445,448,451,214,452,456,214,459,184,460,465,468,224,481,224,483,17',
'17,224,484,490,184,492,17,494,17,214,17,17,184,17,17,17,497,17,17,214',
'214,502,224,17,17,,184,17,,,17,17,,295,295,,,295,17,,,,,,17,,,,17,17',
',17,17,,,,17,17,17,17,17,17,18,18,17,,18,18,,18,,,,295,,,295,,,,,,,',
',,18,18,,,262,,,18,263,18,295,18,18,262,18,18,18,263,18,18,295,295,',
',18,18,262,,18,,263,18,18,,262,,,,263,18,,,,,,18,,,,18,18,,18,18,,,',
'18,18,18,18,18,18,19,19,18,,19,19,,19,,,,,,,,,,,,,,,,,19,19,,,,,,19',
',19,,19,19,,19,19,19,,19,19,19,19,,,19,19,,,19,,,19,19,,,,,,,19,,,,',
',19,,,,19,19,,19,19,,,,19,19,19,19,19,19,20,20,19,,20,20,,20,,,,,,,',
',,,,,,,,,20,20,,,,,,20,,20,,20,20,,20,20,20,,20,20,20,20,,,20,20,,,20',
',,20,20,,,,,,,20,,,,,,20,,,,20,20,,20,20,,,,20,20,20,20,20,20,47,47',
'20,,47,47,,47,,,,,,,,,,,,,,,,,47,47,47,,,,,47,,47,,47,47,,47,47,47,',
'47,47,47,47,,,47,47,,,47,,,47,47,,391,391,,,391,47,,,,,,47,,,,47,47',
',47,47,,,,47,47,47,47,47,47,51,51,47,,51,51,,51,,,,391,,,391,,,,,,,',
',,51,51,,,,,,51,,51,391,51,51,,51,51,51,,51,51,391,391,,,51,51,,,51',
',,51,51,,,,,,,51,,,,,,51,,,,51,51,,51,51,,,,51,51,51,51,51,51,52,52',
'51,229,52,52,,52,,,,,,,,,,229,,229,,,,229,52,52,,,,,,52,,52,,52,52,',
'52,52,52,,52,52,229,,,,52,52,,,52,,,52,52,,,229,229,,,52,,,229,,,52',
',,,52,52,,52,52,,,,52,52,52,52,52,52,53,53,52,230,53,53,,53,,,,,,,,',
',230,,230,,,,230,53,53,,,,,,53,,53,,53,53,,53,53,53,,53,53,230,,,,53',
'53,,,53,,,53,53,,,230,230,,,53,,,230,,,53,,,,53,53,,53,53,,,,53,53,53',
'53,53,53,63,63,53,,63,63,63,63,,,,,,,,,,,,,,,,,63,63,,,,,,63,,63,,63',
'63,,63,63,63,,63,63,63,63,,,63,63,,,63,,,63,63,,,,,,,63,,,,,,63,,,,63',
'63,,63,63,,,,63,63,63,63,63,63,64,64,63,,64,64,64,64,,,,,,,,,,,,,,,',
',64,64,,,,,,64,,64,,64,64,,64,64,64,,64,64,64,64,,,64,64,,,64,,,64,64',
',,,,,,64,,,,,,64,,,,64,64,,64,64,,,,64,64,64,64,64,64,65,65,64,,65,65',
',65,65,,,,,,,,,,,,,,,,65,65,,,,,,65,,65,,65,65,,65,65,65,,65,65,65,65',
',,65,65,,,65,,,65,65,,,,,,,65,,,,,,65,,,,65,65,,65,65,,,,65,65,65,65',
'65,65,71,71,65,,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,231,76,76,,76,,,,,,,,,,231,,231',
',,,231,76,76,,,,,,76,,76,,76,76,,76,76,76,,76,76,231,,,,76,76,,,76,',
',76,76,,,231,231,,,76,,,231,,,76,,,,76,76,,76,76,,,,76,76,76,76,76,76',
'80,80,76,,80,80,,80,,,,,,,,,,,,,,,,,80,80,,,,,,80,,80,,80,80,,80,80',
'80,,80,80,80,80,,,80,80,,,80,,,80,80,,,,,,,80,,,,,,80,,,,80,80,,80,80',
',,,80,80,80,80,80,80,82,82,80,,82,82,,82,,,,,,,,,,,,,,,,,82,82,,,,,',
'82,,82,,82,82,,82,82,82,,82,82,82,82,,,82,82,,,82,,,82,82,,,,,,,82,',
',,,,82,,,,82,82,,82,82,,,,82,82,82,82,82,82,83,83,82,,83,83,,83,,,,',
',,,,,,,,,,,,83,83,,,,,,83,,83,,83,83,,83,83,83,,83,83,83,83,,,83,83',
',,83,,,83,83,,,,,,,83,,,,,,83,,,,83,83,,83,83,,,,83,83,83,83,83,83,84',
'84,83,,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,85,85,84,,85,85,,85,,,,,,,,,,,,,,,,,85,85,,,,,,85',
',85,,85,85,,85,85,85,,85,85,85,85,,,85,85,,,85,,,85,85,,,,,,,85,,,,',
',85,,,,85,85,,85,85,,,,85,85,85,85,85,85,86,86,85,,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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',
'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,114,114,110',
',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,115,115,114,,115,115,,115,,,,,,',
',,,,,,,,,,115,115,,,,,,115,,115,,115,115,,115,115,115,,115,115,,,,,115',
'115,,,115,,,115,115,,,,,,,115,,,,,,115,,,,115,115,,115,115,,,,115,115',
'115,115,115,115,118,118,115,,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,148',
'148,118,,148,148,,148,,,,,,,,,,,,,,,,,148,148,148,,,,,148,,148,,148',
'148,,148,148,148,,148,148,148,148,,,148,148,,,148,,,148,148,,,,,,,148',
',,,,,148,,,,148,148,,148,148,,,,148,148,148,148,148,148,155,155,148',
',155,155,,155,,,,,,,,,,,,,,,,,155,155,,,,,,155,,155,,155,155,,155,155',
'155,,155,155,155,155,,,155,155,,,155,,,155,155,,,,,,,155,,,,,,155,,',
',155,155,,155,155,,,,155,155,155,155,155,155,183,183,155,,183,183,,183',
',,,,,,,,,,,,,,,,183,183,,,,,,183,,183,,183,183,,183,183,183,,183,183',
'183,183,,,183,183,,,183,,,183,183,,,,,,,183,,,,,,183,,,,183,183,,183',
'183,,,,183,183,183,183,183,183,186,186,183,,186,186,,186,186,,,,,,,',
',,,,,,,,186,186,,,,,,186,,186,,186,186,,186,186,186,,186,186,186,186',
',,186,186,,,186,,,186,186,,,,,,,186,,,,,,186,,,,186,186,,186,186,,,',
'186,186,186,186,186,186,199,199,186,,199,199,,199,,,199,,,,,,,,,,,,',
',199,199,,,,,,199,,199,,199,199,,199,199,199,,199,199,,,,,199,199,,',
'199,,,199,199,,,,,,,199,,,,,,199,,,,199,199,,199,199,,,,199,199,199',
'199,199,199,204,204,199,,204,204,,204,,,,,,,,,,,,,,,,,204,204,,,,,,204',
',204,,204,204,,204,204,204,,204,204,,,,,204,204,,,204,,,204,204,,,,',
',,204,,,,,,204,,,,204,204,,204,204,,,,204,204,204,204,204,204,205,205',
'204,,205,205,,205,,,,,,,,,,,,,,,,,205,205,,,,,,205,,205,,205,205,,205',
'205,205,,205,205,,,,,205,205,,,205,,,205,205,,,,,,,205,,,,,,205,,,,205',
'205,,205,205,,,,205,205,205,205,205,205,206,206,205,,206,206,,206,,',
',,,,,,,,,,,,,,206,206,,,,,,206,,206,,206,206,,206,206,206,,206,206,',
',,,206,206,,,206,,,206,206,,,,,,,206,,,,,,206,,,,206,206,,206,206,,',
',206,206,206,206,206,206,245,245,206,,245,245,,245,,,,,,,,,,,,,,,,,245',
'245,,,,,,245,,245,,245,245,,245,245,245,,245,245,,,,,245,245,,,245,',
',245,245,,,,,,,245,,,,,,245,,,,245,245,,245,245,,,,245,245,245,245,245',
'245,266,266,245,,266,266,,266,,,,,,,,,,,,,,,,,266,266,,,,,,266,,266',
',266,266,,266,266,266,,266,266,266,266,,,266,266,,,266,,,266,266,,,',
',,,266,,,,,,266,,,,266,266,,266,266,,,,266,266,266,266,266,266,269,269',
'266,,269,269,,269,,,,,,,,,,,,,,,,,269,269,,,,,,269,,269,,269,269,,269',
'269,269,,269,269,269,269,,,269,269,,,269,,,269,269,,,,,,,269,,,,,,269',
',,,269,269,,269,269,,,,269,269,269,269,269,269,270,270,269,,270,270',
',270,,,,,,,,,,,,,,,,,270,270,,,,,,270,,270,,270,270,,270,270,270,,270',
'270,270,270,,,270,270,,,270,,,270,270,,,,,,,270,,,,,,270,,,,270,270',
',270,270,,,,270,270,270,270,270,270,271,271,270,,271,271,,271,,,,,,',
',,,,,,,,,,271,271,,,,,,271,,271,,271,271,,271,271,271,,271,271,271,271',
',,271,271,,,271,,,271,271,,,,,,,271,,,,,,271,,,,271,271,,271,271,,,',
'271,271,271,271,271,271,288,288,271,,288,288,,288,288,,,,,,,,,,,,,,',
',288,288,,,,,,288,,288,,288,288,,288,288,288,,288,288,288,288,,,288',
'288,,,288,,,288,288,,,,,,,288,,,,,,288,,,,288,288,,288,288,,,,288,288',
'288,288,288,288,289,289,288,,289,289,,289,289,,,,,,,,,,,,,,,,289,289',
',,,,,289,,289,,289,289,,289,289,289,,289,289,289,289,,,289,289,,,289',
',,289,289,,,,,,,289,,,,,,289,,,,289,289,,289,289,,,,289,289,289,289',
'289,289,290,290,289,,290,290,,290,,,,,,,,,,,,,,,,,290,290,,,,,,290,',
'290,,290,290,,290,290,290,,290,290,,,,,290,290,,,290,,,290,290,,,,,',
',290,,,,,,290,,,,290,290,,290,290,,,,290,290,290,290,290,290,302,302',
'290,,302,302,,302,,,,,,,,,,,,,,,,,302,302,,,,,,302,,302,,302,302,,302',
'302,302,,302,302,302,302,,,302,302,,,302,,,302,302,,,,,,,302,,,,,,302',
',,,302,302,,302,302,,,,302,302,302,302,302,302,305,305,302,,305,305',
',305,305,,,,,,,,,,,,,,,,305,305,,,,,,305,,305,,305,305,,305,305,305',
',305,305,305,305,,,305,305,,,305,,,305,305,,,,,,,305,,,,,,305,,,,305',
'305,,305,305,,,,305,305,305,305,305,305,310,310,305,,310,310,,310,,',
',,,,,,,,,,,,,,310,310,,,,,,310,,310,,310,310,,310,310,310,,310,310,310',
'310,,,310,310,,,310,,,310,310,,,,,,,310,,,,,,310,,,,310,310,,310,310',
',,,310,310,310,310,310,310,325,325,310,,325,325,,325,,,,,,,,,,,,,,,',
',325,325,,,,,,325,,325,,325,325,,325,325,325,,325,325,,,,,325,325,,',
'325,,,325,325,,,,,,,325,,,,,,325,,,,325,325,,325,325,,,,325,325,325',
'325,325,325,326,326,325,,326,326,,326,,,,,,,,,,,,,,,,,326,326,,,,,,326',
',326,,326,326,,326,326,326,,326,326,,,,,326,326,,,326,,,326,326,,,,',
',,326,,,,,,326,,,,326,326,,326,326,,,,326,326,326,326,326,326,327,327',
'326,,327,327,,327,,,,,,,,,,,,,,,,,327,327,,,,,,327,,327,,327,327,,327',
'327,327,,327,327,,,,,327,327,,,327,,,327,327,,,,,,,327,,,,,,327,,,,327',
'327,,327,327,,,,327,327,327,327,327,327,328,328,327,,328,328,,328,,',
',,,,,,,,,,,,,,328,328,,,,,,328,,328,,328,328,,328,328,328,,328,328,',
',,,328,328,,,328,,,328,328,,,,,,,328,,,,,,328,,,,328,328,,328,328,,',
',328,328,328,328,328,328,332,332,328,,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,332,,,,332,332,332',
'332,332,332,353,353,332,,353,353,,353,,,,,,,,,,,,,,,,,353,353,,,,,,353',
',353,,353,353,,353,353,353,,353,353,,,,,353,353,,,353,,,353,353,,,,',
',,353,,,,,,353,,,,353,353,,353,353,,,,353,353,353,353,353,353,369,369',
'353,,369,369,,369,369,,,,,,,,,,,,,,,,369,369,,,,,,369,,369,,369,369',
',369,369,369,,369,369,369,369,,,369,369,,,369,,,369,369,,,,,,,369,,',
',,,369,,,,369,369,,369,369,,,,369,369,369,369,369,369,373,373,369,,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,373,373,373,373,373,376,376,373,,376,376,,376,,,,,,,',
',,,,,,,,,376,376,,,,,,376,,376,,376,376,,376,376,376,,376,376,376,376',
',,376,376,,,376,,,376,376,,,,,,,376,,,,,,376,,,,376,376,,376,376,,,',
'376,376,376,376,376,376,384,384,376,,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,386,386,384,,386,386,,386,,,,,,,,,,,,,,,,,386,386,,,,,,386',
',386,,386,386,,386,386,386,,386,386,386,386,,,386,386,,,386,,,386,386',
',,,,,,386,,,,,,386,,,,386,386,,386,386,,,,386,386,386,386,386,386,387',
'387,386,,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,396,396,387,,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,413,413,396,,413,413,,413,,',
',,,,,,,,,,,,,,413,413,,,,,,413,,413,,413,413,,413,413,413,,413,413,',
',,,413,413,,,413,,,413,413,,,,,,,413,,,,,,413,,,,413,413,,413,413,,',
',413,413,413,413,413,413,420,420,413,,420,420,,420,,,,,,,,,,,,,,,,,420',
'420,,,,,,420,,420,,420,420,,420,420,420,,420,420,420,420,,,420,420,',
',420,,,420,420,,,,,,,420,,,,,,420,,,,420,420,,420,420,,,,420,420,420',
'420,420,420,427,427,420,,427,427,,427,,,,,,,,,,,,,,,,,427,427,,,,,,427',
',427,,427,427,,427,427,427,,427,427,427,427,,,427,427,,,427,,,427,427',
',,,,,,427,,,,,,427,,,,427,427,,427,427,,,,427,427,427,427,427,427,430',
'430,427,,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,433,433,430,,433',
'433,,433,,,,,,,,,,,,,,,,,433,433,,,,,,433,,433,,433,433,,433,433,433',
',433,433,433,433,,,433,433,,,433,,,433,433,,,,,,,433,,,,,,433,,,,433',
'433,,433,433,,,,433,433,433,433,433,433,439,439,433,,439,439,,439,,',
',,,,,,,,,,,,,,439,439,,,,,,439,,439,,439,439,,439,439,439,,439,439,',
',,,439,439,,,439,,,439,439,,,,,,,439,,,,,,439,,,,439,439,,439,439,,',
',439,439,439,439,439,439,444,444,439,,444,444,,444,,,,,,,,,,,,,,,,,444',
'444,,,,,,444,,444,,444,444,,444,444,444,,444,444,,,,,444,444,,,444,',
',444,444,,,,,,,444,,,,,,444,,,,444,444,,444,444,,,,444,444,444,444,444',
'444,453,453,444,,453,453,,453,453,,,,,,,,,,,,,,,,453,453,,,,,,453,,453',
',453,453,,453,453,453,,453,453,453,453,,,453,453,,,453,,,453,453,,,',
',,,453,,,,,,453,,,,453,453,,453,453,,,,453,453,453,453,453,453,455,455',
'453,,455,455,,455,,,,,,,,,,,,,,,,,455,455,,,,,,455,,455,,455,455,,455',
'455,455,,455,455,455,455,,,455,455,,,455,,,455,455,,,,,,,455,,,,,,455',
',,,455,455,,455,455,,,,455,455,455,455,455,455,473,473,455,,473,473',
',473,473,,,,,,,,,,,,,,,,473,473,,,,,,473,,473,,473,473,,473,473,473',
',473,473,473,473,,,473,473,,,473,,,473,473,,,,,,,473,,,,,,473,,,,473',
'473,,473,473,,,,473,473,473,473,473,473,475,475,473,,475,475,,475,475',
',,,,,,,,,,,,,,,475,475,,,,,,475,,475,,475,475,,475,475,475,,475,475',
'475,475,,,475,475,,,475,,,475,475,,,,,,,475,,,,,,475,,,,475,475,,475',
'475,,,,475,475,475,475,475,475,477,477,475,,477,477,,477,,,,,,,,,,,',
',,,,,477,477,,,,,,477,,477,,477,477,,477,477,477,,477,477,477,477,,',
'477,477,,,477,,,477,477,,,,,,,477,,,,,,477,,,,477,477,,477,477,,,,477',
'477,477,477,477,477,480,480,477,,480,480,,480,480,,,,,,,,,,,,,,,,480',
'480,,,,,,480,,480,,480,480,,480,480,480,,480,480,480,480,,,480,480,',
',480,,,480,480,,,,,,,480,,,,,,480,,,,480,480,,480,480,,,,480,480,480',
'480,480,480,486,486,480,,486,486,,486,,,,,,,,,,,,,,,,,486,486,,,,,,486',
',486,,486,486,,486,486,486,,486,486,,,,,486,486,,,486,,,486,486,,,,',
',,486,,,,,,486,,,,486,486,,486,486,9,,,486,486,486,486,486,486,,,486',
'9,9,9,,9,,9,,9,,9,9,9,9,,,,,,,,,,,,,,,,9,,,,9,9,,,9,9,9,9,9,9,,9,9,149',
',149,,,9,,,,,,,149,149,149,,149,,149,,149,,149,149,149,149,,,9,,,,,',
',,,,,,,149,,,,149,149,,,149,149,149,149,149,149,,149,149,151,,151,,',
'149,,,,,,,151,151,151,,151,,151,,151,,151,151,151,151,,,149,,,,,,,,',
',,,,151,,,,151,151,,,151,151,151,151,151,151,,151,151,152,,152,,,151',
',,,,,,152,152,152,,152,,152,,152,,152,152,152,152,,,151,,,,,,,,,,,,',
'152,,,,152,152,,185,152,152,152,152,152,152,,152,152,,,185,185,185,152',
'185,,185,,185,,185,185,185,185,,,,,,,,,,,,,152,,,185,,,,185,185,,,185',
'185,185,185,185,185,,185,185,,,,,,185,,197,,,,,,,,,185,185,,197,197',
'197,197,197,227,197,,197,185,197,197,197,197,,,,,,227,,227,,,,227,,',
',197,,,,197,197,,,197,197,197,197,197,197,,197,197,227,,,228,,197,,',
',,227,227,,,,227,227,228,,228,232,,227,228,,,,,197,,,,,,232,,232,,,',
'232,,,,228,227,,,,,,,,,228,228,,,,228,228,232,,,233,,228,,,232,232,232',
'232,,,,232,232,233,,233,234,,232,233,,,,,228,,,,,,234,,234,,,,234,,',
',233,232,,,,,,,233,233,233,233,,,,233,233,234,,,235,,233,,,234,234,234',
'234,234,234,,234,234,235,,235,236,,234,235,,,,,233,,,,,236,236,,236',
',,,236,,236,,235,234,,,,,,,235,235,235,235,235,235,,235,235,236,,,,',
'235,,237,236,236,236,236,236,236,,236,236,,,,237,237,236,237,238,,,237',
'235,237,,,,,,,,238,238,,238,,,,238,236,238,,237,,,,,,,,237,237,237,237',
'237,237,,237,237,238,,,,,237,,239,238,238,238,238,238,238,,238,238,',
',,239,239,238,239,,,,239,237,239,,,,,,,,,,,,,,,,238,,,239,,,,,240,,',
'239,239,239,239,239,239,,239,239,240,240,240,,240,239,240,,240,,240',
'240,240,240,,,,,,,,,,,,,,,239,240,,,,,241,,,240,240,240,240,240,240',
',240,240,241,241,241,,241,240,241,,241,,241,241,241,241,,,,,,,,,,,,',
',,240,241,,,,,241,,,241,241,241,241,241,241,242,241,241,,,242,,,241',
',,,242,242,242,,242,,242,,242,,242,242,242,242,,,,,,241,,,,,,,,,,242',
',,,242,242,,,242,242,242,242,242,242,,242,242,246,246,,,,242,246,,,',
',,246,246,246,,246,,246,,246,,246,246,246,246,,,242,,,,,,,,,,,,,246',
',,,246,246,,253,246,246,246,246,246,246,,246,246,,,253,253,253,246,253',
',253,,253,,253,253,253,253,,,,,,,,,,,,,246,,,253,,,,253,253,,,253,253',
'253,253,253,253,258,253,253,,,,,,253,,,,258,258,258,258,258,,258,,258',
',258,258,258,258,,,,,,253,,,,,,,,,,258,,,,258,258,,382,258,258,258,258',
'258,258,,258,258,,,382,382,382,258,382,,382,,382,,382,382,382,382,,',
',,,,,,,,,,258,,,382,,,,382,382,,408,382,382,382,382,382,382,,382,382',
',,408,408,408,382,408,,408,,408,,408,408,408,408,,,,,,,,,,,,,382,,,408',
',,,408,408,,409,408,408,408,408,408,408,,408,408,,,409,409,409,408,409',
',409,,409,,409,409,409,409,,,,,,,,,,,,,408,,,409,,,,409,409,,410,409',
'409,409,409,409,409,,409,409,,,410,410,410,409,410,,410,,410,,410,410',
'410,410,,,,,,,,,,,,,409,,,410,,,,410,410,,411,410,410,410,410,410,410',
',410,410,,,411,411,411,410,411,,411,,411,,411,411,411,411,,,,,,,,,,',
',,410,,,411,,,,411,411,,436,411,411,411,411,411,411,,411,411,,,436,436',
'436,411,436,,436,,436,,436,436,436,436,,,,,,,,,,,,,411,,,436,,,,436',
'436,,476,436,436,436,436,436,436,,436,436,,,476,476,476,436,476,,476',
',476,,476,476,476,476,,,,,,,,,,,,,436,,,476,,,,476,476,,,476,476,476',
'476,476,476,,476,476,,252,252,252,252,476,252,252,252,,252,,252,252',
',,,,,,252,252,252,,,,252,,476,,,,,,,,,,252,252,,,,,,,,,,,,252,252,252',
'252,252,252,322,322,322,322,,322,322,322,,322,,322,322,,,,,,,322,322',
'322,,,,322,,,,,,,,,,,,322,322,,,,,,,,,,,,322,322,322,322,322,322,324',
'324,324,324,,324,324,324,,324,,324,324,,,,,,,324,324,324,,,,324,,,,',
',,,,,,,324,324,,,,,,,,,,,,324,324,324,324,324,324,354,354,354,354,,354',
'354,354,,354,,354,354,,,,,,,354,354,354,,,,354,,,,,,,,,,,,354,354,,',
',,,,,,,,,354,354,354,354,354,354' ]
        racc_action_check = arr = ::Array.new(9957, 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,     6,   nil,   nil,    85,    21,   nil,    -8,    38,  8423,
   172,   259,    95,   nil,   nil,   nil,   346,   433,   520,   607,
   694,   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,   nil,   781,    40,   -21,
    41,   868,   955,  1042,    60,   115,    53,   317,   142,    84,
   nil,   nil,   nil,  1129,  1216,  1303,   nil,   nil,   nil,   nil,
   nil,  1390,   nil,    31,    62,   nil,  1477,   nil,   nil,   149,
  1564,   139,  1651,  1738,  1825,  1912,  1999,  2086,  2173,  2260,
  2347,  2434,  2521,  2608,  2695,  2782,  2869,  2956,  3043,  3130,
  3217,  3304,  3391,  3478,  3565,  3652,  3739,  3826,  3913,  4000,
  4087,   nil,    -5,   146,  4174,  4261,   168,   184,  4348,   140,
   nil,   nil,   nil,   nil,   nil,   nil,   291,   145,   347,   378,
   169,   176,   194,   nil,   nil,   195,   143,   132,   152,   208,
   nil,   nil,   217,   nil,    32,   nil,   181,    66,  4435,  8481,
   nil,  8539,  8597,   201,   213,  4522,   233,   nil,   228,   nil,
   nil,   nil,   nil,   nil,   nil,   226,     4,   241,   nil,   nil,
   252,   nil,   256,   nil,     6,   nil,   nil,   nil,   nil,   283,
   nil,   nil,   270,  4609,   414,  8645,  4696,   nil,   262,   nil,
   nil,   nil,   nil,   269,   271,   274,   284,  8710,   282,  4783,
    -9,     2,     9,   161,  4870,  4957,  5044,   nil,   nil,    10,
   183,   194,   275,   229,   404,   232,    15,    17,   nil,   nil,
   nil,   nil,   nil,   nil,   434,     5,    92,  8727,  8771,   953,
  1040,  1475,  8788,  8832,  8849,  8893,  8910,  8958,  8975,  9023,
  9069,  9115,  9170,   nil,   nil,  5131,  9228,   294,   nil,   nil,
   nil,   nil,  9700,  9276,   259,   nil,   287,   272,  9331,   nil,
   282,   nil,   522,   526,   nil,   nil,  5218,   294,   nil,  5305,
  5392,  5479,   275,   317,   277,   nil,   nil,   315,   nil,   nil,
   nil,   nil,   nil,   313,   294,   -35,     2,   nil,  5566,  5653,
  5740,   323,   324,   323,   301,   491,   -25,   280,    11,   nil,
   nil,   343,  5827,   348,   nil,  5914,   nil,   nil,   nil,   nil,
  6001,   nil,   nil,   nil,   nil,   344,   nil,   nil,   nil,   nil,
   346,   350,  9756,   351,  9812,  6088,  6175,  6262,  6349,   350,
   nil,   356,  6436,   352,   nil,   354,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   357,  6523,  9868,   360,   nil,   239,   nil,   358,
   nil,   362,   nil,   304,   nil,   133,   367,   369,   nil,  6610,
   373,   317,    56,  6697,   nil,   nil,  6784,   nil,   384,    73,
   388,   368,  9379,    83,  6871,   nil,  6958,  7045,   380,   400,
   nil,   839,   nil,   nil,   403,   nil,  7132,   nil,   nil,   nil,
   nil,   nil,   nil,   341,   209,   401,   nil,   nil,  9427,  9475,
  9523,  9571,   405,  7219,   nil,   nil,   406,   nil,   nil,   405,
  7306,   nil,   nil,   nil,   391,   392,   nil,  7393,   nil,   nil,
  7480,   413,   nil,  7567,   nil,   nil,  9619,   167,   nil,  7654,
   418,   394,   nil,   429,  7741,   434,   nil,   nil,   434,   nil,
   nil,   435,   438,  7828,   nil,  7915,   435,   nil,   nil,   440,
   409,   nil,   nil,   nil,   nil,   443,   nil,   nil,   444,   nil,
   178,   nil,   nil,  8002,   nil,  8089,  9667,  8176,   nil,   nil,
  8263,   446,   nil,   448,   454,   nil,  8350,   nil,   nil,   nil,
   453,   nil,   455,   nil,   457,   nil,   nil,   466,   nil,   nil,
   nil,   nil,   438,   nil,   nil,   nil,   nil,   nil ]

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

racc_goto_table = [
     2,   161,   176,   257,   126,   128,   129,   244,   159,   130,
   131,   247,   142,   169,   169,   178,   198,   352,   255,   255,
   299,   313,   317,   145,   153,   170,   170,   143,   165,   392,
   273,   277,   154,   135,   415,     1,    81,   132,   385,   149,
   151,   152,   116,   117,   254,   256,     3,   249,   459,   438,
   275,   167,   172,   132,   132,   177,   418,   442,   243,   300,
   368,   180,   472,   384,   185,   494,   329,   407,   315,   355,
   448,   451,   189,   190,   191,   192,   421,   389,   197,   224,
   225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   235,   236,   237,   238,   239,   240,   241,   242,   246,   393,
   177,   142,   253,   253,   465,   267,   258,   471,   165,   366,
   268,   142,   188,   435,   375,   260,   143,   474,   193,   194,
   195,   196,   374,   176,   364,   454,   294,   398,   311,   415,
   298,   312,   447,   309,   286,   310,   308,   301,   132,   483,
   181,   293,   303,   330,   183,   132,   359,   361,   142,   291,
   292,   nil,   395,   nil,   nil,   nil,   nil,   nil,   161,   nil,
   nil,   297,   nil,   nil,   356,   159,   nil,   142,   323,   nil,
   nil,   365,   nil,   nil,   nil,   nil,   320,   nil,   333,   nil,
   153,   394,   143,   314,   nil,   165,   321,   128,   154,   nil,
   nil,   nil,   149,   151,   152,   nil,   nil,   nil,   390,   nil,
   nil,   275,   nil,   nil,   nil,   nil,   nil,   249,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   362,   331,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   142,   142,   nil,   nil,
   nil,   nil,   nil,   242,   nil,   nil,   nil,   nil,   370,   161,
   nil,   458,   401,   nil,   nil,   nil,   159,   371,   405,   nil,
   nil,   nil,   169,   nil,   402,   nil,   132,   nil,   246,   177,
   177,   nil,   507,   388,   170,   nil,   nil,   nil,   468,   249,
   nil,   314,   nil,   nil,   nil,   nil,   nil,   nil,   382,   nil,
   419,   nil,   nil,   nil,   nil,   403,   nil,   nil,   378,   380,
   450,   450,   132,   nil,   nil,   177,   nil,   456,   nil,   412,
   180,   nil,   nil,   416,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   462,   nil,   408,   409,   410,   411,   nil,   nil,   nil,
   246,   nil,   177,   nil,   450,   nil,   362,   422,   nil,   424,
   nil,   425,   nil,   249,   470,   161,   142,   426,   nil,   nil,
   nil,   258,   159,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   450,
   nil,   436,   nil,   nil,   249,   nil,   132,   nil,   nil,   431,
   249,   502,   382,   nil,   nil,   460,   nil,   nil,   nil,   nil,
   nil,   495,   nil,   nil,   246,   nil,   177,   nil,   nil,   464,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   242,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   246,   nil,   177,   nil,   nil,
   nil,   246,   nil,   177,   nil,   nil,   484,   149,   nil,   nil,
   314,   nil,   476,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   481,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   490,   258,   492,   nil,   496,   nil,   nil,
   497 ]

racc_goto_check = [
     2,    44,     9,    15,    12,    12,    12,    62,    45,     6,
     6,    23,    46,     8,     8,    97,    13,    16,    61,    61,
    43,    87,   104,    48,    69,    92,    92,    85,    69,    77,
    52,    54,    72,    10,    24,     1,     5,     6,    59,    12,
    12,    12,    11,    11,    65,    65,     3,     9,    14,    56,
    61,    88,    88,     6,     6,     6,    18,    57,    22,    42,
    53,     6,    55,    58,    12,    60,    63,    66,    54,    73,
    71,    71,     6,     6,     6,     6,    74,    76,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    12,
    12,    12,    12,    12,    12,    12,    12,    12,    12,    79,
     6,    46,    12,    12,    71,    17,    12,    56,    69,    87,
    48,    46,     5,    80,    81,    70,    85,    57,    11,    11,
    11,    11,    83,     9,    90,    77,    17,    91,    93,    24,
    46,    94,    59,    98,    10,    99,   101,    17,     6,    71,
   102,    10,    17,    62,   103,     6,    54,    54,    46,    70,
    70,   nil,    43,   nil,   nil,   nil,   nil,   nil,    44,   nil,
   nil,    70,   nil,   nil,    61,    45,   nil,    46,    17,   nil,
   nil,    23,   nil,   nil,   nil,   nil,     6,   nil,    13,   nil,
    69,    52,    85,     2,   nil,    69,     2,    12,    72,   nil,
   nil,   nil,    12,    12,    12,   nil,   nil,   nil,    61,   nil,
   nil,    61,   nil,   nil,   nil,   nil,   nil,     9,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,     8,    17,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    46,    46,   nil,   nil,
   nil,   nil,   nil,    12,   nil,   nil,   nil,   nil,    46,    44,
   nil,   104,     9,   nil,   nil,   nil,    45,    17,    13,   nil,
   nil,   nil,     8,   nil,    97,   nil,     6,   nil,    12,     6,
     6,   nil,    16,    17,    92,   nil,   nil,   nil,    87,     9,
   nil,     2,   nil,   nil,   nil,   nil,   nil,   nil,    12,   nil,
    13,   nil,   nil,   nil,   nil,    17,   nil,   nil,     2,     2,
    61,    61,     6,   nil,   nil,     6,   nil,    23,   nil,    17,
     6,   nil,   nil,    17,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    62,   nil,    12,    12,    12,    12,   nil,   nil,   nil,
    12,   nil,     6,   nil,    61,   nil,     8,    69,   nil,    17,
   nil,    17,   nil,     9,    23,    44,    46,    48,   nil,   nil,
   nil,    12,    45,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    61,
   nil,    12,   nil,   nil,     9,   nil,     6,   nil,   nil,     2,
     9,    15,    12,   nil,   nil,    17,   nil,   nil,   nil,   nil,
   nil,    61,   nil,   nil,    12,   nil,     6,   nil,   nil,    17,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,    12,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    12,   nil,     6,   nil,   nil,
   nil,    12,   nil,     6,   nil,   nil,    17,    12,   nil,   nil,
     2,   nil,    12,   nil,   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,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,     2,    12,     2,   nil,     2,   nil,   nil,
     2 ]

racc_goto_pointer = [
   nil,    35,     0,    46,   nil,    32,   -10,   nil,   -50,   -63,
   -14,    32,   -12,   -74,  -357,  -115,  -240,   -30,  -297,   nil,
   nil,   nil,   -51,   -99,  -298,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,  -107,  -146,   -56,   -49,   -36,   nil,   -26,   nil,
   nil,   nil,  -116,  -213,  -116,  -377,  -330,  -324,  -227,  -252,
  -412,   -96,  -102,  -179,   nil,   -70,  -257,   nil,   nil,   -30,
    -4,  -316,   -23,  -191,  -281,   nil,  -217,  -266,   nil,  -197,
  -259,  -171,   nil,  -162,   nil,   -21,   nil,  -162,   -12,   nil,
  -145,  -175,   -38,   -54,   -51,   nil,   nil,   -56,   -46,   -44,
   nil,   -43,    67,    70,  -163 ]

racc_goto_default = [
   nil,   nil,   449,   nil,     4,     5,     6,     7,   134,   133,
   nil,     8,     9,   nil,   nil,   nil,   nil,   nil,   259,    13,
    14,    15,   nil,   nil,   248,   383,    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,   146,   nil,   nil,   nil,   150,   nil,   nil,   nil,   nil,
   nil,   261,   nil,   nil,   113,   nil,   207,   209,   208,   120,
   nil,   nil,   119,   nil,   nil,   156,   nil,   157,   158,   162,
   278,   279,   280,   281,   282,   285,    59,   nil,   nil,   174,
   139,   171,   140,    66,    67,    68,    71,   nil,   nil,   nil,
   179,   nil,   nil,   nil,   nil ]

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

racc_reduce_n = 285

racc_shift_n = 508

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,
  :WSLPAREN => 26,
  :LPAREN => 27,
  :RPAREN => 28,
  :ISEQUAL => 29,
  :GREATEREQUAL => 30,
  :GREATERTHAN => 31,
  :LESSTHAN => 32,
  :IF => 33,
  :ELSE => 34,
  :DEFINE => 35,
  :ELSIF => 36,
  :VARIABLE => 37,
  :CLASS => 38,
  :INHERITS => 39,
  :NODE => 40,
  :BOOLEAN => 41,
  :NAME => 42,
  :SEMIC => 43,
  :CASE => 44,
  :DEFAULT => 45,
  :AT => 46,
  :ATAT => 47,
  :LCOLLECT => 48,
  :RCOLLECT => 49,
  :CLASSREF => 50,
  :NOT => 51,
  :OR => 52,
  :AND => 53,
  :UNDEF => 54,
  :PARROW => 55,
  :PLUS => 56,
  :MINUS => 57,
  :TIMES => 58,
  :DIV => 59,
  :LSHIFT => 60,
  :RSHIFT => 61,
  :UMINUS => 62,
  :MATCH => 63,
  :NOMATCH => 64,
  :REGEX => 65,
  :IN_EDGE => 66,
  :OUT_EDGE => 67,
  :IN_EDGE_SUB => 68,
  :OUT_EDGE_SUB => 69,
  :IN => 70,
  :UNLESS => 71,
  :PIPE => 72,
  :LAMBDA => 73,
  :SELBRACE => 74,
  :NUMBER => 75,
  :HEREDOC => 76,
  :SUBLOCATE => 77,
  :RENDER_STRING => 78,
  :RENDER_EXPR => 79,
  :EPP_START => 80,
  :EPP_END => 81,
  :EPP_END_TRIM => 82,
  :FUNCTION => 83,
  :TYPE => 84,
  :PRIVATE => 85,
  :ATTR => 86,
  :PLAN => 87,
  :APPLY => 88,
  :LOW => 89,
  :HIGH => 90,
  :LISTSTART => 91,
  :SPLAT => 92,
  :MODULO => 93 }

racc_nt_base = 94

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",
  "WSLPAREN",
  "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",
  "PLAN",
  "APPLY",
  "LOW",
  "HIGH",
  "LISTSTART",
  "SPLAT",
  "MODULO",
  "$start",
  "program",
  "statements",
  "epp_expression",
  "syntactic_statements",
  "syntactic_statement",
  "assignment",
  "relationship",
  "argument",
  "hashpair",
  "arguments",
  "resource",
  "expression",
  "attribute_operations",
  "additional_resource_bodies",
  "resource_bodies",
  "endsemi",
  "endcomma",
  "resource_body",
  "primary_expression",
  "call_function_expression",
  "bracketed_expression",
  "selector_entries",
  "access_args",
  "access_arg",
  "expressions",
  "variable",
  "call_method_with_lambda_expression",
  "collection_expression",
  "case_expression",
  "if_expression",
  "unless_expression",
  "definition_expression",
  "hostclass_expression",
  "plan_expression",
  "apply_expression",
  "node_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",
  "opt_return_type",
  "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",
  "stacked_classname",
  "classparent",
  "classnameordefault",
  "hostnames",
  "nodeparent",
  "hostname",
  "dotted_name",
  "name_or_number",
  "parameter",
  "untyped_parameter",
  "typed_parameter",
  "regular_parameter",
  "splat_parameter",
  "parameter_type",
  "type_alias_lhs",
  "optional_statements",
  "collection_entries",
  "hashpairs",
  "hash_entry",
  "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', 67)
  def _reduce_1(val, _values, result)
     result = create_program(Factory.block_or_expression(val[0]))
    result
  end
.,.,

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 90)
  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', 95)
  def _reduce_11(val, _values, result)
     result = val[0].set(val[2])      ; loc result, val[1]
    result
  end
.,.,

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

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

# reduce 14 omitted

module_eval(<<'.,.,', 'egrammar.ra', 102)
  def _reduce_15(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0]
    result
  end
.,.,

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

module_eval(<<'.,.,', 'egrammar.ra', 107)
  def _reduce_17(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 18 omitted

module_eval(<<'.,.,', 'egrammar.ra', 111)
  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', 112)
  def _reduce_20(val, _values, result)
     result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
    result
  end
.,.,

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

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

# reduce 23 omitted

module_eval(<<'.,.,', 'egrammar.ra', 123)
  def _reduce_24(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', 134)
  def _reduce_25(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', 145)
  def _reduce_26(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', 152)
  def _reduce_27(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', 161)
  def _reduce_28(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', 183)
  def _reduce_29(val, _values, result)
     result = Factory.RESOURCE_BODY(val[0], val[2])
    result
  end
.,.,

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

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

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

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

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

# reduce 35 omitted

# reduce 36 omitted

# reduce 37 omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 229)
  def _reduce_62(val, _values, result)
     result = val[0].access(val[2]); loc result, val[0], val[4]
    result
  end
.,.,

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

module_eval(<<'.,.,', 'egrammar.ra', 233)
  def _reduce_64(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 65 omitted

module_eval(<<'.,.,', 'egrammar.ra', 237)
  def _reduce_66(val, _values, result)
     result = Factory.HASH_UNFOLDED([val[0]]); loc result, val[0]
    result
  end
.,.,

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

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

# 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

# reduce 84 omitted

# reduce 85 omitted

# reduce 86 omitted

# reduce 87 omitted

# reduce 88 omitted

# reduce 89 omitted

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

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

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 292)
  def _reduce_97(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', 297)
  def _reduce_98(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', 303)
  def _reduce_99(val, _values, result)
     result = val[0]
    result
  end
.,.,

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

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

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

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 350)
  def _reduce_113(val, _values, result)
          result = val[1]
      loc(result, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 357)
  def _reduce_114(val, _values, result)
            result = Factory.IF(val[0], Factory.block_or_expression(val[2], val[1], val[3]), val[4])
        loc(result, val[0], (val[4] ? val[4] : val[3]))

    result
  end
.,.,

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

    result
  end
.,.,

# reduce 116 omitted

module_eval(<<'.,.,', 'egrammar.ra', 369)
  def _reduce_117(val, _values, result)
            result = val[1]
        loc(result, val[0], val[1])

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 373)
  def _reduce_118(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 383)
  def _reduce_120(val, _values, result)
          result = Factory.UNLESS(val[1], Factory.block_or_expression(val[3], val[2], val[4]), val[5])
      loc result, val[0], val[4]

    result
  end
.,.,

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

    result
  end
.,.,

# reduce 122 omitted

module_eval(<<'.,.,', 'egrammar.ra', 397)
  def _reduce_123(val, _values, result)
            result = Factory.block_or_expression(val[2], val[1], val[3])

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

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

    result
  end
.,.,

# reduce 129 omitted

# reduce 130 omitted

# reduce 131 omitted

module_eval(<<'.,.,', 'egrammar.ra', 435)
  def _reduce_132(val, _values, result)
            result = val[1]

    result
  end
.,.,

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

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

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

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

# reduce 140 omitted

# reduce 141 omitted

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

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

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

# reduce 145 omitted

# reduce 146 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 509)
  def _reduce_150(val, _values, result)
          definition = Factory.DEFINITION(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)
      # 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', 521)
  def _reduce_151(val, _values, result)
          # Remove this plan's name from the namestack as all nested plans have been parsed
      namepop
      definition = Factory.PLAN(classname(val[1][:value]), val[2], val[4])
      loc(definition, val[0], val[5])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 530)
  def _reduce_152(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK(val[6]))
      loc result, val[0], val[7]

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 534)
  def _reduce_153(val, _values, result)
          result = Factory.APPLY(val[2], Factory.APPLY_BLOCK([]))
      loc result, val[0], val[6]

    result
  end
.,.,

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

    result
  end
.,.,

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

# reduce 156 omitted

# reduce 157 omitted

# reduce 158 omitted

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

# reduce 160 omitted

# reduce 161 omitted

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

    result
  end
.,.,

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

    result
  end
.,.,

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

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

# reduce 166 omitted

# reduce 167 omitted

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

# reduce 169 omitted

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

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

# reduce 172 omitted

# reduce 173 omitted

# reduce 174 omitted

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

module_eval(<<'.,.,', 'egrammar.ra', 625)
  def _reduce_176(val, _values, result)
          definition = Factory.FUNCTION(val[1][:value], val[2], val[5], val[3])
      loc(definition, val[0], val[6])
      result = add_definition(definition)

    result
  end
.,.,

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

module_eval(<<'.,.,', 'egrammar.ra', 632)
  def _reduce_178(val, _values, result)
     result = val[1].access(val[3]) ; loc result, val[1], val[4]
    result
  end
.,.,

# reduce 179 omitted

# reduce 180 omitted

# reduce 181 omitted

# reduce 182 omitted

module_eval(<<'.,.,', 'egrammar.ra', 642)
  def _reduce_183(val, _values, result)
     error val[0], "'class' keyword not allowed at this location"
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 643)
  def _reduce_184(val, _values, result)
     error val[0], "A quoted string is not valid as a name here"
    result
  end
.,.,

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

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

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

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

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

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

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

# reduce 192 omitted

# reduce 193 omitted

# reduce 194 omitted

# reduce 195 omitted

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 679)
  def _reduce_201(val, _values, result)
     result = val[0].access(val[2]) ; loc result, val[0], val[3]
    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 684)
  def _reduce_202(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], Factory.KEY_ENTRY(val[2], val[3]))
      loc(definition, val[0], val[3])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 689)
  def _reduce_203(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2].access(val[4]))
      loc(definition, val[0], val[5])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 694)
  def _reduce_204(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 699)
  def _reduce_205(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[2])
      result = add_definition(definition)

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 704)
  def _reduce_206(val, _values, result)
          definition = Factory.TYPE_ASSIGNMENT(val[0], val[2])
      loc(definition, val[0], val[4])
      result = add_definition(definition)

    result
  end
.,.,

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

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

    result
  end
.,.,

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

    result
  end
.,.,

module_eval(<<'.,.,', 'egrammar.ra', 730)
  def _reduce_210(val, _values, result)
         fqn = Factory.fqn(val[0][:value])
     loc(fqn, val[0])
     fqn['offset'] += 1
     fqn['length'] -= 1
     result = fqn.var
     loc(result, val[0])

    result
  end
.,.,

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

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

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

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

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

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

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

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

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

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

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

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

# reduce 223 omitted

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

# reduce 225 omitted

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

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

module_eval(<<'.,.,', 'egrammar.ra', 776)
  def _reduce_228(val, _values, result)
     result = Factory.ARGUMENTS(val[0], val[2])
    result
  end
.,.,

# reduce 229 omitted

# reduce 230 omitted

# reduce 231 omitted

# reduce 232 omitted

# reduce 233 omitted

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

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

module_eval(<<'.,.,', 'egrammar.ra', 792)
  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', 793)
  def _reduce_237(val, _values, result)
     result = Factory.literal(val[0][:value]); loc result, val[0]
    result
  end
.,.,

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

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

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

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

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

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

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

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

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

module_eval(<<'.,.,', 'egrammar.ra', 811)
  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', 818)
  def _reduce_250(val, _values, result)
     result = nil
    result
  end
.,.,

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

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

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

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

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

# reduce 256 omitted

# reduce 257 omitted

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

module_eval(<<'.,.,', 'egrammar.ra', 834)
  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', 840)
  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', 869)
  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
