diff --git a/lib/coffee_script/grammar.y b/lib/coffee_script/grammar.y index 857847e5..c2459287 100644 --- a/lib/coffee_script/grammar.y +++ b/lib/coffee_script/grammar.y @@ -121,6 +121,7 @@ rule # Assignment within an object literal. AssignObj: IDENTIFIER ":" Expression { result = AssignNode.new(val[0], val[2], :object) } + | STRING ":" Expression { result = AssignNode.new(val[0], val[2], :object) } | Comment { result = val[0] } ; diff --git a/lib/coffee_script/parser.rb b/lib/coffee_script/parser.rb index 7f093580..afb27f52 100644 --- a/lib/coffee_script/parser.rb +++ b/lib/coffee_script/parser.rb @@ -10,7 +10,7 @@ module CoffeeScript class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 391) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 392) # Lex and parse a CoffeeScript. def parse(code) # Uncomment the following line to enable grammar debugging, in combination @@ -34,53 +34,75 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 391) ##### State transition tables begin ### clist = [ -'11,244,257,128,37,44,51,57,63,2,7,16,21,26,200,206,42,48,56,60,192,220', -'12,22,27,222,204,40,47,121,61,222,5,13,121,128,32,36,121,50,55,62,1', -'6,15,195,128,8,17,43,8,17,32,186,219,232,199,32,249,203,26,32,8,17,-146', -'-146,87,91,205,127,8,17,221,245,258,128,8,17,20,228,30,11,41,215,54', -'37,44,51,57,63,2,7,16,21,26,133,226,42,48,56,60,127,226,12,22,27,8,17', -'40,47,143,61,127,5,13,243,135,32,36,168,50,55,62,1,6,15,234,30,251,41', -'43,54,8,17,136,8,17,149,186,8,17,127,-146,-146,218,135,87,91,94,97,102', -'105,108,110,112,115,84,86,90,20,72,30,11,41,69,54,37,44,51,57,63,2,7', -'16,21,26,8,17,42,48,56,60,215,254,12,22,27,8,17,40,47,150,61,,5,13,87', -'91,32,36,,50,55,62,1,6,15,73,74,-146,-146,43,87,91,94,97,102,105,108', -'110,112,115,84,86,90,93,96,101,104,107,109,111,114,,8,17,,190,8,17,20', -'191,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,8,17,42,48,56,60,,231,12', -'22,27,8,17,40,47,,61,,5,13,-146,-146,32,36,,50,55,62,1,6,15,-146,-146', -'-146,-146,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101', -'104,107,109,111,114,87,91,94,97,102,105,108,20,,30,11,41,,54,37,44,51', -'57,63,2,7,16,21,26,8,17,42,48,56,60,,226,12,22,27,8,17,40,47,,61,,5', -'13,87,91,32,36,,50,55,62,1,6,15,-146,-146,,,43,87,91,94,97,102,105,108', -'110,112,115,84,86,90,93,96,101,104,107,109,111,114,87,91,94,97,102,105', -'108,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12', -'22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,87,91,94,97', -'102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,87,91', -'94,97,102,105,108,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42', -'48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43', -'87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', -'114,8,17,,186,,187,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42', -'48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43', -'87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', -'114,87,91,94,97,102,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26', -',,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15', -',,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', +'11,247,260,129,37,44,51,57,63,2,7,16,21,26,202,208,42,48,56,60,222,223', +'12,22,27,225,122,40,47,218,61,225,5,13,121,129,32,36,194,50,55,62,1', +'6,15,197,129,144,122,43,8,17,206,187,246,235,121,32,231,221,26,87,91', +'94,97,102,105,108,207,128,8,17,224,248,261,129,8,17,20,32,30,11,41,218', +'54,37,44,51,57,63,2,7,16,21,26,134,229,42,48,56,60,128,229,12,22,27', +'8,17,40,47,193,61,128,5,13,150,136,32,36,72,50,55,62,1,6,15,237,30,252', +'41,43,54,8,17,137,8,17,69,187,8,17,128,8,17,205,136,122,151,201,8,17', +'169,191,234,121,,192,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,32,42,48,56,60,,229,12,22,27,8,17,40,47,,61,,5,13,-147,-147,32,36', +',50,55,62,1,6,15,87,91,8,17,43,87,91,94,97,102,105,108,110,112,115,84', +'86,90,93,96,101,104,107,109,111,114,87,91,94,97,102,105,108,20,,30,11', +'41,,54,37,44,51,57,63,2,7,16,21,26,-147,-147,42,48,56,60,,257,12,22', +'27,8,17,40,47,,61,,5,13,8,17,32,36,,50,55,62,1,6,15,73,74,-147,-147', +'43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109', +'111,114,87,91,94,97,102,105,108,20,,30,11,41,,54,37,44,51,57,63,2,7', +'16,21,26,8,17,42,48,56,60,,254,12,22,27,8,17,40,47,,61,,5,13,-147,-147', +'32,36,,50,55,62,1,6,15,87,91,-147,-147,43,87,91,94,97,102,105,108,110', +'112,115,84,86,90,93,96,101,104,107,109,111,114,8,17,,187,,188,,20,,30', +'11,41,,54,37,44,51,57,63,2,7,16,21,26,87,91,42,48,56,60,-147,-147,12', +'22,27,8,17,40,47,,61,,5,13,-147,-147,32,36,,50,55,62,1,6,15,,,,,43,87', +'91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', +'114,87,91,94,97,102,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,', +',42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,', +',,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', '109,111,114,87,91,94,97,102,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16', '21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1', '6,15,,,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104', +'107,109,111,114,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', +'15,,,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104', '107,109,111,114,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26', ',,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15', -',,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,87,91,94,97,102', +',,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', +'109,111,114,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42', +'48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43', +'87,91,94,97,102,105,108,110,112,115,84,86,90,87,91,94,97,102,105,108', +'110,112,115,84,86,90,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', +'15,,,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,87,91,94,97,102', '105,108,110,112,115,84,86,90,8,17,20,,30,11,41,,54,37,44,51,57,63,2', '7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55', -'62,1,6,15,,,,,43,87,91,94,97,102,105,108,110,112,115,84,86,90,87,91', -'94,97,102,105,108,110,112,115,,,,8,17,20,,30,11,41,,54,37,44,51,57,63', -'2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', -'55,62,1,6,15,,,,,43,87,91,94,97,102,105,108,110,112,115,87,91,94,97', -'102,105,108,110,112,115,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7', -'16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62', -'1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51', -'57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36', -',50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54', +'62,1,6,15,,,,,43,87,91,94,97,102,105,108,110,112,115,87,91,94,97,102', +'105,108,110,112,115,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', +'15,,,,,43,87,91,94,97,102,105,108,110,112,115,,,,,,,,,,,,,,,,,,,20,', +'30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,', +'40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,', +',,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,', +',12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,', +',,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42', +'48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43', +',,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16', +'21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1', +'6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57', +'63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,', +'50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54', +'37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5', +'13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30', +'11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40', +'47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,', +',,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12', +'22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48', +'56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,', +',,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', +'15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57', +'63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,', +'50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54', '37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5', '13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30', '11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40', @@ -95,53 +117,27 @@ clist = [ '2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', '55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37', '44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13', -',,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11', -'41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47', -',61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,', -',,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22', -'27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,', -',,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48', -'56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,', -',,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', -'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', -'15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63', -'2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', -'55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54', -'37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5', -'13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30', +',,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30', '11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40', '47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,', -',,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12', -'22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,', -',,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48', -'56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,', -',,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', -'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', -'15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57', -'63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,', -'50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,', -'54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61', -',5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20', -',30,239,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27', -',,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,', -',,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56', -'60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26', +',,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,', +',12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,', +',,,,,,,,,,,,,,,,,,8,17,20,,30,242,41,,54,37,44,51,57,63,2,7,16,21,26', ',,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15', ',,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63', '2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', -'55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54', -'37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5', -'13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20', -',30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,', -',40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,', -',,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56', -'60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,', -',,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26', +'55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37', +'44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13', +',,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30', +'11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40', +'47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,', +',,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,', +',12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,', +',,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26', ',,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15', -',,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2', -'7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55', -'62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37', +',,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,8,17,20,,30,11,41,,54,37,44,51,57,63', +'2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', +'55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37', '44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13', ',,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11', '41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47', @@ -216,73 +212,82 @@ clist = [ '11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40', '47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,', ',,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48,56,60,,,12', -'22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,88,,,98,43,,,,,,,,', -',,,,,,,,,,,,99,,,,,,81,,20,,30,,41,,54,,,,87,91,94,97,102,105,108,110', -'112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103', -'106,,88,113,82,98,,,216,,217,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87', -'91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', -'114,83,85,89,92,95,100,103,106,,,113,82,88,,146,98,,248,,,,,,,,,,,,', -',,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84', +'22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,,,,,,,,,,,,', +',,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21,26,,,42,48', +'56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6,15,,,,,43,', +',,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63,2,7,16,21', +'26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50,55,62,1,6', +'15,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,30,11,41,,54,37,44,51,57,63', +'2,7,16,21,26,,,42,48,56,60,,,12,22,27,,,40,47,,61,,5,13,,,32,36,,50', +'55,62,1,6,15,88,,,98,43,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,20,,30,,41,', +'54,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', +'109,111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,,,251,,,,,,,', +',,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84', '86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,,113', -'82,8,17,88,,146,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91', +'82,,,,219,88,220,147,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87', +'91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', +'114,83,85,89,92,95,100,103,106,,,113,82,8,17,88,,147,98,,,,,,,,,,,,', +',,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84', +'86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,,113', +'82,8,17,88,,147,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91', '94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114', -'83,85,89,92,95,100,103,106,,,113,82,8,17,88,,146,98,,,,,,,,,,,,,,,,', +'83,85,89,92,95,100,103,106,,,113,82,8,17,88,,147,98,,,,,,,,,,,,,,,,', ',,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86', '90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,,113,82', -'8,17,88,,146,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94', +'8,17,88,,147,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94', '97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83', -'85,89,92,95,100,103,106,,,113,82,8,17,88,,146,98,,,,,,,,,,,,,,,,,,,', -',,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90', -'93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,,113,82,8', -'17,88,,,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102', +'85,89,92,95,100,103,106,,,113,82,8,17,88,,,98,,,,,,,,,,,,,,,,,,,,,,99', +',,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96', +'101,104,107,109,111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,', +',,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110', +'112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103', +'106,,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94', +'97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83', +'85,89,92,95,100,103,106,,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81', +',,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104', +'107,109,111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,,,,,,,,,', +',,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115', +'84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,88', +'113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102', '105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89', '92,95,100,103,106,,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,', ',,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', '109,111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,,,,,,,,,,,,,', ',,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86', -'90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,88,113', +'90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,262,88,113', '82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105', '108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95', '100,103,106,,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,', ',87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109', '111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,,,,,,,,,,,,,,,,,', ',,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90', -'93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,,88,113,82', -'98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108', -'110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100', -'103,106,259,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,', -'87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', -'114,83,85,89,92,95,100,103,106,,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99', -',,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96', -'101,104,107,109,111,114,83,85,89,92,95,100,103,106,,88,113,82,98,,,', -',,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110', -'112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103', -'106,262,88,113,82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91', +'93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,265,88,113', +'82,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105', +'108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95', +'100,103,106,88,,,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,,,,,,,,,,,,87,91', '94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114', '83,85,89,92,95,100,103,106,88,,,98,,,,,,,,,,,,,,,,,,,,,,99,,,,,,81,', ',,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104', -'107,109,111,114,83,85,89,92,95,100,103,106,88,,,98,,,,,,,,,,,,,,,,,', -',,,,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86', -'90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,99,,,,,', -'81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101', -'104,107,109,111,114,83,85,89,92,95,100,103,106,99,,,,,,81,,,,,,,,,,', -',87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109', -'111,114,83,85,89,92,95,100,103,106,99,,,,,,81,,,,,,,,,,,,87,91,94,97', -'102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85', -'89,92,95,100,103,106,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110', -'112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103', -'106,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96', -'101,104,107,109,111,114,83,85,89,92,95,100,103,106,81,,,,,,,,,,,,87', +'107,109,111,114,83,85,89,92,95,100,103,106,99,,,,,,81,,,,,,,,,,,,87', +'91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', +'114,83,85,89,92,95,100,103,106,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102', +'105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89', +'92,95,100,103,106,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110', +'112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103', +'106,99,,,,,,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115,84,86', +'90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,81,,,,,', +',,,,,,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', +'109,111,114,83,85,89,92,95,100,103,106,81,,,,,,,,,,,,87,91,94,97,102', +'105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89', +'92,95,100,103,106,81,,,,,,,,,,,,87,91,94,97,102,105,108,110,112,115', +'84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,87', '91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', -'114,83,85,89,92,95,100,103,106,81,,,,,,,,,,,,87,91,94,97,102,105,108', -'110,112,115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100', -'103,106,87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107', -'109,111,114,83,85,89,92,95,100,103,106,87,91,94,97,102,105,108,110,112', -'115,84,86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106', -'87,91,94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111', '114,83,85,89,92,95,100,103,106,87,91,94,97,102,105,108,110,112,115,84', -'86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106' ] - racc_action_table = arr = Array.new(8194, nil) +'86,90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106,87,91', +'94,97,102,105,108,110,112,115,84,86,90,93,96,101,104,107,109,111,114', +'83,85,89,92,95,100,103,106,87,91,94,97,102,105,108,110,112,115,84,86', +'90,93,96,101,104,107,109,111,114,83,85,89,92,95,100,103,106' ] + racc_action_table = arr = Array.new(8352, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -292,287 +297,293 @@ clist = [ end clist = [ -'0,230,252,49,0,0,0,0,0,0,0,0,0,0,140,168,0,0,0,0,121,201,0,0,0,224,148', -'0,0,189,0,202,0,0,190,125,0,0,41,0,0,0,0,0,0,128,126,137,137,0,147,147', -'189,147,200,213,137,190,238,147,48,41,238,238,123,123,166,166,168,49', -'140,140,201,230,252,53,0,0,0,205,0,1,0,213,0,1,1,1,1,1,1,1,1,1,1,53', -'224,1,1,1,1,125,202,1,1,1,202,202,1,1,69,1,126,1,1,228,126,1,1,99,1', -'1,1,1,1,1,213,48,240,48,1,48,240,240,53,197,197,74,197,77,77,53,75,75', -'197,53,173,173,173,173,173,173,173,173,173,173,173,173,173,1,13,1,5', -'1,10,1,5,5,5,5,5,5,5,5,5,5,255,255,5,5,5,5,193,246,5,5,5,246,246,5,5', -'78,5,,5,5,163,163,5,5,,5,5,5,5,5,5,14,14,142,142,5,178,178,178,178,178', -'178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,,119', -'119,,119,24,24,5,119,5,6,5,,5,6,6,6,6,6,6,6,6,6,6,79,79,6,6,6,6,,209', -'6,6,6,209,209,6,6,,6,,6,6,68,68,6,6,,6,6,6,6,6,6,132,132,66,66,6,176', -'176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176', -'176,176,176,179,179,179,179,179,179,179,6,,6,257,6,,6,257,257,257,257', -'257,257,257,257,257,257,237,237,257,257,257,257,,260,257,257,257,260', -'260,257,257,,257,,257,257,171,171,257,257,,257,257,257,257,257,257,138', -'138,,,257,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183', -'183,183,183,183,183,183,181,181,181,181,181,181,181,257,,257,11,257', -',257,11,11,11,11,11,11,11,11,11,11,,,11,11,11,11,,,11,11,11,,,11,11', -',11,,11,11,,,11,11,,11,11,11,11,11,11,,,,,11,161,161,161,161,161,161', -'161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,184,184', -'184,184,184,184,184,11,,11,12,11,,11,12,12,12,12,12,12,12,12,12,12,', -',12,12,12,12,,,12,12,12,,,12,12,,12,,12,12,,,12,12,,12,12,12,12,12,12', -',,,,12,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159', -'159,159,159,159,159,116,116,,116,,116,,12,,12,256,12,,12,256,256,256', -'256,256,256,256,256,256,256,,,256,256,256,256,,,256,256,256,,,256,256', -',256,,256,256,,,256,256,,256,256,256,256,256,256,,,,,256,180,180,180', -'180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180', -'180,177,177,177,177,177,256,256,256,,256,185,256,,256,185,185,185,185', -'185,185,185,185,185,185,,,185,185,185,185,,,185,185,185,,,185,185,,185', -',185,185,,,185,185,,185,185,185,185,185,185,,,,,185,154,154,154,154', -'154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154', -'174,174,174,174,174,,,185,,185,15,185,,185,15,15,15,15,15,15,15,15,15', -'15,,,15,15,15,15,,,15,15,15,,,15,15,,15,,15,15,,,15,15,,15,15,15,15', -'15,15,,,,,15,156,156,156,156,156,156,156,156,156,156,156,156,156,156', -'156,156,156,156,156,156,156,,,,,,,,15,,15,19,15,,15,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,162,162,162,162,162,162,162,162,162,162,162,162', -'162,170,170,170,170,170,170,170,170,170,170,170,170,170,19,19,19,,19', -'20,19,,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,165,165,165,165,165', -'165,165,165,165,165,165,165,165,155,155,155,155,155,155,155,155,155', -'155,,,,20,20,20,,20,136,20,,20,136,136,136,136,136,136,136,136,136,136', -',,136,136,136,136,,,136,136,136,,,136,136,,136,,136,136,,,136,136,,136', -'136,136,136,136,136,,,,,136,157,157,157,157,157,157,157,157,157,157', -'160,160,160,160,160,160,160,160,160,160,,,,,,,,,136,,136,135,136,,136', -'135,135,135,135,135,135,135,135,135,135,,,135,135,135,135,,,135,135', -'135,,,135,135,,135,,135,135,,,135,135,,135,135,135,135,135,135,,,,,135', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,135,,135,30,135,,135,30,30,30,30,30,30,30', -'30,30,30,,,30,30,30,30,,,30,30,30,,,30,30,,30,,30,30,,,30,30,,30,30', -'30,30,30,30,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30,,30,40,30,,30,40,40', -'40,40,40,40,40,40,40,40,,,40,40,40,40,,,40,40,40,,,40,40,,40,,40,40', -',,40,40,,40,40,40,40,40,40,,,,,40,,,,,,,,,,,,,,,,,,,,,,,,,,,,,40,,40', -'247,40,,40,247,247,247,247,247,247,247,247,247,247,,,247,247,247,247', -',,247,247,247,,,247,247,,247,,247,247,,,247,247,,247,247,247,247,247', -'247,,,,,247,,,,,,,,,,,,,,,,,,,,,,,,,,,247,247,247,,247,43,247,,247,43', -'43,43,43,43,43,43,43,43,43,,,43,43,43,43,,,43,43,43,,,43,43,,43,,43', -'43,,,43,43,,43,43,43,43,43,43,,,,,43,,,,,,,,,,,,,,,,,,,,,,,,,,,,,43', -',43,47,43,,43,47,47,47,47,47,47,47,47,47,47,,,47,47,47,47,,,47,47,47', -',,47,47,,47,,47,47,,,47,47,,47,47,47,47,47,47,,,,,47,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,47,,47,244,47,,47,244,244,244,244,244,244,244,244,244,244', -',,244,244,244,244,,,244,244,244,,,244,244,,244,,244,244,,,244,244,,244', -'244,244,244,244,244,,,,,244,,,,,,,,,,,,,,,,,,,,,,,,,,,,,244,,244,243', -'244,,244,243,243,243,243,243,243,243,243,243,243,,,243,243,243,243,', -',243,243,243,,,243,243,,243,,243,243,,,243,243,,243,243,243,243,243', -'243,,,,,243,,,,,,,,,,,,,,,,,,,,,,,,,,,,,243,,243,50,243,,243,50,50,50', -'50,50,50,50,50,50,50,,,50,50,50,50,,,50,50,50,,,50,50,,50,,50,50,,,50', -'50,,50,50,50,50,50,50,,,,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,,50,239', -'50,,50,239,239,239,239,239,239,239,239,239,239,,,239,239,239,239,,,239', -'239,239,,,239,239,,239,,239,239,,,239,239,,239,239,239,239,239,239,', -',,,239,,,,,,,,,,,,,,,,,,,,,,,,,,,,,239,,239,54,239,,239,54,54,54,54', -'54,54,54,54,54,54,,,54,54,54,54,,,54,54,54,,,54,54,,54,,54,54,,,54,54', -',54,54,54,54,54,54,,,,,54,,,,,,,,,,,,,,,,,,,,,,,,,,,54,54,54,,54,55', -'54,,54,55,55,55,55,55,55,55,55,55,55,,,55,55,55,55,,,55,55,55,,,55,55', -',55,,55,55,,,55,55,,55,55,55,55,55,55,,,,,55,,,,,,,,,,,,,,,,,,,,,,,', -',,,,,55,,55,56,55,,55,56,56,56,56,56,56,56,56,56,56,,,56,56,56,56,,', -'56,56,56,,,56,56,,56,,56,56,,,56,56,,56,56,56,56,56,56,,,,,56,,,,,,', -',,,,,,,,,,,,,,,,,,,,,,56,,56,60,56,,56,60,60,60,60,60,60,60,60,60,60', -',,60,60,60,60,,,60,60,60,,,60,60,,60,,60,60,,,60,60,,60,60,60,60,60', -'60,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,60,60,60,,60,61,60,,60,61,61,61', -'61,61,61,61,61,61,61,,,61,61,61,61,,,61,61,61,,,61,61,,61,,61,61,,,61', -'61,,61,61,61,61,61,61,,,,,61,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,,61,62,61', -',61,62,62,62,62,62,62,62,62,62,62,,,62,62,62,62,,,62,62,62,,,62,62,', -'62,,62,62,,,62,62,,62,62,62,62,62,62,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,', -',,,,62,,62,133,62,,62,133,133,133,133,133,133,133,133,133,133,,,133', -'133,133,133,,,133,133,133,,,133,133,,133,,133,133,,,133,133,,133,133', -'133,133,133,133,,,,,133,,,,,,,,,,,,,,,,,,,,,,,,,,,,,133,,133,186,133', -',133,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,232,186,,186,232,232,232', -'232,232,232,232,232,232,232,,,232,232,232,232,,,232,232,232,,,232,232', -',232,,232,232,,,232,232,,232,232,232,232,232,232,,,,,232,,,,,,,,,,,', -',,,,,,,,,,,,,,,232,232,232,,232,188,232,,232,188,188,188,188,188,188', -'188,188,188,188,,,188,188,188,188,,,188,188,188,,,188,188,,188,,188', -'188,,,188,188,,188,188,188,188,188,188,,,,,188,,,,,,,,,,,,,,,,,,,,,', -',,,,,188,188,188,,188,127,188,,188,127,127,127,127,127,127,127,127,127', -'127,,,127,127,127,127,,,127,127,127,,,127,127,,127,,127,127,,,127,127', -',127,127,127,127,127,127,,,,,127,,,,,,,,,,,,,,,,,,,,,,,,,,,,,127,,127', -'222,127,,127,222,222,222,222,222,222,222,222,222,222,,,222,222,222,222', -',,222,222,222,,,222,222,,222,,222,222,,,222,222,,222,222,222,222,222', -'222,,,,,222,,,,,,,,,,,,,,,,,,,,,,,,,,,222,222,222,,222,72,222,,222,72', -'72,72,72,72,72,72,72,72,72,,,72,72,72,72,,,72,72,72,,,72,72,,72,,72', -'72,,,72,72,,72,72,72,72,72,72,,,,,72,,,,,,,,,,,,,,,,,,,,,,,,,,,,,72', -',72,73,72,,72,73,73,73,73,73,73,73,73,73,73,,,73,73,73,73,,,73,73,73', -',,73,73,,73,,73,73,,,73,73,,73,73,73,73,73,73,,,,,73,,,,,,,,,,,,,,,', -',,,,,,,,,,,73,73,73,,73,220,73,,73,220,220,220,220,220,220,220,220,220', -'220,,,220,220,220,220,,,220,220,220,,,220,220,,220,,220,220,,,220,220', -',220,220,220,220,220,220,,,,,220,,,,,,,,,,,,,,,,,,,,,,,,,,,220,220,220', -',220,219,220,,220,219,219,219,219,219,219,219,219,219,219,,,219,219', -'219,219,,,219,219,219,,,219,219,,219,,219,219,,,219,219,,219,219,219', -'219,219,219,,,,,219,,,,,,,,,,,,,,,,,,,,,,,,,,,219,219,219,,219,76,219', -',219,76,76,76,76,76,76,76,76,76,76,,,76,76,76,76,,,76,76,76,,,76,76', -',76,,76,76,,,76,76,,76,76,76,76,76,76,,,,,76,,,,,,,,,,,,,,,,,,,,,,,', -',,,76,76,76,,76,216,76,,76,216,216,216,216,216,216,216,216,216,216,', -',216,216,216,216,,,216,216,216,,,216,216,,216,,216,216,,,216,216,,216', -'216,216,216,216,216,,,,,216,,,,,,,,,,,,,,,,,,,,,,,,,,,,,216,,216,215', -'216,,216,215,215,215,215,215,215,215,215,215,215,,,215,215,215,215,', -',215,215,215,,,215,215,,215,,215,215,,,215,215,,215,215,215,215,215', -'215,,,,,215,,,,,,,,,,,,,,,,,,,,,,,,,,,,,215,,215,144,215,,215,144,144', -'144,144,144,144,144,144,144,144,,,144,144,144,144,,,144,144,144,,,144', -'144,,144,,144,144,,,144,144,,144,144,144,144,144,144,,,,,144,,,,,,,', -',,,,,,,,,,,,,,,,,,,144,144,144,,144,80,144,,144,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,81,80,,80,81,81', -'81,81,81,81,81,81,81,81,,,81,81,81,81,,,81,81,81,,,81,81,,81,,81,81', -',,81,81,,81,81,81,81,81,81,,,,,81,,,,,,,,,,,,,,,,,,,,,,,,,,,,,81,,81', -'82,81,,81,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,82,,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,83,,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,84,,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,85,', -'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,88,86,,86,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,88,,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,89,,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,92,90,,90,92', -'92,92,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,92,,92,,92', -'92,,,92,92,,92,92,92,92,92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,,,,,,,92', -',92,93,92,,92,93,93,93,93,93,93,93,93,93,93,,,93,93,93,93,,,93,93,93', -',,93,93,,93,,93,93,,,93,93,,93,93,93,93,93,93,,,,,93,,,,,,,,,,,,,,,', -',,,,,,,,,,,,,93,,93,94,93,,93,94,94,94,94,94,94,94,94,94,94,,,94,94', -'94,94,,,94,94,94,,,94,94,,94,,94,94,,,94,94,,94,94,94,94,94,94,,,,,94', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,94,,94,95,94,,94,95,95,95,95,95,95,95,95', -'95,95,,,95,95,95,95,,,95,95,95,,,95,95,,95,,95,95,,,95,95,,95,95,95', -'95,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,,95,96,95,,95,96,96,96', -'96,96,96,96,96,96,96,,,96,96,96,96,,,96,96,96,,,96,96,,96,,96,96,,,96', -'96,,96,96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,,96,,96,97,96', -',96,97,97,97,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97,,,97,97,', -'97,,97,97,,,97,97,,97,97,97,97,97,97,,,,,97,,,,,,,,,,,,,,,,,,,,,,,,', -',,,,97,,97,98,97,,97,98,98,98,98,98,98,98,98,98,98,,,98,98,98,98,,,98', -'98,98,,,98,98,,98,,98,98,,,98,98,,98,98,98,98,98,98,,,,,98,,,,,,,,,', -',,,,,,,,,,,,,,,,,,,98,,98,192,98,,98,192,192,192,192,192,192,192,192', -'192,192,,,192,192,192,192,,,192,192,192,,,192,192,,192,,192,192,,,192', -'192,,192,192,192,192,192,192,,,,,192,,,,,,,,,,,,,,,,,,,,,,,,,,,,,192', -',192,100,192,,192,100,100,100,100,100,100,100,100,100,100,,,100,100', -'100,100,,,100,100,100,,,100,100,,100,,100,100,,,100,100,,100,100,100', -'100,100,100,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,,100,101,100,,100', -'101,101,101,101,101,101,101,101,101,101,,,101,101,101,101,,,101,101', -'101,,,101,101,,101,,101,101,,,101,101,,101,101,101,101,101,101,,,,,101', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,101,,101,102,101,,101,102,102,102,102,102', -'102,102,102,102,102,,,102,102,102,102,,,102,102,102,,,102,102,,102,', -'102,102,,,102,102,,102,102,102,102,102,102,,,,,102,,,,,,,,,,,,,,,,,', -',,,,,,,,,,,102,,102,103,102,,102,103,103,103,103,103,103,103,103,103', -'103,,,103,103,103,103,,,103,103,103,,,103,103,,103,,103,103,,,103,103', -',103,103,103,103,103,103,,,,,103,,,,,,,,,,,,,,,,,,,,,,,,,,,,,103,,103', -'104,103,,103,104,104,104,104,104,104,104,104,104,104,,,104,104,104,104', -',,104,104,104,,,104,104,,104,,104,104,,,104,104,,104,104,104,104,104', -'104,,,,,104,,,,,,,,,,,,,,,,,,,,,,,,,,,,,104,,104,105,104,,104,105,105', -'105,105,105,105,105,105,105,105,,,105,105,105,105,,,105,105,105,,,105', -'105,,105,,105,105,,,105,105,,105,105,105,105,105,105,,,,,105,,,,,,,', -',,,,,,,,,,,,,,,,,,,,,105,,105,106,105,,105,106,106,106,106,106,106,106', -'106,106,106,,,106,106,106,106,,,106,106,106,,,106,106,,106,,106,106', -',,106,106,,106,106,106,106,106,106,,,,,106,,,,,,,,,,,,,,,,,,,,,,,,,', -',,,106,,106,107,106,,106,107,107,107,107,107,107,107,107,107,107,,,107', -'107,107,107,,,107,107,107,,,107,107,,107,,107,107,,,107,107,,107,107', -'107,107,107,107,,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,,107,,107,108,107', -',107,108,108,108,108,108,108,108,108,108,108,,,108,108,108,108,,,108', -'108,108,,,108,108,,108,,108,108,,,108,108,,108,108,108,108,108,108,', -',,,108,,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,,108,206,108,,108,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,,,,,,,,,,,', -',,,,,,,,,,,,,,,,,206,,206,110,206,,206,110,110,110,110,110,110,110,110', -'110,110,,,110,110,110,110,,,110,110,110,,,110,110,,110,,110,110,,,110', -'110,,110,110,110,110,110,110,,,,,110,,,,,,,,,,,,,,,,,,,,,,,,,,,,,110', -',110,111,110,,110,111,111,111,111,111,111,111,111,111,111,,,111,111', -'111,111,,,111,111,111,,,111,111,,111,,111,111,,,111,111,,111,111,111', -'111,111,111,,,,,111,,,,,,,,,,,,,,,,,,,,,,,,,,,,,111,,111,112,111,,111', -'112,112,112,112,112,112,112,112,112,112,,,112,112,112,112,,,112,112', -'112,,,112,112,,112,,112,112,,,112,112,,112,112,112,112,112,112,,,,,112', -',,,,,,,,,,,,,,,,,,,,,,,,,,,,112,,112,113,112,,112,113,113,113,113,113', -'113,113,113,113,113,,,113,113,113,113,,,113,113,113,,,113,113,,113,', -'113,113,,,113,113,,113,113,113,113,113,113,,,,,113,,,,,,,,,,,,,,,,,', -',,,,,,,,,,,113,,113,114,113,,113,114,114,114,114,114,114,114,114,114', -'114,,,114,114,114,114,,,114,114,114,,,114,114,,114,,114,114,,,114,114', -',114,114,114,114,114,114,,,,,114,,,,,,,,,,,,,,,,,,,,,,,,,,,,,114,,114', -'115,114,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,,115,109,115,,115,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,194,,,194,109,', -',,,,,,,,,,,,,,,,,,,194,,,,,,194,,109,,109,,109,,109,,,,194,194,194,194', -'194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194', -'194,194,194,194,194,194,194,194,,236,194,194,236,,,194,,194,,,,,,,,', -',,,,,,,,236,,,,,,236,,,,,,,,,,,,236,236,236,236,236,236,236,236,236', -'236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236', -'236,236,236,,,236,236,70,,70,70,,236,,,,,,,,,,,,,,,,,,,,70,,,,,,70,', -',,,,,,,,,,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70', -'70,70,70,70,70,70,70,70,70,,,70,70,70,70,235,,235,235,,,,,,,,,,,,,,', -',,,,,,,235,,,,,,235,,,,,,,,,,,,235,235,235,235,235,235,235,235,235,235', -'235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235', -'235,235,,,235,235,235,235,250,,250,250,,,,,,,,,,,,,,,,,,,,,,250,,,,', -',250,,,,,,,,,,,,250,250,250,250,250,250,250,250,250,250,250,250,250', -'250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,,,250', -'250,250,250,118,,118,118,,,,,,,,,,,,,,,,,,,,,,118,,,,,,118,,,,,,,,,', -',,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118', -'118,118,118,118,118,118,118,118,118,118,118,118,,,118,118,118,118,124', -',124,124,,,,,,,,,,,,,,,,,,,,,,124,,,,,,124,,,,,,,,,,,,124,124,124,124', -'124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124', -'124,124,124,124,124,124,124,124,,,124,124,124,124,117,,,117,,,,,,,,', -',,,,,,,,,,,,,117,,,,,,117,,,,,,,,,,,,117,117,117,117,117,117,117,117', -'117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117', -'117,117,117,117,,229,117,117,229,,,,,,,,,,,,,,,,,,,,,,229,,,,,,229,', -',,,,,,,,,,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229', -'229,229,229,229,229,229,229,229,229,229,229,229,229,229,,212,229,229', -'212,,,,,,,,,,,,,,,,,,,,,,212,,,,,,212,,,,,,,,,,,,212,212,212,212,212', -'212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212', -'212,212,212,212,212,212,212,,208,212,212,208,,,,,,,,,,,,,,,,,,,,,,208', -',,,,,208,,,,,,,,,,,,208,208,208,208,208,208,208,208,208,208,208,208', -'208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208,208', -',29,208,208,29,,,,,,,,,,,,,,,,,,,,,,29,,,,,,29,,,,,,,,,,,,29,29,29,29', -'29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29', -'29,29,,207,29,29,207,,,,,,,,,,,,,,,,,,,,,,207,,,,,,207,,,,,,,,,,,,207', -'207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207,207', -'207,207,207,207,207,207,207,207,207,207,207,,253,207,207,253,,,,,,,', -',,,,,,,,,,,,,,253,,,,,,253,,,,,,,,,,,,253,253,253,253,253,253,253,253', -'253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253', -'253,253,253,253,253,151,253,253,151,,,,,,,,,,,,,,,,,,,,,,151,,,,,,151', -',,,,,,,,,,,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151', -'151,151,151,151,151,151,151,151,151,151,151,151,151,151,,139,151,151', -'139,,,,,,,,,,,,,,,,,,,,,,139,,,,,,139,,,,,,,,,,,,139,139,139,139,139', -'139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139', -'139,139,139,139,139,139,139,,261,139,139,261,,,,,,,,,,,,,,,,,,,,,,261', -',,,,,261,,,,,,,,,,,,261,261,261,261,261,261,261,261,261,261,261,261', -'261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261,261', -'261,198,261,261,198,,,,,,,,,,,,,,,,,,,,,,198,,,,,,198,,,,,,,,,,,,198', -'198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198', -'198,198,198,198,198,198,198,198,198,198,198,182,,,182,,,,,,,,,,,,,,', -',,,,,,,182,,,,,,182,,,,,,,,,,,,182,182,182,182,182,182,182,182,182,182', -'182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182', -'182,182,153,,,153,,,,,,,,,,,,,,,,,,,,,,153,,,,,,153,,,,,,,,,,,,153,153', -'153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153', -'153,153,153,153,153,153,153,153,153,153,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,158,,,,,,158,,,,,,,,,,,,158,158,158,158,158,158,158,158', -'158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158', -'158,158,158,158,196,,,,,,196,,,,,,,,,,,,196,196,196,196,196,196,196', +'0,233,255,126,0,0,0,0,0,0,0,0,0,0,141,169,0,0,0,0,202,203,0,0,0,227', +'41,0,0,195,0,204,0,0,41,49,0,0,122,0,0,0,0,0,0,129,127,69,191,0,199', +'199,149,199,231,216,191,41,207,199,48,182,182,182,182,182,182,182,169', +'126,141,141,203,233,255,53,0,0,0,191,0,1,0,216,0,1,1,1,1,1,1,1,1,1,1', +'53,227,1,1,1,1,49,204,1,1,1,204,204,1,1,121,1,127,1,1,74,127,1,1,13', +'1,1,1,1,1,1,216,48,241,48,1,48,241,241,53,148,148,10,148,138,138,53', +'240,240,148,53,190,78,138,119,119,99,119,211,190,,119,211,211,1,,1,5', +'1,,1,5,5,5,5,5,5,5,5,5,5,,190,5,5,5,5,,263,5,5,5,263,263,5,5,,5,,5,5', +'143,143,5,5,,5,5,5,5,5,5,172,172,77,77,5,179,179,179,179,179,179,179', +'179,179,179,179,179,179,179,179,179,179,179,179,179,179,180,180,180', +'180,180,180,180,5,,5,6,5,,5,6,6,6,6,6,6,6,6,6,6,75,75,6,6,6,6,,249,6', +'6,6,249,249,6,6,,6,,6,6,258,258,6,6,,6,6,6,6,6,6,14,14,139,139,6,160', +'160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160', +'160,160,160,185,185,185,185,185,185,185,6,,6,260,6,,6,260,260,260,260', +'260,260,260,260,260,260,24,24,260,260,260,260,,243,260,260,260,243,243', +'260,260,,260,,260,260,133,133,260,260,,260,260,260,260,260,260,167,167', +'68,68,260,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177', +'177,177,177,177,177,177,116,116,,116,,116,,260,,260,11,260,,260,11,11', +'11,11,11,11,11,11,11,11,164,164,11,11,11,11,66,66,11,11,11,79,79,11', +'11,,11,,11,11,124,124,11,11,,11,11,11,11,11,11,,,,,11,157,157,157,157', +'157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157', +'175,175,175,175,175,,,11,,11,12,11,,11,12,12,12,12,12,12,12,12,12,12', +',,12,12,12,12,,,12,12,12,,,12,12,,12,,12,12,,,12,12,,12,12,12,12,12', +'12,,,,,12,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181', +'181,181,181,181,181,181,178,178,178,178,178,,,12,,12,259,12,,12,259', +'259,259,259,259,259,259,259,259,259,,,259,259,259,259,,,259,259,259', +',,259,259,,259,,259,259,,,259,259,,259,259,259,259,259,259,,,,,259,162', +'162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162', +'162,162,162,,,,,,259,259,259,,259,186,259,,259,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,155,155,155,155,155,155', +'155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,,,,,,,,186', +',186,15,186,,186,15,15,15,15,15,15,15,15,15,15,,,15,15,15,15,,,15,15', +'15,,,15,15,,15,,15,15,,,15,15,,15,15,15,15,15,15,,,,,15,184,184,184', +'184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184', +'184,,,,,,,,15,,15,19,15,,15,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,171', +'171,171,171,171,171,171,171,171,171,171,171,171,163,163,163,163,163', +'163,163,163,163,163,163,163,163,19,19,19,,19,20,19,,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,174,174,174,174,174,174,174,174,174,174,174', +'174,174,166,166,166,166,166,166,166,166,166,166,166,166,166,20,20,20', +',20,187,20,,20,187,187,187,187,187,187,187,187,187,187,,,187,187,187', +'187,,,187,187,187,,,187,187,,187,,187,187,,,187,187,,187,187,187,187', +'187,187,,,,,187,161,161,161,161,161,161,161,161,161,161,156,156,156', +'156,156,156,156,156,156,156,,,,,,,,,187,,187,137,187,,187,137,137,137', +'137,137,137,137,137,137,137,,,137,137,137,137,,,137,137,137,,,137,137', +',137,,137,137,,,137,137,,137,137,137,137,137,137,,,,,137,158,158,158', +'158,158,158,158,158,158,158,,,,,,,,,,,,,,,,,,,137,,137,30,137,,137,30', +'30,30,30,30,30,30,30,30,30,,,30,30,30,30,,,30,30,30,,,30,30,,30,,30', +'30,,,30,30,,30,30,30,30,30,30,,,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30', +',30,40,30,,30,40,40,40,40,40,40,40,40,40,40,,,40,40,40,40,,,40,40,40', +',,40,40,,40,,40,40,,,40,40,,40,40,40,40,40,40,,,,,40,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,40,,40,250,40,,40,250,250,250,250,250,250,250,250,250,250', +',,250,250,250,250,,,250,250,250,,,250,250,,250,,250,250,,,250,250,,250', +'250,250,250,250,250,,,,,250,,,,,,,,,,,,,,,,,,,,,,,,,,,250,250,250,,250', +'43,250,,250,43,43,43,43,43,43,43,43,43,43,,,43,43,43,43,,,43,43,43,', +',43,43,,43,,43,43,,,43,43,,43,43,43,43,43,43,,,,,43,,,,,,,,,,,,,,,,', +',,,,,,,,,,,,43,,43,47,43,,43,47,47,47,47,47,47,47,47,47,47,,,47,47,47', +'47,,,47,47,47,,,47,47,,47,,47,47,,,47,47,,47,47,47,47,47,47,,,,,47,', +',,,,,,,,,,,,,,,,,,,,,,,,,,,47,,47,247,47,,47,247,247,247,247,247,247', +'247,247,247,247,,,247,247,247,247,,,247,247,247,,,247,247,,247,,247', +'247,,,247,247,,247,247,247,247,247,247,,,,,247,,,,,,,,,,,,,,,,,,,,,', +',,,,,,,247,,247,246,247,,247,246,246,246,246,246,246,246,246,246,246', +',,246,246,246,246,,,246,246,246,,,246,246,,246,,246,246,,,246,246,,246', +'246,246,246,246,246,,,,,246,,,,,,,,,,,,,,,,,,,,,,,,,,,,,246,,246,50', +'246,,246,50,50,50,50,50,50,50,50,50,50,,,50,50,50,50,,,50,50,50,,,50', +'50,,50,,50,50,,,50,50,,50,50,50,50,50,50,,,,,50,,,,,,,,,,,,,,,,,,,,', +',,,,,,,,50,,50,242,50,,50,242,242,242,242,242,242,242,242,242,242,,', +'242,242,242,242,,,242,242,242,,,242,242,,242,,242,242,,,242,242,,242', +'242,242,242,242,242,,,,,242,,,,,,,,,,,,,,,,,,,,,,,,,,,,,242,,242,54', +'242,,242,54,54,54,54,54,54,54,54,54,54,,,54,54,54,54,,,54,54,54,,,54', +'54,,54,,54,54,,,54,54,,54,54,54,54,54,54,,,,,54,,,,,,,,,,,,,,,,,,,,', +',,,,,,54,54,54,,54,55,54,,54,55,55,55,55,55,55,55,55,55,55,,,55,55,55', +'55,,,55,55,55,,,55,55,,55,,55,55,,,55,55,,55,55,55,55,55,55,,,,,55,', +',,,,,,,,,,,,,,,,,,,,,,,,,,,55,,55,56,55,,55,56,56,56,56,56,56,56,56', +'56,56,,,56,56,56,56,,,56,56,56,,,56,56,,56,,56,56,,,56,56,,56,56,56', +'56,56,56,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,56,60,56,,56,60,60,60', +'60,60,60,60,60,60,60,,,60,60,60,60,,,60,60,60,,,60,60,,60,,60,60,,,60', +'60,,60,60,60,60,60,60,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,60,60,60,,60', +'61,60,,60,61,61,61,61,61,61,61,61,61,61,,,61,61,61,61,,,61,61,61,,,61', +'61,,61,,61,61,,,61,61,,61,61,61,61,61,61,,,,,61,,,,,,,,,,,,,,,,,,,,', +',,,,,,,,61,,61,62,61,,61,62,62,62,62,62,62,62,62,62,62,,,62,62,62,62', +',,62,62,62,,,62,62,,62,,62,62,,,62,62,,62,62,62,62,62,62,,,,,62,,,,', +',,,,,,,,,,,,,,,,,,,,,,,,62,,62,136,62,,62,136,136,136,136,136,136,136', +'136,136,136,,,136,136,136,136,,,136,136,136,,,136,136,,136,,136,136', +',,136,136,,136,136,136,136,136,136,,,,,136,,,,,,,,,,,,,,,,,,,,,,,,,', +',,,136,,136,134,136,,136,134,134,134,134,134,134,134,134,134,134,,,134', +'134,134,134,,,134,134,134,,,134,134,,134,,134,134,,,134,134,,134,134', +'134,134,134,134,,,,,134,,,,,,,,,,,,,,,,,,,,,,,,,,,,,134,,134,235,134', +',134,235,235,235,235,235,235,235,235,235,235,,,235,235,235,235,,,235', +'235,235,,,235,235,,235,,235,235,,,235,235,,235,235,235,235,235,235,', +',,,235,,,,,,,,,,,,,,,,,,,,,,,,,,,235,235,235,,235,189,235,,235,189,189', +'189,189,189,189,189,189,189,189,,,189,189,189,189,,,189,189,189,,,189', +'189,,189,,189,189,,,189,189,,189,189,189,189,189,189,,,,,189,,,,,,,', +',,,,,,,,,,,,,,,,,,,189,189,189,,189,145,189,,189,145,145,145,145,145', +'145,145,145,145,145,,,145,145,145,145,,,145,145,145,,,145,145,,145,', +'145,145,,,145,145,,145,145,145,145,145,145,,,,,145,,,,,,,,,,,,,,,,,', +',,,,,,,,,145,145,145,,145,225,145,,145,225,225,225,225,225,225,225,225', +'225,225,,,225,225,225,225,,,225,225,225,,,225,225,,225,,225,225,,,225', +'225,,225,225,225,225,225,225,,,,,225,,,,,,,,,,,,,,,,,,,,,,,,,,,225,225', +'225,,225,72,225,,225,72,72,72,72,72,72,72,72,72,72,,,72,72,72,72,,,72', +'72,72,,,72,72,,72,,72,72,,,72,72,,72,72,72,72,72,72,,,,,72,,,,,,,,,', +',,,,,,,,,,,,,,,,,,,72,,72,73,72,,72,73,73,73,73,73,73,73,73,73,73,,', +'73,73,73,73,,,73,73,73,,,73,73,,73,,73,73,,,73,73,,73,73,73,73,73,73', +',,,,73,,,,,,,,,,,,,,,,,,,,,,,,,,,73,73,73,,73,223,73,,73,223,223,223', +'223,223,223,223,223,223,223,,,223,223,223,223,,,223,223,223,,,223,223', +',223,,223,223,,,223,223,,223,223,223,223,223,223,,,,,223,,,,,,,,,,,', +',,,,,,,,,,,,,,,223,223,223,,223,222,223,,223,222,222,222,222,222,222', +'222,222,222,222,,,222,222,222,222,,,222,222,222,,,222,222,,222,,222', +'222,,,222,222,,222,222,222,222,222,222,,,,,222,,,,,,,,,,,,,,,,,,,,,', +',,,,,222,222,222,,222,76,222,,222,76,76,76,76,76,76,76,76,76,76,,,76', +'76,76,76,,,76,76,76,,,76,76,,76,,76,76,,,76,76,,76,76,76,76,76,76,,', +',,76,,,,,,,,,,,,,,,,,,,,,,,,,,,76,76,76,,76,219,76,,76,219,219,219,219', +'219,219,219,219,219,219,,,219,219,219,219,,,219,219,219,,,219,219,,219', +',219,219,,,219,219,,219,219,219,219,219,219,,,,,219,,,,,,,,,,,,,,,,', +',,,,,,,,,,,,219,,219,218,219,,219,218,218,218,218,218,218,218,218,218', +'218,,,218,218,218,218,,,218,218,218,,,218,218,,218,,218,218,,,218,218', +',218,218,218,218,218,218,,,,,218,,,,,,,,,,,,,,,,,,,,,,,,,,,,,218,,218', +'128,218,,218,128,128,128,128,128,128,128,128,128,128,,,128,128,128,128', +',,128,128,128,,,128,128,,128,,128,128,,,128,128,,128,128,128,128,128', +'128,,,,,128,,,,,,,,,,,,,,,,,,,,,,,,,,,,,128,,128,80,128,,128,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,81,80', +',80,81,81,81,81,81,81,81,81,81,81,,,81,81,81,81,,,81,81,81,,,81,81,', +'81,,81,81,,,81,81,,81,81,81,81,81,81,,,,,81,,,,,,,,,,,,,,,,,,,,,,,,', +',,,,81,,81,82,81,,81,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,82,,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,83,,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,84,,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,85,,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,88,86,,86,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,88,,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,89,,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,92,90', +',90,92,92,92,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,92,', +'92,,92,92,,,92,92,,92,92,92,92,92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,,', +',,,,92,,92,93,92,,92,93,93,93,93,93,93,93,93,93,93,,,93,93,93,93,,,93', +'93,93,,,93,93,,93,,93,93,,,93,93,,93,93,93,93,93,93,,,,,93,,,,,,,,,', +',,,,,,,,,,,,,,,,,,,93,,93,94,93,,93,94,94,94,94,94,94,94,94,94,94,,', +'94,94,94,94,,,94,94,94,,,94,94,,94,,94,94,,,94,94,,94,94,94,94,94,94', +',,,,94,,,,,,,,,,,,,,,,,,,,,,,,,,,,,94,,94,95,94,,94,95,95,95,95,95,95', +'95,95,95,95,,,95,95,95,95,,,95,95,95,,,95,95,,95,,95,95,,,95,95,,95', +'95,95,95,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,,95,96,95,,95,96', +'96,96,96,96,96,96,96,96,96,,,96,96,96,96,,,96,96,96,,,96,96,,96,,96', +'96,,,96,96,,96,96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,,96', +',96,97,96,,96,97,97,97,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97', +',,97,97,,97,,97,97,,,97,97,,97,97,97,97,97,97,,,,,97,,,,,,,,,,,,,,,', +',,,,,,,,,,,,,97,,97,98,97,,97,98,98,98,98,98,98,98,98,98,98,,,98,98', +'98,98,,,98,98,98,,,98,98,,98,,98,98,,,98,98,,98,98,98,98,98,98,,,,,98', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,98,,98,193,98,,98,193,193,193,193,193,193', +'193,193,193,193,,,193,193,193,193,,,193,193,193,,,193,193,,193,,193', +'193,,,193,193,,193,193,193,193,193,193,,,,,193,,,,,,,,,,,,,,,,,,,,,', +',,,,,,,193,,193,100,193,,193,100,100,100,100,100,100,100,100,100,100', +',,100,100,100,100,,,100,100,100,,,100,100,,100,,100,100,,,100,100,,100', +'100,100,100,100,100,,,,,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,,100,101', +'100,,100,101,101,101,101,101,101,101,101,101,101,,,101,101,101,101,', +',101,101,101,,,101,101,,101,,101,101,,,101,101,,101,101,101,101,101', +'101,,,,,101,,,,,,,,,,,,,,,,,,,,,,,,,,,,,101,,101,102,101,,101,102,102', +'102,102,102,102,102,102,102,102,,,102,102,102,102,,,102,102,102,,,102', +'102,,102,,102,102,,,102,102,,102,102,102,102,102,102,,,,,102,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,102,,102,103,102,,102,103,103,103,103,103,103,103', +'103,103,103,,,103,103,103,103,,,103,103,103,,,103,103,,103,,103,103', +',,103,103,,103,103,103,103,103,103,,,,,103,,,,,,,,,,,,,,,,,,,,,,,,,', +',,,103,,103,104,103,,103,104,104,104,104,104,104,104,104,104,104,,,104', +'104,104,104,,,104,104,104,,,104,104,,104,,104,104,,,104,104,,104,104', +'104,104,104,104,,,,,104,,,,,,,,,,,,,,,,,,,,,,,,,,,,,104,,104,105,104', +',104,105,105,105,105,105,105,105,105,105,105,,,105,105,105,105,,,105', +'105,105,,,105,105,,105,,105,105,,,105,105,,105,105,105,105,105,105,', +',,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,,105,106,105,,105,106,106,106', +'106,106,106,106,106,106,106,,,106,106,106,106,,,106,106,106,,,106,106', +',106,,106,106,,,106,106,,106,106,106,106,106,106,,,,,106,,,,,,,,,,,', +',,,,,,,,,,,,,,,,,106,,106,107,106,,106,107,107,107,107,107,107,107,107', +'107,107,,,107,107,107,107,,,107,107,107,,,107,107,,107,,107,107,,,107', +'107,,107,107,107,107,107,107,,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,,107', +',107,108,107,,107,108,108,108,108,108,108,108,108,108,108,,,108,108', +'108,108,,,108,108,108,,,108,108,,108,,108,108,,,108,108,,108,108,108', +'108,108,108,,,,,108,,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,,108,109,108,,108', +'109,109,109,109,109,109,109,109,109,109,,,109,109,109,109,,,109,109', +'109,,,109,109,,109,,109,109,,,109,109,,109,109,109,109,109,109,,,,,109', +',,,,,,,,,,,,,,,,,,,,,,,,,,,,109,,109,110,109,,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,208,110,,110,208,208,208,208,208,208,208,208,208', +'208,,,208,208,208,208,,,208,208,208,,,208,208,,208,,208,208,,,208,208', +',208,208,208,208,208,208,,,,,208,,,,,,,,,,,,,,,,,,,,,,,,,,,,,208,,208', +'112,208,,208,112,112,112,112,112,112,112,112,112,112,,,112,112,112,112', +',,112,112,112,,,112,112,,112,,112,112,,,112,112,,112,112,112,112,112', +'112,,,,,112,,,,,,,,,,,,,,,,,,,,,,,,,,,,,112,,112,113,112,,112,113,113', +'113,113,113,113,113,113,113,113,,,113,113,113,113,,,113,113,113,,,113', +'113,,113,,113,113,,,113,113,,113,113,113,113,113,113,,,,,113,,,,,,,', +',,,,,,,,,,,,,,,,,,,,,113,,113,114,113,,113,114,114,114,114,114,114,114', +'114,114,114,,,114,114,114,114,,,114,114,114,,,114,114,,114,,114,114', +',,114,114,,114,114,114,114,114,114,,,,,114,,,,,,,,,,,,,,,,,,,,,,,,,', +',,,114,,114,115,114,,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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,,115,194,115', +',115,194,194,194,194,194,194,194,194,194,194,,,194,194,194,194,,,194', +'194,194,,,194,194,,194,,194,194,,,194,194,,194,194,194,194,194,194,', +',,,194,,,,,,,,,,,,,,,,,,,,,,,,,,,,,194,,194,111,194,,194,111,111,111', +'111,111,111,111,111,111,111,,,111,111,111,111,,,111,111,111,,,111,111', +',111,,111,111,,,111,111,,111,111,111,111,111,111,239,,,239,111,,,,,', +',,,,,,,,,,,,,,,239,,,,,,239,,111,,111,,111,,111,,,,239,239,239,239,239', +'239,239,239,239,239,239,239,239,239,239,239,239,239,239,239,239,239', +'239,239,239,239,239,239,239,,196,239,239,196,,,,,239,,,,,,,,,,,,,,,', +',196,,,,,,196,,,,,,,,,,,,196,196,196,196,196,196,196,196,196,196,196', '196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196', -'196,196,196,196,196,167,,,,,,167,,,,,,,,,,,,167,167,167,167,167,167', -'167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167', -'167,167,167,167,167,167,141,,,,,,,,,,,,141,141,141,141,141,141,141,141', -'141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141', -'141,141,141,141,152,,,,,,,,,,,,152,152,152,152,152,152,152,152,152,152', +'196,,,196,196,,,,196,238,196,238,238,,,,,,,,,,,,,,,,,,,,,,238,,,,,,238', +',,,,,,,,,,,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238', +'238,238,238,238,238,238,238,238,238,238,238,238,238,238,,,238,238,238', +'238,118,,118,118,,,,,,,,,,,,,,,,,,,,,,118,,,,,,118,,,,,,,,,,,,118,118', +'118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118', +'118,118,118,118,118,118,118,118,118,118,,,118,118,118,118,253,,253,253', +',,,,,,,,,,,,,,,,,,,,,253,,,,,,253,,,,,,,,,,,,253,253,253,253,253,253', +'253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253', +'253,253,253,253,253,253,,,253,253,253,253,125,,125,125,,,,,,,,,,,,,', +',,,,,,,,125,,,,,,125,,,,,,,,,,,,125,125,125,125,125,125,125,125,125', +'125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125', +'125,125,125,,,125,125,125,125,70,,70,70,,,,,,,,,,,,,,,,,,,,,,70,,,,', +',70,,,,,,,,,,,,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70', +'70,70,70,70,70,70,70,70,70,70,70,,,70,70,70,70,117,,,117,,,,,,,,,,,', +',,,,,,,,,,117,,,,,,117,,,,,,,,,,,,117,117,117,117,117,117,117,117,117', +'117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117', +'117,117,117,,210,117,117,210,,,,,,,,,,,,,,,,,,,,,,210,,,,,,210,,,,,', +',,,,,,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210', +'210,210,210,210,210,210,210,210,210,210,210,210,210,,232,210,210,232', +',,,,,,,,,,,,,,,,,,,,,232,,,,,,232,,,,,,,,,,,,232,232,232,232,232,232', +'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232', +'232,232,232,232,232,232,,214,232,232,214,,,,,,,,,,,,,,,,,,,,,,214,,', +',,,214,,,,,,,,,,,,214,214,214,214,214,214,214,214,214,214,214,214,214', +'214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,,215', +'214,214,215,,,,,,,,,,,,,,,,,,,,,,215,,,,,,215,,,,,,,,,,,,215,215,215', +'215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215', +'215,215,215,215,215,215,215,215,215,,29,215,215,29,,,,,,,,,,,,,,,,,', +',,,,29,,,,,,29,,,,,,,,,,,,29,29,29,29,29,29,29,29,29,29,29,29,29,29', +'29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,,209,29,29,209,,,,,,,,', +',,,,,,,,,,,,,209,,,,,,209,,,,,,,,,,,,209,209,209,209,209,209,209,209', +'209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209', +'209,209,209,209,,256,209,209,256,,,,,,,,,,,,,,,,,,,,,,256,,,,,,256,', +',,,,,,,,,,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256', +'256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,140,256', +'256,140,,,,,,,,,,,,,,,,,,,,,,140,,,,,,140,,,,,,,,,,,,140,140,140,140', +'140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140', +'140,140,140,140,140,140,140,140,,152,140,140,152,,,,,,,,,,,,,,,,,,,', +',,152,,,,,,152,,,,,,,,,,,,152,152,152,152,152,152,152,152,152,152,152', '152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152', -'152,152,67,,,,,,,,,,,,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67', -'67,67,67,67,67,67,67,67,67,67,67,67,67,169,169,169,169,169,169,169,169', -'169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169', -'169,169,169,169,164,164,164,164,164,164,164,164,164,164,164,164,164', -'164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,175', -'175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175', -'175,175,175,175,175,175,175,175,175,175,175,172,172,172,172,172,172', -'172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172', -'172,172,172,172,172,172' ] - racc_action_check = arr = Array.new(8194, nil) +'152,,264,152,152,264,,,,,,,,,,,,,,,,,,,,,,264,,,,,,264,,,,,,,,,,,,264', +'264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264', +'264,264,264,264,264,264,264,264,264,264,264,264,183,264,264,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,200,,,200,,,,,,,,,,,,,,,,,,,,,,200,,,,,,200,,,,', +',,,,,,,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200', +'200,200,200,200,200,200,200,200,200,200,200,200,200,154,,,154,,,,,,', +',,,,,,,,,,,,,,,154,,,,,,154,,,,,,,,,,,,154,154,154,154,154,154,154,154', +'154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154', +'154,154,154,154,159,,,,,,159,,,,,,,,,,,,159,159,159,159,159,159,159', +'159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159', +'159,159,159,159,159,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,198,,,,', +',198,,,,,,,,,,,,198,198,198,198,198,198,198,198,198,198,198,198,198', +'198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,168', +',,,,,168,,,,,,,,,,,,168,168,168,168,168,168,168,168,168,168,168,168', +'168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168', +'67,,,,,,,,,,,,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67', +'67,67,67,67,67,67,67,67,67,67,67,153,,,,,,,,,,,,153,153,153,153,153', +'153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153', +'153,153,153,153,153,153,153,142,,,,,,,,,,,,142,142,142,142,142,142,142', +'142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142', +'142,142,142,142,142,173,173,173,173,173,173,173,173,173,173,173,173', +'173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173', +'170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170', +'170,170,170,170,170,170,170,170,170,170,170,170,165,165,165,165,165', +'165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165', +'165,165,165,165,165,165,165,176,176,176,176,176,176,176,176,176,176', +'176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176', +'176,176' ] + racc_action_check = arr = Array.new(8352, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -583,155 +594,145 @@ clist = [ racc_action_pointer = [ -2, 79, nil, nil, nil, 160, 241, nil, nil, nil, - 164, 403, 484, 74, 127, 727, nil, nil, nil, 808, - 889, nil, nil, nil, 160, nil, nil, nil, nil, 7111, + 137, 403, 484, 33, 208, 727, nil, nil, nil, 808, + 889, nil, nil, nil, 260, nil, nil, nil, nil, 7269, 1132, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 1213, 23, nil, 1375, nil, nil, nil, 1456, 45, -13, + 1213, 19, nil, 1375, nil, nil, nil, 1456, 45, 19, 1699, nil, nil, 59, 1861, 1942, 2023, nil, nil, nil, - 2104, 2185, 2266, nil, nil, nil, 245, 8004, 232, 110, - 6429, 7740, 2833, 2914, 119, 97, 3157, 61, 117, 179, + 2104, 2185, 2266, nil, nil, nil, 380, 8080, 326, 47, + 6826, 7945, 2833, 2914, 97, 212, 3157, 131, 73, 352, 3481, 3562, 3643, 3724, 3805, 3886, 3967, nil, 4048, 4129, - 4210, nil, 4291, 4372, 4453, 4534, 4615, 4696, 4777, 104, - 4939, 5020, 5101, 5182, 5263, 5344, 5425, 5506, 5587, 6235, - 5749, 5830, 5911, 5992, 6073, 6154, 479, 6819, 6663, 156, - nil, -55, nil, 19, 6741, 19, 30, 2671, 30, nil, - nil, nil, 243, 2347, nil, 1051, 970, -31, 324, 7403, - -8, 7922, 164, nil, 3400, nil, nil, -28, -48, nil, - nil, 7330, 7963, 7693, 653, 909, 734, 977, 7787, 491, - 987, 410, 815, 151, 8062, 896, 21, 7881, -13, 8033, - 828, 313, 8120, 101, 674, 8091, 248, 593, 167, 269, - 572, 350, 7621, 329, 431, 646, 2428, nil, 2590, 14, - 19, nil, 4858, 151, 6280, nil, 7834, 57, 7549, nil, - 39, -2, 28, nil, nil, 64, 5668, 7184, 7038, 190, - nil, nil, 6965, 52, nil, 3319, 3238, nil, nil, 3076, - 2995, nil, 2752, nil, 22, nil, nil, nil, 87, 6892, - -1, nil, 2509, nil, nil, 6507, 6353, 260, -16, 1780, - 54, nil, nil, 1618, 1537, nil, 109, 1294, nil, nil, - 6585, nil, 0, 7257, nil, 98, 565, 322, nil, nil, - 271, 7476, nil ] + 4210, nil, 4291, 4372, 4453, 4534, 4615, 4696, 4777, 136, + 4939, 5020, 5101, 5182, 5263, 5344, 5425, 5506, 5587, 5668, + 5749, 6316, 5911, 5992, 6073, 6154, 317, 6904, 6592, 71, + nil, 35, -37, nil, 394, 6748, -13, 30, 3400, 30, + nil, nil, nil, 313, 2428, nil, 2347, 1051, 61, 245, + 7488, -8, 8162, 151, nil, 2671, nil, nil, 57, -22, + nil, nil, 7561, 8121, 7851, 653, 987, 410, 1058, 7898, + 248, 977, 572, 828, 374, 8249, 909, 324, 8039, -13, + 8220, 815, 162, 8191, 896, 431, 8278, 329, 512, 167, + 188, 491, 16, 7707, 734, 269, 646, 970, nil, 2590, + 139, 41, nil, 4858, 6235, -2, 6434, nil, 7992, -28, + 7779, nil, 5, -2, 28, nil, nil, 43, 5830, 7342, + 6977, 79, nil, nil, 7123, 7196, 52, nil, 3319, 3238, + nil, nil, 3076, 2995, nil, 2752, nil, 22, nil, nil, + nil, 26, 7050, -1, nil, 2509, nil, nil, 6514, 6361, + 64, 54, 1780, 271, nil, nil, 1618, 1537, nil, 190, + 1294, nil, nil, 6670, nil, 0, 7415, nil, 199, 565, + 322, nil, nil, 109, 7634, nil ] racc_action_default = [ - -1, -146, -37, -14, -111, -146, -146, -38, -25, -15, - -146, -146, -146, -146, -146, -146, -39, -26, -16, -2, - -89, -40, -33, -17, -3, -94, -93, -34, -18, -4, - -116, -95, -45, -19, -8, -96, -31, -29, -20, -9, - -146, -105, -91, -146, -30, -21, -10, -146, -146, -109, - -146, -32, -22, -11, -146, -146, -146, -35, -23, -12, - -146, -146, -146, -36, -24, -13, -50, -85, -52, -146, - -146, -124, -116, -89, -146, -51, -146, -7, -146, -90, - -6, -146, -146, -146, -146, -146, -146, -54, -146, -146, - -146, -53, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -117, -146, -146, - -106, -146, -43, -48, -146, -110, -146, -146, -146, -98, - -100, -101, -49, -146, -97, -116, -146, -146, -46, -44, - -122, -84, -47, 263, -146, -28, -27, -146, -146, -92, - -88, -5, -86, -83, -74, -63, -75, -64, -144, -76, - -65, -77, -66, -55, -78, -67, -56, -145, -146, -79, - -68, -57, -80, -69, -58, -81, -70, -59, -71, -60, - -72, -61, -82, -73, -62, -146, -146, -115, -146, -146, - -146, -104, -146, -146, -146, -99, -112, -146, -41, -125, - -146, -146, -146, -114, -87, -146, -146, -119, -118, -146, - -108, -107, -42, -146, -133, -146, -146, -102, -113, -146, - -146, -120, -146, -137, -146, -141, -139, -143, -146, -146, - -8, -126, -146, -134, -131, -146, -146, -123, -146, -146, - -146, -138, -142, -146, -146, -127, -146, -146, -103, -121, - -146, -140, -8, -146, -132, -135, -146, -146, -128, -129, - -136, -146, -130 ] + -1, -147, -37, -14, -112, -147, -147, -38, -25, -15, + -147, -147, -147, -147, -147, -147, -39, -26, -16, -2, + -90, -40, -33, -17, -3, -95, -94, -34, -18, -4, + -117, -96, -46, -19, -8, -97, -31, -29, -20, -9, + -147, -106, -92, -147, -30, -21, -10, -147, -147, -110, + -147, -32, -22, -11, -147, -147, -147, -35, -23, -12, + -147, -147, -147, -36, -24, -13, -51, -86, -53, -147, + -147, -125, -117, -90, -147, -52, -147, -7, -147, -91, + -6, -147, -147, -147, -147, -147, -147, -55, -147, -147, + -147, -54, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, + -147, -147, -147, -147, -147, -147, -147, -118, -147, -147, + -107, -147, -147, -44, -49, -147, -111, -147, -147, -147, + -99, -101, -102, -50, -147, -98, -117, -147, -147, -47, + -45, -123, -85, -48, 266, -147, -28, -27, -147, -147, + -93, -89, -5, -87, -84, -75, -64, -76, -65, -145, + -77, -66, -78, -67, -56, -79, -68, -57, -146, -147, + -80, -69, -58, -81, -70, -59, -82, -71, -60, -72, + -61, -73, -62, -83, -74, -63, -147, -147, -116, -147, + -147, -147, -105, -147, -147, -147, -147, -100, -113, -147, + -41, -126, -147, -147, -147, -115, -88, -147, -147, -120, + -119, -147, -109, -108, -42, -43, -147, -134, -147, -147, + -103, -114, -147, -147, -121, -147, -138, -147, -142, -140, + -144, -147, -147, -8, -127, -147, -135, -132, -147, -147, + -124, -147, -147, -147, -139, -143, -147, -147, -128, -147, + -147, -104, -122, -147, -141, -8, -147, -133, -136, -147, + -147, -129, -130, -137, -147, -131 ] racc_goto_table = [ - 19, 66, 122, 144, 120, 67, 68, 78, 230, 214, - 10, 70, 71, 119, 134, 75, 125, 116, 201, 213, - 126, 241, 242, nil, 80, nil, nil, nil, nil, 233, + 19, 66, 123, 233, 120, 67, 68, 78, 217, 145, + 10, 70, 71, 119, 126, 75, 116, 135, 203, 216, + 127, 244, 245, nil, 80, nil, nil, nil, nil, 236, 117, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 118, nil, nil, 123, nil, 252, nil, 124, nil, nil, - 132, 188, nil, nil, nil, 138, 139, 193, nil, 147, - 148, 141, 142, nil, nil, nil, nil, nil, nil, nil, - 145, nil, 117, nil, nil, nil, nil, 80, nil, 80, - 151, 152, 153, 154, 155, 156, 157, 134, 158, 159, - 160, nil, 161, 162, 163, 164, 165, 166, 167, nil, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, nil, 145, 189, - nil, 24, 197, nil, 145, nil, nil, 194, nil, nil, - nil, nil, nil, 196, nil, 117, 198, 80, nil, nil, - 80, 79, nil, nil, nil, nil, nil, 185, nil, nil, - 122, 122, 210, 211, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 247, nil, - nil, nil, nil, nil, nil, 137, nil, nil, nil, nil, - nil, 140, nil, 256, nil, 207, 208, nil, nil, nil, - nil, nil, 212, nil, 79, nil, nil, 185, nil, nil, - nil, nil, 80, nil, nil, nil, 229, nil, nil, 80, - nil, nil, nil, nil, nil, 235, 236, nil, nil, nil, + 118, 255, nil, 124, nil, nil, nil, 125, nil, nil, + 133, nil, nil, nil, nil, 139, 140, 189, 148, nil, + 149, 142, 143, nil, 195, nil, nil, 24, nil, nil, + 146, nil, 117, nil, nil, nil, nil, 80, nil, 80, + 152, 153, 154, 155, 156, 157, 158, 79, 159, 160, + 161, 135, 162, 163, 164, 165, 166, 167, 168, nil, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, nil, 146, 190, + nil, 138, 199, nil, nil, 146, nil, 141, 196, nil, + nil, nil, nil, nil, 198, nil, 117, 200, 80, nil, + 79, 80, nil, nil, nil, nil, nil, nil, 186, nil, + nil, 123, 123, 212, 213, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 145, nil, 80, 80, 250, - 80, nil, nil, 229, 253, nil, 80, nil, nil, nil, - 145, nil, nil, nil, nil, 80, nil, 261, nil, nil, - 80, nil, nil, nil, nil, 202, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 250, nil, nil, + nil, nil, nil, nil, nil, nil, 209, 210, nil, nil, + nil, nil, 259, 214, 215, nil, nil, nil, nil, 186, + nil, nil, nil, nil, 80, nil, nil, nil, 232, nil, + nil, 80, 204, nil, nil, nil, nil, nil, 238, 239, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 146, nil, + 80, 80, 253, 80, nil, nil, 232, 256, nil, 80, + nil, nil, nil, 146, nil, nil, 211, nil, 80, nil, + 264, nil, nil, 80, 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, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 209, - 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, nil, nil, nil, nil, - 237, 238, nil, 240, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 246, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 255, nil, - nil, nil, nil, nil, nil, nil, nil, 260 ] + nil, nil, nil, nil, nil, nil, nil, nil, nil, 240, + 241, nil, 243, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 249, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 258, nil, nil, + nil, nil, nil, nil, nil, nil, 263 ] racc_goto_check = [ - 2, 4, 21, 22, 23, 4, 4, 25, 5, 38, - 1, 4, 4, 33, 29, 4, 30, 35, 36, 37, + 2, 4, 21, 5, 23, 4, 4, 25, 38, 22, + 1, 4, 4, 33, 30, 4, 35, 29, 36, 37, 8, 39, 41, nil, 2, nil, nil, nil, nil, 38, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 4, nil, nil, 4, nil, 5, nil, 4, nil, nil, - 4, 22, nil, nil, nil, 4, 4, 22, nil, 35, - 25, 4, 4, nil, nil, nil, nil, nil, nil, nil, + 4, 5, nil, 4, nil, nil, nil, 4, nil, nil, + 4, nil, nil, nil, nil, 4, 4, 22, 35, nil, + 25, 4, 4, nil, 22, nil, nil, 3, nil, nil, 2, nil, 4, nil, nil, nil, nil, 2, nil, 2, - 4, 4, 4, 4, 4, 4, 4, 29, 4, 4, - 4, nil, 4, 4, 4, 4, 4, 4, 4, nil, + 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, + 4, 29, 4, 4, 4, 4, 4, 4, 4, nil, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, nil, 2, 2, - nil, 3, 35, nil, 2, nil, nil, 4, nil, nil, - nil, nil, nil, 4, nil, 4, 4, 2, nil, nil, - 2, 3, nil, nil, nil, nil, nil, 2, nil, nil, - 21, 21, 23, 23, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 22, nil, - nil, nil, nil, nil, nil, 3, nil, nil, nil, nil, - nil, 3, nil, 22, nil, 4, 4, nil, nil, nil, - nil, nil, 4, nil, 3, nil, nil, 2, nil, nil, - nil, nil, 2, nil, nil, nil, 4, nil, nil, 2, - nil, nil, nil, nil, nil, 4, 4, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 2, nil, 2, 2, 4, - 2, nil, nil, 4, 4, nil, 2, nil, nil, nil, - 2, nil, nil, nil, nil, 2, nil, 4, nil, nil, - 2, nil, nil, nil, nil, 3, nil, nil, nil, nil, + nil, 3, 35, nil, nil, 2, nil, 3, 4, nil, + nil, nil, nil, nil, 4, nil, 4, 4, 2, nil, + 3, 2, nil, nil, nil, nil, nil, nil, 2, nil, + nil, 21, 21, 23, 23, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 22, nil, nil, + nil, nil, nil, nil, nil, nil, 4, 4, nil, nil, + nil, nil, 22, 4, 4, nil, nil, nil, nil, 2, + nil, nil, nil, nil, 2, nil, nil, nil, 4, nil, + nil, 2, 3, nil, nil, nil, nil, nil, 4, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 2, nil, + 2, 2, 4, 2, nil, nil, 4, 4, nil, 2, + nil, nil, nil, 2, nil, nil, 3, nil, 2, nil, + 4, nil, nil, 2, 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, 3, - 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, nil, nil, nil, nil, - 3, 3, nil, 3, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 3, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 3, nil, - nil, nil, nil, nil, nil, nil, nil, 3 ] + 3, nil, 3, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 3, nil, nil, + nil, nil, nil, nil, nil, nil, 3 ] racc_goto_pointer = [ - nil, 10, 0, 121, 0, -198, nil, nil, -28, nil, + nil, 10, 0, 67, 0, -205, nil, nil, -28, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, -39, -67, -37, nil, -13, nil, nil, nil, -39, - -32, nil, nil, -28, nil, -13, -122, -174, -184, -203, - nil, -202, nil ] + nil, -39, -61, -37, nil, -13, nil, nil, nil, -36, + -34, nil, nil, -28, nil, -14, -123, -176, -187, -206, + nil, -205, nil ] racc_goto_default = [ nil, nil, 76, 77, 29, 34, 39, 46, 53, 59, 65, 3, 9, 18, 23, 28, 33, 38, 45, 52, - 58, 64, nil, nil, 14, nil, 25, 31, 35, 129, - 49, 130, 131, nil, 4, nil, nil, nil, nil, 223, - 224, 225, 227 ] + 58, 64, nil, nil, 14, nil, 25, 31, 35, 130, + 49, 131, 132, nil, 4, nil, nil, nil, nil, 226, + 227, 228, 230 ] racc_reduce_table = [ 0, 0, :racc_error, @@ -777,10 +778,10 @@ racc_reduce_table = [ 1, 95, :_reduce_40, 3, 100, :_reduce_41, 3, 111, :_reduce_42, - 1, 111, :_reduce_43, - 2, 104, :_reduce_44, - 1, 109, :_reduce_45, - 2, 99, :_reduce_46, + 3, 111, :_reduce_43, + 1, 111, :_reduce_44, + 2, 104, :_reduce_45, + 1, 109, :_reduce_46, 2, 99, :_reduce_47, 2, 99, :_reduce_48, 2, 99, :_reduce_49, @@ -789,7 +790,7 @@ racc_reduce_table = [ 2, 99, :_reduce_52, 2, 99, :_reduce_53, 2, 99, :_reduce_54, - 3, 99, :_reduce_55, + 2, 99, :_reduce_55, 3, 99, :_reduce_56, 3, 99, :_reduce_57, 3, 99, :_reduce_58, @@ -818,72 +819,73 @@ racc_reduce_table = [ 3, 99, :_reduce_81, 3, 99, :_reduce_82, 3, 99, :_reduce_83, - 2, 99, :_reduce_84, + 3, 99, :_reduce_84, 2, 99, :_reduce_85, - 3, 99, :_reduce_86, - 4, 98, :_reduce_87, - 3, 98, :_reduce_88, - 0, 113, :_reduce_89, - 1, 113, :_reduce_90, - 1, 112, :_reduce_91, - 3, 112, :_reduce_92, - 1, 96, :_reduce_93, + 2, 99, :_reduce_86, + 3, 99, :_reduce_87, + 4, 98, :_reduce_88, + 3, 98, :_reduce_89, + 0, 113, :_reduce_90, + 1, 113, :_reduce_91, + 1, 112, :_reduce_92, + 3, 112, :_reduce_93, 1, 96, :_reduce_94, 1, 96, :_reduce_95, 1, 96, :_reduce_96, - 2, 96, :_reduce_97, + 1, 96, :_reduce_97, 2, 96, :_reduce_98, - 2, 117, :_reduce_99, - 1, 117, :_reduce_100, + 2, 96, :_reduce_99, + 2, 117, :_reduce_100, 1, 117, :_reduce_101, - 3, 119, :_reduce_102, - 5, 120, :_reduce_103, - 3, 115, :_reduce_104, - 0, 121, :_reduce_105, - 1, 121, :_reduce_106, - 3, 121, :_reduce_107, + 1, 117, :_reduce_102, + 3, 119, :_reduce_103, + 5, 120, :_reduce_104, + 3, 115, :_reduce_105, + 0, 121, :_reduce_106, + 1, 121, :_reduce_107, 3, 121, :_reduce_108, - 1, 97, :_reduce_109, - 2, 97, :_reduce_110, - 1, 97, :_reduce_111, - 3, 108, :_reduce_112, - 4, 118, :_reduce_113, - 4, 122, :_reduce_114, - 3, 114, :_reduce_115, - 0, 123, :_reduce_116, - 1, 123, :_reduce_117, - 3, 123, :_reduce_118, + 3, 121, :_reduce_109, + 1, 97, :_reduce_110, + 2, 97, :_reduce_111, + 1, 97, :_reduce_112, + 3, 108, :_reduce_113, + 4, 118, :_reduce_114, + 4, 122, :_reduce_115, + 3, 114, :_reduce_116, + 0, 123, :_reduce_117, + 1, 123, :_reduce_118, 3, 123, :_reduce_119, - 4, 102, :_reduce_120, - 6, 102, :_reduce_121, - 0, 124, :_reduce_122, - 3, 124, :_reduce_123, - 2, 103, :_reduce_124, - 3, 116, :_reduce_125, - 5, 105, :_reduce_126, - 6, 106, :_reduce_127, - 8, 106, :_reduce_128, + 3, 123, :_reduce_120, + 4, 102, :_reduce_121, + 6, 102, :_reduce_122, + 0, 124, :_reduce_123, + 3, 124, :_reduce_124, + 2, 103, :_reduce_125, + 3, 116, :_reduce_126, + 5, 105, :_reduce_127, + 6, 106, :_reduce_128, 8, 106, :_reduce_129, - 10, 106, :_reduce_130, - 5, 107, :_reduce_131, - 7, 107, :_reduce_132, - 1, 125, :_reduce_133, - 2, 125, :_reduce_134, - 4, 126, :_reduce_135, - 5, 127, :_reduce_136, - 1, 128, :_reduce_137, - 2, 128, :_reduce_138, - 1, 129, :_reduce_139, - 3, 129, :_reduce_140, - 1, 130, :_reduce_141, - 2, 130, :_reduce_142, - 5, 101, :_reduce_143, - 3, 101, :_reduce_144, - 3, 101, :_reduce_145 ] + 8, 106, :_reduce_130, + 10, 106, :_reduce_131, + 5, 107, :_reduce_132, + 7, 107, :_reduce_133, + 1, 125, :_reduce_134, + 2, 125, :_reduce_135, + 4, 126, :_reduce_136, + 5, 127, :_reduce_137, + 1, 128, :_reduce_138, + 2, 128, :_reduce_139, + 1, 129, :_reduce_140, + 3, 129, :_reduce_141, + 1, 130, :_reduce_142, + 2, 130, :_reduce_143, + 5, 101, :_reduce_144, + 3, 101, :_reduce_145, + 3, 101, :_reduce_146 ] -racc_reduce_n = 146 +racc_reduce_n = 147 -racc_shift_n = 263 +racc_shift_n = 266 racc_token_table = { false => 0, @@ -1325,28 +1327,28 @@ module_eval(<<'.,.,', 'grammar.y', 122) module_eval(<<'.,.,', 'grammar.y', 123) def _reduce_43(val, _values, result) + result = AssignNode.new(val[0], val[2], :object) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 124) + def _reduce_44(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 128) - def _reduce_44(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 129) + def _reduce_45(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 133) - def _reduce_45(val, _values, result) - result = CommentNode.new(val[0]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 140) +module_eval(<<'.,.,', 'grammar.y', 134) def _reduce_46(val, _values, result) - result = OpNode.new(val[0], val[1]) + result = CommentNode.new(val[0]) result end .,., @@ -1395,7 +1397,7 @@ module_eval(<<'.,.,', 'grammar.y', 146) module_eval(<<'.,.,', 'grammar.y', 147) def _reduce_53(val, _values, result) - result = OpNode.new(val[1], val[0], nil, true) + result = OpNode.new(val[0], val[1]) result end .,., @@ -1407,9 +1409,9 @@ module_eval(<<'.,.,', 'grammar.y', 148) end .,., -module_eval(<<'.,.,', 'grammar.y', 150) +module_eval(<<'.,.,', 'grammar.y', 149) def _reduce_55(val, _values, result) - result = OpNode.new(val[1], val[0], val[2]) + result = OpNode.new(val[1], val[0], nil, true) result end .,., @@ -1428,7 +1430,7 @@ module_eval(<<'.,.,', 'grammar.y', 152) end .,., -module_eval(<<'.,.,', 'grammar.y', 154) +module_eval(<<'.,.,', 'grammar.y', 153) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1442,7 +1444,7 @@ module_eval(<<'.,.,', 'grammar.y', 155) end .,., -module_eval(<<'.,.,', 'grammar.y', 157) +module_eval(<<'.,.,', 'grammar.y', 156) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1463,7 +1465,7 @@ module_eval(<<'.,.,', 'grammar.y', 159) end .,., -module_eval(<<'.,.,', 'grammar.y', 161) +module_eval(<<'.,.,', 'grammar.y', 160) def _reduce_63(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1484,7 +1486,7 @@ module_eval(<<'.,.,', 'grammar.y', 163) end .,., -module_eval(<<'.,.,', 'grammar.y', 165) +module_eval(<<'.,.,', 'grammar.y', 164) def _reduce_66(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1512,7 +1514,7 @@ module_eval(<<'.,.,', 'grammar.y', 168) end .,., -module_eval(<<'.,.,', 'grammar.y', 170) +module_eval(<<'.,.,', 'grammar.y', 169) def _reduce_70(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1540,7 +1542,7 @@ module_eval(<<'.,.,', 'grammar.y', 173) end .,., -module_eval(<<'.,.,', 'grammar.y', 175) +module_eval(<<'.,.,', 'grammar.y', 174) def _reduce_74(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1568,7 +1570,7 @@ module_eval(<<'.,.,', 'grammar.y', 178) end .,., -module_eval(<<'.,.,', 'grammar.y', 180) +module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_78(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result @@ -1610,9 +1612,9 @@ module_eval(<<'.,.,', 'grammar.y', 185) end .,., -module_eval(<<'.,.,', 'grammar.y', 187) +module_eval(<<'.,.,', 'grammar.y', 186) def _reduce_84(val, _values, result) - result = OpNode.new(val[0], val[1]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., @@ -1626,56 +1628,56 @@ module_eval(<<'.,.,', 'grammar.y', 188) module_eval(<<'.,.,', 'grammar.y', 189) def _reduce_86(val, _values, result) - result = OpNode.new(val[1], val[0], val[2]) + result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 194) +module_eval(<<'.,.,', 'grammar.y', 190) def _reduce_87(val, _values, result) - result = CodeNode.new(val[0], val[2]) + result = OpNode.new(val[1], val[0], val[2]) result end .,., module_eval(<<'.,.,', 'grammar.y', 195) def _reduce_88(val, _values, result) - result = CodeNode.new([], val[1]) + result = CodeNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 200) +module_eval(<<'.,.,', 'grammar.y', 196) def _reduce_89(val, _values, result) - result = Expressions.new([]) + result = CodeNode.new([], val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 201) def _reduce_90(val, _values, result) - result = val[0] + result = Expressions.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 206) +module_eval(<<'.,.,', 'grammar.y', 202) def _reduce_91(val, _values, result) - result = val + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_92(val, _values, result) - result = val[0] << val[2] + result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 212) +module_eval(<<'.,.,', 'grammar.y', 208) def _reduce_93(val, _values, result) - result = ValueNode.new(val[0]) + result = val[0] << val[2] result end .,., @@ -1703,28 +1705,28 @@ module_eval(<<'.,.,', 'grammar.y', 215) module_eval(<<'.,.,', 'grammar.y', 216) def _reduce_97(val, _values, result) - result = val[0] << val[1] + result = ValueNode.new(val[0]) result end .,., module_eval(<<'.,.,', 'grammar.y', 217) def _reduce_98(val, _values, result) - result = ValueNode.new(val[0], [val[1]]) + result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 222) +module_eval(<<'.,.,', 'grammar.y', 218) def _reduce_99(val, _values, result) - result = AccessorNode.new(val[1]) + result = ValueNode.new(val[0], [val[1]]) result end .,., module_eval(<<'.,.,', 'grammar.y', 223) def _reduce_100(val, _values, result) - result = val[0] + result = AccessorNode.new(val[1]) result end .,., @@ -1736,44 +1738,44 @@ module_eval(<<'.,.,', 'grammar.y', 224) end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +module_eval(<<'.,.,', 'grammar.y', 225) def _reduce_102(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 230) + def _reduce_103(val, _values, result) result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 234) - def _reduce_103(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 235) + def _reduce_104(val, _values, result) result = SliceNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 239) - def _reduce_104(val, _values, result) - result = ObjectNode.new(val[1]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 244) +module_eval(<<'.,.,', 'grammar.y', 240) def _reduce_105(val, _values, result) - result = [] + result = ObjectNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 245) def _reduce_106(val, _values, result) - result = val + result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 246) def _reduce_107(val, _values, result) - result = val[0] << val[2] + result = val result end .,., @@ -1785,72 +1787,72 @@ module_eval(<<'.,.,', 'grammar.y', 247) end .,., -module_eval(<<'.,.,', 'grammar.y', 252) +module_eval(<<'.,.,', 'grammar.y', 248) def _reduce_109(val, _values, result) - result = val[0] + result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'grammar.y', 253) def _reduce_110(val, _values, result) - result = val[1].new_instance + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 254) def _reduce_111(val, _values, result) + result = val[1].new_instance + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 255) + def _reduce_112(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 259) - def _reduce_112(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 260) + def _reduce_113(val, _values, result) result = ExtendsNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 264) - def _reduce_113(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 265) + def _reduce_114(val, _values, result) result = CallNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 269) - def _reduce_114(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 270) + def _reduce_115(val, _values, result) result = CallNode.new(:super, val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 274) - def _reduce_115(val, _values, result) - result = ArrayNode.new(val[1]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 279) +module_eval(<<'.,.,', 'grammar.y', 275) def _reduce_116(val, _values, result) - result = [] + result = ArrayNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 280) def _reduce_117(val, _values, result) - result = val + result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 281) def _reduce_118(val, _values, result) - result = val[0] << val[2] + result = val result end .,., @@ -1862,183 +1864,190 @@ module_eval(<<'.,.,', 'grammar.y', 282) end .,., -module_eval(<<'.,.,', 'grammar.y', 287) +module_eval(<<'.,.,', 'grammar.y', 283) def _reduce_120(val, _values, result) + result = val[0] << val[2] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 288) + def _reduce_121(val, _values, result) result = TryNode.new(val[1], val[2][0], val[2][1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 289) - def _reduce_121(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 294) +module_eval(<<'.,.,', 'grammar.y', 290) def _reduce_122(val, _values, result) - result = [nil, nil] + result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., module_eval(<<'.,.,', 'grammar.y', 295) def _reduce_123(val, _values, result) + result = [nil, nil] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 296) + def _reduce_124(val, _values, result) result = [val[1], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.y', 300) - def _reduce_124(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 301) + def _reduce_125(val, _values, result) result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 305) - def _reduce_125(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 306) + def _reduce_126(val, _values, result) result = ParentheticalNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 311) - def _reduce_126(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 312) + def _reduce_127(val, _values, result) result = WhileNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 317) - def _reduce_127(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 318) + def _reduce_128(val, _values, result) result = ForNode.new(val[0], val[4], val[2], nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 320) - def _reduce_128(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 321) + def _reduce_129(val, _values, result) result = ForNode.new(val[0], val[6], val[2], nil, val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 323) - def _reduce_129(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 324) + def _reduce_130(val, _values, result) result = ForNode.new(val[0], val[4], val[2], val[6]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 327) - def _reduce_130(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 328) + def _reduce_131(val, _values, result) result = ForNode.new(val[0], val[6], val[2], val[8], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 333) - def _reduce_131(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 334) + def _reduce_132(val, _values, result) result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 335) - def _reduce_132(val, _values, result) - result = val[3].rewrite_condition(val[1]).add_else(val[5]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 340) +module_eval(<<'.,.,', 'grammar.y', 336) def _reduce_133(val, _values, result) - result = val[0] + result = val[3].rewrite_condition(val[1]).add_else(val[5]) result end .,., module_eval(<<'.,.,', 'grammar.y', 341) def _reduce_134(val, _values, result) + result = val[0] + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 342) + def _reduce_135(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 346) - def _reduce_135(val, _values, result) +module_eval(<<'.,.,', 'grammar.y', 347) + def _reduce_136(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 355) - def _reduce_136(val, _values, result) - result = IfNode.new(val[2], val[4]) - result - end -.,., - -module_eval(<<'.,.,', 'grammar.y', 360) +module_eval(<<'.,.,', 'grammar.y', 356) def _reduce_137(val, _values, result) - result = val[0] + result = IfNode.new(val[2], val[4]) result end .,., module_eval(<<'.,.,', 'grammar.y', 361) def _reduce_138(val, _values, result) - result = val[0].add_else(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 366) +module_eval(<<'.,.,', 'grammar.y', 362) def _reduce_139(val, _values, result) - result = nil + result = val[0].add_else(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 367) def _reduce_140(val, _values, result) - result = val[1] + result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 372) +module_eval(<<'.,.,', 'grammar.y', 368) def _reduce_141(val, _values, result) - result = val[0] + result = val[1] result end .,., module_eval(<<'.,.,', 'grammar.y', 373) def _reduce_142(val, _values, result) - result = val[0].add_else(val[1]) + result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 379) +module_eval(<<'.,.,', 'grammar.y', 374) def _reduce_143(val, _values, result) - result = IfNode.new(val[1], val[3], val[4]) + result = val[0].add_else(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 380) def _reduce_144(val, _values, result) - result = IfNode.new(val[2], Expressions.new([val[0]]), nil, {:statement => true}) + result = IfNode.new(val[1], val[3], val[4]) result end .,., module_eval(<<'.,.,', 'grammar.y', 381) def _reduce_145(val, _values, result) + result = IfNode.new(val[2], Expressions.new([val[0]]), nil, {:statement => true}) + result + end +.,., + +module_eval(<<'.,.,', 'grammar.y', 382) + def _reduce_146(val, _values, result) result = IfNode.new(val[2], Expressions.new([val[0]]), nil, {:statement => true, :invert => true}) result end diff --git a/test/fixtures/execution/test_everything.cs b/test/fixtures/execution/test_everything.cs index 62a43a85..aed47da8 100644 --- a/test/fixtures/execution/test_everything.cs +++ b/test/fixtures/execution/test_everything.cs @@ -6,7 +6,7 @@ func: => a--. c: { - text: b + "text": b } c: 'error' unless 42 > 41 diff --git a/test/fixtures/execution/test_everything.js b/test/fixtures/execution/test_everything.js index 59cee64e..72a9a585 100644 --- a/test/fixtures/execution/test_everything.js +++ b/test/fixtures/execution/test_everything.js @@ -7,7 +7,7 @@ a--; } var c = { - text: b + "text": b }; if (!(42 > 41)) { c = 'error';