Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module);return Opal.add_stubs(),function($base,$parent_nesting){var self=$module($base,“PackUnpack”),$nesting=.concat($parent_nesting),directives=,“,”<"">modifiers=;self.eachDirectiveAndCount=function(format,callback){var currentDirective,currentCount,currentModifiers,countSpecified;function reset(){currentDirective=null,currentCount=0,countSpecified=!(currentModifiers=[])}function yieldAndReset(){null!=currentDirective?(!//.test(currentDirective)&&0expected
“ bytes, given ”given
“ bytes)”));for(var result=c&(1<<8-extraLength-1)-1,i=0;i<extraLength;i++)(c=readByte())>>6!=2&&self.$raise(“Invalid multibyte sequence”),result=result<<6|63&c;return result<=65535?{chunk:,rest:bytes}:{singleByte=buffer;if(result.push(singleByte),0==(128&singleByte))break}return{chunk:result,rest:buffer.slice(result.length,buffer.length)}}),D:null,d:null,F:null,f:null,E:null,e:null,G:null,g:null,A:readNTimesAndMerge(readBytes(1)),a:readNTimesAndMerge(readBytes(1)),Z:function(buffer,count){for(var result=[],i=0;i<count&&i<buffer.length;i++){var singleByte=buffer;if(0===singleByte)break;result.push(singleByte)}return count===1/0&&(count=result.length),0===buffer&&count++,{chunk:result,rest:buffer=buffer.slice(count,buffer.length)}},B:function(buffer,count){for(var result=”“;0<count&&0<buffer.length;){var singleByte=buffer,bitsToTake=Math.min(count,8);if(Math.ceil(bitsToTake/8),buffer=buffer.slice(1,buffer.length),null!=singleByte){var bits=singleByte.toString(2);bits=Array(8-bits.length+1).join(”0“).concat(bits);for(var j=0;jthis.racc_user_yyerror=!0,reduce_n["$-
();if(2($case))return shift_n;this.$raise(“[Racc Bug] unknown jump code”)}}else if(act(shift_n))$truthy(this.yydebug)&&this.$racc_accept(),this.$throw(“racc_end_parse”,this.racc_vstack[“$”](0));else{if(act(“] at reduce_n["$-
())){for($case=this.racc_error_status,(0)($case)?$truthy(arg[”$“](21))||this.$on_error(this.racc_t,this.racc_val,this.racc_vstack):3($case)&&(this.racc_t(0)&&this.$throw(”racc_end_parse“,nil),this.racc_read_next=!0),this.racc_user_yyerror=!1,this.racc_error_status=3;$truthy(!0)&&(!$truthy(i=action_pointer[”$“](this.racc_state[”$“](-1)))||(i=$rb_plus(i,1),!$truthy($truthy($b=$truthy($c=$rb_ge(i,0))?act=action_table[”$“](i):$c)?action_check[”$“](i)(this.racc_state[”$“](-1)):$b)));)$truthy((lhs=this.racc_state.$size(),rhs=1,”number“==typeof lhs&&”number“==typeof rhs?lhs<=rhs:lhs(rhs)))&&this.$throw(”racc_end_parse“,nil),this.racc_state.$pop(),this.racc_vstack.$pop(),$truthy(this.yydebug)&&(this.racc_tstack.$pop(),this.$racc_e_pop(this.racc_state,this.racc_tstack,this.racc_vstack));return act}this.$raise(”[Racc Bug] unknown action “+act.$inspect())}return $truthy(this.yydebug)&&this.$racc_next_state(this.racc_state[”$“](-1),this.racc_state),nil},$Parser__racc_evalact$12.$$arity=2),Opal.def(self,”$_racc_do_reduce“,$Parser__racc_do_reduce$14=function(arg,act){var $a,$b,nt_base,use_result,reduce_to,method_id,void_array,k1,lhs,rhs,goto_table=nil,goto_check=nil,goto_default=nil,goto_pointer=nil,reduce_table=nil,state=nil,vstack=nil,tstack=nil,i=nil,len=nil,tmp_t=nil,tmp_v=nil,$writer=nil,curstate=nil;return $b=arg,null==($a=Opal.to_ary($b))?nil:$a,null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,goto_table=null==$a?nil:$a,goto_check=null==$a?nil:$a,goto_default=null==$a?nil:$a,goto_pointer=null==$a?nil:$a,nt_base=null==$a?nil:$a,reduce_table=null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,use_result=null==$a?nil:$a,state=this.racc_state,vstack=this.racc_vstack,tstack=this.racc_tstack,rhs=-3,i=”number“==typeof(lhs=act)&&”number“==typeof rhs?lhs*rhs:lhs(rhs),len=reduce_table[”$“](i),reduce_to=reduce_table[”$“]($rb_plus(i,1)),method_id=reduce_table[”$“]($rb_plus(i,2)),void_array=[],$truthy(this.yydebug)&&(tmp_t=tstack[”$“](len(),len)),tmp_v=vstack[”$“](len(),len),$truthy(this.yydebug)&&($writer=[len(),len,void_array],$send(tstack,”[]=“,Opal.to_a($writer)),$writer),$writer=[len(),len,void_array],$send(vstack,”[]=“,Opal.to_a($writer)),$writer,$writer=[len(),len,void_array],$send(state,”[]=“,Opal.to_a($writer)),$writer,$truthy(use_result)?vstack.$push(this.$__send__(method_id,tmp_v,vstack,tmp_v[”$“](0))):vstack.$push(this.$__send__(method_id,tmp_v,vstack)),tstack.$push(reduce_to),$truthy(this.yydebug)&&this.$racc_reduce(tmp_t,reduce_to,tstack,vstack),k1=$rb_minus(reduce_to,nt_base),$truthy(i=goto_pointer[”$“](k1))&&(i=$rb_plus(i,state[”$“](-1)),$truthy($truthy($a=$truthy($b=$rb_ge(i,0))?curstate=goto_table[”$“](i):$b)?goto_check[”$“](i)(k1):$a))?curstate:goto_default[”$“](k1)},$Parser__racc_do_reduce$14.$$arity=2),Opal.def(self,”$on_error“,$Parser_on_error$15=function(t,val,vstack){var $a;return this.$raise($$($nesting,”ParseError“),this.$sprintf(”nparse error on value %s (%s)“,val.$inspect(),$truthy($a=this.$token_to_str(t))?$a:”?“))},$Parser_on_error$15.$$arity=3),Opal.def(self,”$yyerror“,$Parser_yyerror$16=function(){return this.$throw(”racc_jump“,1)},$Parser_yyerror$16.$$arity=0),Opal.def(self,”$yyaccept“,$Parser_yyaccept$17=function(){return this.$throw(”racc_jump“,2)},$Parser_yyaccept$17.$$arity=0),Opal.def(self,”$yyerrok“,$Parser_yyerrok$18=function(){return this.racc_error_status=0},$Parser_yyerrok$18.$$arity=0),Opal.def(self,”$racc_read_token“,$Parser_racc_read_token$19=function(t,tok,val){return this.racc_debug_out.$print(”read “),this.racc_debug_out.$print(tok.$inspect(),”(“,this.$racc_token2str(t),”) “),this.racc_debug_out.$puts(val.$inspect()),this.racc_debug_out.$puts()},$Parser_racc_read_token$19.$$arity=3),Opal.def(self,”$racc_shift“,$Parser_racc_shift$20=function(tok,tstack,vstack){return this.racc_debug_out.$puts(”shift “+this.$racc_token2str(tok)),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_shift$20.$$arity=3),Opal.def(self,”$racc_reduce“,$Parser_racc_reduce$21=function(toks,sim,tstack,vstack){var $$22,out=nil;return(out=this.racc_debug_out).$print(”reduce “),$truthy(toks())?out.$print(” <none>“):$send(toks,”each“,[],(($$22=function(t){var self=$$22.$$s||this;return null==t&&(t=nil),out.$print(” “,self.$racc_token2str(t))}).$$s=this,$$22.$$arity=1,$$22)),out.$puts(” –x3e “+this.$racc_token2str(sim)),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_reduce$21.$$arity=4),Opal.def(self,”$racc_accept“,$Parser_racc_accept$23=function(){return this.racc_debug_out.$puts(”accept“),this.racc_debug_out.$puts()},$Parser_racc_accept$23.$$arity=0),Opal.def(self,”$racc_e_pop“,$Parser_racc_e_pop$24=function(state,tstack,vstack){return this.racc_debug_out.$puts(”error recovering mode: pop token“),this.$racc_print_states(state),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_e_pop$24.$$arity=3),Opal.def(self,”$racc_next_state“,$Parser_racc_next_state$25=function(curstate,state){return this.racc_debug_out.$puts(”goto “+curstate),this.$racc_print_states(state),this.racc_debug_out.$puts()},$Parser_racc_next_state$25.$$arity=2),Opal.def(self,”$racc_print_stacks“,$Parser_racc_print_stacks$26=function(t,v){var $$27,out=nil;return(out=this.racc_debug_out).$print(” [“),$send(t,”each_index“,[],(($$27=function(i){var self=$$27.$$s||this;return null==i&&(i=nil),out.$print(” (“,self.$racc_token2str(t[”$“](i)),” “,v[”$“](i).$inspect(),”)“)}).$$s=this,$$27.$$arity=1,$$27)),out.$puts(” ]“)},$Parser_racc_print_stacks$26.$$arity=2),Opal.def(self,”$racc_print_states“,$Parser_racc_print_states$28=function(s){var $$29,out=nil;return(out=this.racc_debug_out).$print(” [“),$send(s,”each“,[],(($$29=function(st){$$29.$$s;return null==st&&(st=nil),out.$print(” “,st)}).$$s=this,$$29.$$arity=1,$$29)),out.$puts(” ]“)},$Parser_racc_print_states$28.$$arity=1),Opal.def(self,”$racc_token2str“,$Parser_racc_token2str$30=function(tok){var $a;return $truthy($a=$$$(this.$class(),”Racc_token_to_s_table“)[”$“](tok))?$a:this.$raise(”[Racc Bug] can't convert token “tok
” to string“)},$Parser_racc_token2str$30.$$arity=1),Opal.def(self,”$token_to_str“,$Parser_token_to_str$31=function(t){return $$$(this.$class(),”Racc_token_to_s_table“)[”$“](t)},$Parser_token_to_str$31.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$module=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module);return function($base,$parent_nesting){var $nesting=.concat($parent_nesting);Opal.const_set($nesting,”VERSION“,”2.5.3.0“)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_lt(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhsthis.racc_user_yyerror=!0,reduce_n["$-
();if(2($case))return shift_n;this.$raise(”[Racc Bug] unknown jump code“)}}else if(act(shift_n))$truthy(this.yydebug)&&this.$racc_accept(),this.$throw(”racc_end_parse“,this.racc_vstack[”$“](0));else{if(act(”] at reduce_n["$-
())){for($case=this.racc_error_status,(0)($case)?$truthy(arg[“$”](21))||this.$on_error(this.racc_t,this.racc_val,this.racc_vstack):3($case)&&(this.racc_t(0)&&this.$throw(“racc_end_parse”,nil),this.racc_read_next=!0),this.racc_user_yyerror=!1,this.racc_error_status=3;$truthy(!0)&&(!$truthy(i=action_pointer[“$”](this.racc_state[“$”](-1)))||(i=$rb_plus(i,1),!$truthy($truthy($b=$truthy($c=$rb_ge(i,0))?act=action_table[“$”](i):$c)?action_check[“$”](i)(this.racc_state[“$”](-1)):$b)));)$truthy((lhs=this.racc_state.$size(),rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs<=rhs:lhs(rhs)))&&this.$throw(“racc_end_parse”,nil),this.racc_state.$pop(),this.racc_vstack.$pop(),$truthy(this.yydebug)&&(this.racc_tstack.$pop(),this.$racc_e_pop(this.racc_state,this.racc_tstack,this.racc_vstack));return act}this.$raise(“[Racc Bug] unknown action ”+act.$inspect())}return $truthy(this.yydebug)&&this.$racc_next_state(this.racc_state[“$”](-1),this.racc_state),nil},$Parser__racc_evalact$12.$$arity=2),Opal.def(self,“$_racc_do_reduce”,$Parser__racc_do_reduce$14=function(arg,act){var $a,$b,nt_base,use_result,reduce_to,method_id,void_array,k1,lhs,rhs,goto_table=nil,goto_check=nil,goto_default=nil,goto_pointer=nil,reduce_table=nil,state=nil,vstack=nil,tstack=nil,i=nil,len=nil,tmp_t=nil,tmp_v=nil,$writer=nil,curstate=nil;return $b=arg,null==($a=Opal.to_ary($b))?nil:$a,null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,goto_table=null==$a?nil:$a,goto_check=null==$a?nil:$a,goto_default=null==$a?nil:$a,goto_pointer=null==$a?nil:$a,nt_base=null==$a?nil:$a,reduce_table=null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,null==$a?nil:$a,use_result=null==$a?nil:$a,state=this.racc_state,vstack=this.racc_vstack,tstack=this.racc_tstack,rhs=-3,i=“number”==typeof(lhs=act)&&“number”==typeof rhs?lhs*rhs:lhs(rhs),len=reduce_table[“$”](i),reduce_to=reduce_table[“$”]($rb_plus(i,1)),method_id=reduce_table[“$”]($rb_plus(i,2)),void_array=[],$truthy(this.yydebug)&&(tmp_t=tstack[“$”](len(),len)),tmp_v=vstack[“$”](len(),len),$truthy(this.yydebug)&&($writer=[len(),len,void_array],$send(tstack,“[]=”,Opal.to_a($writer)),$writer),$writer=[len(),len,void_array],$send(vstack,“[]=”,Opal.to_a($writer)),$writer,$writer=[len(),len,void_array],$send(state,“[]=”,Opal.to_a($writer)),$writer,$truthy(use_result)?vstack.$push(this.$__send__(method_id,tmp_v,vstack,tmp_v[“$”](0))):vstack.$push(this.$__send__(method_id,tmp_v,vstack)),tstack.$push(reduce_to),$truthy(this.yydebug)&&this.$racc_reduce(tmp_t,reduce_to,tstack,vstack),k1=$rb_minus(reduce_to,nt_base),$truthy(i=goto_pointer[“$”](k1))&&(i=$rb_plus(i,state[“$”](-1)),$truthy($truthy($a=$truthy($b=$rb_ge(i,0))?curstate=goto_table[“$”](i):$b)?goto_check[“$”](i)(k1):$a))?curstate:goto_default[“$”](k1)},$Parser__racc_do_reduce$14.$$arity=2),Opal.def(self,“$on_error”,$Parser_on_error$15=function(t,val,vstack){var $a;return this.$raise($$($nesting,“ParseError”),this.$sprintf(“nparse error on value %s (%s)”,val.$inspect(),$truthy($a=this.$token_to_str(t))?$a:“?”))},$Parser_on_error$15.$$arity=3),Opal.def(self,“$yyerror”,$Parser_yyerror$16=function(){return this.$throw(“racc_jump”,1)},$Parser_yyerror$16.$$arity=0),Opal.def(self,“$yyaccept”,$Parser_yyaccept$17=function(){return this.$throw(“racc_jump”,2)},$Parser_yyaccept$17.$$arity=0),Opal.def(self,“$yyerrok”,$Parser_yyerrok$18=function(){return this.racc_error_status=0},$Parser_yyerrok$18.$$arity=0),Opal.def(self,“$racc_read_token”,$Parser_racc_read_token$19=function(t,tok,val){return this.racc_debug_out.$print(“read ”),this.racc_debug_out.$print(tok.$inspect(),“(”,this.$racc_token2str(t),“) ”),this.racc_debug_out.$puts(val.$inspect()),this.racc_debug_out.$puts()},$Parser_racc_read_token$19.$$arity=3),Opal.def(self,“$racc_shift”,$Parser_racc_shift$20=function(tok,tstack,vstack){return this.racc_debug_out.$puts(“shift ”+this.$racc_token2str(tok)),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_shift$20.$$arity=3),Opal.def(self,“$racc_reduce”,$Parser_racc_reduce$21=function(toks,sim,tstack,vstack){var $$22,out=nil;return(out=this.racc_debug_out).$print(“reduce ”),$truthy(toks())?out.$print(“ <none>”):$send(toks,“each”,[],(($$22=function(t){var self=$$22.$$s||this;return null==t&&(t=nil),out.$print(“ ”,self.$racc_token2str(t))}).$$s=this,$$22.$$arity=1,$$22)),out.$puts(“ –x3e ”+this.$racc_token2str(sim)),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_reduce$21.$$arity=4),Opal.def(self,“$racc_accept”,$Parser_racc_accept$23=function(){return this.racc_debug_out.$puts(“accept”),this.racc_debug_out.$puts()},$Parser_racc_accept$23.$$arity=0),Opal.def(self,“$racc_e_pop”,$Parser_racc_e_pop$24=function(state,tstack,vstack){return this.racc_debug_out.$puts(“error recovering mode: pop token”),this.$racc_print_states(state),this.$racc_print_stacks(tstack,vstack),this.racc_debug_out.$puts()},$Parser_racc_e_pop$24.$$arity=3),Opal.def(self,“$racc_next_state”,$Parser_racc_next_state$25=function(curstate,state){return this.racc_debug_out.$puts(“goto ”+curstate),this.$racc_print_states(state),this.racc_debug_out.$puts()},$Parser_racc_next_state$25.$$arity=2),Opal.def(self,“$racc_print_stacks”,$Parser_racc_print_stacks$26=function(t,v){var $$27,out=nil;return(out=this.racc_debug_out).$print(“ [”),$send(t,“each_index”,[],(($$27=function(i){var self=$$27.$$s||this;return null==i&&(i=nil),out.$print(“ (”,self.$racc_token2str(t[“$”](i)),“ ”,v[“$”](i).$inspect(),“)”)}).$$s=this,$$27.$$arity=1,$$27)),out.$puts(“ ]”)},$Parser_racc_print_stacks$26.$$arity=2),Opal.def(self,“$racc_print_states”,$Parser_racc_print_states$28=function(s){var $$29,out=nil;return(out=this.racc_debug_out).$print(“ [”),$send(s,“each”,[],(($$29=function(st){$$29.$$s;return null==st&&(st=nil),out.$print(“ ”,st)}).$$s=this,$$29.$$arity=1,$$29)),out.$puts(“ ]”)},$Parser_racc_print_states$28.$$arity=1),Opal.def(self,“$racc_token2str”,$Parser_racc_token2str$30=function(tok){var $a;return $truthy($a=$$$(this.$class(),“Racc_token_to_s_table”)[“$”](tok))?$a:this.$raise(“[Racc Bug] can't convert token ”tok
“ to string”)},$Parser_racc_token2str$30.$$arity=1),Opal.def(self,“$token_to_str”,$Parser_token_to_str$31=function(t){return $$$(this.$class(),“Racc_token_to_s_table”)[“$”](t)},$Parser_token_to_str$31.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$module=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$hash2=Opal.hash2;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);Opal.const_set($nesting,“MESSAGES”,$hash2(,{unicode_point_too_large:“invalid Unicode codepoint (too large)”,invalid_escape:“invalid escape character syntax”,incomplete_escape:“incomplete character syntax”,invalid_hex_escape:“invalid hex escape”,invalid_unicode_escape:“invalid Unicode escape”,unterminated_unicode:“unterminated Unicode escape”,escape_eof:“escape sequence meets end of file”,string_eof:“unterminated string meets end of file”,regexp_options:“unknown regexp options: %{options}”,cvar_name:“`%{name}' is not allowed as a class variable name”,ivar_name:“`%{name}' is not allowed as an instance variable name”,trailing_in_number:“trailing `%{character}' in number”,empty_numeric:“numeric literal without digits”,invalid_octal:“invalid octal digit”,no_dot_digit_literal:“no .<digit> floating literal anymore; put 0 before dot”,bare_backslash:“bare backslash only allowed before newline”,unexpected:“unexpected `%{character}'”,embedded_document:“embedded document meets end of file (and they embark on a romantic journey)”,heredoc_id_has_newline:“here document identifier across newlines, never match”,heredoc_id_ends_with_nl:“here document identifier ends with a newline”,invalid_escape_use:“invalid character syntax; use ?%{escape}”,ambiguous_literal:“ambiguous first argument; put parentheses or a space even after the operator”,ambiguous_prefix:“`%{prefix}' interpreted as argument prefix”,nth_ref_alias:“cannot define an alias for a back-reference variable”,begin_in_method:“BEGIN in method”,backref_assignment:“cannot assign to a back-reference variable”,invalid_assignment:“cannot assign to a keyword”,module_name_const:“class or module name must be a constant literal”,unexpected_token:“unexpected token %{token}”,argument_const:“formal argument cannot be a constant”,argument_ivar:“formal argument cannot be an instance variable”,argument_gvar:“formal argument cannot be a global variable”,argument_cvar:“formal argument cannot be a class variable”,duplicate_argument:“duplicate argument name”,empty_symbol:“empty symbol literal”,odd_hash:“odd number of entries for a hash”,singleton_literal:“cannot define a singleton method for a literal”,dynamic_const:“dynamic constant assignment”,const_reassignment:“constant re-assignment”,module_in_def:“module definition in method body”,class_in_def:“class definition in method body”,unexpected_percent_str:“%{type}: unknown type of percent-literal”,block_and_blockarg:“both block argument and literal block are passed”,masgn_as_condition:“multiple assignment in conditional context”,block_given_to_yield:“block given to yield”,invalid_regexp:“%{message}”,invalid_return:“Invalid return in class/module body”,useless_else:“else without rescue is useless”,invalid_encoding:“literal contains escape sequences incompatible with UTF-8”,invalid_action:“cannot %{action}”,clobbered:“clobbered by: %{action}”,different_replacements:“different replacements: %{replacement} vs %{other_replacement}”,swallowed_insertions:“this replacement:”,swallowed_insertions_conflict:“swallows some inner rewriting actions:”,crossing_deletions:“the deletion of:”,crossing_deletions_conflict:“is crossing:”,crossing_insertions:“the rewriting action on:”,crossing_insertions_conflict:“is crossing that on:”}).$freeze())}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$module=(Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $Deprecation_warn_of_deprecation$1,self=$module($base,“Deprecation”);.concat($parent_nesting);self.$attr_writer(“warned_of_deprecation”),Opal.def(self,“$warn_of_deprecation”,$Deprecation_warn_of_deprecation$1=function(){var $a,$b;return null==this.warned_of_deprecation&&(this.warned_of_deprecation=nil),this.warned_of_deprecation=$truthy($a=this.warned_of_deprecation)?$a:!$truthy($b=this.$warn($$$(this,“DEPRECATION_WARNING”)))||$b},$Deprecation_warn_of_deprecation$1.$$arity=0)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$slice=(Opal.const_get_relative,Opal.breaker,Opal.slice),$module=Opal.module,$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Processor_process_regular_node$1,$Processor_on_var$2,$Processor_process_variable_node$3,$Processor_on_vasgn$4,$Processor_process_var_asgn_node$5,$Processor_on_op_asgn$6,$Processor_on_const$7,$Processor_on_casgn$8,$Processor_on_argument$9,$Processor_process_argument_node$10,$Processor_on_def$11,$Processor_on_defs$12,$Processor_on_send$13,$Processor_process_variable_node$14,$Processor_process_var_asgn_node$15,$Processor_process_argument_node$16,self=$klass($base,$super,“Processor”);.concat($parent_nesting);Opal.def(self,“$process_regular_node”,$Processor_process_regular_node$1=function(node){return node.$updated(nil,this.$process_all(node))},$Processor_process_regular_node$1.$$arity=1),Opal.alias(self,“on_dstr”,“process_regular_node”),Opal.alias(self,“on_dsym”,“process_regular_node”),Opal.alias(self,“on_regexp”,“process_regular_node”),Opal.alias(self,“on_xstr”,“process_regular_node”),Opal.alias(self,“on_splat”,“process_regular_node”),Opal.alias(self,“on_kwsplat”,“process_regular_node”),Opal.alias(self,“on_array”,“process_regular_node”),Opal.alias(self,“on_pair”,“process_regular_node”),Opal.alias(self,“on_hash”,“process_regular_node”),Opal.alias(self,“on_irange”,“process_regular_node”),Opal.alias(self,“on_erange”,“process_regular_node”),Opal.def(self,“$on_var”,$Processor_on_var$2=function(node){return node},$Processor_on_var$2.$$arity=1),Opal.def(self,“$process_variable_node”,$Processor_process_variable_node$3=function(node){return this.$on_var(node)},$Processor_process_variable_node$3.$$arity=1),Opal.alias(self,“on_lvar”,“process_variable_node”),Opal.alias(self,“on_ivar”,“process_variable_node”),Opal.alias(self,“on_gvar”,“process_variable_node”),Opal.alias(self,“on_cvar”,“process_variable_node”),Opal.alias(self,“on_back_ref”,“process_variable_node”),Opal.alias(self,“on_nth_ref”,“process_variable_node”),Opal.def(self,“$on_vasgn”,$Processor_on_vasgn$4=function(node){var $a,name,value_node=nil;return name=null==($a=[].concat(Opal.to_a(node)))?nil:$a,value_node=null==$a?nil:$a,$truthy(value_node()[“$!”]())?node.$updated(nil,):node},$Processor_on_vasgn$4.$$arity=1),Opal.def(self,“$process_var_asgn_node”,$Processor_process_var_asgn_node$5=function(node){return this.$on_vasgn(node)},$Processor_process_var_asgn_node$5.$$arity=1),Opal.alias(self,“on_lvasgn”,“process_var_asgn_node”),Opal.alias(self,“on_ivasgn”,“process_var_asgn_node”),Opal.alias(self,“on_gvasgn”,“process_var_asgn_node”),Opal.alias(self,“on_cvasgn”,“process_var_asgn_node”),Opal.alias(self,“on_and_asgn”,“process_regular_node”),Opal.alias(self,“on_or_asgn”,“process_regular_node”),Opal.def(self,“$on_op_asgn”,$Processor_on_op_asgn$6=function(node){var $a,var_node,method_name,value_node;return var_node=null==($a=[].concat(Opal.to_a(node)))?nil:$a,method_name=null==$a?nil:$a,value_node=null==$a?nil:$a,node.$updated(nil,)},$Processor_on_op_asgn$6.$$arity=1),Opal.alias(self,“on_mlhs”,“process_regular_node”),Opal.alias(self,“on_masgn”,“process_regular_node”),Opal.def(self,“$on_const”,$Processor_on_const$7=function(node){var $a,scope_node,name;return scope_node=null==($a=[].concat(Opal.to_a(node)))?nil:$a,name=null==$a?nil:$a,node.$updated(nil,)},$Processor_on_const$7.$$arity=1),Opal.def(self,“$on_casgn”,$Processor_on_casgn$8=function(node){var $a,scope_node,name,value_node=nil;return scope_node=null==($a=[].concat(Opal.to_a(node)))?nil:$a,name=null==$a?nil:$a,value_node=null==$a?nil:$a,$truthy(value_node()[“$!”]())?node.$updated(nil,):node.$updated(nil,)},$Processor_on_casgn$8.$$arity=1),Opal.alias(self,“on_args”,“process_regular_node”),Opal.def(self,“$on_argument”,$Processor_on_argument$9=function(node){var $a,arg_name,value_node=nil;return arg_name=null==($a=[].concat(Opal.to_a(node)))?nil:$a,value_node=null==$a?nil:$a,$truthy(value_node()[“$!”]())?node.$updated(nil,):node},$Processor_on_argument$9.$$arity=1),Opal.def(self,“$process_argument_node”,$Processor_process_argument_node$10=function(node){return this.$on_argument(node)},$Processor_process_argument_node$10.$$arity=1),Opal.alias(self,“on_arg”,“process_argument_node”),Opal.alias(self,“on_optarg”,“process_argument_node”),Opal.alias(self,“on_restarg”,“process_argument_node”),Opal.alias(self,“on_blockarg”,“process_argument_node”),Opal.alias(self,“on_shadowarg”,“process_argument_node”),Opal.alias(self,“on_kwarg”,“process_argument_node”),Opal.alias(self,“on_kwoptarg”,“process_argument_node”),Opal.alias(self,“on_kwrestarg”,“process_argument_node”),Opal.alias(self,“on_procarg0”,“process_argument_node”),Opal.alias(self,“on_arg_expr”,“process_regular_node”),Opal.alias(self,“on_restarg_expr”,“process_regular_node”),Opal.alias(self,“on_blockarg_expr”,“process_regular_node”),Opal.alias(self,“on_block_pass”,“process_regular_node”),Opal.alias(self,“on_module”,“process_regular_node”),Opal.alias(self,“on_class”,“process_regular_node”),Opal.alias(self,“on_sclass”,“process_regular_node”),Opal.def(self,“$on_def”,$Processor_on_def$11=function(node){var $a,name,args_node,body_node;return name=null==($a=[].concat(Opal.to_a(node)))?nil:$a,args_node=null==$a?nil:$a,body_node=null==$a?nil:$a,node.$updated(nil,)},$Processor_on_def$11.$$arity=1),Opal.def(self,“$on_defs”,$Processor_on_defs$12=function(node){var $a,definee_node,name,args_node,body_node;return definee_node=null==($a=[].concat(Opal.to_a(node)))?nil:$a,name=null==$a?nil:$a,args_node=null==$a?nil:$a,body_node=null==$a?nil:$a,node.$updated(nil,)},$Processor_on_defs$12.$$arity=1),Opal.alias(self,“on_undef”,“process_regular_node”),Opal.alias(self,“on_alias”,“process_regular_node”),Opal.def(self,“$on_send”,$Processor_on_send$13=function(node){var $a,arg_nodes,receiver_node=nil,method_name=nil;return receiver_node=null==($a=[].concat(Opal.to_a(node)))?nil:$a,method_name=null==$a?nil:$a,arg_nodes=$slice.call($a,2),$truthy(receiver_node)&&(receiver_node=this.$process(receiver_node)),node.$updated(nil,.concat(Opal.to_a(this.$process_all(arg_nodes))))},$Processor_on_send$13.$$arity=1),Opal.alias(self,“on_csend”,“on_send”),Opal.alias(self,“on_index”,“process_regular_node”),Opal.alias(self,“on_indexasgn”,“process_regular_node”),Opal.alias(self,“on_block”,“process_regular_node”),Opal.alias(self,“on_lambda”,“process_regular_node”),Opal.alias(self,“on_while”,“process_regular_node”),Opal.alias(self,“on_while_post”,“process_regular_node”),Opal.alias(self,“on_until”,“process_regular_node”),Opal.alias(self,“on_until_post”,“process_regular_node”),Opal.alias(self,“on_for”,“process_regular_node”),Opal.alias(self,“on_return”,“process_regular_node”),Opal.alias(self,“on_break”,“process_regular_node”),Opal.alias(self,“on_next”,“process_regular_node”),Opal.alias(self,“on_redo”,“process_regular_node”),Opal.alias(self,“on_retry”,“process_regular_node”),Opal.alias(self,“on_super”,“process_regular_node”),Opal.alias(self,“on_yield”,“process_regular_node”),Opal.alias(self,“on_defined?”,“process_regular_node”),Opal.alias(self,“on_not”,“process_regular_node”),Opal.alias(self,“on_and”,“process_regular_node”),Opal.alias(self,“on_or”,“process_regular_node”),Opal.alias(self,“on_if”,“process_regular_node”),Opal.alias(self,“on_when”,“process_regular_node”),Opal.alias(self,“on_case”,“process_regular_node”),Opal.alias(self,“on_iflipflop”,“process_regular_node”),Opal.alias(self,“on_eflipflop”,“process_regular_node”),Opal.alias(self,“on_match_current_line”,“process_regular_node”),Opal.alias(self,“on_match_with_lvasgn”,“process_regular_node”),Opal.alias(self,“on_resbody”,“process_regular_node”),Opal.alias(self,“on_rescue”,“process_regular_node”),Opal.alias(self,“on_ensure”,“process_regular_node”),Opal.alias(self,“on_begin”,“process_regular_node”),Opal.alias(self,“on_kwbegin”,“process_regular_node”),Opal.alias(self,“on_preexe”,“process_regular_node”),Opal.alias(self,“on_postexe”,“process_regular_node”),Opal.def(self,“$process_variable_node”,$Processor_process_variable_node$14=function(node){return this.$warn(“Parser::AST::Processor#process_variable_node is deprecated as a public API and will be removed. Please use Parser::AST::Processor#on_var instead.”),this.$on_var(node)},$Processor_process_variable_node$14.$$arity=1),Opal.def(self,“$process_var_asgn_node”,$Processor_process_var_asgn_node$15=function(node){return this.$warn(“Parser::AST::Processor#process_var_asgn_node is deprecated as a public API and will be removed. Please use Parser::AST::Processor#on_vasgn instead.”),this.$on_vasgn(node)},$Processor_process_var_asgn_node$15.$$arity=1),Opal.def(self,“$process_argument_node”,$Processor_process_argument_node$16=function(node){return this.$warn(“Parser::AST::Processor#process_argument_node is deprecated as a public API and will be removed. Please use Parser::AST::Processor#on_argument instead.”),this.$on_argument(node)},$Processor_process_argument_node$16.$$arity=1)}($nesting,$$$($$$(“::”,“AST”),“Processor”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$module=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);Opal.const_set($nesting,“NODE_TYPES”,$send(,“map”,[],“to_sym”.$to_proc()).$to_set().$freeze())}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_le(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs<=rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$gvars=Opal.gvars,$hash2=Opal.hash2,$send=Opal.send;return Opal.add_stubs([“$attr_reader”,“$empty?”,“$=~”,“$start_with?”,“$freeze”,“$==”,“$”,“$”,“$size”,“$line_begins”,“$new”,“$-@”,“$source”,“$private”,“$index”,“$unshift”,“$length”,“$bsearch”“>nil?”,“$!=”,“$match”,“$find”,“$encoding”,“$recognize_encoding”,“$force_encoding”,“$encode”,“$to_s”,“$open”,“$read”,“$source=”,“$-”,“$raise”,“$frozen?”,“$dup”,“$reencode_string”,“$class”,“$valid_encoding?”,“$name”,“$raw_source=”,“$gsub”,“$!”,“$ascii_only?”,“$line_for”,“$+”,“$),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Buffer_recognize_encoding$1,$Buffer_reencode_string$2,$Buffer_initialize$3,$Buffer_read$4,$Buffer_source$6,$Buffer_source$eq$7,$Buffer_raw_source$eq$8,$Buffer_slice$9,$Buffer_decompose_position$10,$Buffer_line_for_position$11,$Buffer_column_for_position$12,$Buffer_source_lines$13,$Buffer_source_line$15,$Buffer_line_range$16,$Buffer_source_range$17,$Buffer_last_line$18,$Buffer_line_begins$19,$Buffer_line_for$20,self=$klass($base,null,”Buffer“),$nesting=.concat($parent_nesting);self.$$prototype.name=self.$$prototype.source=self.$$prototype.slice_source=self.$$prototype.first_line=self.$$prototype.line_for_position=self.$$prototype.column_for_position=self.$$prototype.lines=self.$$prototype.source_range=self.$$prototype.line_begins=nil,self.$attr_reader(”name“,”first_line“),Opal.const_set($nesting,”ENCODING_RE“,new RegExp(”(en)?coding\s*\s*((utf8-mac)|(+?)(-unix|-dos|-mac)|(+))“)),Opal.defs(self,”$recognize_encoding“,$Buffer_recognize_encoding$1=function(string){var $a,$b,second_line,first_line=nil,encoding_line=nil,result=nil;return $truthy(string())?nil:(string(/^(.*)n?(.*n)?/),first_line=($a=[($b=$gvars[”~“])===nil?nil:$b[”$“](1),($b=$gvars)===nil?nil:$b[”$“](2)]),second_line=$a,$truthy(first_line(”“.$force_encoding(”ASCII-8BIT“).$freeze()))?$$$($$($nesting,”Encoding“),”UTF_8“):(encoding_line=first_line[”$“](0,2)(”#!“.$force_encoding(”ASCII-8BIT“).$freeze())?second_line:first_line,$truthy($truthy($a=encoding_line())?$a:encoding_line[”$“](0)(”#“.$force_encoding(”ASCII-8BIT“)))?nil:$truthy(result=$$($nesting,”ENCODING_RE“).$match(encoding_line))?$$($nesting,”Encoding“).$find($truthy($a=$truthy($b=result[”$“](3))?$b:result[”$“](4))?$a:result[”$“](6)):nil))},$Buffer_recognize_encoding$1.$$arity=1),Opal.defs(self,”$reencode_string“,$Buffer_reencode_string$2=function(input){var original_encoding,detected_encoding=nil;return original_encoding=input.$encoding(),detected_encoding=this.$recognize_encoding(input.$force_encoding($$$($$($nesting,”Encoding“),”BINARY“))),$truthy(detected_encoding())?input.$force_encoding(original_encoding):detected_encoding($$$($$($nesting,”Encoding“),”BINARY“))?input:input.$force_encoding(detected_encoding).$encode($$$($$($nesting,”Encoding“),”UTF_8“))},$Buffer_reencode_string$2.$$arity=1),Opal.def(self,”$initialize“,$Buffer_initialize$3=function(name,first_line){return null==first_line&&(first_line=1),this.name=name.$to_s(),this.source=nil,this.first_line=first_line,this.lines=nil,this.line_begins=nil,this.slice_source=nil,this.line_for_position=$hash2([],{}),this.column_for_position=$hash2(,{})},$Buffer_initialize$3.$$arity=-2),Opal.def(self,”$read“,$Buffer_read$4=function(){var $$5;return $send($$($nesting,”File“),”open“,,(($$5=function(io){var $writer,self=$$5.$$s||this;return null==io&&(io=nil),$writer=,$send(self,”source=“,Opal.to_a($writer)),$writer}).$$s=this,$$5.$$arity=1,$$5)),this},$Buffer_read$4.$$arity=0),Opal.def(self,”$source“,$Buffer_source$6=function(){return $truthy(this.source())&&this.$raise($$($nesting,”RuntimeError“),”Cannot extract source from uninitialized Source::Buffer“.$force_encoding(”ASCII-8BIT“)),this.source},$Buffer_source$6.$$arity=0),Opal.def(self,”$source=“,$Buffer_source$eq$7=function(input){var $writer;return $truthy(input())&&(input=input.$dup()),input=this.$class().$reencode_string(input),$truthy(input())||this.$raise($$($nesting,”EncodingError“),”invalid byte sequence in “+input.$encoding().$name()),$writer=,$send(this,”raw_source=“,Opal.to_a($writer)),$writer},$Buffer_source$eq$7.$$arity=1),Opal.def(self,”$raw_source=“,$Buffer_raw_source$eq$8=function(input){var $a,$b;return $truthy(this.source)&&this.$raise($$($nesting,”ArgumentError“),”Source::Buffer is immutable“.$force_encoding(”ASCII-8BIT“)),this.source=input.$gsub(”rn“.$force_encoding(”ASCII-8BIT“).$freeze(),”n“.$force_encoding(”ASCII-8BIT“).$freeze()).$freeze(),$truthy($truthy($a=$truthy($b=this.source()[”$!“]())?this.source.$encoding()($$$($$($nesting,”Encoding“),”UTF_32LE“)):$b)?this.source.$encoding()($$$($$($nesting,”Encoding“),”BINARY“)):$a)?this.slice_source=this.source.$encode($$$($$($nesting,”Encoding“),”UTF_32LE“)):nil},$Buffer_raw_source$eq$8.$$arity=1),Opal.def(self,”$slice“,$Buffer_slice$9=function(range){return $truthy(this.slice_source())?this.source[”$“](range):this.slice_source[”$“](range).$encode(this.source.$encoding())},$Buffer_slice$9.$$arity=1),Opal.def(self,”$decompose_position“,$Buffer_decompose_position$10=function(position){var $a,$b,line_no,line_begin;return $b=this.$line_for(position),line_no=null==($a=Opal.to_ary($b))?nil:$a,line_begin=null==$a?nil:$a,[$rb_plus(this.first_line,line_no),$rb_minus(position,line_begin)]},$Buffer_decompose_position$10.$$arity=1),Opal.def(self,”$line_for_position“,$Buffer_line_for_position$11=function(position){var $a,$b,$c,$writer=nil,line_no=nil;return $truthy($a=this.line_for_position[”$“](position))?$a:($writer=[position,($c=this.$line_for(position),$b=Opal.to_ary($c),line_no=null==$b?nil:$b,null==$b?nil:$b,$rb_plus(this.first_line,line_no))],$send(this.line_for_position,”[]=“,Opal.to_a($writer)),$writer)},$Buffer_line_for_position$11.$$arity=1),Opal.def(self,”$column_for_position“,$Buffer_column_for_position$12=function(position){var $a,$b,$c,$writer=nil,line_begin=nil;return $truthy($a=this.column_for_position[”$“](position))?$a:($writer=[position,($c=this.$line_for(position),$b=Opal.to_ary($c),null==$b?nil:$b,line_begin=null==$b?nil:$b,$rb_minus(position,line_begin))],$send(this.column_for_position,”[]=“,Opal.to_a($writer)),$writer)},$Buffer_column_for_position$12.$$arity=1),Opal.def(self,”$source_lines“,$Buffer_source_lines$13=function(){var $a,$$14,self=this,lines=nil;return self.lines=$truthy($a=self.lines)?$a:(lines=self.source.$lines().$to_a(),$truthy(self.source(”n“.$force_encoding(”ASCII-8BIT“).$freeze()))&&lines(”“.$force_encoding(”ASCII-8BIT“).$dup()),$send(lines,”each“,[],(($$14=function(line){$$14.$$s;return null==line&&(line=nil),line(”n“.$force_encoding(”ASCII-8BIT“).$freeze()),line.$freeze()}).$$s=self,$$14.$$arity=1,$$14)),lines.$freeze())},$Buffer_source_lines$13.$$arity=0),Opal.def(self,”$source_line“,$Buffer_source_line$15=function(lineno){return this.$source_lines().$fetch($rb_minus(lineno,this.first_line)).$dup()},$Buffer_source_line$15.$$arity=1),Opal.def(self,”$line_range“,$Buffer_line_range$16=function(lineno){var $a,lhs,rhs,index=nil;return index=$rb_plus($rb_minus(lineno,this.first_line),1),$truthy($truthy($a=$rb_le(index,0))?$a:(lhs=index,rhs=this.$line_begins().$size(),”number“==typeof lhs&&”number“==typeof ”“>rhs?rhslineno
” requested, valid line numbers are “this.first_line
”..“+$rb_minus($rb_plus(this.first_line,this.$line_begins().$size()),1)):index(this.$line_begins().$size())?$$($nesting,”Range“).$new(this,this.$line_begins()[”$“](index())[”$[]“](1),this.source.$size()):$$($nesting,”Range“).$new(this,this.$line_begins()[”$“](index())[”$[]“](1),$rb_minus(this.$line_begins()[”$“]($rb_minus(index(),1))[”$“](1),1))},$Buffer_line_range$16.$$arity=1),Opal.def(self,”$source_range“,$Buffer_source_range$17=function(){var $a;return this.source_range=$truthy($a=this.source_range)?$a:$$($nesting,”Range“).$new(this,0,this.$source().$size())},$Buffer_source_range$17.$$arity=0),Opal.def(self,”$last_line“,$Buffer_last_line$18=function(){return $rb_minus($rb_plus(this.$line_begins().$size(),this.first_line),1)},$Buffer_last_line$18.$$arity=0),self.$private(),Opal.def(self,”$line_begins“,$Buffer_line_begins$19=function(){var $a,index=nil;if($truthy(this.line_begins));else for($a=[[],0],this.line_begins=$a,index=$a;$truthy(index=this.source.$index(”n“.$force_encoding(”ASCII-8BIT“).$freeze(),index));)index=$rb_plus(index,1),this.line_begins.$unshift();return this.line_begins},$Buffer_line_begins$19.$$arity=0),Opal.def(self,”$line_for“,$Buffer_line_for$20=function(position){var $$21;return $send(this.$line_begins(),”bsearch“,[],(($$21=function(line,line_begin){$$21.$$s;return null==line&&(line=nil),null==line_begin&&(line_begin=nil),$rb_le(line_begin,position)}).$$s=this,$$21.$$arity=2,$$21))},$Buffer_line_for$20.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_plus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_ge(lhs,rhs){return”number“==typeof lhs&&”number“==typeof =”“>rhs?rhs<=lhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$hash2=Opal.hash2;return =”,“$!”,“$<=>”,“$contains?”,“$overlaps?”,“$==”,“$*”,“$is_a?”,“$source_buffer”,“$nonzero?”“>Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Range_initialize$1,$Range_begin$2,$Range_end$3,$Range_size$4,$Range_line$5,$Range_column$6,$Range_last_line$7,$Range_last_column$8,$Range_column_range$9,$Range_source_line$10,$Range_source$11,$Range_is$ques$12,$Range_to_a$13,$Range_to_s$14,$Range_with$15,$Range_adjust$16,$Range_resize$17,$Range_join$18,$Range_intersect$19,$Range_disjoint$ques$20,$Range_overlaps$ques$21,$Range_contains$ques$22,$Range_contained$ques$23,$Range_crossing$ques$24,$Range_empty$ques$25,$Range_$lt_eq_gt$26,$Range_inspect$27,self=$klass($base,null,”Range“),$nesting=.concat($parent_nesting);self.$$prototype.begin_pos=self.$$prototype.end_pos=self.$$prototype.source_buffer=nil,self.$include($$($nesting,”Comparable“)),self.$attr_reader(”source_buffer“),self.$attr_reader(”begin_pos“,”end_pos“),Opal.def(self,”$initialize“,$Range_initialize$1=function(source_buffer,begin_pos,end_pos){var $a,lhs,rhs;return $truthy((rhs=begin_pos,”number“==typeof(lhs=end_pos)&&”number“==typeof rhs?lhsthis.begin_pos
”…“this.end_pos
”>“},$Range_inspect$27.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Comment_associate$1,$Comment_associate_locations$2,$Comment_initialize$3,$Comment_type$4,$Comment_inline$ques$5,$Comment_document$ques$6,$Comment_$eq_eq$7,$Comment_inspect$8,self=$klass($base,null,”Comment“),$nesting=.concat($parent_nesting);self.$$prototype.location=nil,self.$attr_reader(”text“),self.$attr_reader(”location“),self.$alias_method(”loc“,”location“),Opal.defs(self,”$associate“,$Comment_associate$1=function(ast,comments){return $$($nesting,”Associator“).$new(ast,comments).$associate()},$Comment_associate$1.$$arity=2),Opal.defs(self,”$associate_locations“,$Comment_associate_locations$2=function(ast,comments){return $$($nesting,”Associator“).$new(ast,comments).$associate_locations()},$Comment_associate_locations$2.$$arity=2),Opal.def(self,”$initialize“,$Comment_initialize$3=function(range){return this.location=$$$($$$($$($nesting,”Parser“),”Source“),”Map“).$new(range),this.text=range.$source().$freeze(),this.$freeze()},$Comment_initialize$3.$$arity=1),Opal.def(self,”$type“,$Comment_type$4=function(){return $truthy(this.$text()(”#“.$freeze()))?”inline“:$truthy(this.$text()(”=begin“.$freeze()))?”document“:nil},$Comment_type$4.$$arity=0),Opal.def(self,”$inline?“,$Comment_inline$ques$5=function(){return this.$type()(”inline“)},$Comment_inline$ques$5.$$arity=0),Opal.def(self,”$document?“,$Comment_document$ques$6=function(){return this.$type()(”document“)},$Comment_document$ques$6.$$arity=0),Opal.def(self,”$==“,$Comment_$eq_eq$7=function(other){var $a;return $truthy($a=other($$$($$($nesting,”Source“),”Comment“)))?this.location(other.$location()):$a},$Comment_$eq_eq$7.$$arity=1),Opal.def(self,”$inspect“,$Comment_inspect$8=function(){return”#<Parser::Source::Comment “+this.location.$expression().$to_s()+” “+this.$text().$inspect()+”>“},$Comment_inspect$8.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_le(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs<=rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs([”$attr_accessor“,”$do_associate“,”$private“,”$new“,”$=“,”$-“,”$advance_comment“,”$advance_through_directives“,”$visit“,”$process_leading_comments“,”$location“,”$<=","$line","$last_line","$is_a?","$each","$children","$loc","$expression","$process_trailing_comments","$==","$type","$current_comment_before?","$associate_and_advance_comment","$current_comment_before_end?","$current_comment_decorates?","$+","$),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Associator_initialize$1,$Associator_associate$2,$Associator_associate_locations$3,$Associator_do_associate$4,$Associator_visit$6,$Associator_process_leading_comments$8,$Associator_process_trailing_comments$9,$Associator_advance_comment$10,$Associator_current_comment_before$ques$11,$Associator_current_comment_before_end$ques$12,$Associator_current_comment_decorates$ques$13,$Associator_associate_and_advance_comment$14,$Associator_advance_through_directives$15,self=$klass($base,null,“Associator”),$nesting=.concat($parent_nesting);self.$$prototype.skip_directives=self.$$prototype.ast=self.$$prototype.mapping=self.$$prototype.current_comment=self.$$prototype.comment_num=self.$$prototype.comments=self.$$prototype.map_using_locations=nil,self.$attr_accessor(“skip_directives”),Opal.def(self,“$initialize”,$Associator_initialize$1=function(ast,comments){return this.ast=ast,this.comments=comments,this.skip_directives=!0},$Associator_initialize$1.$$arity=2),Opal.def(self,“$associate”,$Associator_associate$2=function(){return this.map_using_locations=!1,this.$do_associate()},$Associator_associate$2.$$arity=0),Opal.def(self,“$associate_locations”,$Associator_associate_locations$3=function(){return this.map_using_locations=!0,this.$do_associate()},$Associator_associate_locations$3.$$arity=0),self.$private(),Opal.def(self,“$do_associate”,$Associator_do_associate$4=function(){var $$5;return this.mapping=$send($$($nesting,“Hash”),“new”,[],(($$5=function(h,k){var $writer,lhs,rhs;$$5.$$s;return null==h&&(h=nil),null==k&&(k=nil),$writer=[k,],$send(h,“[]=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))]}).$$s=this,$$5.$$arity=2,$$5)),this.comment_num=-1,this.$advance_comment(),$truthy(this.skip_directives)&&this.$advance_through_directives(),$truthy(this.ast)&&this.$visit(this.ast),this.mapping},$Associator_do_associate$4.$$arity=0),Opal.def(self,“$visit”,$Associator_visit$6=function(node){var $a,$$7,node_loc=nil;return this.$process_leading_comments(node),$truthy(this.current_comment)?(node_loc=node.$location(),$truthy($truthy($a=$rb_le(this.current_comment.$location().$line(),node_loc.$last_line()))?$a:node_loc($$$($$($nesting,“Map”),“Heredoc”)))?($send(node.$children(),“each”,[],(($$7=function(child){var $b,$c,self=$$7.$$s||this;return null==child&&(child=nil),$truthy($truthy($b=$truthy($c=child($$$($$($nesting,“AST”),“Node”)))?child.$loc():$c)?child.$loc().$expression():$b)?self.$visit(child):nil}).$$s=this,$$7.$$arity=1,$$7)),this.$process_trailing_comments(node)):nil):nil},$Associator_visit$6.$$arity=1),Opal.def(self,“$process_leading_comments”,$Associator_process_leading_comments$8=function(node){if(node.$type()(“begin”))return nil;for(;$truthy(this(node));)this.$associate_and_advance_comment(node)},$Associator_process_leading_comments$8.$$arity=1),Opal.def(self,“$process_trailing_comments”,$Associator_process_trailing_comments$9=function(node){for(;$truthy(this(node));)this.$associate_and_advance_comment(node);for(;$truthy(this(node));)this.$associate_and_advance_comment(node)},$Associator_process_trailing_comments$9.$$arity=1),Opal.def(self,“$advance_comment”,$Associator_advance_comment$10=function(){var lhs,rhs;return this.comment_num=(lhs=this.comment_num,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)),this.current_comment=this.comments[“$”](this.comment_num)},$Associator_advance_comment$10.$$arity=0),Opal.def(self,“$current_comment_before?”,$Associator_current_comment_before$ques$11=function(node){var comment_loc=nil,node_loc=nil;return!$truthy(this.current_comment())&&(comment_loc=this.current_comment.$location().$expression(),node_loc=node.$location().$expression(),$rb_le(comment_loc.$end_pos(),node_loc.$begin_pos()))},$Associator_current_comment_before$ques$11.$$arity=1),Opal.def(self,“$current_comment_before_end?”,$Associator_current_comment_before_end$ques$12=function(node){var comment_loc=nil,node_loc=nil;return!$truthy(this.current_comment())&&(comment_loc=this.current_comment.$location().$expression(),node_loc=node.$location().$expression(),$rb_le(comment_loc.$end_pos(),node_loc.$end_pos()))},$Associator_current_comment_before_end$ques$12.$$arity=1),Opal.def(self,“$current_comment_decorates?”,$Associator_current_comment_decorates$ques$13=function(node){return!$truthy(this.current_comment())&&this.current_comment.$location().$line()(node.$location().$last_line())},$Associator_current_comment_decorates$ques$13.$$arity=1),Opal.def(self,“$associate_and_advance_comment”,$Associator_associate_and_advance_comment$14=function(node){var key,self=this;return key=$truthy(self.map_using_locations)?node.$location():node,self.mapping[“$”](key)(self.current_comment),self.$advance_comment()},$Associator_associate_and_advance_comment$14.$$arity=1),Opal.const_set($nesting,“MAGIC_COMMENT_RE”,/^#s*(-*-|)s*(frozen_string_literal|warn_indent|warn_past_scope):.*1$/),Opal.def(self,“$advance_through_directives”,$Associator_advance_through_directives$15=function(){var $a;return $truthy($truthy($a=this.current_comment)?this.current_comment.$text()(“#!”.$freeze()):$a)&&this.$advance_comment(),$truthy($truthy($a=this.current_comment)?this.current_comment.$text()($$($nesting,“MAGIC_COMMENT_RE”)):$a)&&this.$advance_comment(),$truthy($truthy($a=this.current_comment)?this.current_comment.$text()($$$($$($nesting,“Buffer”),“ENCODING_RE”)):$a)?this.$advance_comment():nil},$Associator_advance_through_directives$15.$$arity=0)}($$($nesting,“Comment”),0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_le(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs<=rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$gvars=Opal.gvars,$truthy=Opal.truthy,$hash2=Opal.hash2;return Opal.add_stubs([“$attr_reader”,“$warn_of_deprecation”,“$class”,“$new”,“$lambda”,“$puts”,“$render”,“$consumer=”,“$-”,“$append”,“$freeze”,“$begin”,“$end”,“$+”,“$in_transaction?”,“$raise”,“$dup”,“$source”,“$each”,“$sort”,“$begin_pos”,“$range”,“$length”,“$replacement”,“$=”,“$private”,“$empty?”,“$!”,“$allow_multiple_insertions?”,“$clobbered_insertion?”,“$raise_clobber_error”,“$record_insertion”,“$adjacent_updates?”,“$find”,“$overlaps?”,“$replace_compatible_with_insertion?”,“$merge_actions!”,“$<<","$active_queue","$adjacent_insertions?","$merge_actions","$delete","$can_merge?","$record_replace","$|","$active_insertions","$active_insertions=","$active_clobber","$clobbered_position_mask","$active_clobber=","$size","$!=","$&","$<=","$end_pos","$adjacent_insertion_mask","$select","$adjacent?","$adjacent_position_mask","$>=”,“$==”,“$),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Rewriter_initialize$1,$Rewriter_remove$3,$Rewriter_insert_before$4,$Rewriter_wrap$5,$Rewriter_insert_before_multi$6,$Rewriter_insert_after$7,$Rewriter_insert_after_multi$8,$Rewriter_replace$9,$Rewriter_process$10,$Rewriter_transaction$12,$Rewriter_append$13,$Rewriter_record_insertion$16,$Rewriter_record_replace$17,$Rewriter_clobbered_position_mask$18,$Rewriter_adjacent_position_mask$19,$Rewriter_adjacent_insertion_mask$20,$Rewriter_clobbered_insertion$ques$21,$Rewriter_adjacent_insertions$ques$23,$Rewriter_adjacent_updates$ques$25,$Rewriter_replace_compatible_with_insertion$ques$27,$Rewriter_can_merge$ques$28,$Rewriter_merge_actions$30,$Rewriter_merge_actions$excl$33,$Rewriter_merge_replacements$34,$Rewriter_replace_actions$36,$Rewriter_raise_clobber_error$38,$Rewriter_in_transaction$ques$39,$Rewriter_active_queue$40,$Rewriter_active_clobber$41,$Rewriter_active_insertions$42,$Rewriter_active_clobber$eq$43,$Rewriter_active_insertions$eq$44,$Rewriter_adjacent$ques$45,self=$klass($base,null,”Rewriter“),$nesting=.concat($parent_nesting);self.$$prototype.diagnostics=self.$$prototype.insert_before_multi_order=self.$$prototype.insert_after_multi_order=self.$$prototype.source_buffer=self.$$prototype.queue=self.$$prototype.clobber=self.$$prototype.insertions=self.$$prototype.pending_queue=self.$$prototype.pending_clobber=self.$$prototype.pending_insertions=nil,self.$attr_reader(”source_buffer“),self.$attr_reader(”diagnostics“),Opal.def(self,”$initialize“,$Rewriter_initialize$1=function(source_buffer){var $$2,$writer;return this.$class().$warn_of_deprecation(),this.diagnostics=$$$($$($nesting,”Diagnostic“),”Engine“).$new(),$writer=[$send(this,”lambda“,,($$2=function(diag){$$2.$$s;return null==$gvars.stderr&&($gvars.stderr=nil),null==diag&&(diag=nil),$gvars.stderr.$puts(diag.$render())},$$2.$$s=this,$$2.$$arity=1,$$2))],$send(this.diagnostics,”consumer=“,Opal.to_a($writer)),$rb_minus($writer.length,1),this.source_buffer=source_buffer,this.queue=[],this.clobber=0,this.insertions=0,this.insert_before_multi_order=0,this.insert_after_multi_order=0,this.pending_queue=nil,this.pending_clobber=nil,this.pending_insertions=nil},$Rewriter_initialize$1.$$arity=1),Opal.def(self,”$remove“,$Rewriter_remove$3=function(range){return this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range,”“.$freeze()))},$Rewriter_remove$3.$$arity=1),Opal.def(self,”$insert_before“,$Rewriter_insert_before$4=function(range,content){return this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$begin(),content))},$Rewriter_insert_before$4.$$arity=2),Opal.def(self,”$wrap“,$Rewriter_wrap$5=function(range,before,after){return this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$begin(),before)),this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$end(),after))},$Rewriter_wrap$5.$$arity=3),Opal.def(self,”$insert_before_multi“,$Rewriter_insert_before_multi$6=function(range,content){return this.insert_before_multi_order=$rb_minus(this.insert_before_multi_order,1),this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$begin(),content,!0,this.insert_before_multi_order))},$Rewriter_insert_before_multi$6.$$arity=2),Opal.def(self,”$insert_after“,$Rewriter_insert_after$7=function(range,content){return this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$end(),content))},$Rewriter_insert_after$7.$$arity=2),Opal.def(self,”$insert_after_multi“,$Rewriter_insert_after_multi$8=function(range,content){return this.insert_after_multi_order=$rb_plus(this.insert_after_multi_order,1),this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range.$end(),content,!0,this.insert_after_multi_order))},$Rewriter_insert_after_multi$8.$$arity=2),Opal.def(self,”$replace“,$Rewriter_replace$9=function(range,content){return this.$append($$$($$($nesting,”Rewriter“),”Action“).$new(range,content))},$Rewriter_replace$9.$$arity=2),Opal.def(self,”$process“,$Rewriter_process$10=function(){var $$11,source,adjustment=nil;return $truthy(this())&&this.$raise(”Do not call “+this.$class()+”#process inside a transaction“),adjustment=0,source=this.source_buffer.$source().$dup(),$send(this.queue.$sort(),”each“,[],(($$11=function(action){var begin_pos,end_pos,$writer;$$11.$$s;return null==action&&(action=nil),end_pos=$rb_plus(begin_pos=$rb_plus(action.$range().$begin_pos(),adjustment),action.$range().$length()),$writer=,$send(source,”[]=“,Opal.to_a($writer)),$rb_minus($writer.length,1),adjustment=$rb_plus(adjustment,$rb_minus(action.$replacement().$length(),action.$range().$length()))}).$$s=this,$$11.$$arity=1,$$11)),source},$Rewriter_process$10.$$arity=0),Opal.def(self,”$transaction“,$Rewriter_transaction$12=function(){var $iter=$Rewriter_transaction$12.$$p,$yield=$iter||nil,self=this;return $iter&&($Rewriter_transaction$12.$$p=null),function(){try{return $yield!==nil||self.$raise(self.$class()+”#transaction requires block“),$truthy(self())&&self.$raise(”Nested transaction is not supported“),self.pending_queue=self.queue.$dup(),self.pending_clobber=self.clobber,self.pending_insertions=self.insertions,Opal.yieldX($yield,[]),self.queue=self.pending_queue,self.clobber=self.pending_clobber,self.insertions=self.pending_insertions,self}finally{self.pending_queue=nil,self.pending_clobber=nil,self.pending_insertions=nil}}()},$Rewriter_transaction$12.$$arity=0),self.$private(),Opal.def(self,”$append“,$Rewriter_append$13=function(action){var $a,$$14,$$15,range=nil,conflicting=nil,adjacent=nil,insertions=nil;if(range=action.$range(),$truthy(range())){if($truthy(action.$replacement()()))return this;$truthy($truthy($a=action()[”$!“]())?conflicting=this(range):$a)&&this.$raise_clobber_error(action,),this.$record_insertion(range),$truthy(adjacent=this(range))?(conflicting=$send(adjacent,”find“,[],(($$14=function(a){var $b,self=$$14.$$s||this;return null==a&&(a=nil),$truthy($b=a.$range()(range))?self(a,action)():$b}).$$s=this,$$14.$$arity=1,$$14)),$truthy(conflicting)&&this.$raise_clobber_error(action,),this(action,adjacent)):this.$active_queue()(action)}else $truthy(insertions=this(range))&&$send(insertions,”each“,[],(($$15=function(insertion){var $b,self=$$15.$$s||this;return null==insertion&&(insertion=nil),$truthy($truthy($b=range(insertion.$range()))?self(action,insertion)():$b)?self.$raise_clobber_error(action,):(action=self.$merge_actions(action,),self.$active_queue().$delete(insertion))}).$$s=this,$$15.$$arity=1,$$15)),$truthy(adjacent=this(range))?$truthy(this(action,adjacent))?(this.$record_replace(range),this(action,adjacent)):this.$raise_clobber_error(action,adjacent):(this.$record_replace(range),this.$active_queue()(action));return this},$Rewriter_append$13.$$arity=1),Opal.def(self,”$record_insertion“,$Rewriter_record_insertion$16=function(range){var $writer;return $writer=[this.$active_insertions()(1(range.$begin_pos()))],$send(this,”active_insertions=“,Opal.to_a($writer)),$writer},$Rewriter_record_insertion$16.$$arity=1),Opal.def(self,”$record_replace“,$Rewriter_record_replace$17=function(range){var $writer;return $writer=[this.$active_clobber()(this.$clobbered_position_mask(range))],$send(this,”active_clobber=“,Opal.to_a($writer)),$writer},$Rewriter_record_replace$17.$$arity=1),Opal.def(self,”$clobbered_position_mask“,$Rewriter_clobbered_position_mask$18=function(range){return $rb_minus(1(range.$size()),1)(range.$begin_pos())},$Rewriter_clobbered_position_mask$18.$$arity=1),Opal.def(self,”$adjacent_position_mask“,$Rewriter_adjacent_position_mask$19=function(range){return $rb_minus(1($rb_plus(range.$size(),2)),1)($rb_minus(range.$begin_pos(),1))},$Rewriter_adjacent_position_mask$19.$$arity=1),Opal.def(self,”$adjacent_insertion_mask“,$Rewriter_adjacent_insertion_mask$20=function(range){return $rb_minus(1($rb_plus(range.$size(),1)),1)(range.$begin_pos())},$Rewriter_adjacent_insertion_mask$20.$$arity=1),Opal.def(self,”$clobbered_insertion?“,$Rewriter_clobbered_insertion$ques$21=function(insertion){var $$22,insertion_pos;return insertion_pos=insertion.$begin_pos(),$truthy(this.$active_insertions()(1(insertion_pos))(0))?$send(this.$active_queue(),”find“,[],(($$22=function(a){var $a;$$22.$$s;return null==a&&(a=nil),$truthy($a=$rb_le(a.$range().$begin_pos(),insertion_pos))?$rb_le(insertion_pos,a.$range().$end_pos()):$a}).$$s=this,$$22.$$arity=1,$$22)):nil},$Rewriter_clobbered_insertion$ques$21.$$arity=1),Opal.def(self,”$adjacent_insertions?“,$Rewriter_adjacent_insertions$ques$23=function(range){var $$24,result=nil;return $truthy(this.$active_insertions()(this.$adjacent_insertion_mask(range))(0))?(result=$send(this.$active_queue(),”select“,[],(($$24=function(a){var $a,self=$$24.$$s||this;return null==a&&(a=nil),$truthy($a=a.$range()())?self(range,a.$range()):$a}).$$s=this,$$24.$$arity=1,$$24)),$truthy(result())?nil:result):nil},$Rewriter_adjacent_insertions$ques$23.$$arity=1),Opal.def(self,”$adjacent_updates?“,$Rewriter_adjacent_updates$ques$25=function(range){var $$26;return $truthy(this.$active_clobber()(this.$adjacent_position_mask(range))(0))?$send(this.$active_queue(),”select“,[],(($$26=function(a){var self=$$26.$$s||this;return null==a&&(a=nil),self(range,a.$range())}).$$s=this,$$26.$$arity=1,$$26)):nil},$Rewriter_adjacent_updates$ques$25.$$arity=1),Opal.def(self,”$replace_compatible_with_insertion?“,$Rewriter_replace_compatible_with_insertion$ques$27=function(replace,insertion){var $a,$b,lhs,rhs,offset=nil;return $truthy($a=$truthy((lhs=$rb_minus(replace.$replacement().$length(),replace.$range().$size()),rhs=insertion.$range().$size(),$b=”number“==typeof lhs&&”number“==typeof =”“>rhs?rhs<=lhs:lhs(rhs)))?offset=$rb_minus(insertion.$range().$begin_pos(),replace.$range().$begin_pos()):$b)?replace.$replacement()[”$“](offset,insertion.$replacement().$length())(insertion.$replacement()):$a},$Rewriter_replace_compatible_with_insertion$ques$27.$$arity=2),Opal.def(self,”$can_merge?“,$Rewriter_can_merge$ques$28=function(action,existing){var $$29,range=nil;return range=action.$range(),$send(existing,”all?“,[],(($$29=function(other){$$29.$$s;var $a,repl1_offset,repl2_offset,repl1_length,repl2_length,replacement2,overlap=nil,replacement1=nil;return null==other&&(other=nil),overlap=range.$intersect(other.$range()),!!$truthy(overlap())||(repl1_offset=$rb_minus(overlap.$begin_pos(),range.$begin_pos()),repl2_offset=$rb_minus(overlap.$begin_pos(),other.$range().$begin_pos()),repl1_length=.$max(),repl2_length=.$max(),replacement1=$truthy($a=action.$replacement()[”$“](repl1_offset,repl1_length))?$a:”“.$freeze(),replacement2=$truthy($a=other.$replacement()[”$“](repl2_offset,repl2_length))?$a:”“.$freeze(),replacement1(replacement2))}).$$s=this,$$29.$$arity=1,$$29))},$Rewriter_can_merge$ques$28.$$arity=2),Opal.def(self,”$merge_actions“,$Rewriter_merge_actions$30=function(action,existing){var $$31,$$32,range,actions=nil;return range=(actions=$send(existing.$push(action),”sort_by“,[],(($$31=function(a){$$31.$$s;return null==a&&(a=nil),}).$$s=this,$$31.$$arity=1,$$31))).$first().$range().$join($send(actions,”max_by“,[],($$32=function(a){$$32.$$s;return null==a&&(a=nil),a.$range().$end_pos()},$$32.$$s=this,$$32.$$arity=1,$$32)).$range()),$$$($$($nesting,”Rewriter“),”Action“).$new(range,this.$merge_replacements(actions))},$Rewriter_merge_actions$30.$$arity=2),Opal.def(self,”$merge_actions!“,$Rewriter_merge_actions$excl$33=function(action,existing){var new_action;return new_action=this.$merge_actions(action,existing),this.$active_queue().$delete(action),this.$replace_actions(existing,new_action)},$Rewriter_merge_actions$excl$33.$$arity=2),Opal.def(self,”$merge_replacements“,$Rewriter_merge_replacements$34=function(actions){var $$35,result=nil,prev_act=nil;return result=”“.$dup(),prev_act=nil,$send(actions,”each“,[],(($$35=function(act){$$35.$$s;var $a,lhs,rhs,offset=nil;return null==act&&(act=nil),$truthy($truthy($a=prev_act())?$a:act.$range()(prev_act.$range()))?result(act.$replacement()):(offset=$rb_minus(.$max(),act.$range().$begin_pos()),$truthy((lhs=offset,rhs=act.$replacement().$size(),”number“==typeof lhs&&”number“==typeof rhs?lhsrange
“ is outside the bounds of the source”),range},$TreeRewriter_check_range_validity$16.$$arity=1),Opal.def(self,“$enforce_policy”,$TreeRewriter_enforce_policy$17=function(event){var values,$iter=$TreeRewriter_enforce_policy$17.$$p,$yield=$iter||nil;return $iter&&($TreeRewriter_enforce_policy$17.$$p=null),this.policy[“$”](event)(“accept”)?nil:$truthy(values=Opal.yieldX($yield,[]))?this.$trigger_policy(event,values):nil},$TreeRewriter_enforce_policy$17.$$arity=1),Opal.const_set($nesting,“POLICY_TO_LEVEL”,$hash2(,{warn:“warning”,raise:“error”}).$freeze()),Opal.def(self,“$trigger_policy”,$TreeRewriter_trigger_policy$18=function(event,$kwargs){var range,conflict,arguments$,$a,$b,action=nil,diag=nil,highlights=nil;if(null==$kwargs)$kwargs=$hash2([],{});else if(!$kwargs.$$is_hash)throw Opal.ArgumentError.$new(“expected kwargs”);return null==(range=$kwargs.$$smap.range)&&(range=this.$raise()),null==(conflict=$kwargs.$$smap.conflict)&&(conflict=nil),arguments$=Opal.kwrestargs($kwargs,{range:!0,conflict:!0}),action=$truthy($a=this.policy[“$”](event))?$a:“raise”,diag=$$$($$($nesting,“Parser”),“Diagnostic”).$new($$($nesting,“POLICY_TO_LEVEL”)[“$”](action),event,arguments$,range),this.diagnostics.$process(diag),$truthy(conflict)&&($b=conflict,range=null==($a=Opal.to_ary($b))?nil:$a,highlights=$slice.call($a,1),diag=$$$($$($nesting,“Parser”),“Diagnostic”).$new($$($nesting,“POLICY_TO_LEVEL”)[“$”](action),event+“_conflict”,arguments$,range,highlights),this.diagnostics.$process(diag)),action(“raise”)?this.$raise($$$($$($nesting,“Parser”),“ClobberingError”),“Parser::Source::TreeRewriter detected clobbering”):nil},$TreeRewriter_trigger_policy$18.$$arity=-2)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$hash2=Opal.hash2,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs([“$attr_reader”,“$freeze”,“$insertion?”,“$replacement”,“$do_combine”,“$empty?”,“$<<","$begin","$concat","$flat_map","$sort_by","$to_proc","$end","$!","$insert_before","$insert_after","$protected","$swallow","$new","$class","$==","$range","$merge","$place_in_hierachy","$group_by","$relationship_with","$”,“$fuse_deletions”,“$with”,“$inject”,“$map”,“$contains?”,“$contained?”,“$disjoint?”,“$call”,“$call_enforcer_for_merge”,“$!=”,“$select”]),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Action_initialize$1,$Action_combine$2,$Action_ordered_replacements$3,$Action_insertion$ques$4,$Action_with$5,$Action_do_combine$6,$Action_place_in_hierachy$7,$Action_fuse_deletions$9,$Action_relationship_with$10,$Action_merge$13,$Action_call_enforcer_for_merge$14,$Action_swallow$16,self=$klass($base,null,“Action”);.concat($parent_nesting);self.$$prototype.insert_before=self.$$prototype.range=self.$$prototype.replacement=self.$$prototype.children=self.$$prototype.insert_after=self.$$prototype.enforcer=nil,self.$attr_reader(“range”,“replacement”,“insert_before”,“insert_after”),Opal.def(self,“$initialize”,$Action_initialize$1=function(range,enforcer,$kwargs){var insert_before,replacement,insert_after,children,$a;if(null==$kwargs)$kwargs=$hash2([],{});else if(!$kwargs.$$is_hash)throw Opal.ArgumentError.$new(“expected kwargs”);return null==(insert_before=$kwargs.$$smap.insert_before)&&(insert_before=“”),null==(replacement=$kwargs.$$smap.replacement)&&(replacement=nil),null==(insert_after=$kwargs.$$smap.insert_after)&&(insert_after=“”),null==(children=$kwargs.$$smap.children)&&(children=[]),$a=,this.range=$a,this.enforcer=$a,this.children=$a,this.insert_before=$a,this.replacement=$a,this.insert_after=$a,this.$freeze()},$Action_initialize$1.$$arity=-3),Opal.def(self,“$combine”,$Action_combine$2=function(action){var $a;return $truthy($truthy($a=action())?$a:action.$replacement())?this.$do_combine(action):this},$Action_combine$2.$$arity=1),Opal.def(self,“$ordered_replacements”,$Action_ordered_replacements$3=function(){var reps=nil;return reps=[],$truthy(this.insert_before())||reps([this.range.$begin(),this.insert_before]),$truthy(this.replacement)&&reps([this.range,this.replacement]),reps.$concat($send($send(this.children,“sort_by”,[],“range”.$to_proc()),“flat_map”,,“ordered_replacements”.$to_proc())),$truthy(this.insert_after())||reps([this.range.$end(),this.insert_after]),reps},$Action_ordered_replacements$3.$$arity=0),Opal.def(self,“$insertion?”,$Action_insertion$ques$4=function(){var $a,$b;return $truthy($a=$truthy($b=this.$insert_before()()[“$!”]())?$b:this.$insert_after()()[“$!”]())?$a:$truthy($b=this.$replacement())?this.$replacement()()[“$!”]():$b},$Action_insertion$ques$4.$$arity=0),self.$protected(),Opal.def(self,“$with”,$Action_with$5=function($kwargs){var range,children,insert_before,replacement,insert_after;if(null==$kwargs)$kwargs=$hash2([],{});else if(!$kwargs.$$is_hash)throw Opal.ArgumentError.$new(“expected kwargs”);return null==(range=$kwargs.$$smap.range)&&(range=this.range),null==(children=$kwargs.$$smap.children)&&(children=this.children),null==(insert_before=$kwargs.$$smap.insert_before)&&(insert_before=this.insert_before),null==(replacement=$kwargs.$$smap.replacement)&&(replacement=this.replacement),null==(insert_after=$kwargs.$$smap.insert_after)&&(insert_after=this.insert_after),$truthy(replacement)&&(children=this.$swallow(children)),this.$class().$new(range,this.enforcer,$hash2(,{children:children,insert_before:insert_before,replacement:replacement,insert_after:insert_after}))},$Action_with$5.$$arity=-1),Opal.def(self,“$do_combine”,$Action_do_combine$6=function(action){return action.$range()(this.range)?this.$merge(action):this.$place_in_hierachy(action)},$Action_do_combine$6.$$arity=1),Opal.def(self,“$place_in_hierachy”,$Action_place_in_hierachy$7=function(action){var $$8,family=nil,extra_sibbling=nil;return family=$send(this.children,“group_by”,[],(($$8=function(child){$$8.$$s;return null==child&&(child=nil),child.$relationship_with(action)}).$$s=this,$$8.$$arity=1,$$8)),$truthy(family[“$”](“fusible”))?this.$fuse_deletions(action,family[“$”](“fusible”),[].concat(Opal.to_a(family[“$”](“sibbling”))).concat(Opal.to_a(family[“$”](“child”)))):(extra_sibbling=$truthy(family[“$”](“parent”))?family[“$”](“parent”)[“$”](0).$do_combine(action):$truthy(family[“$”](“child”))?action.$with($hash2(,{children:family[“$”](“child”)})):action,this.$with($hash2(,{children:[].concat(Opal.to_a(family[“$”](“sibbling”))).concat()})))},$Action_place_in_hierachy$7.$$arity=1),Opal.def(self,“$fuse_deletions”,$Action_fuse_deletions$9=function(action,fusible,other_sibblings){var fused_range,fused_deletion,without_fusible=nil;return without_fusible=this.$with($hash2(,{children:other_sibblings})),fused_range=$send(.concat(Opal.to_a(fusible)),“map”,[],“range”.$to_proc()).$inject(“join”),fused_deletion=action.$with($hash2(,{range:fused_range})),without_fusible.$do_combine(fused_deletion)},$Action_fuse_deletions$9.$$arity=3),Opal.def(self,“$relationship_with”,$Action_relationship_with$10=function(action){var $a,$$11,$$12;return $truthy($truthy($a=action.$range()(this.range))?$a:this.range(action.$range()))?“parent”:$truthy(this.range(action.$range()))?“child”:$truthy(this.range(action.$range()))?“sibbling”:$truthy($truthy($a=action()[“$!”]())?this()[“$!”]():$a)?($send(this.enforcer,“call”,,(($$11=function(){var self=$$11.$$s||this;return null==self.range&&(self.range=nil),$hash2(,{range:action.$range(),conflict:self.range})}).$$s=this,$$11.$$arity=0,$$11)),“fusible”):$send(this.enforcer,“call”,,(($$12=function(){var self=$$12.$$s||this;return null==self.range&&(self.range=nil),$hash2(,{range:action.$range(),conflict:self.range})}).$$s=this,$$12.$$arity=0,$$12))},$Action_relationship_with$10.$$arity=1),Opal.def(self,“$merge”,$Action_merge$13=function(action){var $a;return this.$call_enforcer_for_merge(action),this.$with($hash2(,{insert_before:“”+action.$insert_before()+this.$insert_before(),replacement:$truthy($a=action.$replacement())?$a:this.replacement,insert_after:“”+this.$insert_after()+action.$insert_after()}))},$Action_merge$13.$$arity=1),Opal.def(self,“$call_enforcer_for_merge”,$Action_call_enforcer_for_merge$14=function(action){var $$15;return $send(this.enforcer,“call”,,(($$15=function(){var $a,$b,self=$$15.$$s||this;return null==self.replacement&&(self.replacement=nil),null==self.range&&(self.range=nil),$truthy($truthy($a=$truthy($b=self.replacement)?action.$replacement():$b)?self.replacement(action.$replacement()):$a)?$hash2(,{range:self.range,replacement:action.$replacement(),other_replacement:self.replacement}):nil}).$$s=this,$$15.$$arity=0,$$15))},$Action_call_enforcer_for_merge$14.$$arity=1),Opal.def(self,“$swallow”,$Action_swallow$16=function(children){var $$17;return $send(this.enforcer,“call”,,(($$17=function(){var self=$$17.$$s||this,insertions=nil;return null==self.range&&(self.range=nil),insertions=$send(children,“select”,[],“insertion?”.$to_proc()),$truthy(insertions())?nil:$hash2(,{range:self.range,conflict:$send(insertions,“map”,[],“range”.$to_proc())})}).$$s=this,$$17.$$arity=0,$$17)),},$Action_swallow$16.$$arity=1)}($$($nesting,“TreeRewriter”),0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$hash2=Opal.hash2,$range=Opal.range;return Opal.add_stubs([“$attr_reader”,“$freeze”,“$line”,“$alias_method”,“$column”,“$last_line”,“$last_column”,“$with”,“$update_expression”,“$==”,“$class”,“$reduce”,“$map”,“$instance_variables”,“$instance_variable_get”,“$send”,“$inject”,“$to_sym”,“$”,“$[]=”,“$-”,“$protected”,“$tap”,“$dup”,“$to_proc”]),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Map_initialize$1,$Map_initialize_copy$2,$Map_node$eq$3,$Map_line$4,$Map_column$5,$Map_last_line$6,$Map_last_column$7,$Map_with_expression$8,$Map_$eq_eq$10,$Map_to_hash$12,$Map_with$14,$Map_update_expression$15,self=$klass($base,null,“Map”);.concat($parent_nesting);self.$$prototype.node=self.$$prototype.expression=nil,self.$attr_reader(“node”),self.$attr_reader(“expression”),Opal.def(self,“$initialize”,$Map_initialize$1=function(expression){return this.expression=expression},$Map_initialize$1.$$arity=1),Opal.def(self,“$initialize_copy”,$Map_initialize_copy$2=function(other){var $zuper_ii,$iter=$Map_initialize_copy$2.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($Map_initialize_copy$2.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return $send(this,Opal.find_super_dispatcher(this,“initialize_copy”,$Map_initialize_copy$2,!1),$zuper,$iter),this.node=nil},$Map_initialize_copy$2.$$arity=1),Opal.def(self,“$node=”,$Map_node$eq$3=function(node){return this.node=node,this.$freeze(),this.node},$Map_node$eq$3.$$arity=1),Opal.def(self,“$line”,$Map_line$4=function(){return this.expression.$line()},$Map_line$4.$$arity=0),self.$alias_method(“first_line”,“line”),Opal.def(self,“$column”,$Map_column$5=function(){return this.expression.$column()},$Map_column$5.$$arity=0),Opal.def(self,“$last_line”,$Map_last_line$6=function(){return this.expression.$last_line()},$Map_last_line$6.$$arity=0),Opal.def(self,“$last_column”,$Map_last_column$7=function(){return this.expression.$last_column()},$Map_last_column$7.$$arity=0),Opal.def(self,“$with_expression”,$Map_with_expression$8=function(expression_l){var $$9;return $send(this,“with”,[],(($$9=function(map){$$9.$$s;return null==map&&(map=nil),map.$update_expression(expression_l)}).$$s=this,$$9.$$arity=1,$$9))},$Map_with_expression$8.$$arity=1),Opal.def(self,“$==”,$Map_$eq_eq$10=function(other){var $$11;return other.$class()(this.$class())?$send(this.$instance_variables(),“map”,[],($$11=function(ivar){var self=$$11.$$s||this;return null==ivar&&(ivar=nil),self.$instance_variable_get(ivar)(other.$send(“instance_variable_get”,ivar))},$$11.$$s=this,$$11.$$arity=1,$$11)).$reduce(“&”):other.$class()(this.$class())},$Map_$eq_eq$10.$$arity=1),Opal.def(self,“$to_hash”,$Map_to_hash$12=function(){var $$13;return $send(this.$instance_variables(),“inject”,[$hash2(,{})],(($$13=function(hash,ivar){var $writer,lhs,rhs,self=$$13.$$s||this;return null==hash&&(hash=nil),null==ivar&&(ivar=nil),ivar.$to_sym()(“@node”)||($writer=[ivar[“$”]($range(1,-1,!1)).$to_sym(),self.$instance_variable_get(ivar)],$send(hash,“[]=”,Opal.to_a($writer)),rhs=1,“number”==typeof(lhs=$writer.length)&&“number”==typeof rhs||lhs(rhs)),hash}).$$s=this,$$13.$$arity=2,$$13))},$Map_to_hash$12.$$arity=0),self.$protected(),Opal.def(self,“$with”,$Map_with$14=function(){var $iter=$Map_with$14.$$p,block=$iter||nil;return $iter&&($Map_with$14.$$p=null),$iter&&($Map_with$14.$$p=null),$send(this.$dup(),“tap”,[],block.$to_proc())},$Map_with$14.$$arity=0),Opal.def(self,“$update_expression”,$Map_update_expression$15=function(expression_l){return this.expression=expression_l},$Map_update_expression$15.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Operator_initialize$1,self=$klass($base,$super,“Operator”);.concat($parent_nesting);self.$attr_reader(“operator”),Opal.def(self,“$initialize”,$Operator_initialize$1=function(operator,expression){var $iter=$Operator_initialize$1.$$p;return $iter&&($Operator_initialize$1.$$p=null),this.operator=operator,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Operator_initialize$1,!1),,null)},$Operator_initialize$1.$$arity=2)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Collection_initialize$1,self=$klass($base,$super,“Collection”);.concat($parent_nesting);self.$attr_reader(“begin”),self.$attr_reader(“end”),Opal.def(self,“$initialize”,$Collection_initialize$1=function(begin_l,end_l,expression_l){var $a,$iter=$Collection_initialize$1.$$p;return $iter&&($Collection_initialize$1.$$p=null),$a=,this.begin=$a,this.end=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Collection_initialize$1,!1),,null)},$Collection_initialize$1.$$arity=3)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Constant_initialize$1,$Constant_with_operator$2,$Constant_update_operator$4,self=$klass($base,$super,“Constant”);.concat($parent_nesting);self.$attr_reader(“double_colon”),self.$attr_reader(“name”),self.$attr_reader(“operator”),Opal.def(self,“$initialize”,$Constant_initialize$1=function(double_colon,name,expression){var $a,$iter=$Constant_initialize$1.$$p;return $iter&&($Constant_initialize$1.$$p=null),$a=,this.double_colon=$a,this.name=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Constant_initialize$1,!1),,null)},$Constant_initialize$1.$$arity=3),Opal.def(self,“$with_operator”,$Constant_with_operator$2=function(operator_l){var $$3;return $send(this,“with”,[],(($$3=function(map){$$3.$$s;return null==map&&(map=nil),map.$update_operator(operator_l)}).$$s=this,$$3.$$arity=1,$$3))},$Constant_with_operator$2.$$arity=1),self.$protected(),Opal.def(self,“$update_operator”,$Constant_update_operator$4=function(operator_l){return this.operator=operator_l},$Constant_update_operator$4.$$arity=1)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Variable_initialize$1,$Variable_with_operator$2,$Variable_update_operator$4,self=$klass($base,$super,“Variable”);.concat($parent_nesting);self.$attr_reader(“name”),self.$attr_reader(“operator”),Opal.def(self,“$initialize”,$Variable_initialize$1=function(name_l,expression_l){var $iter=$Variable_initialize$1.$$p;return $iter&&($Variable_initialize$1.$$p=null),null==expression_l&&(expression_l=name_l),this.name=name_l,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Variable_initialize$1,!1),,null)},$Variable_initialize$1.$$arity=-2),Opal.def(self,“$with_operator”,$Variable_with_operator$2=function(operator_l){var $$3;return $send(this,“with”,[],(($$3=function(map){$$3.$$s;return null==map&&(map=nil),map.$update_operator(operator_l)}).$$s=this,$$3.$$arity=1,$$3))},$Variable_with_operator$2.$$arity=1),self.$protected(),Opal.def(self,“$update_operator”,$Variable_update_operator$4=function(operator_l){return this.operator=operator_l},$Variable_update_operator$4.$$arity=1)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Keyword_initialize$1,self=$klass($base,$super,“Keyword”);.concat($parent_nesting);self.$attr_reader(“keyword”),self.$attr_reader(“begin”),self.$attr_reader(“end”),Opal.def(self,“$initialize”,$Keyword_initialize$1=function(keyword_l,begin_l,end_l,expression_l){var $a,$iter=$Keyword_initialize$1.$$p;return $iter&&($Keyword_initialize$1.$$p=null),this.keyword=keyword_l,$a=,this.begin=$a,this.end=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Keyword_initialize$1,!1),,null)},$Keyword_initialize$1.$$arity=4)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Definition_initialize$1,self=$klass($base,$super,“Definition”);.concat($parent_nesting);self.$$prototype.keyword=self.$$prototype.end=nil,self.$attr_reader(“keyword”),self.$attr_reader(“operator”),self.$attr_reader(“name”),self.$attr_reader(“end”),Opal.def(self,“$initialize”,$Definition_initialize$1=function(keyword_l,operator_l,name_l,end_l){var $iter=$Definition_initialize$1.$$p;return $iter&&($Definition_initialize$1.$$p=null),this.keyword=keyword_l,this.operator=operator_l,this.name=name_l,this.end=end_l,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Definition_initialize$1,!1),,null)},$Definition_initialize$1.$$arity=4)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Send_initialize$1,$Send_with_operator$2,$Send_update_operator$4,self=$klass($base,$super,“Send”);.concat($parent_nesting);self.$attr_reader(“dot”),self.$attr_reader(“selector”),self.$attr_reader(“operator”),self.$attr_reader(“begin”),self.$attr_reader(“end”),Opal.def(self,“$initialize”,$Send_initialize$1=function(dot_l,selector_l,begin_l,end_l,expression_l){var $a,$iter=$Send_initialize$1.$$p;return $iter&&($Send_initialize$1.$$p=null),this.dot=dot_l,this.selector=selector_l,$a=,this.begin=$a,this.end=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Send_initialize$1,!1),,null)},$Send_initialize$1.$$arity=5),Opal.def(self,“$with_operator”,$Send_with_operator$2=function(operator_l){var $$3;return $send(this,“with”,[],(($$3=function(map){$$3.$$s;return null==map&&(map=nil),map.$update_operator(operator_l)}).$$s=this,$$3.$$arity=1,$$3))},$Send_with_operator$2.$$arity=1),self.$protected(),Opal.def(self,“$update_operator”,$Send_update_operator$4=function(operator_l){return this.operator=operator_l},$Send_update_operator$4.$$arity=1)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Index_initialize$1,$Index_with_operator$2,$Index_update_operator$4,self=$klass($base,$super,“Index”);.concat($parent_nesting);self.$attr_reader(“begin”),self.$attr_reader(“end”),self.$attr_reader(“operator”),Opal.def(self,“$initialize”,$Index_initialize$1=function(begin_l,end_l,expression_l){var $a,$iter=$Index_initialize$1.$$p;return $iter&&($Index_initialize$1.$$p=null),$a=,this.begin=$a,this.end=$a,this.operator=nil,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Index_initialize$1,!1),,null)},$Index_initialize$1.$$arity=3),Opal.def(self,“$with_operator”,$Index_with_operator$2=function(operator_l){var $$3;return $send(this,“with”,[],(($$3=function(map){$$3.$$s;return null==map&&(map=nil),map.$update_operator(operator_l)}).$$s=this,$$3.$$arity=1,$$3))},$Index_with_operator$2.$$arity=1),self.$protected(),Opal.def(self,“$update_operator”,$Index_update_operator$4=function(operator_l){return this.operator=operator_l},$Index_update_operator$4.$$arity=1)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Condition_initialize$1,self=$klass($base,$super,“Condition”);.concat($parent_nesting);self.$attr_reader(“keyword”),self.$attr_reader(“begin”),self.$attr_reader(“else”),self.$attr_reader(“end”),Opal.def(self,“$initialize”,$Condition_initialize$1=function(keyword_l,begin_l,else_l,end_l,expression_l){var $a,$iter=$Condition_initialize$1.$$p;return $iter&&($Condition_initialize$1.$$p=null),this.keyword=keyword_l,$a=,this.begin=$a,this.else=$a,this.end=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Condition_initialize$1,!1),,null)},$Condition_initialize$1.$$arity=5)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Ternary_initialize$1,self=$klass($base,$super,“Ternary”);.concat($parent_nesting);self.$attr_reader(“question”),self.$attr_reader(“colon”),Opal.def(self,“$initialize”,$Ternary_initialize$1=function(question_l,colon_l,expression_l){var $a,$iter=$Ternary_initialize$1.$$p;return $iter&&($Ternary_initialize$1.$$p=null),$a=,this.question=$a,this.colon=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Ternary_initialize$1,!1),,null)},$Ternary_initialize$1.$$arity=3)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $For_initialize$1,self=$klass($base,$super,“For”);.concat($parent_nesting);self.$attr_reader(“keyword”,“in”),self.$attr_reader(“begin”,“end”),Opal.def(self,“$initialize”,$For_initialize$1=function(keyword_l,in_l,begin_l,end_l,expression_l){var $a,$iter=$For_initialize$1.$$p;return $iter&&($For_initialize$1.$$p=null),$a=,this.keyword=$a,this.in=$a,$a=,this.begin=$a,this.end=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$For_initialize$1,!1),,null)},$For_initialize$1.$$arity=5)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $RescueBody_initialize$1,self=$klass($base,$super,“RescueBody”);.concat($parent_nesting);self.$attr_reader(“keyword”),self.$attr_reader(“assoc”),self.$attr_reader(“begin”),Opal.def(self,“$initialize”,$RescueBody_initialize$1=function(keyword_l,assoc_l,begin_l,expression_l){var $iter=$RescueBody_initialize$1.$$p;return $iter&&($RescueBody_initialize$1.$$p=null),this.keyword=keyword_l,this.assoc=assoc_l,this.begin=begin_l,$send(this,Opal.find_super_dispatcher(this,“initialize”,$RescueBody_initialize$1,!1),,null)},$RescueBody_initialize$1.$$arity=4)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Heredoc_initialize$1,self=$klass($base,$super,“Heredoc”);.concat($parent_nesting);self.$attr_reader(“heredoc_body”),self.$attr_reader(“heredoc_end”),Opal.def(self,“$initialize”,$Heredoc_initialize$1=function(begin_l,body_l,end_l){var $iter=$Heredoc_initialize$1.$$p;return $iter&&($Heredoc_initialize$1.$$p=null),this.heredoc_body=body_l,this.heredoc_end=end_l,$send(this,Opal.find_super_dispatcher(this,“initialize”,$Heredoc_initialize$1,!1),,null)},$Heredoc_initialize$1.$$arity=3)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ObjcKwarg_initialize$1,self=$klass($base,$super,“ObjcKwarg”);.concat($parent_nesting);self.$attr_reader(“keyword”),self.$attr_reader(“operator”),self.$attr_reader(“argument”),Opal.def(self,“$initialize”,$ObjcKwarg_initialize$1=function(keyword_l,operator_l,argument_l,expression_l){var $a,$iter=$ObjcKwarg_initialize$1.$$p;return $iter&&($ObjcKwarg_initialize$1.$$p=null),$a=,this.keyword=$a,this.operator=$a,this.argument=$a,$send(this,Opal.find_super_dispatcher(this,“initialize”,$ObjcKwarg_initialize$1,!1),,null)},$ObjcKwarg_initialize$1.$$arity=4)}($$($nesting,“Map”),$$($nesting,“Map”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $SyntaxError_initialize$1,self=$klass($base,$super,“SyntaxError”);.concat($parent_nesting);self.$attr_reader(“diagnostic”),Opal.def(self,“$initialize”,$SyntaxError_initialize$1=function(diagnostic){var $iter=$SyntaxError_initialize$1.$$p;return $iter&&($SyntaxError_initialize$1.$$p=null),this.diagnostic=diagnostic,$send(this,Opal.find_super_dispatcher(this,“initialize”,$SyntaxError_initialize$1,!1),,null)},$SyntaxError_initialize$1.$$arity=1)}($nesting,$$($nesting,“StandardError”),$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){[$klass($base,$super,“ClobberingError”)].concat($parent_nesting)}($nesting,$$($nesting,“RuntimeError”),$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_times(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs*rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$hash2=Opal.hash2,$send=Opal.send;return Opal.add_stubs([“$freeze”,“$attr_reader”,“$include?”,“$raise”,“$join”,“$inspect”,“$dup”,“$%”,“$”,“$==”,“$=”,“$map”,“$name”,“$!=”,“$resize”,“$=~”,“$source”,“$adjust”“>line”,“$last_line”,“$is?”,“$+”,“$message”,“$render_line”,“$first_line_only”,“$last_line_only”,“$-”,“$source_buffer”,“$decompose_position”,“$end_pos”,“$>”,“$private”,“$source_line”,“$*”,“$length”,“$each”,“$line_range”,“$intersect”,“$column_range”,“$size”,“$),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Diagnostic_initialize$1,$Diagnostic_message$2,$Diagnostic_render$3,$Diagnostic_render_line$4,$Diagnostic_first_line_only$7,$Diagnostic_last_line_only$8,self=$klass($base,null,”Diagnostic“),$nesting=.concat($parent_nesting);self.$$prototype.reason=self.$$prototype.arguments=self.$$prototype.location=self.$$prototype.level=self.$$prototype.highlights=nil,Opal.const_set($nesting,”LEVELS“,.$freeze()),self.$attr_reader(”level“,”reason“,”arguments“),self.$attr_reader(”location“,”highlights“),Opal.def(self,”$initialize“,$Diagnostic_initialize$1=function(level,reason,arguments$,location,highlights){var $a;return null==highlights&&(highlights=[]),$truthy($$($nesting,”LEVELS“)(level))||this.$raise($$($nesting,”ArgumentError“),”Diagnostic#level must be one of “+$$($nesting,”LEVELS“).$join(”, “)+”; “+level.$inspect()+” provided.“),$truthy(location)||this.$raise(”Expected a location“),this.level=level,this.reason=reason,this.arguments=($truthy($a=arguments$)?$a:$hash2([],{})).$dup().$freeze(),this.location=location,this.highlights=highlights.$dup().$freeze(),this.$freeze()},$Diagnostic_initialize$1.$$arity=-5),Opal.def(self,”$message“,$Diagnostic_message$2=function(){return $$($nesting,”MESSAGES“)[”$“](this.reason)(this.arguments)},$Diagnostic_message$2.$$arity=0),Opal.def(self,”$render“,$Diagnostic_render$3=function(){var $a,$b,lhs,rhs,first_line=nil,last_line=nil,num_lines=nil,last_lineno=nil,last_column=nil;return $truthy($truthy($a=this.location.$line()(this.location.$last_line()))?$a:this.location(”n“))?$rb_plus([this.location+”: “this.level
”: “+this.$message()],this.$render_line(this.location)):(first_line=this.$first_line_only(this.location),last_line=this.$last_line_only(this.location),num_lines=$rb_plus($rb_minus(this.location.$last_line(),this.location.$line()),1),$b=this.location.$source_buffer().$decompose_position(this.location.$end_pos()),last_lineno=null==($a=Opal.to_ary($b))?nil:$a,last_column=null==$a?nil:$a,$rb_plus($rb_plus([this.location+”-“last_lineno
”:“last_column
”: “this.level
”: “+this.$message()],this.$render_line(first_line,(rhs=2,”number“==typeof(lhs=num_lines)&&”number“==typeof ”“>rhs?rhsthis.name
”]“},$StackState_to_s$8.$$arity=0),Opal.alias(self,”inspect“,”to_s“)}($$($nesting,”Lexer“),0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$slice=(Opal.breaker,Opal.slice),$module=Opal.module,$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return =”,“$===”,“$%”“>Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Dedenter_initialize$1,$Dedenter_dedent$2,$Dedenter_interrupt$4,self=$klass($base,null,”Dedenter“);.concat($parent_nesting);self.$$prototype.at_line_begin=nil,Opal.def(self,”$initialize“,$Dedenter_initialize$1=function(dedent_level){return this.dedent_level=dedent_level,this.at_line_begin=!0,this.indent_level=0},$Dedenter_initialize$1.$$arity=1),Opal.def(self,”$dedent“,$Dedenter_dedent$2=function(string){var $$3,last_index,space_begin=nil,space_end=nil,offset=nil,escape=nil,_at_line_begin=nil;return space_begin=space_end=offset=0,last_index=$rb_minus(string.$length(),1),escape=!1,_at_line_begin=nil,$send(string.$chars(),”each_with_index“,[],(($$3=function(char$,index){var $a,lhs,rhs,self=$$3.$$s||this,$case=nil;if(null==self.at_line_begin&&(self.at_line_begin=nil),null==self.indent_level&&(self.indent_level=nil),null==self.dedent_level&&(self.dedent_level=nil),null==char$&&(char$=nil),null==index&&(index=nil),char$(”\“))return escape=!0,string($rb_minus(index,offset)),offset=$rb_plus(offset,1),_at_line_begin=self.at_line_begin,self.at_line_begin=!1;if($truthy(escape)){if(char$(”n“))string($rb_minus(index,offset)),offset=$rb_plus(offset,1),self.at_line_begin=!0,space_begin=space_end=$rb_minus(index,offset),self.indent_level=0;else{if(!char$(”n“))return self.at_line_begin=_at_line_begin,escape=!1,$$3.apply(null,$slice.call(arguments));string($rb_minus(index,offset)),string.$insert($rb_minus(index,offset),”n“)}return escape=!1}return $truthy(self.at_line_begin)?($truthy($truthy($a=char$(”n“))?$a:(lhs=self.indent_level,rhs=self.dedent_level,”number“==typeof lhs&&”number“==typeof =”“>rhs?rhs<=lhs:lhs(rhs)))&&(string(Opal.Range.$new(space_begin,space_end,!0)),offset=$rb_plus(offset,$rb_minus(space_end,space_begin)),self.at_line_begin=!1),” “[”$===“]($case=char$)?(self.indent_level=$rb_plus(self.indent_level,1),space_end=$rb_plus(space_end,1)):”t“($case)?(self.indent_level=$rb_plus(self.indent_level,$rb_minus(8,self.indent_level(8))),space_end=$rb_plus(space_end,1)):nil):$truthy(($a=char$(”n“))?index(last_index):char$(”n“))?(self.at_line_begin=!0,self.indent_level=0,space_begin=space_end=$rb_plus($rb_minus(index,offset),1)):nil}).$$s=this,$$3.$$arity=2,$$3)),$truthy(this.at_line_begin)&&string(Opal.Range.$new(space_begin,space_end,!1)),nil},$Dedenter_dedent$2.$$arity=1),Opal.def(self,”$interrupt“,$Dedenter_interrupt$4=function(){return this.at_line_begin=!1},$Dedenter_interrupt$4.$$arity=0)}($$($nesting,”Lexer“),0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_gt(lhs,rhs){return”number“==typeof lhs&&”number“==typeof ”“>rhs?rhsOpal.add_stubs([”$attr_accessor“,”$n0“,”$token_map“,”$numeric“,”$n“,”$value“,”$new“,”$loc“,”$private“,”$===“,”$+@“,”$-
“,”$module_definition_map“,”$definition_map“,”$keyword_map“,”$check_duplicate_args“,”$arg_prefix_map“,”$kwarg_map“,”$emit_procarg0“,”$resize“,”$-“,”$end“,”$call_type_for_dot“,”$send_map“,”$emit_lambda“,”$expr_map“,”$keyword“,”$include?“,”$block_map“,”$array“,”$+“,”$emit_index“,”$index_map“,”$send_index_map“,”$send_binary_op_map“,”$static_regexp_node“,”$names“,”$send_unary_op_map“,”$check_condition“,”$condition_map“,”$keyword_mod_map“,”$ternary_map“,”$for_map“,”$>“,”$count“,”$rescue_body_map“,”$any?“,”$eh_keyword_map“,”$push“,”$none?“,”$one?“,”$begin“,”$<=","$),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Default_initialize$2,$Default_nil$3,$Default_true$4,$Default_false$5,$Default_integer$6,$Default_float$7,$Default_rational$8,$Default_complex$9,$Default_numeric$10,$Default_unary_num$11,$Default___LINE__$12,$Default_string$13,$Default_string_internal$14,$Default_string_compose$15,$Default_character$16,$Default___FILE__$17,$Default_symbol$18,$Default_symbol_internal$19,$Default_symbol_compose$20,$Default_xstring_compose$21,$Default_dedent_string$22,$Default_regexp_options$24,$Default_regexp_compose$25,$Default_array$26,$Default_splat$27,$Default_word$28,$Default_words_compose$29,$Default_symbols_compose$30,$Default_pair$32,$Default_pair_list_18$33,$Default_pair_keyword$35,$Default_pair_quoted$36,$Default_kwsplat$37,$Default_associate$38,$Default_range_inclusive$39,$Default_range_exclusive$40,$Default_self$41,$Default_ident$42,$Default_ivar$43,$Default_gvar$44,$Default_cvar$45,$Default_back_ref$46,$Default_nth_ref$47,$Default_accessible$48,$Default_const$49,$Default_const_global$50,$Default_const_fetch$51,$Default___ENCODING__$52,$Default_assignable$53,$Default_const_op_assignable$54,$Default_assign$55,$Default_op_assign$56,$Default_multi_lhs$57,$Default_multi_assign$58,$Default_def_class$59,$Default_def_sclass$60,$Default_def_module$61,$Default_def_method$62,$Default_def_singleton$63,$Default_undef_method$64,$Default_alias$65,$Default_args$66,$Default_arg$67,$Default_optarg$68,$Default_restarg$69,$Default_kwarg$70,$Default_kwoptarg$71,$Default_kwrestarg$72,$Default_shadowarg$73,$Default_blockarg$74,$Default_procarg0$75,$Default_arg_expr$76,$Default_restarg_expr$77,$Default_blockarg_expr$78,$Default_objc_kwarg$79,$Default_objc_restarg$80,$Default_call_type_for_dot$81,$Default_call_method$82,$Default_call_lambda$83,$Default_block$84,$Default_block_pass$85,$Default_objc_varargs$86,$Default_attr_asgn$87,$Default_index$88,$Default_index_asgn$89,$Default_binary_op$90,$Default_match_op$91,$Default_unary_op$93,$Default_not_op$94,$Default_logical_op$95,$Default_condition$96,$Default_condition_mod$97,$Default_ternary$98,$Default_when$99,$Default_case$100,$Default_loop$101,$Default_loop_mod$102,$Default_for$103,$Default_keyword_cmd$104,$Default_preexe$105,$Default_postexe$106,$Default_rescue_body$107,$Default_begin_body$108,$Default_compstmt$109,$Default_begin$110,$Default_begin_keyword$111,$Default_check_condition$112,$Default_check_duplicate_args$113,$Default_arg_name_collides$ques$115,$Default_n$116,$Default_n0$117,$Default_join_exprs$118,$Default_token_map$119,$Default_delimited_string_map$120,$Default_prefix_string_map$121,$Default_unquoted_map$122,$Default_pair_keyword_map$123,$Default_pair_quoted_map$124,$Default_expr_map$125,$Default_collection_map$126,$Default_string_map$127,$Default_regexp_map$128,$Default_constant_map$129,$Default_variable_map$130,$Default_binary_op_map$131,$Default_unary_op_map$132,$Default_range_map$133,$Default_arg_prefix_map$134,$Default_kwarg_map$135,$Default_module_definition_map$136,$Default_definition_map$137,$Default_send_map$138,$Default_var_send_map$139,$Default_send_binary_op_map$140,$Default_send_unary_op_map$141,$Default_index_map$142,$Default_send_index_map$143,$Default_block_map$144,$Default_keyword_map$145,$Default_keyword_mod_map$146,$Default_condition_map$147,$Default_ternary_map$148,$Default_for_map$149,$Default_rescue_body_map$150,$Default_eh_keyword_map$151,$Default_static_string$152,$Default_static_regexp$154,$Default_static_regexp_node$155,$Default_collapse_string_parts$ques$156,$Default_value$157,$Default_string_value$158,$Default_loc$159,$Default_diagnostic$160,self=$klass($base,null,“Default”),$nesting=.concat($parent_nesting);self.$$prototype.parser=self.$$prototype.emit_file_line_as_literals=nil,function(self,$parent_nesting){[self].concat($parent_nesting);self.$attr_accessor(“emit_lambda”)}(Opal.get_singleton_class(self),$nesting),self.emit_lambda=!1,function(self,$parent_nesting){[self].concat($parent_nesting);self.$attr_accessor(“emit_procarg0”)}(Opal.get_singleton_class(self),$nesting),self.emit_procarg0=!1,function(self,$parent_nesting){[self].concat($parent_nesting);self.$attr_accessor(“emit_encoding”)}(Opal.get_singleton_class(self),$nesting),self.emit_encoding=!1,function(self,$parent_nesting){[self].concat($parent_nesting);self.$attr_accessor(“emit_index”)}(Opal.get_singleton_class(self),$nesting),self.emit_index=!1,function(self,$parent_nesting){var $modernize$1;.concat($parent_nesting);Opal.def(self,“$modernize”,$modernize$1=function(){return this.emit_lambda=!0,this.emit_procarg0=!0,this.emit_encoding=!0,this.emit_index=!0},$modernize$1.$$arity=0)}(Opal.get_singleton_class(self),$nesting),self.$attr_accessor(“parser”),self.$attr_accessor(“emit_file_line_as_literals”),Opal.def(self,“$initialize”,$Default_initialize$2=function(){return this.emit_file_line_as_literals=!0},$Default_initialize$2.$$arity=0),Opal.def(self,“$nil”,$Default_nil$3=function(nil_t){return this.$n0(“nil”,this.$token_map(nil_t))},$Default_nil$3.$$arity=1),Opal.def(self,“$true”,$Default_true$4=function(true_t){return this.$n0(“true”,this.$token_map(true_t))},$Default_true$4.$$arity=1),Opal.def(self,“$false”,$Default_false$5=function(false_t){return this.$n0(“false”,this.$token_map(false_t))},$Default_false$5.$$arity=1),Opal.def(self,“$integer”,$Default_integer$6=function(integer_t){return this.$numeric(“int”,integer_t)},$Default_integer$6.$$arity=1),Opal.def(self,“$float”,$Default_float$7=function(float_t){return this.$numeric(“float”,float_t)},$Default_float$7.$$arity=1),Opal.def(self,“$rational”,$Default_rational$8=function(rational_t){return this.$numeric(“rational”,rational_t)},$Default_rational$8.$$arity=1),Opal.def(self,“$complex”,$Default_complex$9=function(complex_t){return this.$numeric(“complex”,complex_t)},$Default_complex$9.$$arity=1),Opal.def(self,“$numeric”,$Default_numeric$10=function(kind,token){return this.$n(kind,,$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(nil,this.$loc(token)))},$Default_numeric$10.$$arity=2),self.$private(“numeric”),Opal.def(self,“$unary_num”,$Default_unary_num$11=function(unary_t,numeric){var $a,$case,value=nil,operator_loc=nil;return value=null==($a=[].concat(Opal.to_a(numeric)))?nil:$a,operator_loc=this.$loc(unary_t),$case=this.$value(unary_t),“+”($case)?value=value():“-”[“$===”]($case)&&(value=value()),numeric.$updated(nil,,$hash2(,{location:$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(operator_loc,operator_loc.$join(numeric.$loc().$expression()))}))},$Default_unary_num$11.$$arity=2),Opal.def(self,“$__LINE__”,$Default___LINE__$12=function(__LINE__t){return this.$n0(“__LINE__”,this.$token_map(__LINE__t))},$Default___LINE__$12.$$arity=1),Opal.def(self,“$string”,$Default_string$13=function(string_t){return this.$n(“str”,,this.$delimited_string_map(string_t))},$Default_string$13.$$arity=1),Opal.def(self,“$string_internal”,$Default_string_internal$14=function(string_t){return this.$n(“str”,,this.$unquoted_map(string_t))},$Default_string_internal$14.$$arity=1),Opal.def(self,“$string_compose”,$Default_string_compose$15=function(begin_t,parts,end_t){var $a;return $truthy(this(parts))?$truthy($truthy($a=begin_t())?end_t():$a)?parts.$first():this.$n(“str”,parts.$first().$children(),this.$string_map(begin_t,parts,end_t)):this.$n(“dstr”,[].concat(Opal.to_a(parts)),this.$string_map(begin_t,parts,end_t))},$Default_string_compose$15.$$arity=3),Opal.def(self,“$character”,$Default_character$16=function(char_t){return this.$n(“str”,,this.$prefix_string_map(char_t))},$Default_character$16.$$arity=1),Opal.def(self,“$__FILE__”,$Default___FILE__$17=function(__FILE__t){return this.$n0(“__FILE__”,this.$token_map(__FILE__t))},$Default___FILE__$17.$$arity=1),Opal.def(self,“$symbol”,$Default_symbol$18=function(symbol_t){return this.$n(“sym”,,this.$prefix_string_map(symbol_t))},$Default_symbol$18.$$arity=1),Opal.def(self,“$symbol_internal”,$Default_symbol_internal$19=function(symbol_t){return this.$n(“sym”,,this.$unquoted_map(symbol_t))},$Default_symbol_internal$19.$$arity=1),Opal.def(self,“$symbol_compose”,$Default_symbol_compose$20=function(begin_t,parts,end_t){var str=nil;return $truthy(this(parts))?(str=parts.$first(),this.$n(“sym”,,this.$collection_map(begin_t,str.$loc().$expression(),end_t))):$truthy(this.parser.$version()(18)?parts():this.parser.$version()(18))?this.$diagnostic(“error”,“empty_symbol”,nil,this.$loc(begin_t).$join(this.$loc(end_t))):this.$n(“dsym”,[].concat(Opal.to_a(parts)),this.$collection_map(begin_t,parts,end_t))},$Default_symbol_compose$20.$$arity=3),Opal.def(self,“$xstring_compose”,$Default_xstring_compose$21=function(begin_t,parts,end_t){return this.$n(“xstr”,[].concat(Opal.to_a(parts)),this.$string_map(begin_t,parts,end_t))},$Default_xstring_compose$21.$$arity=3),Opal.def(self,“$dedent_string”,$Default_dedent_string$22=function(node,dedent_level){var $a,$$23,dedenter=nil,str=nil;return $truthy(dedent_level()[“$!”]())&&(dedenter=$$$($$($nesting,“Lexer”),“Dedenter”).$new(dedent_level),node.$type()(“str”)?(str=node.$children().$first(),dedenter.$dedent(str)):$truthy($truthy($a=node.$type()(“dstr”))?$a:node.$type()(“xstr”))&&$send(node.$children(),“each”,[],(($$23=function(str_node){$$23.$$s;return null==str_node&&(str_node=nil),str_node.$type()(“str”)?(str=str_node.$children().$first(),dedenter.$dedent(str)):dedenter.$interrupt()}).$$s=this,$$23.$$arity=1,$$23))),node},$Default_dedent_string$22.$$arity=2),Opal.def(self,“$regexp_options”,$Default_regexp_options$24=function(regopt_t){var options;return options=$send(this.$value(regopt_t).$each_char().$sort().$uniq(),“map”,[],“to_sym”.$to_proc()),this.$n(“regopt”,options,this.$token_map(regopt_t))},$Default_regexp_options$24.$$arity=1),Opal.def(self,“$regexp_compose”,$Default_regexp_compose$25=function(begin_t,parts,end_t,options){var self=this,e=nil;try{self.$static_regexp(parts,options)}catch($err){if(!Opal.rescue($err,))throw $err;e=$err;try{self.$diagnostic(“error”,“invalid_regexp”,$hash2(,{message:e.$message()}),self.$loc(begin_t).$join(self.$loc(end_t)))}finally{Opal.pop_exception()}}return self.$n(“regexp”,parts(options),self.$regexp_map(begin_t,end_t,options))},$Default_regexp_compose$25.$$arity=4),Opal.def(self,“$array”,$Default_array$26=function(begin_t,elements,end_t){return this.$n(“array”,elements,this.$collection_map(begin_t,elements,end_t))},$Default_array$26.$$arity=3),Opal.def(self,“$splat”,$Default_splat$27=function(star_t,arg){return null==arg&&(arg=nil),$truthy(arg())?this.$n0(“splat”,this.$unary_op_map(star_t)):this.$n(“splat”,,this.$unary_op_map(star_t,arg))},$Default_splat$27.$$arity=-2),Opal.def(self,“$word”,$Default_word$28=function(parts){return $truthy(this(parts))?parts.$first():this.$n(“dstr”,[].concat(Opal.to_a(parts)),this.$collection_map(nil,parts,nil))},$Default_word$28.$$arity=1),Opal.def(self,“$words_compose”,$Default_words_compose$29=function(begin_t,parts,end_t){return this.$n(“array”,[].concat(Opal.to_a(parts)),this.$collection_map(begin_t,parts,end_t))},$Default_words_compose$29.$$arity=3),Opal.def(self,“$symbols_compose”,$Default_symbols_compose$30=function(begin_t,parts,end_t){var $$31;return parts=$send(parts,“map”,[],(($$31=function(part){$$31.$$s;var $a,$case=nil,value=nil;return null==part&&(part=nil),$case=part.$type(),“str”($case)?($a=[].concat(Opal.to_a(part)),value=null==$a?nil:$a,part.$updated(“sym”,)):“dstr”($case)?part.$updated(“dsym”):part}).$$s=this,$$31.$$arity=1,$$31)),this.$n(“array”,[].concat(Opal.to_a(parts)),this.$collection_map(begin_t,parts,end_t))},$Default_symbols_compose$30.$$arity=3),Opal.def(self,“$pair”,$Default_pair$32=function(key,assoc_t,value){return this.$n(“pair”,,this.$binary_op_map(key,assoc_t,value))},$Default_pair$32.$$arity=3),Opal.def(self,“$pair_list_18”,$Default_pair_list_18$33=function(list){var $$34;return $truthy(list.$size()(2)(0))?this.$diagnostic(“error”,“odd_hash”,nil,list.$last().$loc().$expression()):$send(list.$each_slice(2),“map”,[],(($$34=function(key,value){var self=$$34.$$s||this;return null==key&&(key=nil),null==value&&(value=nil),self.$n(“pair”,,self.$binary_op_map(key,nil,value))}).$$s=this,$$34.$$arity=2,$$34))},$Default_pair_list_18$33.$$arity=1),Opal.def(self,“$pair_keyword”,$Default_pair_keyword$35=function(key_t,value){var $a,$b,key_map,pair_map,key;return $b=this.$pair_keyword_map(key_t,value),key_map=null==($a=Opal.to_ary($b))?nil:$a,pair_map=null==$a?nil:$a,key=this.$n(“sym”,,key_map),this.$n(“pair”,,pair_map)},$Default_pair_keyword$35.$$arity=2),Opal.def(self,“$pair_quoted”,$Default_pair_quoted$36=function(begin_t,parts,end_t,value){var $a,$b,pair_map,key;return $b=this.$pair_quoted_map(begin_t,end_t,value),end_t=null==($a=Opal.to_ary($b))?nil:$a,pair_map=null==$a?nil:$a,key=this.$symbol_compose(begin_t,parts,end_t),this.$n(“pair”,,pair_map)},$Default_pair_quoted$36.$$arity=4),Opal.def(self,“$kwsplat”,$Default_kwsplat$37=function(dstar_t,arg){return this.$n(“kwsplat”,,this.$unary_op_map(dstar_t,arg))},$Default_kwsplat$37.$$arity=2),Opal.def(self,“$associate”,$Default_associate$38=function(begin_t,pairs,end_t){return this.$n(“hash”,[].concat(Opal.to_a(pairs)),this.$collection_map(begin_t,pairs,end_t))},$Default_associate$38.$$arity=3),Opal.def(self,“$range_inclusive”,$Default_range_inclusive$39=function(lhs,dot2_t,rhs){return this.$n(“irange”,,this.$range_map(lhs,dot2_t,rhs))},$Default_range_inclusive$39.$$arity=3),Opal.def(self,“$range_exclusive”,$Default_range_exclusive$40=function(lhs,dot3_t,rhs){return this.$n(“erange”,,this.$range_map(lhs,dot3_t,rhs))},$Default_range_exclusive$40.$$arity=3),Opal.def(self,“$self”,$Default_self$41=function(token){return this.$n0(“self”,this.$token_map(token))},$Default_self$41.$$arity=1),Opal.def(self,“$ident”,$Default_ident$42=function(token){return this.$n(“ident”,,this.$variable_map(token))},$Default_ident$42.$$arity=1),Opal.def(self,“$ivar”,$Default_ivar$43=function(token){return this.$n(“ivar”,,this.$variable_map(token))},$Default_ivar$43.$$arity=1),Opal.def(self,“$gvar”,$Default_gvar$44=function(token){return this.$n(“gvar”,,this.$variable_map(token))},$Default_gvar$44.$$arity=1),Opal.def(self,“$cvar”,$Default_cvar$45=function(token){return this.$n(“cvar”,,this.$variable_map(token))},$Default_cvar$45.$$arity=1),Opal.def(self,“$back_ref”,$Default_back_ref$46=function(token){return this.$n(“back_ref”,,this.$token_map(token))},$Default_back_ref$46.$$arity=1),Opal.def(self,“$nth_ref”,$Default_nth_ref$47=function(token){return this.$n(“nth_ref”,,this.$token_map(token))},$Default_nth_ref$47.$$arity=1),Opal.def(self,“$accessible”,$Default_accessible$48=function(node){var $a,self=this,$case=nil,name=nil;return $case=node.$type(),“__FILE__”($case)?$truthy(self.emit_file_line_as_literals)?self.$n(“str”,,node.$loc().$dup()):node:“__LINE__”($case)?$truthy(self.emit_file_line_as_literals)?self.$n(“int”,,node.$loc().$dup()):node:“__ENCODING__”($case)?$truthy(self.$class().$emit_encoding()())?self.$n(“const”,[self.$n(“const”,,nil),“UTF_8”],node.$loc().$dup()):node:“ident”($case)?($a=[].concat(Opal.to_a(node)),name=null==$a?nil:$a,$truthy(self.parser.$static_env()(name))?node.$updated(“lvar”):($a=[].concat(Opal.to_a(node)),name=null==$a?nil:$a,self.$n(“send”,,self.$var_send_map(node)))):node},$Default_accessible$48.$$arity=1),Opal.def(self,“$const”,$Default_const$49=function(name_t){return this.$n(“const”,,this.$constant_map(nil,nil,name_t))},$Default_const$49.$$arity=1),Opal.def(self,“$const_global”,$Default_const_global$50=function(t_colon3,name_t){var cbase;return cbase=this.$n0(“cbase”,this.$token_map(t_colon3)),this.$n(“const”,,this.$constant_map(cbase,t_colon3,name_t))},$Default_const_global$50.$$arity=2),Opal.def(self,“$const_fetch”,$Default_const_fetch$51=function(scope,t_colon2,name_t){return this.$n(“const”,,this.$constant_map(scope,t_colon2,name_t))},$Default_const_fetch$51.$$arity=3),Opal.def(self,“$__ENCODING__”,$Default___ENCODING__$52=function(__ENCODING__t){return this.$n0(“__ENCODING__”,this.$token_map(__ENCODING__t))},$Default___ENCODING__$52.$$arity=1),Opal.def(self,“$assignable”,$Default_assignable$53=function(node){var $a,self=this,$case=nil,name=nil;return $case=node.$type(),“cvar”($case)?node.$updated(“cvasgn”):“ivar”($case)?node.$updated(“ivasgn”):“gvar”($case)?node.$updated(“gvasgn”):“const”($case)?($truthy(self.parser.$context()())||self.$diagnostic(“error”,“dynamic_const”,nil,node.$loc().$expression()),node.$updated(“casgn”)):“ident”($case)?($a=[].concat(Opal.to_a(node)),name=null==$a?nil:$a,self.parser.$static_env().$declare(name),node.$updated(“lvasgn”)):“nil”($case)||“self”($case)||“true”($case)||“false”($case)||“__FILE__”($case)||“__LINE__”($case)||“__ENCODING__”($case)?self.$diagnostic(“error”,“invalid_assignment”,nil,node.$loc().$expression()):“back_ref”($case)||“nth_ref”($case)?self.$diagnostic(“error”,“backref_assignment”,nil,node.$loc().$expression()):nil},$Default_assignable$53.$$arity=1),Opal.def(self,“$const_op_assignable”,$Default_const_op_assignable$54=function(node){return node.$updated(“casgn”)},$Default_const_op_assignable$54.$$arity=1),Opal.def(self,“$assign”,$Default_assign$55=function(lhs,eql_t,rhs){return lhs(rhs).$updated(nil,nil,$hash2(,{location:lhs.$loc().$with_operator(this.$loc(eql_t)).$with_expression(this.$join_exprs(lhs,rhs))}))},$Default_assign$55.$$arity=3),Opal.def(self,“$op_assign”,$Default_op_assign$56=function(lhs,op_t,rhs){var self=this,$case=nil,operator=nil,source_map=nil;return $case=lhs.$type(),“gvasgn”($case)||“ivasgn”($case)||“lvasgn”($case)||“cvasgn”($case)||“casgn”($case)||“send”($case)||“csend”($case)||“index”($case)?(operator=self.$value(op_t)[“$”]($range(0,-1,!1)).$to_sym(),source_map=lhs.$loc().$with_operator(self.$loc(op_t)).$with_expression(self.$join_exprs(lhs,rhs)),lhs.$type()(“index”)&&(lhs=lhs.$updated(“indexasgn”)),“&&”($case=operator)?self.$n(“and_asgn”,,source_map):“||”($case)?self.$n(“or_asgn”,,source_map):self.$n(“op_asgn”,,source_map)):“back_ref”($case)||“nth_ref”($case)?self.$diagnostic(“error”,“backref_assignment”,nil,lhs.$loc().$expression()):nil},$Default_op_assign$56.$$arity=3),Opal.def(self,“$multi_lhs”,$Default_multi_lhs$57=function(begin_t,items,end_t){return this.$n(“mlhs”,[].concat(Opal.to_a(items)),this.$collection_map(begin_t,items,end_t))},$Default_multi_lhs$57.$$arity=3),Opal.def(self,“$multi_assign”,$Default_multi_assign$58=function(lhs,eql_t,rhs){return this.$n(“masgn”,,this.$binary_op_map(lhs,eql_t,rhs))},$Default_multi_assign$58.$$arity=3),Opal.def(self,“$def_class”,$Default_def_class$59=function(class_t,name,lt_t,superclass,body,end_t){return this.$n(“class”,,this.$module_definition_map(class_t,name,lt_t,end_t))},$Default_def_class$59.$$arity=6),Opal.def(self,“$def_sclass”,$Default_def_sclass$60=function(class_t,lshft_t,expr,body,end_t){return this.$n(“sclass”,,this.$module_definition_map(class_t,nil,lshft_t,end_t))},$Default_def_sclass$60.$$arity=5),Opal.def(self,“$def_module”,$Default_def_module$61=function(module_t,name,body,end_t){return this.$n(“module”,,this.$module_definition_map(module_t,name,nil,end_t))},$Default_def_module$61.$$arity=4),Opal.def(self,“$def_method”,$Default_def_method$62=function(def_t,name_t,args,body,end_t){return this.$n(“def”,,this.$definition_map(def_t,nil,name_t,end_t))},$Default_def_method$62.$$arity=5),Opal.def(self,“$def_singleton”,$Default_def_singleton$63=function(def_t,definee,dot_t,name_t,args,body,end_t){var self=this,$case=nil;return $case=definee.$type(),“int”($case)||“str”($case)||“dstr”($case)||“sym”($case)||“dsym”($case)||“regexp”($case)||“array”($case)||“hash”($case)?self.$diagnostic(“error”,“singleton_literal”,nil,definee.$loc().$expression()):self.$n(“defs”,,self.$definition_map(def_t,dot_t,name_t,end_t))},$Default_def_singleton$63.$$arity=7),Opal.def(self,“$undef_method”,$Default_undef_method$64=function(undef_t,names){return this.$n(“undef”,[].concat(Opal.to_a(names)),this.$keyword_map(undef_t,nil,names,nil))},$Default_undef_method$64.$$arity=2),Opal.def(self,“$alias”,$Default_alias$65=function(alias_t,to,from){return this.$n(“alias”,,this.$keyword_map(alias_t,nil,,nil))},$Default_alias$65.$$arity=3),Opal.def(self,“$args”,$Default_args$66=function(begin_t,args,end_t,check_args){return null==check_args&&(check_args=!0),$truthy(check_args)&&(args=this.$check_duplicate_args(args)),this.$n(“args”,args,this.$collection_map(begin_t,args,end_t))},$Default_args$66.$$arity=-4),Opal.def(self,“$arg”,$Default_arg$67=function(name_t){return this.$n(“arg”,,this.$variable_map(name_t))},$Default_arg$67.$$arity=1),Opal.def(self,“$optarg”,$Default_optarg$68=function(name_t,eql_t,value){return this.$n(“optarg”,,this.$variable_map(name_t).$with_operator(this.$loc(eql_t)).$with_expression(this.$loc(name_t).$join(value.$loc().$expression())))},$Default_optarg$68.$$arity=3),Opal.def(self,“$restarg”,$Default_restarg$69=function(star_t,name_t){return null==name_t&&(name_t=nil),$truthy(name_t)?this.$n(“restarg”,,this.$arg_prefix_map(star_t,name_t)):this.$n0(“restarg”,this.$arg_prefix_map(star_t))},$Default_restarg$69.$$arity=-2),Opal.def(self,“$kwarg”,$Default_kwarg$70=function(name_t){return this.$n(“kwarg”,,this.$kwarg_map(name_t))},$Default_kwarg$70.$$arity=1),Opal.def(self,“$kwoptarg”,$Default_kwoptarg$71=function(name_t,value){return this.$n(“kwoptarg”,,this.$kwarg_map(name_t,value))},$Default_kwoptarg$71.$$arity=2),Opal.def(self,“$kwrestarg”,$Default_kwrestarg$72=function(dstar_t,name_t){return null==name_t&&(name_t=nil),$truthy(name_t)?this.$n(“kwrestarg”,,this.$arg_prefix_map(dstar_t,name_t)):this.$n0(“kwrestarg”,this.$arg_prefix_map(dstar_t))},$Default_kwrestarg$72.$$arity=-2),Opal.def(self,“$shadowarg”,$Default_shadowarg$73=function(name_t){return this.$n(“shadowarg”,,this.$variable_map(name_t))},$Default_shadowarg$73.$$arity=1),Opal.def(self,“$blockarg”,$Default_blockarg$74=function(amper_t,name_t){return this.$n(“blockarg”,,this.$arg_prefix_map(amper_t,name_t))},$Default_blockarg$74.$$arity=2),Opal.def(self,“$procarg0”,$Default_procarg0$75=function(arg){return $truthy(this.$class().$emit_procarg0())?arg.$updated(“procarg0”):arg},$Default_procarg0$75.$$arity=1),Opal.def(self,“$arg_expr”,$Default_arg_expr$76=function(expr){return expr.$type()(“lvasgn”)?expr.$updated(“arg”):this.$n(“arg_expr”,,expr.$loc().$dup())},$Default_arg_expr$76.$$arity=1),Opal.def(self,“$restarg_expr”,$Default_restarg_expr$77=function(star_t,expr){return null==expr&&(expr=nil),$truthy(expr())?this.$n0(“restarg”,this.$token_map(star_t)):expr.$type()(“lvasgn”)?expr.$updated(“restarg”):this.$n(“restarg_expr”,,expr.$loc().$dup())},$Default_restarg_expr$77.$$arity=-2),Opal.def(self,“$blockarg_expr”,$Default_blockarg_expr$78=function(amper_t,expr){return expr.$type()(“lvasgn”)?expr.$updated(“blockarg”):this.$n(“blockarg_expr”,,expr.$loc().$dup())},$Default_blockarg_expr$78.$$arity=2),Opal.def(self,“$objc_kwarg”,$Default_objc_kwarg$79=function(kwname_t,assoc_t,name_t){var kwname_l=nil,operator_l=nil;return kwname_l=this.$loc(kwname_t),operator_l=$truthy(assoc_t())?(kwname_l=kwname_l.$resize($rb_minus(kwname_l.$size(),1))).$end().$resize(1):this.$loc(assoc_t),this.$n(“objc_kwarg”,,$$$($$$($$($nesting,“Source”),“Map”),“ObjcKwarg”).$new(kwname_l,operator_l,this.$loc(name_t),kwname_l.$join(this.$loc(name_t))))},$Default_objc_kwarg$79.$$arity=3),Opal.def(self,“$objc_restarg”,$Default_objc_restarg$80=function(star_t,name){return null==name&&(name=nil),$truthy(name())?this.$n0(“restarg”,this.$arg_prefix_map(star_t)):name.$type()(“arg”)?name.$updated(“restarg”,nil,$hash2(,{location:name.$loc().$with_operator(this.$loc(star_t))})):this.$n(“objc_restarg”,,this.$unary_op_map(star_t,name))},$Default_objc_restarg$80.$$arity=-2),Opal.def(self,“$call_type_for_dot”,$Default_call_type_for_dot$81=function(dot_t){var $a;return $truthy($truthy($a=dot_t()[“$!”]())?this.$value(dot_t)(“anddot”):$a)?“csend”:“send”},$Default_call_type_for_dot$81.$$arity=1),Opal.def(self,“$call_method”,$Default_call_method$82=function(receiver,dot_t,selector_t,lparen_t,args,rparen_t){var type;return null==lparen_t&&(lparen_t=nil),null==args&&(args=[]),null==rparen_t&&(rparen_t=nil),type=this.$call_type_for_dot(dot_t),$truthy(selector_t())?this.$n(type,.concat(Opal.to_a(args)),this.$send_map(receiver,dot_t,nil,lparen_t,args,rparen_t)):this.$n(type,.concat(Opal.to_a(args)),this.$send_map(receiver,dot_t,selector_t,lparen_t,args,rparen_t))},$Default_call_method$82.$$arity=-4),Opal.def(self,“$call_lambda”,$Default_call_lambda$83=function(lambda_t){return $truthy(this.$class().$emit_lambda())?this.$n0(“lambda”,this.$expr_map(this.$loc(lambda_t))):this.$n(“send”,,this.$send_map(nil,nil,lambda_t))},$Default_call_lambda$83.$$arity=1),Opal.def(self,“$block”,$Default_block$84=function(method_call,begin_t,args,body,end_t){var $a,call_args=nil,last_arg=nil,actual_send=nil,block=nil;return null==($a=[].concat(Opal.to_a(method_call)))?nil:$a,null==$a?nil:$a,call_args=$slice.call($a,2),method_call.$type()(“yield”)&&this.$diagnostic(“error”,“block_given_to_yield”,nil,method_call.$loc().$keyword(),),last_arg=call_args.$last(),$truthy($truthy($a=last_arg)?last_arg.$type()(“block_pass”):$a)&&this.$diagnostic(“error”,“block_and_blockarg”,nil,last_arg.$loc().$expression(),),$truthy([“$include?”](method_call.$type()))?this.$n(“block”,,this.$block_map(method_call.$loc().$expression(),begin_t,end_t)):(actual_send=null==($a=[].concat(Opal.to_a(method_call)))?nil:$a,block=this.$n(“block”,,this.$block_map(actual_send.$loc().$expression(),begin_t,end_t)),this.$n(method_call.$type(),,method_call.$loc().$with_expression(this.$join_exprs(method_call,block))))},$Default_block$84.$$arity=5),Opal.def(self,“$block_pass”,$Default_block_pass$85=function(amper_t,arg){return this.$n(“block_pass”,,this.$unary_op_map(amper_t,arg))},$Default_block_pass$85.$$arity=2),Opal.def(self,“$objc_varargs”,$Default_objc_varargs$86=function(pair,rest_of_varargs){var $a,value,first_vararg=nil,vararg_array=nil;return value=null==($a=[].concat(Opal.to_a(pair)))?nil:$a,first_vararg=null==$a?nil:$a,vararg_array=this.$array(nil,.concat(Opal.to_a(rest_of_varargs)),nil).$updated(“objc_varargs”),pair.$updated(nil,,$hash2(,{location:pair.$loc().$with_expression(pair.$loc().$expression().$join(vararg_array.$loc().$expression()))}))},$Default_objc_varargs$86.$$arity=2),Opal.def(self,“$attr_asgn”,$Default_attr_asgn$87=function(receiver,dot_t,selector_t){var method_name,type;return method_name=$rb_plus(this.$value(selector_t),“=”).$to_sym(),type=this.$call_type_for_dot(dot_t),this.$n(type,,this.$send_map(receiver,dot_t,selector_t))},$Default_attr_asgn$87.$$arity=3),Opal.def(self,“$index”,$Default_index$88=function(receiver,lbrack_t,indexes,rbrack_t){return $truthy(this.$class().$emit_index())?this.$n(“index”,.concat(Opal.to_a(indexes)),this.$index_map(receiver,lbrack_t,rbrack_t)):this.$n(“send”,[receiver,“”].concat(Opal.to_a(indexes)),this.$send_index_map(receiver,lbrack_t,rbrack_t))},$Default_index$88.$$arity=4),Opal.def(self,“$index_asgn”,$Default_index_asgn$89=function(receiver,lbrack_t,indexes,rbrack_t){return $truthy(this.$class().$emit_index())?this.$n(“indexasgn”,.concat(Opal.to_a(indexes)),this.$index_map(receiver,lbrack_t,rbrack_t)):this.$n(“send”,[receiver,“=”].concat(Opal.to_a(indexes)),this.$send_index_map(receiver,lbrack_t,rbrack_t))},$Default_index_asgn$89.$$arity=4),Opal.def(self,“$binary_op”,$Default_binary_op$90=function(receiver,operator_t,arg){var source_map=nil,operator=nil,method_call=nil;return source_map=this.$send_binary_op_map(receiver,operator_t,arg),this.parser.$version()(18)&&((operator=this.$value(operator_t))(“!=”)?method_call=this.$n(“send”,,source_map):operator(“!~”)&&(method_call=this.$n(“send”,,source_map)),$truthy([“$include?”](operator)))?this.$n(“not”,,this.$expr_map(source_map.$expression())):this.$n(“send”,,source_map)},$Default_binary_op$90.$$arity=3),Opal.def(self,“$match_op”,$Default_match_op$91=function(receiver,match_t,arg){var $$92,source_map,regexp=nil;return source_map=this.$send_binary_op_map(receiver,match_t,arg),$truthy(regexp=this.$static_regexp_node(receiver))?($send(regexp.$names(),“each”,[],(($$92=function(name){var self=$$92.$$s||this;return null==self.parser&&(self.parser=nil),null==name&&(name=nil),self.parser.$static_env().$declare(name)}).$$s=this,$$92.$$arity=1,$$92)),this.$n(“match_with_lvasgn”,,source_map)):this.$n(“send”,,source_map)},$Default_match_op$91.$$arity=3),Opal.def(self,“$unary_op”,$Default_unary_op$93=function(op_t,receiver){var $case,method=nil;return $case=this.$value(op_t),method=“+”($case)||“-”($case)?$rb_plus(this.$value(op_t),“@”):this.$value(op_t),this.$n(“send”,,this.$send_unary_op_map(op_t,receiver))},$Default_unary_op$93.$$arity=2),Opal.def(self,“$not_op”,$Default_not_op$94=function(not_t,begin_t,receiver,end_t){var nil_node=nil;return null==begin_t&&(begin_t=nil),null==receiver&&(receiver=nil),null==end_t&&(end_t=nil),this.parser.$version()(18)?this.$n(“not”,,this.$unary_op_map(not_t,receiver)):$truthy(receiver())?(nil_node=this.$n0(“begin”,this.$collection_map(begin_t,nil,end_t)),this.$n(“send”,,this.$send_unary_op_map(not_t,nil_node))):this.$n(“send”,,this.$send_map(nil,nil,not_t,begin_t,,end_t))},$Default_not_op$94.$$arity=-2),Opal.def(self,“$logical_op”,$Default_logical_op$95=function(type,lhs,op_t,rhs){return this.$n(type,,this.$binary_op_map(lhs,op_t,rhs))},$Default_logical_op$95.$$arity=4),Opal.def(self,“$condition”,$Default_condition$96=function(cond_t,cond,then_t,if_true,else_t,if_false,end_t){return this.$n(“if”,,this.$condition_map(cond_t,cond,then_t,if_true,else_t,if_false,end_t))},$Default_condition$96.$$arity=7),Opal.def(self,“$condition_mod”,$Default_condition_mod$97=function(if_true,if_false,cond_t,cond){var $a;return this.$n(“if”,,this.$keyword_mod_map($truthy($a=if_true)?$a:if_false,cond_t,cond))},$Default_condition_mod$97.$$arity=4),Opal.def(self,“$ternary”,$Default_ternary$98=function(cond,question_t,if_true,colon_t,if_false){return this.$n(“if”,,this.$ternary_map(cond,question_t,if_true,colon_t,if_false))},$Default_ternary$98.$$arity=5),Opal.def(self,“$when”,$Default_when$99=function(when_t,patterns,then_t,body){var children;return children=patterns(body),this.$n(“when”,children,this.$keyword_map(when_t,then_t,children,nil))},$Default_when$99.$$arity=4),Opal.def(self,“$case”,$Default_case$100=function(case_t,expr,when_bodies,else_t,else_body,end_t){return this.$n(“case”,.concat(Opal.to_a(when_bodies(else_body))),this.$condition_map(case_t,expr,nil,nil,else_t,else_body,end_t))},$Default_case$100.$$arity=6),Opal.def(self,“$loop”,$Default_loop$101=function(type,keyword_t,cond,do_t,body,end_t){return this.$n(type,,this.$keyword_map(keyword_t,do_t,nil,end_t))},$Default_loop$101.$$arity=6),Opal.def(self,“$loop_mod”,$Default_loop_mod$102=function(type,body,keyword_t,cond){return body.$type()(“kwbegin”)&&(type+=“_post”),this.$n(type,,this.$keyword_mod_map(body,keyword_t,cond))},$Default_loop_mod$102.$$arity=4),Opal.def(self,“$for”,$Default_for$103=function(for_t,iterator,in_t,iteratee,do_t,body,end_t){return this.$n(“for”,,this.$for_map(for_t,in_t,do_t,end_t))},$Default_for$103.$$arity=7),Opal.def(self,“$keyword_cmd”,$Default_keyword_cmd$104=function(type,keyword_t,lparen_t,args,rparen_t){var last_arg=nil;return null==lparen_t&&(lparen_t=nil),null==args&&(args=[]),null==rparen_t&&(rparen_t=nil),$truthy(type(“yield”)?$rb_gt(args.$count(),0):type(“yield”))&&(last_arg=args.$last()).$type()(“block_pass”)&&this.$diagnostic(“error”,“block_given_to_yield”,nil,this.$loc(keyword_t),),this.$n(type,args,this.$keyword_map(keyword_t,lparen_t,args,rparen_t))},$Default_keyword_cmd$104.$$arity=-3),Opal.def(self,“$preexe”,$Default_preexe$105=function(preexe_t,lbrace_t,compstmt,rbrace_t){return this.$n(“preexe”,,this.$keyword_map(preexe_t,lbrace_t,[],rbrace_t))},$Default_preexe$105.$$arity=4),Opal.def(self,“$postexe”,$Default_postexe$106=function(postexe_t,lbrace_t,compstmt,rbrace_t){return this.$n(“postexe”,,this.$keyword_map(postexe_t,lbrace_t,[],rbrace_t))},$Default_postexe$106.$$arity=4),Opal.def(self,“$rescue_body”,$Default_rescue_body$107=function(rescue_t,exc_list,assoc_t,exc_var,then_t,compound_stmt){return this.$n(“resbody”,,this.$rescue_body_map(rescue_t,exc_list,assoc_t,exc_var,then_t,compound_stmt))},$Default_rescue_body$107.$$arity=6),Opal.def(self,“$begin_body”,$Default_begin_body$108=function(compound_stmt,rescue_bodies,else_t,else_,ensure_t,ensure_){var statements=nil;return null==rescue_bodies&&(rescue_bodies=[]),null==else_t&&(else_t=nil),null==else_&&(else_=nil),null==ensure_t&&(ensure_t=nil),null==ensure_&&(ensure_=nil),$truthy(rescue_bodies())?compound_stmt=$truthy(else_t)?this.$n(“rescue”,.concat(Opal.to_a($rb_plus(rescue_bodies,))),this.$eh_keyword_map(compound_stmt,nil,rescue_bodies,else_t,else_)):this.$n(“rescue”,.concat(Opal.to_a($rb_plus(rescue_bodies,))),this.$eh_keyword_map(compound_stmt,nil,rescue_bodies,nil,nil)):$truthy(else_t)&&(statements=[],$truthy(compound_stmt()[“$!”]())&&(compound_stmt.$type()(“begin”)?statements=$rb_plus(statements,compound_stmt.$children()):statements.$push(compound_stmt)),statements.$push(this.$n(“begin”,,this.$collection_map(else_t,,nil))),compound_stmt=this.$n(“begin”,statements,this.$collection_map(nil,statements,nil))),$truthy(ensure_t)&&(compound_stmt=this.$n(“ensure”,,this.$eh_keyword_map(compound_stmt,ensure_t,,nil,nil))),compound_stmt},$Default_begin_body$108.$$arity=-2),Opal.def(self,“$compstmt”,$Default_compstmt$109=function(statements){var self=this;return $truthy(statements())?nil:$truthy(statements())?statements.$first():self.$n(“begin”,statements,self.$collection_map(nil,statements,nil))},$Default_compstmt$109.$$arity=1),Opal.def(self,“$begin”,$Default_begin$110=function(begin_t,body,end_t){var $a,$b;return $truthy(body())?this.$n0(“begin”,this.$collection_map(begin_t,nil,end_t)):$truthy($truthy($a=body.$type()(“mlhs”))?$a:$truthy($b=body.$type()(“begin”)?body.$loc().$begin()():body.$type()(“begin”))?body.$loc().$end()():$b)?this.$n(body.$type(),body.$children(),this.$collection_map(begin_t,body.$children(),end_t)):this.$n(“begin”,,this.$collection_map(begin_t,,end_t))},$Default_begin$110.$$arity=3),Opal.def(self,“$begin_keyword”,$Default_begin_keyword$111=function(begin_t,body,end_t){var $a;return $truthy(body())?this.$n0(“kwbegin”,this.$collection_map(begin_t,nil,end_t)):$truthy($truthy($a=body.$type()(“begin”)?body.$loc().$begin()():body.$type()(“begin”))?body.$loc().$end()():$a)?this.$n(“kwbegin”,body.$children(),this.$collection_map(begin_t,body.$children(),end_t)):this.$n(“kwbegin”,,this.$collection_map(begin_t,,end_t))},$Default_begin_keyword$111.$$arity=3),self.$private(),Opal.def(self,“$check_condition”,$Default_check_condition$112=function(cond){var $a,self=this,$case=nil,lhs=nil,rhs=nil,type=nil;return $case=cond.$type(),“masgn”($case)?$truthy(function(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs<=rhs:lhs(rhs)}(self.parser.$version(),23))?self.$diagnostic(“error”,“masgn_as_condition”,nil,cond.$loc().$expression()):cond:“begin”($case)?cond.$children().$count()(1)?cond.$updated(nil,):cond:“and”($case)||“or”($case)||“irange”($case)||“erange”($case)?($a=[].concat(Opal.to_a(cond)),lhs=null==$a?nil:$a,rhs=null==$a?nil:$a,$case=cond.$type(),type=“irange”($case)?“iflipflop”:“erange”($case)?“eflipflop”:nil,$truthy($truthy($a=[“$include?”](cond.$type()))?self.parser.$version()(18):$a)?cond:cond.$updated(type,)):“regexp”($case)?self.$n(“match_current_line”,,self.$expr_map(cond.$loc().$expression())):cond},$Default_check_condition$112.$$arity=1),Opal.def(self,“$check_duplicate_args”,$Default_check_duplicate_args$113=function(args,map){var $$114;return null==map&&(map=$hash2([],{})),$send(args,“each”,,(($$114=function(this_arg){var $a,self=$$114.$$s||this,$case=nil,this_name=nil,that_arg=nil,that_name=nil,$writer=nil;return null==this_arg&&(this_arg=nil),$case=this_arg.$type(),“arg”($case)||“optarg”($case)||“restarg”($case)||“blockarg”($case)||“kwarg”($case)||“kwoptarg”($case)||“kwrestarg”($case)||“shadowarg”($case)||“procarg0”($case)?($a=[].concat(Opal.to_a(this_arg)),this_name=null==$a?nil:$a,that_arg=map[“$”](this_name),$a=[].concat(Opal.to_a(that_arg)),that_name=null==$a?nil:$a,$truthy(that_arg())?($writer=,$send(map,“[]=”,Opal.to_a($writer)),$writer):$truthy(self(this_name,that_name))?self.$diagnostic(“error”,“duplicate_argument”,nil,this_arg.$loc().$name(),):nil):“mlhs”($case)?self.$check_duplicate_args(this_arg.$children(),map):nil}).$$s=this,$$114.$$arity=1,$$114))},$Default_check_duplicate_args$113.$$arity=-2),Opal.def(self,“$arg_name_collides?”,$Default_arg_name_collides$ques$115=function(this_name,that_name){var $a,$b,$case=nil;return $case=this.parser.$version(),18($case)?this_name(that_name):19($case)?$truthy($a=this_name(“_”))?this_name(that_name):$a:$truthy($a=$truthy($b=this_name)?this_name[“$”](0)(“_”):$b)?this_name(that_name):$a},$Default_arg_name_collides$ques$115.$$arity=2),Opal.def(self,“$n”,$Default_n$116=function(type,children,source_map){return $$$($$($nesting,“AST”),“Node”).$new(type,children,$hash2(,{location:source_map}))},$Default_n$116.$$arity=3),Opal.def(self,“$n0”,$Default_n0$117=function(type,source_map){return this.$n(type,[],source_map)},$Default_n0$117.$$arity=2),Opal.def(self,“$join_exprs”,$Default_join_exprs$118=function(left_expr,right_expr){return left_expr.$loc().$expression().$join(right_expr.$loc().$expression())},$Default_join_exprs$118.$$arity=2),Opal.def(self,“$token_map”,$Default_token_map$119=function(token){return $$$($$($nesting,“Source”),“Map”).$new(this.$loc(token))},$Default_token_map$119.$$arity=1),Opal.def(self,“$delimited_string_map”,$Default_delimited_string_map$120=function(string_t){var begin_l,end_l,str_range=nil;return begin_l=(str_range=this.$loc(string_t)).$with($hash2(,{end_pos:$rb_plus(str_range.$begin_pos(),1)})),end_l=str_range.$with($hash2(,{begin_pos:$rb_minus(str_range.$end_pos(),1)})),$$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(begin_l,end_l,this.$loc(string_t))},$Default_delimited_string_map$120.$$arity=1),Opal.def(self,“$prefix_string_map”,$Default_prefix_string_map$121=function(symbol){var begin_l,str_range=nil;return begin_l=(str_range=this.$loc(symbol)).$with($hash2(,{end_pos:$rb_plus(str_range.$begin_pos(),1)})),$$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(begin_l,nil,this.$loc(symbol))},$Default_prefix_string_map$121.$$arity=1),Opal.def(self,“$unquoted_map”,$Default_unquoted_map$122=function(token){return $$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(nil,nil,this.$loc(token))},$Default_unquoted_map$122.$$arity=1),Opal.def(self,“$pair_keyword_map”,$Default_pair_keyword_map$123=function(key_t,value_e){var key_l,colon_l,key_range=nil;return key_l=(key_range=this.$loc(key_t)).$adjust($hash2(,{end_pos:-1})),colon_l=key_range.$with($hash2(,{begin_pos:$rb_minus(key_range.$end_pos(),1)})),[$$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(nil,nil,key_l),$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(colon_l,key_range.$join(value_e.$loc().$expression()))]},$Default_pair_keyword_map$123.$$arity=2),Opal.def(self,“$pair_quoted_map”,$Default_pair_quoted_map$124=function(begin_t,end_t,value_e){var quote_l,colon_l,end_l=nil;return quote_l=(end_l=this.$loc(end_t)).$with($hash2(,{begin_pos:$rb_minus(end_l.$end_pos(),2),end_pos:$rb_minus(end_l.$end_pos(),1)})),colon_l=end_l.$with($hash2(,{begin_pos:$rb_minus(end_l.$end_pos(),1)})),[[this.$value(end_t),quote_l],$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(colon_l,this.$loc(begin_t).$join(value_e.$loc().$expression()))]},$Default_pair_quoted_map$124.$$arity=3),Opal.def(self,“$expr_map”,$Default_expr_map$125=function(loc){return $$$($$($nesting,“Source”),“Map”).$new(loc)},$Default_expr_map$125.$$arity=1),Opal.def(self,“$collection_map”,$Default_collection_map$126=function(begin_t,parts,end_t){var $a,expr_l=nil;return $truthy($truthy($a=begin_t())?$a:end_t())?$truthy(parts())?expr_l=this.$join_exprs(parts.$first(),parts.$last()):$truthy(begin_t()[“$!”]())?expr_l=this.$loc(begin_t):$truthy(end_t()[“$!”]())&&(expr_l=this.$loc(end_t)):expr_l=this.$loc(begin_t).$join(this.$loc(end_t)),$$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(this.$loc(begin_t),this.$loc(end_t),expr_l)},$Default_collection_map$126.$$arity=3),Opal.def(self,“$string_map”,$Default_string_map$127=function(begin_t,parts,end_t){var $a,expr_l=nil;return $truthy($truthy($a=begin_t)?this.$value(begin_t)(“<<”):$a)?(expr_l=$truthy(parts())?this.$join_exprs(parts.$first(),parts.$last()):this.$loc(end_t).$begin(),$$$($$$($$($nesting,“Source”),“Map”),“Heredoc”).$new(this.$loc(begin_t),expr_l,this.$loc(end_t))):this.$collection_map(begin_t,parts,end_t)},$Default_string_map$127.$$arity=3),Opal.def(self,“$regexp_map”,$Default_regexp_map$128=function(begin_t,end_t,options_e){return $$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(this.$loc(begin_t),this.$loc(end_t),this.$loc(begin_t).$join(options_e.$loc().$expression()))},$Default_regexp_map$128.$$arity=3),Opal.def(self,“$constant_map”,$Default_constant_map$129=function(scope,colon2_t,name_t){var expr_l=nil;return expr_l=$truthy(scope())?this.$loc(name_t):scope.$loc().$expression().$join(this.$loc(name_t)),$$$($$$($$($nesting,“Source”),“Map”),“Constant”).$new(this.$loc(colon2_t),this.$loc(name_t),expr_l)},$Default_constant_map$129.$$arity=3),Opal.def(self,“$variable_map”,$Default_variable_map$130=function(name_t){return $$$($$$($$($nesting,“Source”),“Map”),“Variable”).$new(this.$loc(name_t))},$Default_variable_map$130.$$arity=1),Opal.def(self,“$binary_op_map”,$Default_binary_op_map$131=function(left_e,op_t,right_e){return $$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(this.$loc(op_t),this.$join_exprs(left_e,right_e))},$Default_binary_op_map$131.$$arity=3),Opal.def(self,“$unary_op_map”,$Default_unary_op_map$132=function(op_t,arg_e){var expr_l=nil;return null==arg_e&&(arg_e=nil),expr_l=$truthy(arg_e())?this.$loc(op_t):this.$loc(op_t).$join(arg_e.$loc().$expression()),$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(this.$loc(op_t),expr_l)},$Default_unary_op_map$132.$$arity=-2),Opal.def(self,“$range_map”,$Default_range_map$133=function(start_e,op_t,end_e){var expr_l=nil;return expr_l=$truthy(end_e)?this.$join_exprs(start_e,end_e):start_e.$loc().$expression().$join(this.$loc(op_t)),$$$($$$($$($nesting,“Source”),“Map”),“Operator”).$new(this.$loc(op_t),expr_l)},$Default_range_map$133.$$arity=3),Opal.def(self,“$arg_prefix_map”,$Default_arg_prefix_map$134=function(op_t,name_t){var expr_l=nil;return null==name_t&&(name_t=nil),expr_l=$truthy(name_t())?this.$loc(op_t):this.$loc(op_t).$join(this.$loc(name_t)),$$$($$$($$($nesting,“Source”),“Map”),“Variable”).$new(this.$loc(name_t),expr_l)},$Default_arg_prefix_map$134.$$arity=-2),Opal.def(self,“$kwarg_map”,$Default_kwarg_map$135=function(name_t,value_e){var name_range,expr_l=nil;return null==value_e&&(value_e=nil),name_range=this.$loc(name_t).$adjust($hash2(,{end_pos:-1})),expr_l=$truthy(value_e)?this.$loc(name_t).$join(value_e.$loc().$expression()):this.$loc(name_t),$$$($$$($$($nesting,“Source”),“Map”),“Variable”).$new(name_range,expr_l)},$Default_kwarg_map$135.$$arity=-2),Opal.def(self,“$module_definition_map”,$Default_module_definition_map$136=function(keyword_t,name_e,operator_t,end_t){var name_l=nil;return $truthy(name_e)&&(name_l=name_e.$loc().$expression()),$$$($$$($$($nesting,“Source”),“Map”),“Definition”).$new(this.$loc(keyword_t),this.$loc(operator_t),name_l,this.$loc(end_t))},$Default_module_definition_map$136.$$arity=4),Opal.def(self,“$definition_map”,$Default_definition_map$137=function(keyword_t,operator_t,name_t,end_t){return $$$($$$($$($nesting,“Source”),“Map”),“Definition”).$new(this.$loc(keyword_t),this.$loc(operator_t),this.$loc(name_t),this.$loc(end_t))},$Default_definition_map$137.$$arity=4),Opal.def(self,“$send_map”,$Default_send_map$138=function(receiver_e,dot_t,selector_t,begin_t,args,end_t){var begin_l=nil,end_l=nil;return null==begin_t&&(begin_t=nil),null==args&&(args=[]),null==end_t&&(end_t=nil),$truthy(receiver_e)?begin_l=receiver_e.$loc().$expression():$truthy(selector_t)&&(begin_l=this.$loc(selector_t)),$truthy(end_t)?end_l=this.$loc(end_t):$truthy(args())?end_l=args.$last().$loc().$expression():$truthy(selector_t)&&(end_l=this.$loc(selector_t)),$$$($$$($$($nesting,“Source”),“Map”),“Send”).$new(this.$loc(dot_t),this.$loc(selector_t),this.$loc(begin_t),this.$loc(end_t),begin_l.$join(end_l))},$Default_send_map$138.$$arity=-4),Opal.def(self,“$var_send_map”,$Default_var_send_map$139=function(variable_e){return $$$($$$($$($nesting,“Source”),“Map”),“Send”).$new(nil,variable_e.$loc().$expression(),nil,nil,variable_e.$loc().$expression())},$Default_var_send_map$139.$$arity=1),Opal.def(self,“$send_binary_op_map”,$Default_send_binary_op_map$140=function(lhs_e,selector_t,rhs_e){return $$$($$$($$($nesting,“Source”),“Map”),“Send”).$new(nil,this.$loc(selector_t),nil,nil,this.$join_exprs(lhs_e,rhs_e))},$Default_send_binary_op_map$140.$$arity=3),Opal.def(self,“$send_unary_op_map”,$Default_send_unary_op_map$141=function(selector_t,arg_e){var expr_l=nil;return expr_l=$truthy(arg_e())?this.$loc(selector_t):this.$loc(selector_t).$join(arg_e.$loc().$expression()),$$$($$$($$($nesting,“Source”),“Map”),“Send”).$new(nil,this.$loc(selector_t),nil,nil,expr_l)},$Default_send_unary_op_map$141.$$arity=2),Opal.def(self,“$index_map”,$Default_index_map$142=function(receiver_e,lbrack_t,rbrack_t){return $$$($$$($$($nesting,“Source”),“Map”),“Index”).$new(this.$loc(lbrack_t),this.$loc(rbrack_t),receiver_e.$loc().$expression().$join(this.$loc(rbrack_t)))},$Default_index_map$142.$$arity=3),Opal.def(self,“$send_index_map”,$Default_send_index_map$143=function(receiver_e,lbrack_t,rbrack_t){return $$$($$$($$($nesting,“Source”),“Map”),“Send”).$new(nil,this.$loc(lbrack_t).$join(this.$loc(rbrack_t)),nil,nil,receiver_e.$loc().$expression().$join(this.$loc(rbrack_t)))},$Default_send_index_map$143.$$arity=3),Opal.def(self,“$block_map”,$Default_block_map$144=function(receiver_l,begin_t,end_t){return $$$($$$($$($nesting,“Source”),“Map”),“Collection”).$new(this.$loc(begin_t),this.$loc(end_t),receiver_l.$join(this.$loc(end_t)))},$Default_block_map$144.$$arity=3),Opal.def(self,“$keyword_map”,$Default_keyword_map$145=function(keyword_t,begin_t,args,end_t){var $a,end_l=nil;return args=$truthy($a=args)?$a:[],end_l=$truthy(end_t)?this.$loc(end_t):$truthy($truthy($a=args())?args.$last()()[“$!”]():$a)?args.$last().$loc().$expression():$truthy($truthy($a=args())?$rb_gt(args.$count(),1):$a)?args[“$”](-2).$loc().$expression():this.$loc(keyword_t),$$$($$$($$($nesting,“Source”),“Map”),“Keyword”).$new(this.$loc(keyword_t),this.$loc(begin_t),this.$loc(end_t),this.$loc(keyword_t).$join(end_l))},$Default_keyword_map$145.$$arity=4),Opal.def(self,“$keyword_mod_map”,$Default_keyword_mod_map$146=function(pre_e,keyword_t,post_e){return $$$($$$($$($nesting,“Source”),“Map”),“Keyword”).$new(this.$loc(keyword_t),nil,nil,this.$join_exprs(pre_e,post_e))},$Default_keyword_mod_map$146.$$arity=3),Opal.def(self,“$condition_map”,$Default_condition_map$147=function(keyword_t,cond_e,begin_t,body_e,else_t,else_e,end_t){var $a,end_l=nil;return end_l=$truthy(end_t)?this.$loc(end_t):$truthy($truthy($a=else_e)?else_e.$loc().$expression():$a)?else_e.$loc().$expression():$truthy(this.$loc(else_t))?this.$loc(else_t):$truthy($truthy($a=body_e)?body_e.$loc().$expression():$a)?body_e.$loc().$expression():$truthy(this.$loc(begin_t))?this.$loc(begin_t):cond_e.$loc().$expression(),$$$($$$($$($nesting,“Source”),“Map”),“Condition”).$new(this.$loc(keyword_t),this.$loc(begin_t),this.$loc(else_t),this.$loc(end_t),this.$loc(keyword_t).$join(end_l))},$Default_condition_map$147.$$arity=7),Opal.def(self,“$ternary_map”,$Default_ternary_map$148=function(begin_e,question_t,mid_e,colon_t,end_e){return $$$($$$($$($nesting,“Source”),“Map”),“Ternary”).$new(this.$loc(question_t),this.$loc(colon_t),this.$join_exprs(begin_e,end_e))},$Default_ternary_map$148.$$arity=5),Opal.def(self,“$for_map”,$Default_for_map$149=function(keyword_t,in_t,begin_t,end_t){return $$$($$$($$($nesting,“Source”),“Map”),“For”).$new(this.$loc(keyword_t),this.$loc(in_t),this.$loc(begin_t),this.$loc(end_t),this.$loc(keyword_t).$join(this.$loc(end_t)))},$Default_for_map$149.$$arity=4),Opal.def(self,“$rescue_body_map”,$Default_rescue_body_map$150=function(keyword_t,exc_list_e,assoc_t,exc_var_e,then_t,compstmt_e){var $a,end_l=nil;return $truthy(compstmt_e)&&(end_l=compstmt_e.$loc().$expression()),$truthy($truthy($a=end_l())?then_t:$a)&&(end_l=this.$loc(then_t)),$truthy($truthy($a=end_l())?exc_var_e:$a)&&(end_l=exc_var_e.$loc().$expression()),$truthy($truthy($a=end_l())?exc_list_e:$a)&&(end_l=exc_list_e.$loc().$expression()),$truthy(end_l())&&(end_l=this.$loc(keyword_t)),$$$($$$($$($nesting,“Source”),“Map”),“RescueBody”).$new(this.$loc(keyword_t),this.$loc(assoc_t),this.$loc(then_t),this.$loc(keyword_t).$join(end_l))},$Default_rescue_body_map$150.$$arity=6),Opal.def(self,“$eh_keyword_map”,$Default_eh_keyword_map$151=function(compstmt_e,keyword_t,body_es,else_t,else_e){var begin_l=nil,end_l=nil;return begin_l=$truthy(compstmt_e())?$truthy(keyword_t())?body_es.$first().$loc().$expression():this.$loc(keyword_t):compstmt_e.$loc().$expression(),end_l=$truthy(else_t)?$truthy(else_e())?this.$loc(else_t):else_e.$loc().$expression():$truthy(body_es.$last()()[“$!”]())?body_es.$last().$loc().$expression():this.$loc(keyword_t),$$$($$$($$($nesting,“Source”),“Map”),“Condition”).$new(this.$loc(keyword_t),nil,this.$loc(else_t),nil,begin_l.$join(end_l))},$Default_eh_keyword_map$151.$$arity=5),Opal.def(self,“$static_string”,$Default_static_string$152=function(nodes){try{var $$153;return $send(nodes,“map”,[],($$153=function(node){var self=$$153.$$s||this,$case=nil,string=nil;return null==node&&(node=nil),function(){if($case=node.$type(),“str”($case))return node.$children()[“$”](0);if(“begin”($case)){if($truthy(string=self.$static_string(node.$children())))return string;Opal.ret(nil)}else Opal.ret(nil)}()},$$153.$$s=this,$$153.$$arity=1,$$153)).$join()}catch($returner){if($returner===Opal.returner)return $returner.$v;throw $returner}},$Default_static_string$152.$$arity=1),Opal.def(self,“$static_regexp”,$Default_static_regexp$154=function(parts,options){var source=nil;return source=this.$static_string(parts),$truthy(source())?nil:(source=$truthy(options.$children()(“u”))?source.$encode($$$($$($nesting,“Encoding”),“UTF_8”)):$truthy(options.$children()(“e”))?source.$encode($$$($$($nesting,“Encoding”),“EUC_JP”)):$truthy(options.$children()(“s”))?source.$encode($$$($$($nesting,“Encoding”),“WINDOWS_31J”)):$truthy(options.$children()(“n”))?source.$encode($$$($$($nesting,“Encoding”),“BINARY”)):source,$$($nesting,“Regexp”).$new(source,$truthy(options.$children()(“x”))?$$$($$($nesting,“Regexp”),“EXTENDED”):nil))},$Default_static_regexp$154.$$arity=2),Opal.def(self,“$static_regexp_node”,$Default_static_regexp_node$155=function(node){var $a,parts=nil,options=nil;return node.$type()(“regexp”)?(parts=($a=[node.$children()[“$”]($range(0,-2,!1)),node.$children()[“$”](-1)]),options=$a,this.$static_regexp(parts,options)):nil},$Default_static_regexp_node$155.$$arity=1),Opal.def(self,“$collapse_string_parts?”,$Default_collapse_string_parts$ques$156=function(parts){var $a;return $truthy($a=parts())?[“str”,“dstr”](parts.$first().$type()):$a},$Default_collapse_string_parts$ques$156.$$arity=1),Opal.def(self,“$value”,$Default_value$157=function(token){return token[“$”](0)},$Default_value$157.$$arity=1),Opal.def(self,“$string_value”,$Default_string_value$158=function(token){return $truthy(token[“$”](0)())||this.$diagnostic(“error”,“invalid_encoding”,nil,token[“$”](1)),token[“$”](0)},$Default_string_value$158.$$arity=1),Opal.def(self,“$loc”,$Default_loc$159=function(token){var $a;return $truthy($truthy($a=token)?token[“$”](0):$a)?token[“$”](1):nil},$Default_loc$159.$$arity=1),Opal.def(self,“$diagnostic”,$Default_diagnostic$160=function(type,reason,arguments$,location,highlights){return null==highlights&&(highlights=[]),this.parser.$diagnostics().$process($$($nesting,“Diagnostic”).$new(type,reason,arguments$,location,highlights)),type(“error”)?this.parser.$send(“yyerror”):nil},$Default_diagnostic$160.$$arity=-5)}($$($nesting,“Builders”),0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return “”>Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Context_initialize$1,$Context_push$2,$Context_pop$3,$Context_reset$4,$Context_in_class$ques$5,$Context_indirectly_in_def$ques$6,$Context_class_definition_allowed$ques$7,self=$klass($base,null,“Context”);.concat($parent_nesting);self.$$prototype.stack=nil,self.$attr_reader(“stack”),Opal.def(self,“$initialize”,$Context_initialize$1=function(){return this.stack=[],this.$freeze()},$Context_initialize$1.$$arity=0),Opal.def(self,“$push”,$Context_push$2=function(state){return this.stack(state)},$Context_push$2.$$arity=1),Opal.def(self,“$pop”,$Context_pop$3=function(){return this.stack.$pop()},$Context_pop$3.$$arity=0),Opal.def(self,“$reset”,$Context_reset$4=function(){return this.stack.$clear()},$Context_reset$4.$$arity=0),Opal.def(self,“$in_class?”,$Context_in_class$ques$5=function(){return this.stack.$last()(“class”)},$Context_in_class$ques$5.$$arity=0),Opal.def(self,“$indirectly_in_def?”,$Context_indirectly_in_def$ques$6=function(){var $a;return $truthy($a=this.stack(“def”))?$a:this.stack(“defs”)},$Context_indirectly_in_def$ques$6.$$arity=0),Opal.def(self,“$class_definition_allowed?”,$Context_class_definition_allowed$ques$7=function(){var $$8,$a,$b,lhs,rhs,def_index=nil,sclass_index=nil;return def_index=$send(this.$stack(),“rindex”,[],(($$8=function(item){$$8.$$s;return null==item&&(item=nil),[“$include?”](item)}).$$s=this,$$8.$$arity=1,$$8)),sclass_index=this.$stack().$rindex(“sclass”),$truthy($a=def_index())?$a:$truthy($b=sclass_index()[“$!”]())?(rhs=def_index,“number”==typeof(lhs=sclass_index)&&“number”==typeof “”>rhs?rhskey
” is duplicated and overwritten“)):this.set(element)},$UniqKeysSet_$lt$lt$6.$$arity=1)}($nesting,0,$nesting)}($nesting,$$$($$$($$$(”::“,”Opal“),”Rewriters“),”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$hash2=Opal.hash2;return Opal.add_stubs(),self.$require(”opal/rewriters/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $DumpArgs_on_def$1,$DumpArgs_on_defs$2,$DumpArgs_on_iter$3,self=$klass($base,$super,”DumpArgs“);.concat($parent_nesting);Opal.def(self,”$on_def“,$DumpArgs_on_def$1=function(node){var $a,args,$iter=$DumpArgs_on_def$1.$$p;return $iter&&($DumpArgs_on_def$1.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_def“,$DumpArgs_on_def$1,!1),,null),null==($a=[].concat(Opal.to_a(node)))?nil:$a,args=null==$a?nil:$a,null==$a?nil:$a,node.$updated(nil,nil,$hash2(,{meta:$hash2(,{original_args:args})}))},$DumpArgs_on_def$1.$$arity=1),Opal.def(self,”$on_defs“,$DumpArgs_on_defs$2=function(node){var $a,args,$iter=$DumpArgs_on_defs$2.$$p;return $iter&&($DumpArgs_on_defs$2.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_defs“,$DumpArgs_on_defs$2,!1),,null),null==($a=[].concat(Opal.to_a(node)))?nil:$a,null==$a?nil:$a,args=null==$a?nil:$a,null==$a?nil:$a,node.$updated(nil,nil,$hash2(,{meta:$hash2(,{original_args:args})}))},$DumpArgs_on_defs$2.$$arity=1),Opal.def(self,”$on_iter“,$DumpArgs_on_iter$3=function(node){var $a,args,$iter=$DumpArgs_on_iter$3.$$p;return $iter&&($DumpArgs_on_iter$3.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_iter“,$DumpArgs_on_iter$3,!1),,null),args=null==($a=[].concat(Opal.to_a(node)))?nil:$a,null==$a?nil:$a,node.$updated(nil,nil,$hash2(,{meta:$hash2(,{original_args:args})}))},$DumpArgs_on_iter$3.$$arity=1)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$hash2=Opal.hash2;return Opal.add_stubs([”$require“,”$new“,”$updated“,”$rewritten“,”$initialization“,”$s“,”$prepend_to_body“,”$attr_reader“,”$split!“,”$+“,”$each“,”$children“,”$==“,”$type“,”$new_mlhs_tmp“,”$process“,”$<<","$length","$“,”$empty?“]),self.$require(”opal/rewriters/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $MlhsArgs_on_def$1,$MlhsArgs_on_defs$2,$MlhsArgs_on_iter$3,self=$klass($base,$super,”MlhsArgs“),$nesting=.concat($parent_nesting);Opal.def(self,”$on_def“,$MlhsArgs_on_def$1=function(node){var $a,mid,$iter=$MlhsArgs_on_def$1.$$p,args=nil,body=nil,arguments$=nil;return $iter&&($MlhsArgs_on_def$1.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_def“,$MlhsArgs_on_def$1,!1),,null),mid=null==($a=[].concat(Opal.to_a(node)))?nil:$a,args=null==$a?nil:$a,body=null==$a?nil:$a,arguments$=$$($nesting,”Arguments“).$new(args),args=args.$updated(nil,arguments$.$rewritten()),$truthy(arguments$.$initialization())&&(body=$truthy($a=body)?$a:this.$s(”nil“),body=this.$prepend_to_body(body,arguments$.$initialization())),node.$updated(nil,)},$MlhsArgs_on_def$1.$$arity=1),Opal.def(self,”$on_defs“,$MlhsArgs_on_defs$2=function(node){var $a,recv,mid,$iter=$MlhsArgs_on_defs$2.$$p,args=nil,body=nil,arguments$=nil;return $iter&&($MlhsArgs_on_defs$2.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_defs“,$MlhsArgs_on_defs$2,!1),,null),recv=null==($a=[].concat(Opal.to_a(node)))?nil:$a,mid=null==$a?nil:$a,args=null==$a?nil:$a,body=null==$a?nil:$a,arguments$=$$($nesting,”Arguments“).$new(args),args=args.$updated(nil,arguments$.$rewritten()),$truthy(arguments$.$initialization())&&(body=$truthy($a=body)?$a:this.$s(”nil“),body=this.$prepend_to_body(body,arguments$.$initialization())),node.$updated(nil,)},$MlhsArgs_on_defs$2.$$arity=1),Opal.def(self,”$on_iter“,$MlhsArgs_on_iter$3=function(node){var $a,$iter=$MlhsArgs_on_iter$3.$$p,args=nil,body=nil,arguments$=nil;return $iter&&($MlhsArgs_on_iter$3.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_iter“,$MlhsArgs_on_iter$3,!1),,null),args=null==($a=[].concat(Opal.to_a(node)))?nil:$a,body=null==$a?nil:$a,arguments$=$$($nesting,”Arguments“).$new(args),args=args.$updated(nil,arguments$.$rewritten()),$truthy(arguments$.$initialization())&&(body=$truthy($a=body)?$a:this.$s(”nil“),body=this.$prepend_to_body(body,arguments$.$initialization())),node.$updated(nil,)},$MlhsArgs_on_iter$3.$$arity=1),function($base,$super,$parent_nesting){var $Arguments_initialize$4,$Arguments_reset_tmp_counter$excl$5,$Arguments_new_mlhs_tmp$6,$Arguments_split$excl$7,self=$klass($base,$super,”Arguments“),$nesting=.concat($parent_nesting);self.$$prototype.counter=self.$$prototype.args=self.$$prototype.initialization=nil,self.$attr_reader(”rewritten“,”initialization“),Opal.def(self,”$initialize“,$Arguments_initialize$4=function(args){return this.args=args,this.rewritten=[],this.initialization=,this.rewriter=$$($nesting,”MlhsRewriter“).$new(),this()},$Arguments_initialize$4.$$arity=1),Opal.def(self,”$reset_tmp_counter!“,$Arguments_reset_tmp_counter$excl$5=function(){return this.counter=0},$Arguments_reset_tmp_counter$excl$5.$$arity=0),Opal.def(self,”$new_mlhs_tmp“,$Arguments_new_mlhs_tmp$6=function(){var $a,lhs,rhs;return this.counter=$truthy($a=this.counter)?$a:0,this.counter=(lhs=this.counter,rhs=1,”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)),”$mlhs_tmp“+this.counter},$Arguments_new_mlhs_tmp$6.$$arity=0),Opal.def(self,”$split!“,$Arguments_split$excl$7=function(){var $$8;return $send(this.args.$children(),”each“,[],(($$8=function(arg){var self=$$8.$$s||this,var_name=nil,rhs=nil,mlhs=nil;return null==self.rewriter&&(self.rewriter=nil),null==self.initialization&&(self.initialization=nil),null==self.rewritten&&(self.rewritten=nil),null==arg&&(arg=nil),arg.$type()(”mlhs“)?(var_name=self.$new_mlhs_tmp(),rhs=self.$s(”lvar“,var_name),mlhs=self.rewriter.$process(arg),self.initialization(self.$s(”masgn“,mlhs,rhs)),self.rewritten(self.$s(”arg“,var_name).$updated(nil,nil,$hash2(,{meta:$hash2(,{arg_name:var_name})})))):self.rewritten(arg)}).$$s=this,$$8.$$arity=1,$$8)),this.initialization.$length()(1)?this.initialization=this.initialization[”$“](0):$truthy(this.initialization())?this.initialization=nil:this.initialization=$send(this,”s“,.concat(Opal.to_a(this.initialization)))},$Arguments_split$excl$7.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $MlhsRewriter_on_arg$9,$MlhsRewriter_on_restarg$10,self=$klass($base,$super,”MlhsRewriter“);.concat($parent_nesting);Opal.def(self,”$on_arg“,$MlhsRewriter_on_arg$9=function(node){return node.$updated(”lvasgn“)},$MlhsRewriter_on_arg$9.$$arity=1),Opal.def(self,”$on_restarg“,$MlhsRewriter_on_restarg$10=function(node){var name;return name=node.$children()[”$“](0),$truthy(name)?this.$s(”splat“,node.$updated(”lvasgn“)):this.$s(”splat“)},$MlhsRewriter_on_restarg$10.$$arity=1)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Arguments_initialize$1,$Arguments_has_post_args$ques$3,$Arguments_has_any_kwargs$ques$4,$Arguments_can_inline_kwargs$ques$5,self=$klass($base,null,”Arguments“);.concat($parent_nesting);self.$$prototype.restarg=self.$$prototype.postargs=self.$$prototype.kwargs=self.$$prototype.kwoptargs=self.$$prototype.kwrestarg=self.$$prototype.optargs=nil,self.$attr_reader(”args“,”optargs“,”restarg“,”postargs“,”kwargs“,”kwoptargs“,”kwrestarg“,”shadowargs“,”blockarg“),Opal.def(self,”$initialize“,$Arguments_initialize$1=function(args){var $$2;return this.args=[],this.optargs=,this.restarg=nil,this.postargs=[],this.kwargs=,this.kwoptargs=[],this.kwrestarg=nil,this.shadowargs=,this.blockarg=nil,$send(args,”each“,[],(($$2=function(arg){var $a,self=$$2.$$s||this,$case=nil;return null==self.restarg&&(self.restarg=nil),null==self.optargs&&(self.optargs=nil),null==self.postargs&&(self.postargs=nil),null==self.args&&(self.args=nil),null==self.kwargs&&(self.kwargs=nil),null==self.kwoptargs&&(self.kwoptargs=nil),null==self.shadowargs&&(self.shadowargs=nil),null==arg&&(arg=nil),$case=arg.$type(),”arg“($case)||”mlhs“($case)?($truthy($truthy($a=self.restarg)?$a:self.optargs())?self.postargs:self.args)(arg):”optarg“($case)?self.optargs(arg):”restarg“($case)?self.restarg=arg:”kwarg“($case)?self.kwargs(arg):”kwoptarg“($case)?self.kwoptargs(arg):”kwrestarg“($case)?self.kwrestarg=arg:”shadowarg“($case)?self.shadowargs(arg):”blockarg“($case)?self.blockarg=arg:self.$raise(”Unsupported arg type “+arg.$type())}).$$s=this,$$2.$$arity=1,$$2))},$Arguments_initialize$1.$$arity=1),Opal.def(self,”$has_post_args?“,$Arguments_has_post_args$ques$3=function(){var $a,$b;return $truthy($a=$truthy($b=this.restarg()[”$!“]())?$b:this.postargs())?$a:$truthy($b=this())?this()[”$!“]():$b},$Arguments_has_post_args$ques$3.$$arity=0),Opal.def(self,”$has_any_kwargs?“,$Arguments_has_any_kwargs$ques$4=function(){var $a,$b;return $truthy($a=$truthy($b=this.kwargs())?$b:this.kwoptargs())?$a:this.kwrestarg()[”$!“]()},$Arguments_has_any_kwargs$ques$4.$$arity=0),Opal.def(self,”$can_inline_kwargs?“,$Arguments_can_inline_kwargs$ques$5=function(){var $a,$b;return $truthy($a=$truthy($b=this.optargs())?this.restarg():$b)?this.postargs():$a},$Arguments_can_inline_kwargs$ques$5.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$hash2=Opal.hash2;return Opal.add_stubs([”$require“,”$s“,”$new“,”$updated“,”$inline“,”$prepend_to_body“,”$initialization“,”$attr_reader“,”$freeze“,”$children“,”$each“,”$send“,”$any?“,”$blockarg“,”$<<","$shadowargs","$args","$==","$“,”$has_post_args?“,”$length“,”$has_any_kwargs?“,”$can_inline_kwargs?“,”$kwargs“,”$kwoptargs“,”$kwrestarg“,”$postargs“,”$optargs“,”$args_to_keep“,”$restarg“]),self.$require(”opal/rewriters/base“),self.$require(”opal/rewriters/arguments“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $InlineArgs_on_def$1,$InlineArgs_on_defs$2,$InlineArgs_on_iter$3,self=$klass($base,$super,”InlineArgs“),$nesting=.concat($parent_nesting);Opal.def(self,”$on_def“,$InlineArgs_on_def$1=function(node){var $a,mid,inline_args,$iter=$InlineArgs_on_def$1.$$p,args=nil,body=nil,initializer=nil;return $iter&&($InlineArgs_on_def$1.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_def“,$InlineArgs_on_def$1,!1),,null),mid=null==($a=[].concat(Opal.to_a(node)))?nil:$a,args=null==$a?nil:$a,body=null==$a?nil:$a,body=$truthy($a=body)?$a:this.$s(”nil“),initializer=$$($nesting,”Initializer“).$new(args,$hash2(,{type:”def“})),inline_args=args.$updated(nil,initializer.$inline()),body=this.$prepend_to_body(body,initializer.$initialization()),node.$updated(nil,)},$InlineArgs_on_def$1.$$arity=1),Opal.def(self,”$on_defs“,$InlineArgs_on_defs$2=function(node){var $a,recv,mid,inline_args,$iter=$InlineArgs_on_defs$2.$$p,args=nil,body=nil,initializer=nil;return $iter&&($InlineArgs_on_defs$2.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_defs“,$InlineArgs_on_defs$2,!1),,null),recv=null==($a=[].concat(Opal.to_a(node)))?nil:$a,mid=null==$a?nil:$a,args=null==$a?nil:$a,body=null==$a?nil:$a,body=$truthy($a=body)?$a:this.$s(”nil“),initializer=$$($nesting,”Initializer“).$new(args,$hash2(,{type:”defs“})),inline_args=args.$updated(nil,initializer.$inline()),body=this.$prepend_to_body(body,initializer.$initialization()),node.$updated(nil,)},$InlineArgs_on_defs$2.$$arity=1),Opal.def(self,”$on_iter“,$InlineArgs_on_iter$3=function(node){var $a,inline_args,$iter=$InlineArgs_on_iter$3.$$p,args=nil,body=nil,initializer=nil;return $iter&&($InlineArgs_on_iter$3.$$p=null),node=$send(this,Opal.find_super_dispatcher(this,”on_iter“,$InlineArgs_on_iter$3,!1),,null),args=null==($a=[].concat(Opal.to_a(node)))?nil:$a,body=null==$a?nil:$a,body=$truthy($a=body)?$a:this.$s(”nil“),initializer=$$($nesting,”Initializer“).$new(args,$hash2(,{type:”iter“})),inline_args=args.$updated(nil,initializer.$inline()),body=this.$prepend_to_body(body,initializer.$initialization()),node.$updated(nil,)},$InlineArgs_on_iter$3.$$arity=1),function($base,$super,$parent_nesting){var $Initializer_initialize$4,$Initializer_extract_blockarg$6,$Initializer_initialize_shadowargs$7,$Initializer_extract_args$9,$Initializer_prepare_post_args$11,$Initializer_prepare_kwargs$12,$Initializer_extract_kwargs$13,$Initializer_extract_kwoptargs$15,$Initializer_extract_kwrestarg$17,$Initializer_extract_post_args$18,$Initializer_extract_optargs$20,$Initializer_extract_restarg$22,$Initializer_args_to_keep$23,self=$klass($base,$super,”Initializer“),$nesting=.concat($parent_nesting);self.$$prototype.initialization=self.$$prototype.args=self.$$prototype.inline=nil,self.$attr_reader(”inline“,”initialization“),Opal.const_set($nesting,”STEPS“,.$freeze()),Opal.def(self,”$initialize“,$Initializer_initialize$4=function(args,$kwargs){var type,$$5;if(null==$kwargs)$kwargs=$hash2([],{});else if(!$kwargs.$$is_hash)throw Opal.ArgumentError.$new(”expected kwargs“);if(!Opal.hasOwnProperty.call($kwargs.$$smap,”type“))throw Opal.ArgumentError.$new(”missing keyword: type“);return type=$kwargs.$$smap.type,this.args=$$($nesting,”Arguments“).$new(args.$children()),this.inline=[],this.initialization=,this.type=type,this.underscore_found=!1,$send($$($nesting,”STEPS“),”each“,[],(($$5=function(step){var self=$$5.$$s||this;return null==step&&(step=nil),self.$send(step)}).$$s=this,$$5.$$arity=1,$$5)),$truthy(this.initialization())?this.initialization=$send(this,”s“,.concat(Opal.to_a(this.initialization))):this.initialization=nil},$Initializer_initialize$4.$$arity=2),Opal.def(self,”$extract_blockarg“,$Initializer_extract_blockarg$6=function(){var arg=nil;return $truthy(arg=this.args.$blockarg())?this.initialization(arg.$updated(”extract_blockarg“)):nil},$Initializer_extract_blockarg$6.$$arity=0),Opal.def(self,”$initialize_shadowargs“,$Initializer_initialize_shadowargs$7=function(){var $$8;return $send(this.args.$shadowargs(),”each“,[],(($$8=function(arg){var self=$$8.$$s||this;return null==self.initialization&&(self.initialization=nil),null==arg&&(arg=nil),self.initialization(arg.$updated(”initialize_shadowarg“))}).$$s=this,$$8.$$arity=1,$$8))},$Initializer_initialize_shadowargs$7.$$arity=0),Opal.def(self,”$extract_args“,$Initializer_extract_args$9=function(){var $$10;return $send(this.args.$args(),”each“,[],(($$10=function(arg){var self=$$10.$$s||this;return null==self.type&&(self.type=nil),null==self.initialization&&(self.initialization=nil),null==self.underscore_found&&(self.underscore_found=nil),null==self.inline&&(self.inline=nil),null==arg&&(arg=nil),self.type(”iter“)&&(self.initialization(arg.$updated(”initialize_iter_arg“)),arg.$children()[”$“](0)(”_“)&&($truthy(self.underscore_found)&&(arg=self.$s(”fake_arg“)),self.underscore_found=!0)),self.inline(arg)}).$$s=this,$$10.$$arity=1,$$10))},$Initializer_extract_args$9.$$arity=0),Opal.def(self,”$prepare_post_args“,$Initializer_prepare_post_args$11=function(){return $truthy(this.args())?this.initialization(this.$s(”prepare_post_args“,this.args.$args().$length())):nil},$Initializer_prepare_post_args$11.$$arity=0),Opal.def(self,”$prepare_kwargs“,$Initializer_prepare_kwargs$12=function(){return $truthy(this.args())?($truthy(this.args())?this.inline(this.$s(”arg“,”$kwargs“)):(this.initialization(this.$s(”extract_kwargs“)),this.inline(this.$s(”fake_arg“))),this.initialization(this.$s(”ensure_kwargs_are_kwargs“))):nil},$Initializer_prepare_kwargs$12.$$arity=0),Opal.def(self,”$extract_kwargs“,$Initializer_extract_kwargs$13=function(){var $$14;return $send(this.args.$kwargs(),”each“,[],(($$14=function(arg){var self=$$14.$$s||this;return null==self.initialization&&(self.initialization=nil),null==arg&&(arg=nil),self.initialization(arg.$updated(”extract_kwarg“))}).$$s=this,$$14.$$arity=1,$$14))},$Initializer_extract_kwargs$13.$$arity=0),Opal.def(self,”$extract_kwoptargs“,$Initializer_extract_kwoptargs$15=function(){var $$16;return $send(this.args.$kwoptargs(),”each“,[],(($$16=function(arg){var self=$$16.$$s||this;return null==self.initialization&&(self.initialization=nil),null==arg&&(arg=nil),self.initialization(arg.$updated(”extract_kwoptarg“))}).$$s=this,$$16.$$arity=1,$$16))},$Initializer_extract_kwoptargs$15.$$arity=0),Opal.def(self,”$extract_kwrestarg“,$Initializer_extract_kwrestarg$17=function(){var arg=nil;return $truthy(arg=this.args.$kwrestarg())?this.initialization(arg.$updated(”extract_kwrestarg“)):nil},$Initializer_extract_kwrestarg$17.$$arity=0),Opal.def(self,”$extract_post_args“,$Initializer_extract_post_args$18=function(){var $$19;return $send(this.args.$postargs(),”each“,[],(($$19=function(arg){var self=$$19.$$s||this;return null==self.initialization&&(self.initialization=nil),null==self.inline&&(self.inline=nil),null==arg&&(arg=nil),self.initialization(arg.$updated(”extract_post_arg“)),self.inline(self.$s(”fake_arg“))}).$$s=this,$$19.$$arity=1,$$19))},$Initializer_extract_post_args$18.$$arity=0),Opal.def(self,”$extract_optargs“,$Initializer_extract_optargs$20=function(){var $$21,has_post_args;return has_post_args=this.args(),$send(this.args.$optargs(),”each“,[],(($$21=function(arg){var $a,self=$$21.$$s||this,arg_name=nil,default_value=nil;return null==self.initialization&&(self.initialization=nil),null==self.inline&&(self.inline=nil),null==arg&&(arg=nil),$truthy(has_post_args)?(arg_name=null==($a=[].concat(Opal.to_a(arg)))?nil:$a,default_value=null==$a?nil:$a,self.initialization(arg.$updated(”extract_post_optarg“,)),self.inline(self.$s(”fake_arg“))):(self.inline(arg.$updated(”arg“)),self.initialization(arg.$updated(”extract_optarg“)))}).$$s=this,$$21.$$arity=1,$$21))},$Initializer_extract_optargs$20.$$arity=0),Opal.def(self,”$extract_restarg“,$Initializer_extract_restarg$22=function(){var arg=nil,arg_name=nil;return $truthy(arg=this.args.$restarg())?(arg_name=arg.$children()[”$“](0),this.initialization(arg.$updated(”extract_restarg“,)),this.inline(this.$s(”fake_arg“))):nil},$Initializer_extract_restarg$22.$$arity=0),Opal.def(self,”$args_to_keep“,$Initializer_args_to_keep$23=function(){return this.args.$postargs().$length()},$Initializer_args_to_keep$23.$$arity=0)}($nesting,$$$($$$($$$(”::“,”Opal“),”Rewriters“),”Base“),$nesting)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),self.$require(”opal/rewriters/opal_engine_check“),self.$require(”opal/rewriters/for_rewriter“),self.$require(”opal/rewriters/explicit_writer_return“),self.$require(”opal/rewriters/js_reserved_words“),self.$require(”opal/rewriters/block_to_iter“),self.$require(”opal/rewriters/dot_js_syntax“),self.$require(”opal/rewriters/logical_operator_assignment“),self.$require(”opal/rewriters/binary_operator_assignment“),self.$require(”opal/rewriters/hashes/key_duplicates_rewriter“),self.$require(”opal/rewriters/dump_args“),self.$require(”opal/rewriters/mlhs_args“),self.$require(”opal/rewriters/inline_args“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Rewriter_initialize$6,$Rewriter_process$7,self=$klass($base,null,”Rewriter“),$nesting=.concat($parent_nesting);self.$$prototype.sexp=nil,function(self,$parent_nesting){var $list$1,$use$2,$delete$3,$disable$4,$disabled$ques$5;.concat($parent_nesting);Opal.def(self,”$list“,$list$1=function(){var $a;return null==this.list&&(this.list=nil),this.list=$truthy($a=this.list)?$a:[]},$list$1.$$arity=0),Opal.def(self,”$use“,$use$2=function(rewriter){return this.$list()(rewriter)},$use$2.$$arity=1),Opal.def(self,”$delete“,$delete$3=function(rewriter){return this.$list().$delete(rewriter)},$delete$3.$$arity=1),Opal.def(self,”$disable“,$disable$4=function(){var $iter=$disable$4.$$p,$yield=$iter||nil,self=this;return $iter&&($disable$4.$$p=null),function(){try{return self.disabled=!0,Opal.yieldX($yield,[])}finally{self.disabled=!1}}()},$disable$4.$$arity=0),Opal.def(self,”$disabled?“,$disabled$ques$5=function(){var $a;return null==this.disabled&&(this.disabled=nil),$truthy(null!=($a=this.disabled)&&$a!==nil?”instance-variable“:nil)?this.disabled:nil},$disabled$ques$5.$$arity=0)}(Opal.get_singleton_class(self),$nesting),self.$use($$$($$($nesting,”Rewriters“),”OpalEngineCheck“)),self.$use($$$($$($nesting,”Rewriters“),”ForRewriter“)),self.$use($$$($$($nesting,”Rewriters“),”BlockToIter“)),self.$use($$$($$($nesting,”Rewriters“),”DotJsSyntax“)),self.$use($$$($$($nesting,”Rewriters“),”JsReservedWords“)),self.$use($$$($$($nesting,”Rewriters“),”LogicalOperatorAssignment“)),self.$use($$$($$($nesting,”Rewriters“),”BinaryOperatorAssignment“)),self.$use($$$($$($nesting,”Rewriters“),”ExplicitWriterReturn“)),self.$use($$$($$$($$($nesting,”Rewriters“),”Hashes“),”KeyDuplicatesRewriter“)),self.$use($$$($$($nesting,”Rewriters“),”DumpArgs“)),self.$use($$$($$($nesting,”Rewriters“),”MlhsArgs“)),self.$use($$$($$($nesting,”Rewriters“),”InlineArgs“)),Opal.def(self,”$initialize“,$Rewriter_initialize$6=function(sexp){return this.sexp=sexp},$Rewriter_initialize$6.$$arity=1),Opal.def(self,”$process“,$Rewriter_process$7=function(){var $$8;return $truthy(this.$class()())||$send(this.$class().$list(),”each“,[],(($$8=function(rewriter_class){var self=$$8.$$s||this,rewriter=nil;return null==self.sexp&&(self.sexp=nil),null==rewriter_class&&(rewriter_class=nil),rewriter=rewriter_class.$new(),self.sexp=rewriter.$process(self.sexp)}).$$s=this,$$8.$$arity=1,$$8)),this.sexp},$Rewriter_process$7.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $SourceBuffer_recognize_encoding$1,self=$klass($base,$super,”SourceBuffer“),$nesting=.concat($parent_nesting);Opal.defs(self,”$recognize_encoding“,$SourceBuffer_recognize_encoding$1=function(string){var $a,$zuper_ii,$iter=$SourceBuffer_recognize_encoding$1.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($SourceBuffer_recognize_encoding$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return $truthy($a=$send(this,Opal.find_super_dispatcher(this,”recognize_encoding“,$SourceBuffer_recognize_encoding$1,!1,this.$$class.$$prototype),$zuper,$iter))?$a:$$$($$($nesting,”Encoding“),”UTF_8“)},$SourceBuffer_recognize_encoding$1.$$arity=1)}($nesting,$$$($$$($$$(”::“,”Parser“),”Source“),”Buffer“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$send=Opal.send,$lambda=Opal.lambda,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var self=$module($base,”Parser“),$nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $DefaultConfig_included$2,$DefaultConfig_initialize$4,$DefaultConfig_parse$5,$DefaultConfig_rewrite$6,self=$module($base,”DefaultConfig“),$nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $ClassMethods_default_parser$1,self=$module($base,”ClassMethods“);.concat($parent_nesting);self.$attr_accessor(”diagnostics_consumer“),Opal.def(self,”$default_parser“,$ClassMethods_default_parser$1=function(){var $zuper_ii,$iter=$ClassMethods_default_parser$1.$$p,parser=nil,$writer=nil,$zuper=nil,$zuper_i=nil;for($iter&&($ClassMethods_default_parser$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return parser=$send(this,Opal.find_super_dispatcher(this,”default_parser“,$ClassMethods_default_parser$1,!1),$zuper,$iter),$writer=,$send(parser.$diagnostics(),”all_errors_are_fatal=“,Opal.to_a($writer)),$writer,$writer=,$send(parser.$diagnostics(),”ignore_warnings=“,Opal.to_a($writer)),$writer,$writer=,$send(parser.$diagnostics(),”consumer=“,Opal.to_a($writer)),$writer,parser},$ClassMethods_default_parser$1.$$arity=0)}($nesting,$nesting),Opal.defs(self,”$included“,$DefaultConfig_included$2=function(klass){var $$3,$writer;return klass.$extend($$($nesting,”ClassMethods“)),$writer=[$lambda(($$3=function(diagnostic){$$3.$$s;return null==diagnostic&&(diagnostic=nil),$truthy($$($nesting,”RUBY_ENGINE“)(”opal“)),nil},$$3.$$s=this,$$3.$$arity=1,$$3))],$send(klass,”diagnostics_consumer=“,Opal.to_a($writer)),$writer},$DefaultConfig_included$2.$$arity=1),Opal.def(self,”$initialize“,$DefaultConfig_initialize$4=function($a){var $iter=$DefaultConfig_initialize$4.$$p;return $iter&&($DefaultConfig_initialize$4.$$p=null),Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,”initialize“,$DefaultConfig_initialize$4,!1),,null)},$DefaultConfig_initialize$4.$$arity=-1),Opal.def(self,”$parse“,$DefaultConfig_parse$5=function(source_buffer){var parsed,$zuper_ii,$iter=$DefaultConfig_parse$5.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($DefaultConfig_parse$5.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return parsed=$send(this,Opal.find_super_dispatcher(this,”parse“,$DefaultConfig_parse$5,!1),$zuper,$iter),this.$rewrite(parsed)},$DefaultConfig_parse$5.$$arity=1),Opal.def(self,”$rewrite“,$DefaultConfig_rewrite$6=function(node){return $$$($$($nesting,”Opal“),”Rewriter“).$new(node).$process()},$DefaultConfig_rewrite$6.$$arity=1)}($nesting,$nesting),function(self,$parent_nesting){var $default_parser$7;.concat($parent_nesting);self.$attr_accessor(”default_parser_class“),Opal.def(self,”$default_parser“,$default_parser$7=function(){return this.$default_parser_class().$default_parser()},$default_parser$7.$$arity=0)}(Opal.get_singleton_class(self),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$$$=(Opal.nil,Opal.const_get_qualified),$$=Opal.const_get_relative,$klass=(Opal.breaker,Opal.slice,Opal.klass),$send=Opal.send;return Opal.add_stubs(),function($base,$super,$parent_nesting){var $writer,lhs,rhs,self=$klass($base,$super,”WithRubyLexer“),$nesting=.concat($parent_nesting);return self.$include($$$($$$($$($nesting,”Opal“),”Parser“),”DefaultConfig“)),$writer=,$send($$$($$($nesting,”Opal“),”Parser“),”default_parser_class=“,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs))]}($$$($$($nesting,”Opal“),”Parser“),$$$($$($nesting,”Parser“),”Ruby25“),$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$klass=(Opal.breaker,Opal.slice,Opal.klass),$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),$$($nesting,”RUBY_ENGINE“)(”opal“)?(function($base,$super,$parent_nesting){var $Literal_extend_string$1,self=$klass($base,null,”Literal“);.concat($parent_nesting);self.$$prototype.buffer_s=self.$$prototype.buffer=nil,Opal.udef(self,”$extend_string“),Opal.def(self,”$extend_string“,$Literal_extend_string$1=function(string,ts,te){var $a,lhs,rhs;return this.buffer_s=$truthy($a=this.buffer_s)?$a:ts,this.buffer_e=te,this.buffer=(lhs=this.buffer,rhs=string,”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs))},$Literal_extend_string$1.$$arity=3)}($$$($$($nesting,”Parser“),”Lexer“),0,$nesting),function($base,$super,$parent_nesting){var $Buffer_source_lines$2,self=$klass($base,null,”Buffer“);.concat($parent_nesting);return self.$$prototype.lines=self.$$prototype.source=nil,Opal.def(self,”$source_lines“,$Buffer_source_lines$2=function(){var $a,$$3,self=this,lines=nil;return self.lines=$truthy($a=self.lines)?$a:(lines=self.source.$lines().$to_a(),$truthy(self.source(”n“))&&lines(”“),$send(lines,”map“,[],(($$3=function(line){$$3.$$s;return null==line&&(line=nil),line.$chomp(”n“)}).$$s=self,$$3.$$arity=1,$$3)))},$Buffer_source_lines$2.$$arity=0),nil&&”source_lines“}($$$($$($nesting,”Parser“),”Source“),0,$nesting)):nil},Opal.modules=function(Opal){var self=Opal.top,nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative);Opal.breaker,Opal.slice;return Opal.add_stubs(),self.$require(”opal/ast/builder“),self.$require(”opal/rewriter“),self.$require(”opal/parser/source_buffer“),self.$require(”opal/parser/default_config“),self.$require(”opal/parser/with_ruby_lexer“),$$([],”RUBY_ENGINE“)(”opal“)?self.$require(”opal/parser/patch“):nil},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs([”$attr_reader“,”$to_s“,”$inspect“,”$type“,”$===“,”$first“,”$children“,”$“,”$line“,”$column“]),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Fragment_initialize$1,$Fragment_inspect$2,$Fragment_source_map_name$3,$Fragment_line$4,$Fragment_column$5,self=$klass($base,null,”Fragment“);.concat($parent_nesting);self.$$prototype.code=self.$$prototype.sexp=nil,self.$attr_reader(”code“),Opal.def(self,”$initialize“,$Fragment_initialize$1=function(code,scope,sexp){return null==sexp&&(sexp=nil),this.code=code.$to_s(),this.sexp=sexp,this.scope=scope},$Fragment_initialize$1.$$arity=-3),Opal.def(self,”$inspect“,$Fragment_inspect$2=function(){return”f(“+this.code.$inspect()+”)“},$Fragment_inspect$2.$$arity=0),Opal.def(self,”$source_map_name“,$Fragment_source_map_name$3=function(){var self=this,$case=nil;return $case=self.sexp.$type(),”top“($case)||”begin“($case)||”newline“($case)||”js_return“($case)?nil:”self“($case)?”self“:”module“($case)?”module“:”class“($case)?”class“:”int“($case)?self.sexp.$children().$first():”def“($case)?self.sexp.$children().$first():”defs“($case)?self.sexp.$children()[”$“](1):”send“($case)?self.sexp.$children()[”$“](1):”lvar“($case)||”lvasgn“($case)||”lvdeclare“($case)||”ivar“($case)||”ivasgn“($case)||”gvar“($case)||”cvar“($case)||”cvasgn“($case)||”gvars“($case)||”gvasgn“($case)?self.sexp.$children().$first():nil},$Fragment_source_map_name$3.$$arity=0),Opal.def(self,”$line“,$Fragment_line$4=function(){return $truthy(this.sexp)?this.sexp.$line():nil},$Fragment_line$4.$$arity=0),Opal.def(self,”$column“,$Fragment_column$5=function(){return $truthy(this.sexp)?this.sexp.$column():nil},$Fragment_column$5.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs([”$require“,”$valid_name?“,”$inspect“,”$=~“,”$to_s“,”$+“,”$indent“,”$compiler“,”$to_proc“,”$parser_indent“,”$push“,”$current_indent“,”$js_truthy_optimize“,”$helper“,”$fragment“,”$expr“,”$==“,”$type“,”$“,”$children“,”$uses_block!“,”$scope“,”$block_name“,”$handlers“,”$include?“,”$truthy_optimize?“,”$new_temp“,”$wrap“]),self.$require(”opal/regexp_anchors“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $Helpers_property$1,$Helpers_valid_name$ques$2,$Helpers_mid_to_jsid$3,$Helpers_indent$4,$Helpers_current_indent$5,$Helpers_line$6,$Helpers_empty_line$7,$Helpers_js_truthy$8,$Helpers_js_falsy$9,$Helpers_js_truthy_optimize$10,$Helpers_conditional_send$11,self=$module($base,”Helpers“),$nesting=.concat($parent_nesting);Opal.def(self,”$property“,$Helpers_property$1=function(name){return $truthy(this(name))?”.“+name:”“},$Helpers_property$1.$$arity=1),Opal.def(self,”$valid_name?“,$Helpers_valid_name$ques$2=function(name){return $$$($$$($$($nesting,”Opal“),”Rewriters“),”JsReservedWords“)(name)},$Helpers_valid_name$ques$2.$$arity=1),Opal.def(self,”$mid_to_jsid“,$Helpers_mid_to_jsid$3=function(mid){var lhs,rhs;return $truthy(/=|+|-|*|/|!|?|<|\>|&|||^|%|~|[/(mid.$to_s()))?”[’$“mid
”‘]“:(rhs=mid,”number“==typeof(lhs=”.$“)&&”number“==typeof rhs?lhs+rhs:lhs(rhs))},$Helpers_mid_to_jsid$3.$$arity=1),Opal.def(self,”$indent“,$Helpers_indent$4=function(){var $iter=$Helpers_indent$4.$$p,block=$iter||nil;return $iter&&($Helpers_indent$4.$$p=null),$iter&&($Helpers_indent$4.$$p=null),$send(this.$compiler(),”indent“,[],block.$to_proc())},$Helpers_indent$4.$$arity=0),Opal.def(self,”$current_indent“,$Helpers_current_indent$5=function(){return this.$compiler().$parser_indent()},$Helpers_current_indent$5.$$arity=0),Opal.def(self,”$line“,$Helpers_line$6=function($a){var strs;return strs=Opal.slice.call(arguments,0,arguments.length),this.$push(”n“+this.$current_indent()),$send(this,”push“,Opal.to_a(strs))},$Helpers_line$6.$$arity=-1),Opal.def(self,”$empty_line“,$Helpers_empty_line$7=function(){return this.$push(”n“)},$Helpers_empty_line$7.$$arity=0),Opal.def(self,”$js_truthy“,$Helpers_js_truthy$8=function(sexp){var optimize;return $truthy(optimize=this.$js_truthy_optimize(sexp))?optimize:(this.$helper(”truthy“),)},$Helpers_js_truthy$8.$$arity=1),Opal.def(self,”$js_falsy“,$Helpers_js_falsy$9=function(sexp){return sexp.$type()(”send“)&&sexp.$children()[”$“](1)(”block_given?“)?(this.$scope()(),this.$scope().$block_name()+” === nil“):(this.$helper(”falsy“),)},$Helpers_js_falsy$9.$$arity=1),Opal.def(self,”$js_truthy_optimize“,$Helpers_js_truthy_optimize$10=function(sexp){var $a,$b,mid=nil,receiver_handler_class=nil,receiver=nil,allow_optimization_on_type=nil;return sexp.$type()(”send“)?(mid=sexp.$children()[”$“](1),receiver_handler_class=$truthy($a=receiver=sexp.$children()[”$“](0))?this.$compiler().$handlers()[”$“](receiver.$type()):$a,allow_optimization_on_type=$truthy($a=$truthy($b=$$$($$($nesting,”Compiler“),”COMPARE“)(mid.$to_s()))?receiver_handler_class:$b)?receiver_handler_class():$a,$truthy($truthy($a=$truthy($b=allow_optimization_on_type)?$b:mid(”block_given?“))?$a:mid(”==“))?this.$expr(sexp):nil):nil},$Helpers_js_truthy_optimize$10.$$arity=1),Opal.def(self,”$conditional_send“,$Helpers_conditional_send$11=function(recvr){var receiver_temp,$iter=$Helpers_conditional_send$11.$$p,$yield=$iter||nil;return $iter&&($Helpers_conditional_send$11.$$p=null),receiver_temp=this.$scope().$new_temp(),this.$push(receiver_temp+” = “,recvr),this.$push(”, (“receiver_temp
” === nil || “receiver_temp
” == null) ? nil : “),Opal.yield1($yield,receiver_temp),this.$wrap(”(“,”)“)},$Helpers_conditional_send$11.$$arity=1)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$hash2=Opal.hash2,$send=Opal.send;return Opal.add_stubs([”$require“,”$include“,”$each“,”$=“,”$handlers“,”$-“,”$each_with_index“,”$define_method“,”$),self.$require(“opal/nodes/helpers”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Base_handlers$1,$Base_handle$2,$Base_children$4,$Base_truthy_optimize$ques$7,$Base_initialize$8,$Base_children$9,$Base_compile_to_fragments$10,$Base_compile$11,$Base_push$12,$Base_unshift$14,$Base_wrap$16,$Base_fragment$17,$Base_error$18,$Base_scope$19,$Base_s$20,$Base_expr$ques$21,$Base_recv$ques$22,$Base_stmt$ques$23,$Base_process$24,$Base_expr$25,$Base_recv$26,$Base_stmt$27,$Base_expr_or_nil$28,$Base_add_local$29,$Base_add_ivar$30,$Base_add_gvar$31,$Base_add_temp$32,$Base_helper$33,$Base_with_temp$34,$Base_in_while$ques$35,$Base_while_loop$36,$Base_has_rescue_else$ques$37,$Base_in_ensure$38,$Base_in_ensure$ques$39,$Base_class_variable_owner_nesting_level$40,$Base_class_variable_owner$41,$Base_comments$42,self=$klass($base,null,“Base”),$nesting=.concat($parent_nesting);self.$$prototype.sexp=self.$$prototype.fragments=self.$$prototype.compiler=self.$$prototype.level=nil,self.$include($$($nesting,“Helpers”)),Opal.defs(self,“$handlers”,$Base_handlers$1=function(){var $a;return null==this.handlers&&(this.handlers=nil),this.handlers=$truthy($a=this.handlers)?$a:$hash2([],{})},$Base_handlers$1.$$arity=0),Opal.defs(self,“$handle”,$Base_handle$2=function($a){var $post_args,$$3;return $post_args=Opal.slice.call(arguments,0,arguments.length),$send($post_args,“each”,[],(($$3=function(type){var $writer,lhs,rhs,self=$$3.$$s||this;return null==type&&(type=nil),$writer=,$send($$($nesting,“Base”).$handlers(),“[]=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))]}).$$s=this,$$3.$$arity=1,$$3))},$Base_handle$2.$$arity=-1),Opal.defs(self,“$children”,$Base_children$4=function($a){var $post_args,$$5;return $post_args=Opal.slice.call(arguments,0,arguments.length),$send($post_args,“each_with_index”,[],(($$5=function(name,idx){var $$6,self=$$5.$$s||this;return null==name&&(name=nil),null==idx&&(idx=nil),$send(self,“define_method”,,(($$6=function(){var self=$$6.$$s||this;return null==self.sexp&&(self.sexp=nil),self.sexp.$children()[“$”](idx)}).$$s=self,$$6.$$arity=0,$$6))}).$$s=this,$$5.$$arity=2,$$5))},$Base_children$4.$$arity=-1),Opal.defs(self,“$truthy_optimize?”,$Base_truthy_optimize$ques$7=function(){return!1},$Base_truthy_optimize$ques$7.$$arity=0),self.$attr_reader(“compiler”,“type”),Opal.def(self,“$initialize”,$Base_initialize$8=function(sexp,level,compiler){return this.sexp=sexp,this.type=sexp.$type(),this.level=level,this.compiler=compiler},$Base_initialize$8.$$arity=3),Opal.def(self,“$children”,$Base_children$9=function(){return this.sexp.$children()},$Base_children$9.$$arity=0),Opal.def(self,“$compile_to_fragments”,$Base_compile_to_fragments$10=function(){var $a;return $truthy(null!=($a=this.fragments)&&$a!==nil?“instance-variable”:nil)||(this.fragments=[],this.$compile()),this.fragments},$Base_compile_to_fragments$10.$$arity=0),Opal.def(self,“$compile”,$Base_compile$11=function(){return this.$raise(“Not Implemented”)},$Base_compile$11.$$arity=0),Opal.def(self,“$push”,$Base_push$12=function($a){var $post_args,$$13;return $post_args=Opal.slice.call(arguments,0,arguments.length),$send($post_args,“each”,[],(($$13=function(str){var self=$$13.$$s||this;return null==self.fragments&&(self.fragments=nil),null==str&&(str=nil),$truthy(str($$($nesting,“String”)))&&(str=self.$fragment(str)),self.fragments(str)}).$$s=this,$$13.$$arity=1,$$13))},$Base_push$12.$$arity=-1),Opal.def(self,“$unshift”,$Base_unshift$14=function($a){var $post_args,$$15;return $post_args=Opal.slice.call(arguments,0,arguments.length),$send($post_args.$reverse(),“each”,[],(($$15=function(str){var self=$$15.$$s||this;return null==self.fragments&&(self.fragments=nil),null==str&&(str=nil),$truthy(str($$($nesting,“String”)))&&(str=self.$fragment(str)),self.fragments.$unshift(str)}).$$s=this,$$15.$$arity=1,$$15))},$Base_unshift$14.$$arity=-1),Opal.def(self,“$wrap”,$Base_wrap$16=function(pre,post){return this.$unshift(pre),this.$push(post)},$Base_wrap$16.$$arity=2),Opal.def(self,“$fragment”,$Base_fragment$17=function(str){return $$$($$($nesting,“Opal”),“Fragment”).$new(str,this.$scope(),this.sexp)},$Base_fragment$17.$$arity=1),Opal.def(self,“$error”,$Base_error$18=function(msg){return this.compiler.$error(msg)},$Base_error$18.$$arity=1),Opal.def(self,“$scope”,$Base_scope$19=function(){return this.compiler.$scope()},$Base_scope$19.$$arity=0),Opal.def(self,“$s”,$Base_s$20=function($a){var args;return args=Opal.slice.call(arguments,0,arguments.length),$send(this.compiler,“s”,Opal.to_a(args))},$Base_s$20.$$arity=-1),Opal.def(self,“$expr?”,$Base_expr$ques$21=function(){return this.level(“expr”)},$Base_expr$ques$21.$$arity=0),Opal.def(self,“$recv?”,$Base_recv$ques$22=function(){return this.level(“recv”)},$Base_recv$ques$22.$$arity=0),Opal.def(self,“$stmt?”,$Base_stmt$ques$23=function(){return this.level(“stmt”)},$Base_stmt$ques$23.$$arity=0),Opal.def(self,“$process”,$Base_process$24=function(sexp,level){return null==level&&(level=“expr”),this.compiler.$process(sexp,level)},$Base_process$24.$$arity=-2),Opal.def(self,“$expr”,$Base_expr$25=function(sexp){return this.compiler.$process(sexp,“expr”)},$Base_expr$25.$$arity=1),Opal.def(self,“$recv”,$Base_recv$26=function(sexp){return this.compiler.$process(sexp,“recv”)},$Base_recv$26.$$arity=1),Opal.def(self,“$stmt”,$Base_stmt$27=function(sexp){return this.compiler.$process(sexp,“stmt”)},$Base_stmt$27.$$arity=1),Opal.def(self,“$expr_or_nil”,$Base_expr_or_nil$28=function(sexp){return $truthy(sexp)?this.$expr(sexp):“nil”},$Base_expr_or_nil$28.$$arity=1),Opal.def(self,“$add_local”,$Base_add_local$29=function(name){return this.$scope().$add_scope_local(name.$to_sym())},$Base_add_local$29.$$arity=1),Opal.def(self,“$add_ivar”,$Base_add_ivar$30=function(name){return this.$scope().$add_scope_ivar(name)},$Base_add_ivar$30.$$arity=1),Opal.def(self,“$add_gvar”,$Base_add_gvar$31=function(name){return this.$scope().$add_scope_gvar(name)},$Base_add_gvar$31.$$arity=1),Opal.def(self,“$add_temp”,$Base_add_temp$32=function(temp){return this.$scope().$add_scope_temp(temp)},$Base_add_temp$32.$$arity=1),Opal.def(self,“$helper”,$Base_helper$33=function(name){return this.compiler.$helper(name)},$Base_helper$33.$$arity=1),Opal.def(self,“$with_temp”,$Base_with_temp$34=function(){var $iter=$Base_with_temp$34.$$p,block=$iter||nil;return $iter&&($Base_with_temp$34.$$p=null),$iter&&($Base_with_temp$34.$$p=null),$send(this.compiler,“with_temp”,[],block.$to_proc())},$Base_with_temp$34.$$arity=0),Opal.def(self,“$in_while?”,$Base_in_while$ques$35=function(){return this.compiler()},$Base_in_while$ques$35.$$arity=0),Opal.def(self,“$while_loop”,$Base_while_loop$36=function(){return this.compiler.$instance_variable_get(“@while_loop”)},$Base_while_loop$36.$$arity=0),Opal.def(self,“$has_rescue_else?”,$Base_has_rescue_else$ques$37=function(){return this.$scope()()},$Base_has_rescue_else$ques$37.$$arity=0),Opal.def(self,“$in_ensure”,$Base_in_ensure$38=function(){var $iter=$Base_in_ensure$38.$$p,block=$iter||nil;return $iter&&($Base_in_ensure$38.$$p=null),$iter&&($Base_in_ensure$38.$$p=null),$send(this.$scope(),“in_ensure”,[],block.$to_proc())},$Base_in_ensure$38.$$arity=0),Opal.def(self,“$in_ensure?”,$Base_in_ensure$ques$39=function(){return this.$scope()()},$Base_in_ensure$ques$39.$$arity=0),Opal.def(self,“$class_variable_owner_nesting_level”,$Base_class_variable_owner_nesting_level$40=function(){var $b,lhs,rhs,cvar_scope=nil,nesting_level=nil;for(cvar_scope=this.$scope(),nesting_level=0;$truthy($truthy($b=cvar_scope)?cvar_scope()[“$!”]():$b);)$truthy(cvar_scope())&&(rhs=1,nesting_level=“number”==typeof(lhs=nesting_level)&&“number”==typeof rhs?lhs+rhs:lhs(rhs)),cvar_scope=cvar_scope.$parent();return nesting_level},$Base_class_variable_owner_nesting_level$40.$$arity=0),Opal.def(self,“$class_variable_owner”,$Base_class_variable_owner$41=function(){return $truthy(this.$scope())?“$nesting”:“Opal.Object”},$Base_class_variable_owner$41.$$arity=0),Opal.def(self,“$comments”,$Base_comments$42=function(){return this.$compiler().$comments()[“$”](this.sexp.$loc())},$Base_comments$42.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$slice=(Opal.breaker,Opal.slice),$module=Opal.module,$klass=Opal.klass,$truthy=Opal.truthy,$hash2=Opal.hash2,$send=Opal.send,$lambda=Opal.lambda;return Opal.add_stubs([“$require”,“$handle”,“$push”,“$to_s”,“$type”,“$children”,“$value”,“$recv?”,“$wrap”,“$freeze”,“$join”,“$keys”,“$gsub”,“$even?”,“$length”,“$last_match”,“$+”,“$chop”,“$”,“$encoding”,“$!=”,“$inspect”,“$to_i”,“$to_utf16”,“$translate_escape_chars”,“$name”,“$upcase”,“$<=”,“$call”,“$-”,“$>>”,“$&”,“$attr_accessor”,“$extract_flags_and_value”,“$select!”,“$flags”,“$=~”,“$warning”,“$compiler”,“$===”,“$compile_dynamic_regexp”,“$compile_static_regexp”,“$any?”,“$expr”,“$new”,“$map”,“$to_proc”,“$flags=”,“$s”,“$value=”,“$include?”,“$is_a?”,“$==”,“$updated”,“$delete”,“$source”,“$expression”,“$loc”,“$regexp”,“$each”,“$compile_inline?”,“$helper”,“$compile_inline”,“$compile_range_initialize”,“$start”,“$finish”,“$raise”,“$numerator”,“$denominator”,“$real”,“$imag”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ValueNode_compile$1,$ValueNode_truthy_optimize$ques$2,self=$klass($base,$super,“ValueNode”);.concat($parent_nesting);self.$handle(“true”,“false”,“self”,“nil”),Opal.def(self,“$compile”,$ValueNode_compile$1=function(){return this.$push(this.$type().$to_s())},$ValueNode_compile$1.$$arity=0),Opal.defs(self,“$truthy_optimize?”,$ValueNode_truthy_optimize$ques$2=function(){return!0},$ValueNode_truthy_optimize$ques$2.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $NumericNode_compile$3,$NumericNode_truthy_optimize$ques$4,self=$klass($base,$super,“NumericNode”);.concat($parent_nesting);self.$handle(“int”,“float”),self.$children(“value”),Opal.def(self,“$compile”,$NumericNode_compile$3=function(){return this.$push(this.$value().$to_s()),$truthy(this())?this.$wrap(“(”,“)”):nil},$NumericNode_compile$3.$$arity=0),Opal.defs(self,“$truthy_optimize?”,$NumericNode_truthy_optimize$ques$4=function(){return!0},$NumericNode_truthy_optimize$ques$4.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $StringNode_translate_escape_chars$5,$StringNode_compile$7,$StringNode_to_utf16$9,self=$klass($base,$super,“StringNode”),$nesting=.concat($parent_nesting);self.$handle(“str”),self.$children(“value”),Opal.const_set($nesting,“ESCAPE_CHARS”,$hash2(,{a:“\u0007”,e:“\u001b”}).$freeze()),Opal.const_set($nesting,“ESCAPE_REGEX”,new RegExp(“(\+)()”)),Opal.def(self,“$translate_escape_chars”,$StringNode_translate_escape_chars$5=function(inspect_string){var $$6;return $send(inspect_string,“gsub”,,(($$6=function(original){$$6.$$s;return null==original&&(original=nil),$truthy($$($nesting,“Regexp”).$last_match(1).$length()())?original:$rb_plus($$($nesting,“Regexp”).$last_match(1).$chop(),$$($nesting,“ESCAPE_CHARS”)[“$”]($$($nesting,“Regexp”).$last_match(2)))}).$$s=this,$$6.$$arity=1,$$6))},$StringNode_translate_escape_chars$5.$$arity=1),Opal.def(self,“$compile”,$StringNode_compile$7=function(){var $$8,$a,should_encode,sanitized_value,string_value=nil,encoding=nil;return should_encode=(encoding=(string_value=this.$value()).$encoding())($$$($$($nesting,“Encoding”),“UTF_8”)),sanitized_value=$send(string_value.$inspect(),“gsub”,[/\u{(+)}/],(($$8=function(){var code_point,self=$$8.$$s||this;return code_point=$$($nesting,“Regexp”).$last_match(1).$to_i(16),self.$to_utf16(code_point)}).$$s=this,$$8.$$arity=0,$$8)),this.$push(this.$translate_escape_chars(sanitized_value)),$truthy($truthy($a=should_encode)?$$($nesting,“RUBY_ENGINE”)(“opal”):$a)?this.$push('.$force_encoding(“',encoding.$name(),'”)'):nil},$StringNode_compile$7.$$arity=0),Opal.def(self,“$to_utf16”,$StringNode_to_utf16$9=function(code_point){var $$10,lead_surrogate,tail_surrogate,lhs,rhs,u=nil;return 1023,u=$lambda((($$10=function(code_unit){$$10.$$s;return null==code_unit&&(code_unit=nil),$rb_plus(“\u”,code_unit.$to_s(16).$upcase())}).$$s=this,$$10.$$arity=1,$$10)),$truthy((rhs=65535,“number”==typeof(lhs=code_point)&&“number”==typeof rhs?lhs<=rhs:lhs(>“”>rhs)))?u.$call(code_point):(lead_surrogate=$rb_plus(55296,(code_point=$rb_minus(code_point,65536))(10)),tail_surrogate=$rb_plus(56320,code_point(1023)),$rb_plus(u.$call(lead_surrogate),u.$call(tail_surrogate)))},$StringNode_to_utf16$9.$$arity=1)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $SymbolNode_compile$11,self=$klass($base,$super,“SymbolNode”);.concat($parent_nesting);self.$handle(“sym”),self.$children(“value”),Opal.def(self,“$compile”,$SymbolNode_compile$11=function(){return this.$push(this.$value().$to_s().$inspect())},$SymbolNode_compile$11.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $RegexpNode_initialize$12,$RegexpNode_compile$13,$RegexpNode_compile_dynamic_regexp$15,$RegexpNode_compile_static_regexp$16,$RegexpNode_extract_flags_and_value$17,$RegexpNode_raw_value$19,self=$klass($base,$super,“RegexpNode”),$nesting=.concat($parent_nesting);self.$$prototype.sexp=nil,self.$handle(“regexp”),self.$attr_accessor(“value”,“flags”),Opal.const_set($nesting,“SUPPORTED_FLAGS”,//),Opal.def(self,“$initialize”,$RegexpNode_initialize$12=function($a){var $zuper_ii,$iter=$RegexpNode_initialize$12.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($RegexpNode_initialize$12.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$RegexpNode_initialize$12,!1),$zuper,$iter),this.$extract_flags_and_value()},$RegexpNode_initialize$12.$$arity=-1),Opal.def(self,“$compile”,$RegexpNode_compile$13=function(){var $$14,self=this,$case=nil;return $send(self.$flags(),“select!”,[],(($$14=function(flag){var self=$$14.$$s||this;return null==flag&&(flag=nil),!!$truthy($$($nesting,“SUPPORTED_FLAGS”)(flag))||(self.$compiler().$warning(“Skipping the '”flag
“' Regexp flag as it's not widely supported by JavaScript vendors.”),!1)}).$$s=self,$$14.$$arity=1,$$14)),$case=self.$value().$type(),“dstr”($case)||“begin”($case)?self.$compile_dynamic_regexp():“str”($case)?self.$compile_static_regexp():nil},$RegexpNode_compile$13.$$arity=0),Opal.def(self,“$compile_dynamic_regexp”,$RegexpNode_compile_dynamic_regexp$15=function(){return $truthy(this.$flags()())?this.$push(“new RegExp(”,this.$expr(this.$value()),“, '”+this.$flags().$join()+“')”):this.$push(“new RegExp(”,this.$expr(this.$value()),“)”)},$RegexpNode_compile_dynamic_regexp$15.$$arity=0),Opal.def(self,“$compile_static_regexp”,$RegexpNode_compile_static_regexp$16=function(){var self=this,value=nil,$case=nil,message=nil;return value=self.$value().$children()[“$”](0),“”($case=value)?self.$push(“/(?:)/”):/?<\w+\>/($case)?(message=“named captures are not supported in javascript: ”+value.$inspect(),self.$push(“self.$raise(new SyntaxError('”message
“'))”)):self.$push(“”+$$($nesting,“Regexp”).$new(value).$inspect()+self.$flags().$join())},$RegexpNode_compile_static_regexp$16.$$arity=0),Opal.def(self,“$extract_flags_and_value”,$RegexpNode_extract_flags_and_value$17=function(){var $a,$b,$$18,self=this,values=nil,flags_sexp=nil,$writer=nil,$case=nil,parts=nil;return $b=($b=($a=[].concat(Opal.to_a(self.$children()))).length-1)<0?0:$b,values=$slice.call($a,0,$b),flags_sexp=null==$a?nil:$a,$writer=[$send(flags_sexp.$children(),“map”,,“to_s”.$to_proc())],$send(self,“flags=”,Opal.to_a($writer)),$writer,$writer=[($case=values.$length(),(0)($case)?self.$s(“str”,“”):1($case)?values[“$”](0):$send(self,“s”,.concat(Opal.to_a(values))))],$send(self,“value=”,Opal.to_a($writer)),$writer,$truthy(self.$flags()(“x”))&&(parts=$send(self.$value().$children(),“map”,[],(($$18=function(part){var $c,self=$$18.$$s||this,trimmed_value=nil;return null==part&&(part=nil),$truthy($truthy($c=part($$$($$$($$$(“::”,“Opal”),“AST”),“Node”)))?part.$type()(“str”):$c)?(trimmed_value=part.$children()[“$”](0).$gsub(/^s*#.*/,“”).$gsub(/s/,“”),self.$s(“str”,trimmed_value)):part}).$$s=self,$$18.$$arity=1,$$18)),$writer=,$send(self,“value=”,Opal.to_a($writer)),$writer,self.$flags().$delete(“x”)),self.$value().$type()(“str”)?($writer=[self.$s(“str”,self.$value().$children()[“$”](0).$gsub(“\A”,“^”).$gsub(“\z”,“$”))],$send(self,“value=”,Opal.to_a($writer)),$writer):nil},$RegexpNode_extract_flags_and_value$17.$$arity=0),Opal.def(self,“$raw_value”,$RegexpNode_raw_value$19=function(){var $writer;return $writer=,$send(this,“value=”,Opal.to_a($writer)),$writer},$RegexpNode_raw_value$19.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $MatchCurrentLineNode_compile$20,self=$klass($base,$super,“MatchCurrentLineNode”);.concat($parent_nesting);self.$handle(“match_current_line”),self.$children(“regexp”),Opal.def(self,“$compile”,$MatchCurrentLineNode_compile$20=function(){var gvar_sexp,send_node;return gvar_sexp=this.$s(“gvar”,“$_”),send_node=this.$s(“send”,gvar_sexp,“=~”,this.$regexp()),this.$push(this.$expr(send_node))},$MatchCurrentLineNode_compile$20.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $DynamicStringNode_compile$21,self=$klass($base,$super,“DynamicStringNode”);.concat($parent_nesting);self.$handle(“dstr”),Opal.def(self,“$compile”,$DynamicStringNode_compile$21=function(){var $$22;return this.$push('“”'),$send(this.$children(),“each”,[],(($$22=function(part){var self=$$22.$$s||this;return null==part&&(part=nil),self.$push(“ + ”),part.$type()(“str”)?self.$push(part.$children()[“$”](0).$inspect()):self.$push(“(”,self.$expr(part),“)”),$truthy(self())?self.$wrap(“(”,“)”):nil}).$$s=this,$$22.$$arity=1,$$22))},$DynamicStringNode_compile$21.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var self=$klass($base,$super,“DynamicSymbolNode”);.concat($parent_nesting);self.$handle(“dsym”)}($nesting,$$($nesting,“DynamicStringNode”),$nesting),function($base,$super,$parent_nesting){var $RangeNode_compile$23,$RangeNode_compile_inline$ques$24,$RangeNode_compile_inline$25,$RangeNode_compile_range_initialize$26,self=$klass($base,$super,“RangeNode”),$nesting=.concat($parent_nesting);self.$children(“start”,“finish”),Opal.const_set($nesting,“SIMPLE_CHILDREN_TYPES”,.$freeze()),Opal.def(self,“$compile”,$RangeNode_compile$23=function(){return $truthy(this())?(this.$helper(“range”),this.$compile_inline()):this.$compile_range_initialize()},$RangeNode_compile$23.$$arity=0),Opal.def(self,“$compile_inline?”,$RangeNode_compile_inline$ques$24=function(){var $a;return $truthy($a=this.$start().$type()(this.$finish().$type())?$$($nesting,“SIMPLE_CHILDREN_TYPES”)(this.$start().$type()):this.$start().$type()(this.$finish().$type()))?$$($nesting,“SIMPLE_CHILDREN_TYPES”)(this.$finish().$type()):$a},$RangeNode_compile_inline$ques$24.$$arity=0),Opal.def(self,“$compile_inline”,$RangeNode_compile_inline$25=function(){return this.$raise($$($nesting,“NotImplementedError”))},$RangeNode_compile_inline$25.$$arity=0),Opal.def(self,“$compile_range_initialize”,$RangeNode_compile_range_initialize$26=function(){return this.$raise($$($nesting,“NotImplementedError”))},$RangeNode_compile_range_initialize$26.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $InclusiveRangeNode_compile_inline$27,$InclusiveRangeNode_compile_range_initialize$28,self=$klass($base,$super,“InclusiveRangeNode”);.concat($parent_nesting);self.$handle(“irange”),Opal.def(self,“$compile_inline”,$InclusiveRangeNode_compile_inline$27=function(){return this.$push(“$range(”,this.$expr(this.$start()),“, ”,this.$expr(this.$finish()),“, false)”)},$InclusiveRangeNode_compile_inline$27.$$arity=0),Opal.def(self,“$compile_range_initialize”,$InclusiveRangeNode_compile_range_initialize$28=function(){return this.$push(“Opal.Range.$new(”,this.$expr(this.$start()),“, ”,this.$expr(this.$finish()),“, false)”)},$InclusiveRangeNode_compile_range_initialize$28.$$arity=0)}($nesting,$$($nesting,“RangeNode”),$nesting),function($base,$super,$parent_nesting){var $ExclusiveRangeNode_compile_inline$29,$ExclusiveRangeNode_compile_range_initialize$30,self=$klass($base,$super,“ExclusiveRangeNode”);.concat($parent_nesting);self.$handle(“erange”),Opal.def(self,“$compile_inline”,$ExclusiveRangeNode_compile_inline$29=function(){return this.$push(“$range(”,this.$expr(this.$start()),“, ”,this.$expr(this.$finish()),“, true)”)},$ExclusiveRangeNode_compile_inline$29.$$arity=0),Opal.def(self,“$compile_range_initialize”,$ExclusiveRangeNode_compile_range_initialize$30=function(){return this.$push(“Opal.Range.$new(”,this.$expr(this.$start()),“,”,this.$expr(this.$finish()),“, true)”)},$ExclusiveRangeNode_compile_range_initialize$30.$$arity=0)}($nesting,$$($nesting,“RangeNode”),$nesting),function($base,$super,$parent_nesting){var $RationalNode_compile$31,self=$klass($base,$super,“RationalNode”);.concat($parent_nesting);self.$handle(“rational”),self.$children(“value”),Opal.def(self,“$compile”,$RationalNode_compile$31=function(){return this.$push(“Opal.Rational.$new(”+this.$value().$numerator()+“, ”+this.$value().$denominator()+“)”)},$RationalNode_compile$31.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $ComplexNode_compile$32,self=$klass($base,$super,“ComplexNode”);.concat($parent_nesting);self.$handle(“complex”),self.$children(“value”),Opal.def(self,“$compile”,$ComplexNode_compile$32=function(){return this.$push(“Opal.Complex.$new(”+this.$value().$real()+“, ”+this.$value().$imag()+“)”)},$ComplexNode_compile$32.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send,$range=Opal.range;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$irb?”,“$compiler”,“$top?”,“$scope”,“$using_irb?”,“$push”,“$to_s”,“$var_name”,“$with_temp”,“$property”,“$wrap”,“$add_local”,“$expr”,“$value”,“$recv?”,“$expr?”,“$”,“$name”,“$add_ivar”,“$helper”,“$add_gvar”,“$===”,“$handle_global_match”,“$handle_post_match”,“$handle_pre_match”,“$raise”,“$index”,“$class_variable_owner”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $LocalVariableNode_using_irb$ques$1,$LocalVariableNode_compile$2,self=$klass($base,$super,“LocalVariableNode”);.concat($parent_nesting);self.$handle(“lvar”),self.$children(“var_name”),Opal.def(self,“$using_irb?”,$LocalVariableNode_using_irb$ques$1=function(){var $a;return $truthy($a=this.$compiler()())?this.$scope()():$a},$LocalVariableNode_using_irb$ques$1.$$arity=0),Opal.def(self,“$compile”,$LocalVariableNode_compile$2=function(){var $$3;return $truthy(this())?$send(this,“with_temp”,[],(($$3=function(tmp){var self=$$3.$$s||this;return null==tmp&&(tmp=nil),self.$push(self.$property(self.$var_name().$to_s())),self.$wrap(“((”tmp
“ = Opal.irb_vars”,“) == null ? nil : ”tmp
“)”)}).$$s=this,$$3.$$arity=1,$$3)):this.$push(this.$var_name().$to_s())},$LocalVariableNode_compile$2.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $LocalAssignNode_using_irb$ques$4,$LocalAssignNode_compile$5,self=$klass($base,$super,“LocalAssignNode”);.concat($parent_nesting);self.$handle(“lvasgn”),self.$children(“var_name”,“value”),Opal.def(self,“$using_irb?”,$LocalAssignNode_using_irb$ques$4=function(){var $a;return $truthy($a=this.$compiler()())?this.$scope()():$a},$LocalAssignNode_using_irb$ques$4.$$arity=0),Opal.def(self,“$compile”,$LocalAssignNode_compile$5=function(){var $a,$b;return $truthy(this())?this.$push(“Opal.irb_vars”+this.$property(this.$var_name().$to_s())+“ = ”):(this.$add_local(this.$var_name().$to_s()),this.$push(this.$var_name()+“ = ”)),this.$push(this.$expr(this.$value())),$truthy($truthy($a=$truthy($b=this())?$b:this())?this.$value():$a)?this.$wrap(“(”,“)”):nil},$LocalAssignNode_compile$5.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $LocalDeclareNode_compile$6,self=$klass($base,$super,“LocalDeclareNode”);.concat($parent_nesting);self.$handle(“lvdeclare”),self.$children(“var_name”),Opal.def(self,“$compile”,$LocalDeclareNode_compile$6=function(){return this.$add_local(this.$var_name().$to_s()),nil},$LocalDeclareNode_compile$6.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $InstanceVariableNode_var_name$7,$InstanceVariableNode_compile$8,self=$klass($base,$super,“InstanceVariableNode”);.concat($parent_nesting);self.$handle(“ivar”),self.$children(“name”),Opal.def(self,“$var_name”,$InstanceVariableNode_var_name$7=function(){return this.$name().$to_s()[“$”]($range(1,-1,!1))},$InstanceVariableNode_var_name$7.$$arity=0),Opal.def(self,“$compile”,$InstanceVariableNode_compile$8=function(){var name;return name=this.$property(this.$var_name()),this.$add_ivar(name),this.$push(“self”+name)},$InstanceVariableNode_compile$8.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $InstanceAssignNode_var_name$9,$InstanceAssignNode_compile$10,self=$klass($base,$super,“InstanceAssignNode”);.concat($parent_nesting);self.$handle(“ivasgn”),self.$children(“name”,“value”),Opal.def(self,“$var_name”,$InstanceAssignNode_var_name$9=function(){return this.$name().$to_s()[“$”]($range(1,-1,!1))},$InstanceAssignNode_var_name$9.$$arity=0),Opal.def(self,“$compile”,$InstanceAssignNode_compile$10=function(){var $a,$b,name;return name=this.$property(this.$var_name()),this.$push(“self”name
“ = ”),this.$push(this.$expr(this.$value())),$truthy($truthy($a=$truthy($b=this())?$b:this())?this.$value():$a)?this.$wrap(“(”,“)”):nil},$InstanceAssignNode_compile$10.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $GlobalVariableNode_var_name$11,$GlobalVariableNode_compile$12,self=$klass($base,$super,“GlobalVariableNode”);.concat($parent_nesting);self.$handle(“gvar”),self.$children(“name”),Opal.def(self,“$var_name”,$GlobalVariableNode_var_name$11=function(){return this.$name().$to_s()[“$”]($range(1,-1,!1))},$GlobalVariableNode_var_name$11.$$arity=0),Opal.def(self,“$compile”,$GlobalVariableNode_compile$12=function(){var name;return this.$helper(“gvars”),name=this.$property(this.$var_name()),this.$add_gvar(name),this.$push(“$gvars”+name)},$GlobalVariableNode_compile$12.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $BackRefNode_compile$13,$BackRefNode_handle_global_match$14,$BackRefNode_handle_pre_match$16,$BackRefNode_handle_post_match$18,self=$klass($base,$super,“BackRefNode”),$nesting=.concat($parent_nesting);self.$handle(“back_ref”),Opal.def(self,“$compile”,$BackRefNode_compile$13=function(){var $zuper_ii,$iter=$BackRefNode_compile$13.$$p,self=this,$case=nil,$zuper=nil,$zuper_i=nil;for($iter&&($BackRefNode_compile$13.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return self.$helper(“gvars”),$case=self.$var_name(),“&”($case)?self.$handle_global_match():“’”($case)?self.$handle_post_match():“`”($case)?self.$handle_pre_match():“+”($case)?$send(self,Opal.find_super_dispatcher(self,“compile”,$BackRefNode_compile$13,!1),$zuper,$iter):self.$raise($$($nesting,“NotImplementedError”))},$BackRefNode_compile$13.$$arity=0),Opal.def(self,“$handle_global_match”,$BackRefNode_handle_global_match$14=function(){var $$15;return $send(this,“with_temp”,[],(($$15=function(tmp){var self=$$15.$$s||this;return null==tmp&&(tmp=nil),self.$push(“((”tmp
“ = $gvars) === nil ? nil : ”tmp
“[‘$'](0))”)}).$$s=this,$$15.$$arity=1,$$15))},$BackRefNode_handle_global_match$14.$$arity=0),Opal.def(self,“$handle_pre_match”,$BackRefNode_handle_pre_match$16=function(){var $$17;return $send(this,“with_temp”,[],(($$17=function(tmp){var self=$$17.$$s||this;return null==tmp&&(tmp=nil),self.$push(“((”tmp
“ = $gvars) === nil ? nil : ”tmp
“.$pre_match())”)}).$$s=this,$$17.$$arity=1,$$17))},$BackRefNode_handle_pre_match$16.$$arity=0),Opal.def(self,“$handle_post_match”,$BackRefNode_handle_post_match$18=function(){var $$19;return $send(this,“with_temp”,[],(($$19=function(tmp){var self=$$19.$$s||this;return null==tmp&&(tmp=nil),self.$push(“((”tmp
“ = $gvars) === nil ? nil : ”tmp
“.$post_match())”)}).$$s=this,$$19.$$arity=1,$$19))},$BackRefNode_handle_post_match$18.$$arity=0)}($nesting,$$($nesting,“GlobalVariableNode”),$nesting),function($base,$super,$parent_nesting){var $GlobalAssignNode_var_name$20,$GlobalAssignNode_compile$21,self=$klass($base,$super,“GlobalAssignNode”);.concat($parent_nesting);self.$handle(“gvasgn”),self.$children(“name”,“value”),Opal.def(self,“$var_name”,$GlobalAssignNode_var_name$20=function(){return this.$name().$to_s()[“$”]($range(1,-1,!1))},$GlobalAssignNode_var_name$20.$$arity=0),Opal.def(self,“$compile”,$GlobalAssignNode_compile$21=function(){var $a,$b,name;return this.$helper(“gvars”),name=this.$property(this.$var_name()),this.$push(“$gvars”name
“ = ”),this.$push(this.$expr(this.$value())),$truthy($truthy($a=$truthy($b=this())?$b:this())?this.$value():$a)?this.$wrap(“(”,“)”):nil},$GlobalAssignNode_compile$21.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $NthrefNode_compile$22,self=$klass($base,$super,“NthrefNode”);.concat($parent_nesting);self.$handle(“nth_ref”),self.$children(“index”),Opal.def(self,“$compile”,$NthrefNode_compile$22=function(){var $$23;return this.$helper(“gvars”),$send(this,“with_temp”,[],(($$23=function(tmp){var self=$$23.$$s||this;return null==tmp&&(tmp=nil),self.$push(“((”tmp
“ = $gvars) === nil ? nil : ”tmp
“[’$'](”+self.$index()+“))”)}).$$s=this,$$23.$$arity=1,$$23))},$NthrefNode_compile$22.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $ClassVariableNode_compile$24,self=$klass($base,$super,“ClassVariableNode”);.concat($parent_nesting);self.$handle(“cvar”),self.$children(“name”),Opal.def(self,“$compile”,$ClassVariableNode_compile$24=function(){var $$25;return $send(this,“with_temp”,[],(($$25=function(tmp){var self=$$25.$$s||this;return null==tmp&&(tmp=nil),self.$push(“((”tmp
“ = ”+self.$class_variable_owner()+“.$$cvars) == null ? nil : ”tmp
“)”)}).$$s=this,$$25.$$arity=1,$$25))},$ClassVariableNode_compile$24.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $ClassVarAssignNode_compile$26,self=$klass($base,$super,“ClassVarAssignNode”);.concat($parent_nesting);self.$handle(“cvasgn”),self.$children(“name”,“value”),Opal.def(self,“$compile”,$ClassVarAssignNode_compile$26=function(){return this.$push(“(Opal.class_variable_set(”+this.$class_variable_owner()+“, '”+this.$name()+“', ”,this.$expr(this.$value()),“))”)},$ClassVarAssignNode_compile$26.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ConstNode_compile$1,$ConstNode_magical_data_const$ques$2,self=$klass($base,$super,“ConstNode”);.concat($parent_nesting);self.$handle(“const”),self.$children(“const_scope”,“name”),Opal.def(self,“$compile”,$ConstNode_compile$1=function(){return $truthy(this())?this.$push(“$__END__”):$truthy(this.$const_scope())?this.$push(“$$$(”,this.$recv(this.$const_scope()),“, '”+this.$name()+“‘)”):($truthy(this.$compiler()()),this.$push(“$$($nesting, '”+this.$name()+“')”))},$ConstNode_compile$1.$$arity=0),Opal.def(self,“$magical_data_const?”,$ConstNode_magical_data_const$ques$2=function(){var $a,$b;return $truthy($a=$truthy($b=this.$const_scope()())?this.$name()(“DATA”):$b)?this.$compiler().$eof_content():$a},$ConstNode_magical_data_const$ques$2.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $CbaseNode_compile$3,self=$klass($base,$super,“CbaseNode”);.concat($parent_nesting);self.$handle(“cbase”),Opal.def(self,“$compile”,$CbaseNode_compile$3=function(){return this.$push(“'::'”)},$CbaseNode_compile$3.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $ConstAssignNode_compile$4,self=$klass($base,$super,“ConstAssignNode”);.concat($parent_nesting);self.$handle(“casgn”),self.$children(“base”,“name”,“value”),Opal.def(self,“$compile”,$ConstAssignNode_compile$4=function(){return $truthy(this.$base())?this.$push(“Opal.const_set(”,this.$expr(this.$base()),“, '”+this.$name()+“', ”,this.$expr(this.$value()),“)”):this.$push(“Opal.const_set($nesting, '”+this.$name()+“', ”,this.$expr(this.$value()),“)”)},$ConstAssignNode_compile$4.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_gt(lhs,rhs){return“number”==typeof lhs&&“number”==typeof “”>rhs?rhsclass_name
“ failed”)}Opal.def(self,“$==”,$Comparable_$eq_eq$1=function(other){var cmp;return!!$truthy(this(“”>other))||this!=“”>Opal.Kernel&&(this.$$comparable?(delete “”>this.$$comparable,!1):!!$truthy(cmp=this(other))&&0==normalize(cmp))},$Comparable_$eq_eq$1.$$arity=1),Opal.def(self,“$>”,$Comparable_$gt$2=function(other){var cmp;return $“”>truthy(cmp=this(other))||fail_comparison(this,other),0<normalize(cmp)},$Comparable_$gt$2.$$arity=1),Opal.def(self,“$>=”,$Comparable_$gt_eq$3=function(other){var cmp;return $“”>truthy(cmp=this(other))||fail_comparison(this,other),0<=normalize(cmp)},$Comparable_$gt_eq$3.$$arity=1),Opal.def(self,“$<”,$Comparable_$lt$4=function(other){var cmp;return $“”>truthy(cmp=this(other))||fail_comparison(this,other),normalize(cmp)<0},$Comparable_$lt$4.$$arity=1),Opal.def(self,“$<=”,$Comparable_$lt_eq$5=function(other){var cmp;return $“”>truthy(cmp=this(other))||fail_comparison(this,other),normalize(cmp)<=0},$Comparable_$lt_eq$5.$$arity=1),Opal.def(self,“$between?”,$Comparable_between$ques$6=function(min,max){return!$rb_lt(this,min)&&!$rb_gt(this,max)},$Comparable_between$ques$6.$$arity=2),Opal.def(self,“$clamp”,$Comparable_clamp$7=function(min,max){var cmp;return “”>cmp=min(max),$truthy(cmp)||fail_comparison(min,max),$truthy(0<normalize(cmp))&&this.$raise($$($nesting,“ArgumentError”),“min argument must be smaller than max ”“>argument”),$truthy(normalize(this(“”>min))<0)?min:$truthy(0tmp
” = Opal.irb_vars.“lvar
”) == null ? “,self.$expr(call),” : “tmp
”)“)}).$$s=this,$$21.$$arity=1,$$21))},$CallNode_compile_irb_var$20.$$arity=0),Opal.def(self,”$using_irb?“,$CallNode_using_irb$ques$22=function(){var $a,$b,$c,$d;return $truthy($a=$truthy($b=$truthy($c=$truthy($d=this.compiler())?this.$scope()():$d)?this.$arglist()(this.$s(”arglist“)):$c)?this.$recvr()():$b)?this.$iter()():$a},$CallNode_using_irb$ques$22.$$arity=0),Opal.def(self,”$sexp_with_arglist“,$CallNode_sexp_with_arglist$23=function(){return this.sexp.$updated(nil,)},$CallNode_sexp_with_arglist$23.$$arity=0),Opal.def(self,”$handle_special“,$CallNode_handle_special$24=function(){var $iter=$CallNode_handle_special$24.$$p,compile_default=$iter||nil,method=nil;return $iter&&($CallNode_handle_special$24.$$p=null),$iter&&($CallNode_handle_special$24.$$p=null),$truthy($$($nesting,”SPECIALS“)(this.$meth()))?(method=this.$method(”handle_“+this.$meth())).$arity()(1)?method[”$“](compile_default):method[”$“]():$truthy($$($nesting,”RuntimeHelpers“)(this.$recvr(),this.$meth()))?this.$push($$($nesting,”RuntimeHelpers“).$new(this.$sexp_with_arglist(),this.level,this.compiler).$compile()):Opal.yieldX(compile_default,[])},$CallNode_handle_special$24.$$arity=0),$send($$($nesting,”OPERATORS“),”each“,,(($CallNode$25=function(operator,name){var $$26,self=$CallNode$25.$$s||this;return null==operator&&(operator=nil),null==name&&(name=nil),$send(self,”add_special“,,(($$26=function(compile_default){var $a,self=$$26.$$s||this,lhs=nil,rhs=nil;return null==compile_default&&(compile_default=nil),$truthy(self.$compiler()())?($truthy(self())&&self.$compiler().$method_calls()(operator.$to_sym()),self.$compiler().$operator_helpers()(operator.$to_sym()),lhs=($a=)[0],rhs=$a,self.$push(self.$fragment(”$rb_“name
”(“)),self.$push(lhs),self.$push(self.$fragment(”, “)),self.$push(rhs),self.$push(self.$fragment(”)“))):compile_default.$call()}).$$s=self,$$26.$$arity=1,$$26))}).$$s=self,$CallNode$25.$$arity=2,$CallNode$25)),$send(self,”add_special“,,(($CallNode$27=function(compile_default){var self=$CallNode$27.$$s||this,str=nil;return null==compile_default&&(compile_default=nil),str=$$($nesting,”DependencyResolver“).$new(self.$compiler(),self.$arglist().$children()[”$“](0)).$resolve(),$truthy(str())||self.$compiler().$requires()(str),compile_default.$call()}).$$s=self,$CallNode$27.$$arity=1,$CallNode$27)),$send(self,”add_special“,,(($CallNode$28=function(){var self=$CallNode$28.$$s||this,arg=nil,file=nil,dir=nil;return arg=self.$arglist().$children()[”$“](0),file=self.$compiler().$file(),arg.$type()(”str“)&&(dir=$$($nesting,”File“).$dirname(file),self.$compiler().$requires()(self.$Pathname(dir).$join(arg.$children()[”$“](0)).$cleanpath().$to_s())),self.$push(self.$fragment(”self.$require(“+file.$inspect()+”+ '/../' + “)),self.$push(self.$process(self.$arglist())),self.$push(self.$fragment(”)“))}).$$s=self,$CallNode$28.$$arity=0,$CallNode$28)),$send(self,”add_special“,,(($CallNode$29=function(compile_default){var self=$CallNode$29.$$s||this,str=nil;return null==compile_default&&(compile_default=nil),$truthy(self.$scope()())?(str=$$($nesting,”DependencyResolver“).$new(self.$compiler(),self.$arglist().$children()[”$“](1)).$resolve(),$truthy(str())||self.$compiler().$requires()(str),compile_default.$call()):nil}).$$s=self,$CallNode$29.$$arity=1,$CallNode$29)),$send(self,”add_special“,,(($CallNode$30=function(compile_default){var $a,rest,lhs,rhs,self=$CallNode$30.$$s||this,first_arg=nil,relative_path=nil,dir=nil,full_path=nil;return null==compile_default&&(compile_default=nil),first_arg=null==($a=[].concat(Opal.to_a(self.$arglist().$children())))?nil:$a,rest=$slice.call($a,1),first_arg.$type()(”str“)&&(relative_path=first_arg.$children()[”$“](0),self.$compiler().$required_trees()(relative_path),dir=$$($nesting,”File“).$dirname(self.$compiler().$file()),(full_path=self.$Pathname(dir).$join(relative_path).$cleanpath().$to_s()).$force_encoding(relative_path.$encoding()),first_arg=first_arg.$updated(nil,)),self.arglist=self.$arglist().$updated(nil,(rhs=rest,”number“==typeof(lhs=)&&”number“==typeof rhs?lhs+rhs:lhs(rhs))),compile_default.$call()}).$$s=self,$CallNode$30.$$arity=1,$CallNode$30)),$send(self,”add_special“,,(($CallNode$31=function(){var self=$CallNode$31.$$s||this;return null==self.sexp&&(self.sexp=nil),self.$push(self.$compiler().$handle_block_given_call(self.sexp))}).$$s=self,$CallNode$31.$$arity=0,$CallNode$31)),$send(self,”add_special“,,(($CallNode$32=function(){var self=$CallNode$32.$$s||this;return $truthy(self.$scope()())?self.$push(self.$fragment(self.$scope().$mid().$to_s().$inspect())):self.$push(self.$fragment(”nil“))}).$$s=self,$CallNode$32.$$arity=0,$CallNode$32)),$send(self,”add_special“,,(($CallNode$33=function(){var self=$CallNode$33.$$s||this;return $truthy(self.$scope()())?self.$push(self.$fragment(self.$scope().$mid().$to_s().$inspect())):self.$push(self.$fragment(”nil“))}).$$s=self,$CallNode$33.$$arity=0,$CallNode$33)),$send(self,”add_special“,,(($CallNode$34=function(){var self=$CallNode$34.$$s||this;return self.$push(self.$fragment(”debugger“))}).$$s=self,$CallNode$34.$$arity=0,$CallNode$34)),$send(self,”add_special“,[”OPAL_COMPILER_CONFIG“],(($CallNode$35=function(){var self=$CallNode$35.$$s||this;return self.$push(self.$fragment(”Opal.hash({ arity_check: “+self.$compiler()()+” })“))}).$$s=self,$CallNode$35.$$arity=0,$CallNode$35)),$send(self,”add_special“,,(($CallNode$36=function(compile_default){var push_nesting,self=$CallNode$36.$$s||this;return null==compile_default&&(compile_default=nil),push_nesting=self(),$truthy(push_nesting)&&self.$push(”(Opal.Module.$$nesting = $nesting, “),compile_default.$call(),$truthy(push_nesting)?self.$push(”)“):nil}).$$s=self,$CallNode$36.$$arity=1,$CallNode$36)),$send(self,”add_special“,,(($CallNode$37=function(compile_default){var push_nesting,self=$CallNode$37.$$s||this;return null==compile_default&&(compile_default=nil),push_nesting=self(),$truthy(push_nesting)&&self.$push(”(Opal.Module.$$nesting = $nesting, “),compile_default.$call(),$truthy(push_nesting)?self.$push(”)“):nil}).$$s=self,$CallNode$37.$$arity=1,$CallNode$37)),Opal.def(self,”$push_nesting?“,$CallNode_push_nesting$ques$38=function(){var $b,recv=nil;return recv=this.$children().$first(),this.$children().$size()(2)?$truthy($b=recv())?$b:recv.$type()(”const“)?recv.$children().$last()(”Module“):recv.$type()(”const“):this.$children().$size()(2)},$CallNode_push_nesting$ques$38.$$arity=0),function($base,$super,$parent_nesting){var $DependencyResolver_initialize$39,$DependencyResolver_resolve$40,$DependencyResolver_handle_part$41,$DependencyResolver_expand_path$43,self=$klass($base,null,”DependencyResolver“);.concat($parent_nesting);self.$$prototype.sexp=self.$$prototype.compiler=nil,Opal.def(self,”$initialize“,$DependencyResolver_initialize$39=function(compiler,sexp){return this.compiler=compiler,this.sexp=sexp},$DependencyResolver_initialize$39.$$arity=2),Opal.def(self,”$resolve“,$DependencyResolver_resolve$40=function(){return this.$handle_part(this.sexp)},$DependencyResolver_resolve$40.$$arity=0),Opal.def(self,”$handle_part“,$DependencyResolver_handle_part$41=function(sexp){var $a,$b,$$42,msg,self=this,type=nil,recv=nil,meth=nil,args=nil,parts=nil,$case=nil;if((type=sexp.$type())(”str“))return sexp.$children()[”$“](0);if(type(”send“)&&($b=sexp.$children(),recv=null==($a=Opal.to_ary($b))?nil:$a,meth=null==$a?nil:$a,args=$slice.call($a,2),parts=$send(args,”map“,[],(($$42=function(s){var self=$$42.$$s||this;return null==s&&(s=nil),self.$handle_part(s)}).$$s=self,$$42.$$arity=1,$$42)),$truthy($truthy($a=$truthy($b=recv($$$($$$($$$(”::“,”Opal“),”AST“),”Node“)))?recv.$type()(”const“):$b)?recv.$children().$last()(”File“):$a))){if(meth(”expand_path“))return $send(self,”expand_path“,Opal.to_a(parts));if(meth(”join“))return self.$expand_path(parts.$join(”/“));if(meth(”dirname“))return self.$expand_path(parts[”$“](0).$split(”/“)[”$“]($range(0,-1,!0)).$join(”/“))}return msg=”Cannot handle dynamic require“,$case=self.compiler.$dynamic_require_severity(),”error“($case)?self.compiler.$error(msg,self.sexp.$line()):”warning“($case)?self.compiler.$warning(msg,self.sexp.$line()):nil},$DependencyResolver_handle_part$41.$$arity=1),Opal.def(self,”$expand_path“,$DependencyResolver_expand_path$43=function(path,base){var $$44;return null==base&&(base=”“),$send((base+”/“+path).$split(”/“),”each_with_object“,[],($$44=function(part,p){$$44.$$s;return null==part&&(part=nil),null==p&&(p=nil),part(”“)?nil:part(”..“)?p.$pop():p(part)},$$44.$$s=this,$$44.$$arity=2,$$44)).$join(”/“)},$DependencyResolver_expand_path$43.$$arity=-2)}($nesting,0,$nesting)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),self.$require(”opal/nodes/call“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $CSendNode_default_compile$1,self=$klass($base,$super,”CSendNode“);.concat($parent_nesting);self.$handle(”csend“),Opal.def(self,”$default_compile“,$CSendNode_default_compile$1=function(){var $$2;return this.$helper(”send“),$send(this,”conditional_send“,,(($$2=function(receiver_temp){var self=$$2.$$s||this;return null==receiver_temp&&(receiver_temp=nil),self.$push(”$send(“,receiver_temp),self.$compile_method_name(),self.$compile_arguments(),self.$compile_block_pass(),self.$push(”)“)}).$$s=this,$$2.$$arity=1,$$2))},$CSendNode_default_compile$1.$$arity=0)}($nesting,$$($nesting,”CallNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(”opal/nodes/base“),self.$require(”opal/nodes/call“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $JsAttrNode_compile$1,self=$klass($base,$super,”JsAttrNode“);.concat($parent_nesting);self.$handle(”jsattr“),self.$children(”recvr“,”property“),Opal.def(self,”$compile“,$JsAttrNode_compile$1=function(){return this.$push(this.$recv(this.$recvr()),”“)},$JsAttrNode_compile$1.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $JsAttrAsgnNode_compile$2,self=$klass($base,$super,”JsAttrAsgnNode“);.concat($parent_nesting);self.$handle(”jsattrasgn“),self.$children(”recvr“,”property“,”value“),Opal.def(self,”$compile“,$JsAttrAsgnNode_compile$2=function(){return this.$push(this.$recv(this.$recvr()),” = “,this.$expr(this.$value()))},$JsAttrAsgnNode_compile$2.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $JsCallNode_initialize$3,$JsCallNode_compile$4,$JsCallNode_method_jsid$5,$JsCallNode_compile_using_send$6,self=$klass($base,$super,”JsCallNode“);.concat($parent_nesting);self.$$prototype.iter=self.$$prototype.arglist=nil,self.$handle(”jscall“),Opal.def(self,”$initialize“,$JsCallNode_initialize$3=function($a){var $zuper_ii,$iter=$JsCallNode_initialize$3.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($JsCallNode_initialize$3.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,”initialize“,$JsCallNode_initialize$3,!1),$zuper,$iter),$truthy(this.iter)&&(this.arglist=this.arglist(this.iter)),this.iter=nil},$JsCallNode_initialize$3.$$arity=-1),Opal.def(self,”$compile“,$JsCallNode_compile$4=function(){return this.$default_compile()},$JsCallNode_compile$4.$$arity=0),Opal.def(self,”$method_jsid“,$JsCallNode_method_jsid$5=function(){return”.“+this.$meth()},$JsCallNode_method_jsid$5.$$arity=0),Opal.def(self,”$compile_using_send“,$JsCallNode_compile_using_send$6=function(){return this.$push(this.$recv(this.$receiver_sexp()),this.$method_jsid(),”.apply(null“),this.$compile_arguments(),$truthy(this.$iter())&&this.$push(”.concat(“,this.$expr(this.$iter()),”)“),this.$push(”)“)},$JsCallNode_compile_using_send$6.$$arity=0)}($nesting,$$($nesting,”CallNode“),$nesting),function($base,$super,$parent_nesting){var $Match3Node_compile$7,self=$klass($base,$super,”Match3Node“);.concat($parent_nesting);self.$$prototype.level=nil,self.$handle(”match_with_lvasgn“),self.$children(”lhs“,”rhs“),Opal.def(self,”$compile“,$Match3Node_compile$7=function(){var sexp;return sexp=this.$s(”send“,this.$lhs(),”=~“,this.$rhs()),this.$push(this.$process(sexp,this.level))},$Match3Node_compile$7.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$hash2=Opal.hash2;return Opal.add_stubs(),self.$require(”opal/nodes/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ScopeNode_initialize$1,$ScopeNode_in_scope$2,$ScopeNode_class_scope$ques$4,$ScopeNode_class$ques$5,$ScopeNode_module$ques$6,$ScopeNode_sclass$ques$7,$ScopeNode_top$ques$8,$ScopeNode_iter$ques$9,$ScopeNode_def$ques$10,$ScopeNode_def_in_class$ques$11,$ScopeNode_to_vars$12,$ScopeNode_add_scope_ivar$17,$ScopeNode_add_scope_gvar$18,$ScopeNode_add_proto_ivar$19,$ScopeNode_add_arg$20,$ScopeNode_add_scope_local$21,$ScopeNode_has_local$ques$22,$ScopeNode_add_scope_temp$23,$ScopeNode_has_temp$ques$24,$ScopeNode_new_temp$25,$ScopeNode_next_temp$26,$ScopeNode_queue_temp$28,$ScopeNode_push_while$29,$ScopeNode_pop_while$30,$ScopeNode_in_while$ques$31,$ScopeNode_uses_block$excl$32,$ScopeNode_identify$excl$33,$ScopeNode_find_parent_def$34,$ScopeNode_super_chain$35,$ScopeNode_uses_block$ques$36,$ScopeNode_has_rescue_else$ques$37,$ScopeNode_in_ensure$38,$ScopeNode_in_ensure$ques$39,self=$klass($base,$super,”ScopeNode“);.concat($parent_nesting);self.$$prototype.type=self.$$prototype.defs=self.$$prototype.parent=self.$$prototype.temps=self.$$prototype.locals=self.$$prototype.compiler=self.$$prototype.proto_ivars=self.$$prototype.ivars=self.$$prototype.gvars=self.$$prototype.args=self.$$prototype.queue=self.$$prototype.while_stack=self.$$prototype.identity=self.$$prototype.uses_block=self.$$prototype.in_ensure=nil,self.$attr_accessor(”parent“),self.$attr_accessor(”name“),self.$attr_accessor(”block_name“),self.$attr_reader(”scope_name“),self.$attr_reader(”locals“),self.$attr_reader(”ivars“),self.$attr_reader(”gvars“),self.$attr_accessor(”mid“),self.$attr_accessor(”defs“),self.$attr_reader(”methods“),self.$attr_accessor(”uses_super“),self.$attr_accessor(”uses_zuper“),self.$attr_accessor(”catch_return“,”has_break“),self.$attr_accessor(”rescue_else_sexp“),Opal.def(self,”$initialize“,$ScopeNode_initialize$1=function($a){var $zuper_ii,$iter=$ScopeNode_initialize$1.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($ScopeNode_initialize$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,”initialize“,$ScopeNode_initialize$1,!1),$zuper,$iter),this.locals=[],this.temps=,this.args=[],this.ivars=,this.gvars=[],this.parent=nil,this.queue=,this.unique=”a“,this.while_stack=[],this.identity=nil,this.defs=nil,this.methods=,this.uses_block=!1,this.in_ensure=!1,this.proto_ivars=[]},$ScopeNode_initialize$1.$$arity=-1),Opal.def(self,”$in_scope“,$ScopeNode_in_scope$2=function(){var $$3,$iter=$ScopeNode_in_scope$2.$$p,$yield=$iter||nil;return $iter&&($ScopeNode_in_scope$2.$$p=null),$send(this,”indent“,[],(($$3=function(){var self=$$3.$$s||this,$writer=nil;return null==self.parent&&(self.parent=nil),self.parent=self.$compiler().$scope(),$writer=,$send(self.$compiler(),”scope=“,Opal.to_a($writer)),$writer,Opal.yield1($yield,self),$writer=,$send(self.$compiler(),”scope=“,Opal.to_a($writer)),$writer}).$$s=this,$$3.$$arity=0,$$3))},$ScopeNode_in_scope$2.$$arity=0),Opal.def(self,”$class_scope?“,$ScopeNode_class_scope$ques$4=function(){var $a;return $truthy($a=this.type(”class“))?$a:this.type(”module“)},$ScopeNode_class_scope$ques$4.$$arity=0),Opal.def(self,”$class?“,$ScopeNode_class$ques$5=function(){return this.type(”class“)},$ScopeNode_class$ques$5.$$arity=0),Opal.def(self,”$module?“,$ScopeNode_module$ques$6=function(){return this.type(”module“)},$ScopeNode_module$ques$6.$$arity=0),Opal.def(self,”$sclass?“,$ScopeNode_sclass$ques$7=function(){return this.type(”sclass“)},$ScopeNode_sclass$ques$7.$$arity=0),Opal.def(self,”$top?“,$ScopeNode_top$ques$8=function(){return this.type(”top“)},$ScopeNode_top$ques$8.$$arity=0),Opal.def(self,”$iter?“,$ScopeNode_iter$ques$9=function(){return this.type(”iter“)},$ScopeNode_iter$ques$9.$$arity=0),Opal.def(self,”$def?“,$ScopeNode_def$ques$10=function(){var $a;return $truthy($a=this.type(”def“))?$a:this.type(”defs“)},$ScopeNode_def$ques$10.$$arity=0),Opal.def(self,”$def_in_class?“,$ScopeNode_def_in_class$ques$11=function(){var $a,$b,$c;return $truthy($a=$truthy($b=$truthy($c=this.defs())?this.type(”def“):$c)?this.parent:$b)?this.parent():$a},$ScopeNode_def_in_class$ques$11.$$arity=0),Opal.def(self,”$to_vars“,$ScopeNode_to_vars$12=function(){var $$13,$$14,$$15,$a,$$16,indent,vars=nil,iv=nil,gv=nil,str=nil,result=nil;return vars=this.temps.$dup(),$send(vars,”push“,Opal.to_a($send(this.locals,”map“,[],(($$13=function(l){$$13.$$s;return null==l&&(l=nil),l+” = nil“}).$$s=this,$$13.$$arity=1,$$13)))),iv=$send(this.$ivars(),”map“,[],(($$14=function(ivar){$$14.$$s;return null==ivar&&(ivar=nil),”if (self“ivar
” == null) self“ivar
” = nil;n“}).$$s=this,$$14.$$arity=1,$$14)),gv=$send(this.$gvars(),”map“,[],(($$15=function(gvar){$$15.$$s;return null==gvar&&(gvar=nil),”if ($gvars“gvar
” == null) $gvars“gvar
” = nil;n“}).$$s=this,$$15.$$arity=1,$$15)),indent=this.compiler.$parser_indent(),str=$truthy(vars())?”“:”var “+vars.$join(”, “)+”;n“,$truthy(this.$ivars()())||(str=$rb_plus(str,”“+indent+iv.$join(indent))),$truthy(this.$gvars()())||(str=$rb_plus(str,”“+indent+gv.$join(indent))),result=$truthy($truthy($a=this())?this.proto_ivars()[”$!“]():$a)?str+”n“indent
$send(this.proto_ivars,”map“,[],($$16=function(i){$$16.$$s;return null==i&&(i=nil),”self.$$prototype“+i},$$16.$$s=this,$$16.$$arity=1,$$16)).$join(” = “)+” = nil;“:str,this.$fragment(result)},$ScopeNode_to_vars$12.$$arity=0),Opal.def(self,”$add_scope_ivar“,$ScopeNode_add_scope_ivar$17=function(ivar){return $truthy(this())?this.parent.$add_proto_ivar(ivar):$truthy(this.ivars(ivar))?nil:this.ivars(ivar)},$ScopeNode_add_scope_ivar$17.$$arity=1),Opal.def(self,”$add_scope_gvar“,$ScopeNode_add_scope_gvar$18=function(gvar){return $truthy(this.gvars(gvar))?nil:this.gvars(gvar)},$ScopeNode_add_scope_gvar$18.$$arity=1),Opal.def(self,”$add_proto_ivar“,$ScopeNode_add_proto_ivar$19=function(ivar){return $truthy(this.proto_ivars(ivar))?nil:this.proto_ivars(ivar)},$ScopeNode_add_proto_ivar$19.$$arity=1),Opal.def(self,”$add_arg“,$ScopeNode_add_arg$20=function(arg){return $truthy(this.args(arg))||this.args(arg),arg},$ScopeNode_add_arg$20.$$arity=1),Opal.def(self,”$add_scope_local“,$ScopeNode_add_scope_local$21=function(local){return $truthy(this(local))?nil:this.locals(local)},$ScopeNode_add_scope_local$21.$$arity=1),Opal.def(self,”$has_local?“,$ScopeNode_has_local$ques$22=function(local){var $a,$b;return!!$truthy($truthy($a=$truthy($b=this.locals(local))?$b:this.args(local))?$a:this.temps(local))||!!$truthy($truthy($a=this.parent)?this.type(”iter“):$a)&&this.parent(local)},$ScopeNode_has_local$ques$22.$$arity=1),Opal.def(self,”$add_scope_temp“,$ScopeNode_add_scope_temp$23=function(tmp){return $truthy(this(tmp))?nil:this.temps.$push(tmp)},$ScopeNode_add_scope_temp$23.$$arity=1),Opal.def(self,”$has_temp?“,$ScopeNode_has_temp$ques$24=function(tmp){return this.temps(tmp)},$ScopeNode_has_temp$ques$24.$$arity=1),Opal.def(self,”$new_temp“,$ScopeNode_new_temp$25=function(){var tmp;return $truthy(this.queue())?(tmp=this.$next_temp(),this.temps(tmp),tmp):this.queue.$pop()},$ScopeNode_new_temp$25.$$arity=0),Opal.def(self,”$next_temp“,$ScopeNode_next_temp$26=function(){var $$27,self=this,tmp=nil;return tmp=nil,function(){var $brk=Opal.new_brk();try{$send(self,”loop“,[],(($$27=function(){var self=$$27.$$s||this;if(null==self.unique&&(self.unique=nil),tmp=”$“+self.unique,self.unique=self.unique.$succ(),$truthy(self(tmp)))return nil;Opal.brk(nil,$brk)}).$$s=self,$$27.$$brk=$brk,$$27.$$arity=0,$$27))}catch(err){if(err===$brk)return err.$v;throw err}}(),tmp},$ScopeNode_next_temp$26.$$arity=0),Opal.def(self,”$queue_temp“,$ScopeNode_queue_temp$28=function(name){return this.queue(name)},$ScopeNode_queue_temp$28.$$arity=1),Opal.def(self,”$push_while“,$ScopeNode_push_while$29=function(){var info;return info=$hash2([],{}),this.while_stack.$push(info),info},$ScopeNode_push_while$29.$$arity=0),Opal.def(self,”$pop_while“,$ScopeNode_pop_while$30=function(){return this.while_stack.$pop()},$ScopeNode_pop_while$30.$$arity=0),Opal.def(self,”$in_while?“,$ScopeNode_in_while$ques$31=function(){return this.while_stack()[”$!“]()},$ScopeNode_in_while$ques$31.$$arity=0),Opal.def(self,”$uses_block!“,$ScopeNode_uses_block$excl$32=function(){return $truthy(this.type(”iter“)?this.parent:this.type(”iter“))?this.parent():(this.uses_block=!0,this())},$ScopeNode_uses_block$excl$32.$$arity=0),Opal.def(self,”$identify!“,$ScopeNode_identify$excl$33=function(name){var $a,$b,$c;return null==name&&(name=nil),$truthy(this.identity)||(name=$truthy($a=name)?$a:.$compact().$join(”_“),this.identity=this.compiler.$unique_temp(name),$truthy(this.parent)&&this.parent.$add_scope_temp(this.identity)),this.identity},$ScopeNode_identify$excl$33.$$arity=-1),self.$attr_reader(”identity“),Opal.def(self,”$find_parent_def“,$ScopeNode_find_parent_def$34=function(){var scope=nil;for(scope=this;$truthy(scope=scope.$parent());)if($truthy(scope()))return scope;return nil},$ScopeNode_find_parent_def$34.$$arity=0),Opal.def(self,”$super_chain“,$ScopeNode_super_chain$35=function(){var $a,chain=nil,scope=nil,defn=nil,mid=nil;for(chain=($a=[,this,”null“,”null“]),scope=$a,defn=$a,mid=$a;$truthy(scope);){if(!scope.$type()(”iter“)){if($truthy([”$include?“](scope.$type()))){defn=scope(),mid=”'“+scope.$mid()+”'“;break}break}chain(scope()),$truthy(scope.$parent())&&(scope=scope.$parent())}return},$ScopeNode_super_chain$35.$$arity=0),Opal.def(self,”$uses_block?“,$ScopeNode_uses_block$ques$36=function(){return this.uses_block},$ScopeNode_uses_block$ques$36.$$arity=0),Opal.def(self,”$has_rescue_else?“,$ScopeNode_has_rescue_else$ques$37=function(){return this.$rescue_else_sexp()()[”$!“]()},$ScopeNode_has_rescue_else$ques$37.$$arity=0),Opal.def(self,”$in_ensure“,$ScopeNode_in_ensure$38=function(){var result,$iter=$ScopeNode_in_ensure$38.$$p,$yield=$iter||nil;return $iter&&($ScopeNode_in_ensure$38.$$p=null),$yield===nil?nil:(this.in_ensure=!0,result=Opal.yieldX($yield,[]),this.in_ensure=!1,result)},$ScopeNode_in_ensure$38.$$arity=0),Opal.def(self,”$in_ensure?“,$ScopeNode_in_ensure$ques$39=function(){return this.in_ensure},$ScopeNode_in_ensure$ques$39.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(”opal/nodes/scope“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ModuleNode_compile$1,$ModuleNode_name_and_base$3,self=$klass($base,$super,”ModuleNode“);.concat($parent_nesting);self.$handle(”module“),self.$children(”cid“,”body“),Opal.def(self,”$compile“,$ModuleNode_compile$1=function(){var $a,$b,$$2,name,base;return $b=this.$name_and_base(),$a=Opal.to_ary($b),name=null==$a?nil:$a,base=null==$a?nil:$a,this.$helper(”module“),this.$push(”(function($base, $parent_nesting) {“),this.$line(” var self = $module($base, '“name
”');“),$send(this,”in_scope“,[],(($$2=function(){var $c,$writer,body_code,lhs,rhs,self=$$2.$$s||this;return $writer=,$send(self.$scope(),”name=“,Opal.to_a($writer)),rhs=1,”number“==typeof(lhs=$writer.length)&&”number“==typeof rhs||lhs(rhs),self.$add_temp(”$nesting = [self].concat($parent_nesting)“),body_code=self.$stmt($truthy($c=self.$body())?$c:self.$s(”nil“)),self.$empty_line(),self.$line(self.$scope().$to_vars()),self.$line(body_code)}).$$s=this,$$2.$$arity=0,$$2)),this.$line(”})(“,base,”, $nesting)“)},$ModuleNode_compile$1.$$arity=0),Opal.def(self,”$name_and_base“,$ModuleNode_name_and_base$3=function(){var $a,$b,name,base=nil;return $b=this.$cid().$children(),base=null==($a=Opal.to_ary($b))?nil:$a,name=null==$a?nil:$a,$truthy(base())?[name,”$nesting“]:[name,this.$expr(base)]},$ModuleNode_name_and_base$3.$$arity=0)}($nesting,$$($nesting,”ScopeNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(”opal/nodes/module“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ClassNode_compile$1,$ClassNode_super_code$3,$ClassNode_body_code$4,self=$klass($base,$super,”ClassNode“);.concat($parent_nesting);self.$handle(”class“),self.$children(”cid“,”sup“,”body“),Opal.def(self,”$compile“,$ClassNode_compile$1=function(){var $a,$b,$$2,name,base;return $b=this.$name_and_base(),$a=Opal.to_ary($b),name=null==$a?nil:$a,base=null==$a?nil:$a,this.$helper(”klass“),this.$push(”(function($base, $super, $parent_nesting) {“),this.$line(” var self = $klass($base, $super, '“name
”');“),$send(this,”in_scope“,[],(($$2=function(){var $writer,body_code,lhs,rhs,self=$$2.$$s||this;return $writer=,$send(self.$scope(),”name=“,Opal.to_a($writer)),rhs=1,”number“==typeof(lhs=$writer.length)&&”number“==typeof rhs||lhs(rhs),self.$add_temp(”$nesting = [self].concat($parent_nesting)“),body_code=self.$body_code(),self.$empty_line(),self.$line(self.$scope().$to_vars()),self.$line(body_code)}).$$s=this,$$2.$$arity=0,$$2)),this.$line(”})(“,base,”, “,this.$super_code(),”, $nesting)“)},$ClassNode_compile$1.$$arity=0),Opal.def(self,”$super_code“,$ClassNode_super_code$3=function(){return $truthy(this.$sup())?this.$expr(this.$sup()):”null“},$ClassNode_super_code$3.$$arity=0),Opal.def(self,”$body_code“,$ClassNode_body_code$4=function(){var $a;return this.$stmt(this.$compiler().$returns($truthy($a=this.$body())?$a:this.$s(”nil“)))},$ClassNode_body_code$4.$$arity=0)}($nesting,$$($nesting,”ModuleNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),self.$require(”opal/nodes/scope“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $SingletonClassNode_compile$1,self=$klass($base,$super,”SingletonClassNode“);.concat($parent_nesting);self.$handle(”sclass“),self.$children(”object“,”body“),Opal.def(self,”$compile“,$SingletonClassNode_compile$1=function(){var $$2;return this.$push(”(function(self, $parent_nesting) {“),$send(this,”in_scope“,[],(($$2=function(){var body_stmt,self=$$2.$$s||this;return self.$add_temp(”$nesting = [self].concat($parent_nesting)“),body_stmt=self.$stmt(self.$compiler().$returns(self.$body())),self.$line(self.$scope().$to_vars()),self.$line(body_stmt)}).$$s=this,$$2.$$arity=0,$$2)),this.$line(”})(Opal.get_singleton_class(“,this.$recv(this.$object()),”), $nesting)“)},$SingletonClassNode_compile$1.$$arity=0)}($nesting,$$($nesting,”ScopeNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(”opal/nodes/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ArgNode_compile$1,self=$klass($base,$super,”ArgNode“);.concat($parent_nesting);self.$handle(”arg“),self.$children(”name“),Opal.def(self,”$compile“,$ArgNode_compile$1=function(){return this.$scope().$add_arg(this.$name()),this.$push(this.$name().$to_s())},$ArgNode_compile$1.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return”number“==typeof lhs&&”number“==typeof rhs?lhs+rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return ”,“$<","$ ","$>”,“$<<","$any?","$has_only_optional_kwargs?","$negative_arity","$positive_arity","$select","$include?","$type","$has_required_kwargs?","$all?","$==","$def?","$class_scope?","$top?","$parent","$class?","$name","$module?","$identity"] at Opal.add_stubs([”$require“,”$handle“,”$children“,”$new“,”$args_node“,”$args“,”$optargs“,”$restarg“,”$postargs“,”$kwargs“,”$kwoptargs“,”$kwrestarg“,”$arity“,”$arity=“,”$scope“,”$-“,”$arity_check?“,”$compiler“,”$empty?“,”$arity_checks“,”$inspect“,”$to_s“,”$mid“,”$line“,”$push“,”$join“,”$compact“,”$size“,”$all_args“,”$!“,”$-
),self.$require(“opal/nodes/base”),self.$require(“opal/rewriters/arguments”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ArityCheckNode_initialize$1,$ArityCheckNode_compile$2,$ArityCheckNode_kwargs$3,$ArityCheckNode_all_args$4,$ArityCheckNode_arity_checks$5,$ArityCheckNode_arity$6,$ArityCheckNode_negative_arity$7,$ArityCheckNode_positive_arity$9,$ArityCheckNode_has_only_optional_kwargs$ques$10,$ArityCheckNode_has_required_kwargs$ques$12,self=$klass($base,$super,“ArityCheckNode”),$nesting=.concat($parent_nesting);self.$$prototype.kwargs=self.$$prototype.kwoptargs=self.$$prototype.kwrestarg=self.$$prototype.all_args=self.$$prototype.args=self.$$prototype.optargs=self.$$prototype.restarg=self.$$prototype.postargs=self.$$prototype.arity_checks=nil,self.$handle(“arity_check”),self.$children(“args_node”),Opal.def(self,“$initialize”,$ArityCheckNode_initialize$1=function($a){var $zuper_ii,$iter=$ArityCheckNode_initialize$1.$$p,arguments$=nil,$zuper=nil,$zuper_i=nil;for($iter&&($ArityCheckNode_initialize$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$ArityCheckNode_initialize$1,!1),$zuper,$iter),arguments$=$$$($$($nesting,“Rewriters”),“Arguments”).$new(this.$args_node().$children()),this.args=arguments$.$args(),this.optargs=arguments$.$optargs(),this.restarg=arguments$.$restarg(),this.postargs=arguments$.$postargs(),this.kwargs=arguments$.$kwargs(),this.kwoptargs=arguments$.$kwoptargs(),this.kwrestarg=arguments$.$kwrestarg()},$ArityCheckNode_initialize$1.$$arity=-1),Opal.def(self,“$compile”,$ArityCheckNode_compile$2=function(){var $writer,meth=nil;return $writer=,$send(this.$scope(),“arity=”,Opal.to_a($writer)),$rb_minus($writer.length,1),$truthy(this.$compiler()())?$truthy(this.$arity_checks()())?nil:(meth=this.$scope().$mid().$to_s().$inspect(),this.$line(“var $arity = arguments.length;”),this.$push(“ if (”+this.$arity_checks().$join(“ || ”)+“) { Opal.ac($arity, ”+this.$arity()+“, this, ”meth
“); }”)):nil},$ArityCheckNode_compile$2.$$arity=0),Opal.def(self,“$kwargs”,$ArityCheckNode_kwargs$3=function(){return[].concat(Opal.to_a(this.kwargs)).concat(Opal.to_a(this.kwoptargs)).concat().$compact()},$ArityCheckNode_kwargs$3.$$arity=0),Opal.def(self,“$all_args”,$ArityCheckNode_all_args$4=function(){var $a;return this.all_args=$truthy($a=this.all_args)?$a:[].concat(Opal.to_a(this.args)).concat(Opal.to_a(this.optargs)).concat().concat(Opal.to_a(this.postargs)).concat(Opal.to_a(this.$kwargs())).$compact()},$ArityCheckNode_all_args$4.$$arity=0),Opal.def(self,“$arity_checks”,$ArityCheckNode_arity_checks$5=function(){var $a,$b,$c,lhs,rhs,arity=nil,min_arity=nil,max_arity=nil;return $truthy(null!=($a=this.arity_checks)&&$a!==nil?“instance-variable”:nil)||(arity=$rb_minus(arity=this.$all_args().$size(),this.optargs.$size()),$truthy(this.restarg)&&(arity=$rb_minus(arity,1)),arity=$rb_minus(arity,this.$kwargs().$size()),$truthy($truthy($b=$truthy($c=this.optargs()[“$!”]())?$c:this.$kwargs()()[“$!”]())?$b:this.restarg)&&(arity=$rb_minus(arity(),1)),this.arity_checks=[],$truthy((rhs=0,“number”==typeof(lhs=arity)&&“number”==typeof rhs?lhsidentity
“.$$is_lambda || ”identity
“.$$define_meth) {”),this.$line(“ var $arity = arguments.length;”),this.$line(“ if (”+this.$arity_checks().$join(“ || ”)+“) { Opal.block_ac($arity, ”+this.$arity()+“, ”context
“); }”),this.$line(“}”)},$IterArityCheckNode_compile$14.$$arity=0)}($nesting,$$($nesting,“ArityCheckNode”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $EnsureKwargsAreKwargs_compile$1,self=$klass($base,$super,“EnsureKwargsAreKwargs”);.concat($parent_nesting);self.$handle(“ensure_kwargs_are_kwargs”),Opal.def(self,“$compile”,$EnsureKwargsAreKwargs_compile$1=function(){return this.$helper(“hash2”),this.$line(“if ($kwargs == null) {”),this.$line(“ $kwargs = $hash2([], {});”),this.$line(“} else if (!$kwargs.$$is_hash) {”),this.$line(“ throw Opal.ArgumentError.$new('expected kwargs');”),this.$line(“}”)},$EnsureKwargsAreKwargs_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractBlockarg_compile$1,self=$klass($base,$super,“ExtractBlockarg”);.concat($parent_nesting);self.$handle(“extract_blockarg”),self.$children(“name”),Opal.def(self,“$compile”,$ExtractBlockarg_compile$1=function(){var $writer,scope_name,yielder,lhs,rhs;return this.$scope()(),this.$scope().$add_arg(this.$name()),$writer=,$send(this.$scope(),“block_name=”,Opal.to_a($writer)),rhs=1,“number”==typeof(lhs=$writer.length)&&“number”==typeof rhs||lhs(rhs),scope_name=this.$scope().$identity(),yielder=this.$scope().$block_name(),this.$add_temp(“$iter = ”scope_name
“.$$p”),this.$add_temp(yielder+“ = $iter || nil”),this.$line(“if ($iter) ”scope_name
“.$$p = null;”)},$ExtractBlockarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$”,“$meta”,“$<<”,“$used_kwargs”,“$scope”,“$add_temp”,“$lvar_name”,“$line”,“$inspect”,“$to_s”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractKwarg_compile$1,self=$klass($base,$super,“ExtractKwarg”);.concat($parent_nesting);self.$$prototype.sexp=nil,self.$handle(“extract_kwarg”),self.$children(“lvar_name”),Opal.def(self,“$compile”,$ExtractKwarg_compile$1=function(){var key_name=nil;return key_name=this.sexp.$meta()[“$”](“arg_name”),this.$scope().$used_kwargs()(key_name),this.$add_temp(this.$lvar_name()),this.$line(“if (!Opal.hasOwnProperty.call($kwargs.$$smap, '”key_name
“')) {”),this.$line(“ throw Opal.ArgumentError.$new('missing keyword: ”key_name
“');”),this.$line(“}”),this.$line(this.$lvar_name()+“ = $kwargs.$$smap;”)},$ExtractKwarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractKwargs_compile$1,self=$klass($base,$super,“ExtractKwargs”);.concat($parent_nesting);self.$handle(“extract_kwargs”),Opal.def(self,“$compile”,$ExtractKwargs_compile$1=function(){return this.$add_temp(“$kwargs”),this.$line(“$kwargs = Opal.extract_kwargs($post_args)”)},$ExtractKwargs_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$”,“$meta”,“$<<”,“$used_kwargs”,“$scope”,“$add_temp”,“$lvar_name”,“$line”,“$inspect”,“$to_s”,“$==”,“$default_value”,“$expr”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractKwoptarg_compile$1,self=$klass($base,$super,“ExtractKwoptarg”);.concat($parent_nesting);self.$$prototype.sexp=nil,self.$handle(“extract_kwoptarg”),self.$children(“lvar_name”,“default_value”),Opal.def(self,“$compile”,$ExtractKwoptarg_compile$1=function(){var key_name=nil;return key_name=this.sexp.$meta()[“$”](“arg_name”),this.$scope().$used_kwargs()(key_name),this.$add_temp(this.$lvar_name()),this.$line(this.$lvar_name()+“ = $kwargs.$$smap;”),this.$default_value().$children()[“$”](1)(“undefined”)?nil:(this.$line(“if (”+this.$lvar_name()+“ == null) {”),this.$line(“ ”+this.$lvar_name()+“ = ”,this.$expr(this.$default_value())),this.$line(“}”))},$ExtractKwoptarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractKwrestarg_compile$1,$ExtractKwrestarg_used_kwargs$2,self=$klass($base,$super,“ExtractKwrestarg”);.concat($parent_nesting);self.$handle(“extract_kwrestarg”),self.$children(“name”),Opal.def(self,“$compile”,$ExtractKwrestarg_compile$1=function(){return $truthy(this.$name())?(this.$add_temp(this.$name()),this.$line(this.$name()+“ = Opal.kwrestargs($kwargs, ”+this.$used_kwargs()+“);”)):nil},$ExtractKwrestarg_compile$1.$$arity=0),Opal.def(self,“$used_kwargs”,$ExtractKwrestarg_used_kwargs$2=function(){var $$3;return“{”+$send(this.$scope().$used_kwargs(),“map”,[],(($$3=function(arg_name){$$3.$$s;return null==arg_name&&(arg_name=nil),“'”arg_name
“': true”}).$$s=this,$$3.$$arity=1,$$3)).$join(“,”)+“}”},$ExtractKwrestarg_used_kwargs$2.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$==”,“$”,“$default_value”,“$line”,“$name”,“$expr”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractOptargNode_compile$1,self=$klass($base,$super,“ExtractOptargNode”);.concat($parent_nesting);self.$handle(“extract_optarg”),self.$children(“name”,“default_value”),Opal.def(self,“$compile”,$ExtractOptargNode_compile$1=function(){return this.$default_value().$children()[“$”](1)(“undefined”)?nil:(this.$line(“if (”+this.$name()+“ == null) {”),this.$line(“ ”+this.$name()+“ = ”,this.$expr(this.$default_value()),“;”),this.$line(“}”))},$ExtractOptargNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractPostArg_compile$1,self=$klass($base,$super,“ExtractPostArg”);.concat($parent_nesting);self.$handle(“extract_post_arg”),self.$children(“name”),Opal.def(self,“$compile”,$ExtractPostArg_compile$1=function(){return this.$add_temp(this.$name()),this.$line(this.$name()+“ = $post_args;”),this.$line(“$post_args.splice(0, 1);”),this.$line(“if (”+this.$name()+“ == null) {”),this.$line(“ ”+this.$name()+“ = nil”),this.$line(“}”)},$ExtractPostArg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$add_temp”,“$name”,“$line”,“$args_to_keep”,“$==”,“$”,“$default_value”,“$expr”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractPostOptarg_compile$1,self=$klass($base,$super,“ExtractPostOptarg”);.concat($parent_nesting);self.$handle(“extract_post_optarg”),self.$children(“name”,“default_value”,“args_to_keep”),Opal.def(self,“$compile”,$ExtractPostOptarg_compile$1=function(){return this.$add_temp(this.$name()),this.$line(“if ($post_args.length > ”+this.$args_to_keep()+“) {”),this.$line(“ ”+this.$name()+“ = $post_args;”),this.$line(“ $post_args.splice(0, 1);”),this.$line(“}”),this.$default_value().$children()[“$”](1)(“undefined”)?nil:(this.$line(“if (”+this.$name()+“ == null) {”),this.$line(“ ”+this.$name()+“ = ”,this.$expr(this.$default_value()),“;”),this.$line(“}”))},$ExtractPostOptarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ExtractRestarg_compile$1,self=$klass($base,$super,“ExtractRestarg”);.concat($parent_nesting);self.$handle(“extract_restarg”),self.$children(“name”,“args_to_keep”),Opal.def(self,“$compile”,$ExtractRestarg_compile$1=function(){return $truthy(this.$name())?(this.$add_temp(this.$name()),this.$args_to_keep()(0)?this.$line(this.$name()+“ = $post_args;”):this.$line(this.$name()+“ = $post_args.splice(0, $post_args.length - ”+this.$args_to_keep()+“);”)):$truthy(this.$args_to_keep()(0))?this.$line(“$post_args.splice(0, $post_args.length - ”+this.$args_to_keep()+“);”):nil},$ExtractRestarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $FakeArgNode_compile$1,self=$klass($base,$super,“FakeArgNode”);.concat($parent_nesting);self.$handle(“fake_arg”),Opal.def(self,“$compile”,$FakeArgNode_compile$1=function(){var name;return name=this.$scope().$next_temp(),this.$scope().$add_arg(name),this.$push(name)},$FakeArgNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $InitializeIterarg_compile$1,self=$klass($base,$super,“InitializeIterarg”);.concat($parent_nesting);self.$handle(“initialize_iter_arg”),self.$children(“name”),Opal.def(self,“$compile”,$InitializeIterarg_compile$1=function(){return this.$line(“if (”+this.$name()+“ == null) {”),this.$line(“ ”+this.$name()+“ = nil;”),this.$line(“}”)},$InitializeIterarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $InitializeShadowarg_compile$1,self=$klass($base,$super,“InitializeShadowarg”);.concat($parent_nesting);self.$handle(“initialize_shadowarg”),self.$children(“name”),Opal.def(self,“$compile”,$InitializeShadowarg_compile$1=function(){return this.$scope().$locals()(this.$name()),this.$scope().$add_arg(this.$name()),this.$line(this.$name()+“ = nil;”)},$InitializeShadowarg_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $Parameters_initialize$1,$Parameters_to_code$2,$Parameters_on_arg$4,$Parameters_on_mlhs$5,$Parameters_on_optarg$6,$Parameters_on_restarg$7,$Parameters_on_kwarg$8,$Parameters_on_kwoptarg$9,$Parameters_on_kwrestarg$10,$Parameters_on_blockarg$11,$Parameters_on_shadowarg$12,self=$klass($base,null,“Parameters”);.concat($parent_nesting);self.$$prototype.args=nil,Opal.def(self,“$initialize”,$Parameters_initialize$1=function(args){return this.args=args.$children()},$Parameters_initialize$1.$$arity=1),Opal.def(self,“$to_code”,$Parameters_to_code$2=function(){var $$3;return“[”+$send(this.args,“map”,,(($$3=function(arg){var self=$$3.$$s||this;return null==arg&&(arg=nil),$send(self,“public_send”,.concat(Opal.to_a(arg)))}).$$s=this,$$3.$$arity=1,$$3)).$compact().$join(“, ”)+“]”},$Parameters_to_code$2.$$arity=0),Opal.def(self,“$on_arg”,$Parameters_on_arg$4=function(arg_name){return“['req', '”arg_name
“']”},$Parameters_on_arg$4.$$arity=1),Opal.def(self,“$on_mlhs”,$Parameters_on_mlhs$5=function($a){return Opal.slice.call(arguments,0,arguments.length),“”},$Parameters_on_mlhs$5.$$arity=-1),Opal.def(self,“$on_optarg”,$Parameters_on_optarg$6=function(arg_name,_default_value){return“['opt', '”arg_name
“']”},$Parameters_on_optarg$6.$$arity=2),Opal.def(self,“$on_restarg”,$Parameters_on_restarg$7=function(arg_name){return null==arg_name&&(arg_name=nil),$truthy(arg_name)?“['rest', '”arg_name
“‘]”:“”},$Parameters_on_restarg$7.$$arity=-1),Opal.def(self,“$on_kwarg”,$Parameters_on_kwarg$8=function(arg_name){return“['keyreq', '”arg_name
“']”},$Parameters_on_kwarg$8.$$arity=1),Opal.def(self,“$on_kwoptarg”,$Parameters_on_kwoptarg$9=function(arg_name,_default_value){return“['key', '”arg_name
“']”},$Parameters_on_kwoptarg$9.$$arity=2),Opal.def(self,“$on_kwrestarg”,$Parameters_on_kwrestarg$10=function(arg_name){return null==arg_name&&(arg_name=nil),$truthy(arg_name)?“['keyrest', '”arg_name
“’]”:“”},$Parameters_on_kwrestarg$10.$$arity=-1),Opal.def(self,“$on_blockarg”,$Parameters_on_blockarg$11=function(arg_name){return“['block', '”arg_name
“']”},$Parameters_on_blockarg$11.$$arity=1),Opal.def(self,“$on_shadowarg”,$Parameters_on_shadowarg$12=function(_arg_name){return nil},$Parameters_on_shadowarg$12.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $PreparePostArgs_compile$1,self=$klass($base,$super,“PreparePostArgs”);.concat($parent_nesting);self.$handle(“prepare_post_args”),self.$children(“offset”),Opal.def(self,“$compile”,$PreparePostArgs_compile$1=function(){return this.$add_temp(“$post_args”),this.$line(“$post_args = Opal.slice.call(arguments, ”+this.$offset()+“, arguments.length)”)},$PreparePostArgs_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/base”),self.$require(“opal/nodes/args/arg”),self.$require(“opal/nodes/args/arity_check”),self.$require(“opal/nodes/args/ensure_kwargs_are_kwargs”),self.$require(“opal/nodes/args/extract_block_arg”),self.$require(“opal/nodes/args/extract_kwarg”),self.$require(“opal/nodes/args/extract_kwargs”),self.$require(“opal/nodes/args/extract_kwoptarg”),self.$require(“opal/nodes/args/extract_kwrestarg”),self.$require(“opal/nodes/args/extract_optarg”),self.$require(“opal/nodes/args/extract_post_arg”),self.$require(“opal/nodes/args/extract_post_optarg”),self.$require(“opal/nodes/args/extract_restarg”),self.$require(“opal/nodes/args/fake_arg”),self.$require(“opal/nodes/args/initialize_iterarg”),self.$require(“opal/nodes/args/initialize_shadowarg”),self.$require(“opal/nodes/args/parameters”),self.$require(“opal/nodes/args/prepare_post_args”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ArgsNode_compile$1,self=$klass($base,$super,“ArgsNode”);.concat($parent_nesting);self.$handle(“args”),Opal.def(self,“$compile”,$ArgsNode_compile$1=function(){var $$2;return $send(this.$children(),“each_with_index”,[],(($$2=function(arg,idx){var self=$$2.$$s||this;return null==arg&&(arg=nil),null==idx&&(idx=nil),$truthy(idx(0))&&self.$push(“, ”),self.$push(self.$process(arg))}).$$s=this,$$2.$$arity=2,$$2))},$ArgsNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs([“$require”,“$attr_reader”,“$attr_accessor”,“$”,“$meta”,“$s”,“$original_args”,“$push”,“$process”,“$arity_check_node”,“$uses_block?”,“$scope”,“$identity”,“$block_name”,“$add_temp”,“$line”,“$to_code”,“$new”]),self.$require(“opal/nodes/scope”),self.$require(“opal/nodes/args/parameters”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $NodeWithArgs_initialize$1,$NodeWithArgs_arity_check_node$2,$NodeWithArgs_compile_arity_check$3,$NodeWithArgs_compile_block_arg$4,$NodeWithArgs_parameters_code$5,self=$klass($base,$super,“NodeWithArgs”),$nesting=.concat($parent_nesting);self.$$prototype.sexp=nil,self.$attr_reader(“used_kwargs”),self.$attr_accessor(“arity”),self.$attr_reader(“original_args”),Opal.def(self,“$initialize”,$NodeWithArgs_initialize$1=function($a){var $zuper_ii,$iter=$NodeWithArgs_initialize$1.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($NodeWithArgs_initialize$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$NodeWithArgs_initialize$1,!1),$zuper,$iter),this.original_args=this.sexp.$meta()[“$”](“original_args”),this.used_kwargs=[],this.arity=0},$NodeWithArgs_initialize$1.$$arity=-1),Opal.def(self,“$arity_check_node”,$NodeWithArgs_arity_check_node$2=function(){return this.$s(“arity_check”,this.$original_args())},$NodeWithArgs_arity_check_node$2.$$arity=0),Opal.def(self,“$compile_arity_check”,$NodeWithArgs_compile_arity_check$3=function(){return this.$push(this.$process(this.$arity_check_node()))},$NodeWithArgs_compile_arity_check$3.$$arity=0),Opal.def(self,“$compile_block_arg”,$NodeWithArgs_compile_block_arg$4=function(){var $a,scope_name=nil,yielder=nil;return $truthy(this.$scope()())?(scope_name=this.$scope().$identity(),yielder=$truthy($a=this.$scope().$block_name())?$a:“$yield”,this.$add_temp(“$iter = ”scope_name
“.$$p”),this.$add_temp(yielder+“ = $iter || nil”),this.$line(“if ($iter) ”scope_name
“.$$p = null;”)):nil},$NodeWithArgs_compile_block_arg$4.$$arity=0),Opal.def(self,“$parameters_code”,$NodeWithArgs_parameters_code$5=function(){return $$$($$($nesting,“Args”),“Parameters”).$new(this.$original_args()).$to_code()},$NodeWithArgs_parameters_code$5.$$arity=0)}($nesting,$$($nesting,“ScopeNode”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/node_with_args”),self.$require(“opal/rewriters/break_finder”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $IterNode_compile$1,$IterNode_compile_block_arg$3,$IterNode_extract_underscore_args$4,$IterNode_returned_body$6,$IterNode_has_top_level_mlhs_arg$ques$7,$IterNode_has_trailing_comma_in_args$ques$9,$IterNode_arity_check_node$10,$IterNode_contains_break$ques$11,self=$klass($base,$super,“IterNode”),$nesting=.concat($parent_nesting);self.$$prototype.sexp=nil,self.$handle(“iter”),self.$children(“inline_args”,“body”),Opal.def(self,“$compile”,$IterNode_compile$1=function(){var $$2,inline_params=nil,to_vars=nil,identity=nil,body_code=nil;return to_vars=identity=body_code=inline_params=nil,$send(this,“in_scope”,[],(($$2=function(){var self=$$2.$$s||this;return identity=self.$scope()(),self.$add_temp(“self = ”identity
“.$$s || this”),inline_params=self.$process(self.$inline_args()),self.$compile_arity_check(),body_code=self.$stmt(self.$returned_body()),to_vars=self.$scope().$to_vars()}).$$s=this,$$2.$$arity=0,$$2)),this.$line(body_code),this.$unshift(to_vars),this.$unshift(“(”identity
“ = function(”,inline_params,“){”),this.$push(“}, ”identity
“.$$s = self,”),$truthy(this())&&this.$push(“ ”identity
“.$$brk = $brk,”),this.$push(“ ”identity
“.$$arity = ”+this.$arity()+“,”),$truthy(this.$compiler()())&&this.$push(“ ”identity
“.$$parameters = ”+this.$parameters_code()+“,”),$truthy(this())&&this.$push(“ ”identity
“.$$has_top_level_mlhs_arg = true,”),$truthy(this())&&this.$push(“ ”identity
“.$$has_trailing_comma_in_args = true,”),this.$push(“ ”identity
“)”)},$IterNode_compile$1.$$arity=0),Opal.def(self,“$compile_block_arg”,$IterNode_compile_block_arg$3=function(){var lhs,rhs,$writer=nil,scope_name=nil;return $truthy(this.$block_arg())?($writer=,$send(this.$scope(),“block_name=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))],this.$scope().$add_temp(this.$block_arg()),scope_name=this.$scope()(),this.$line(this.$block_arg()+“ = ”scope_name
“.$$p || nil;”),this.$line(“if (”+this.$block_arg()+“) ”scope_name
“.$$p = null;”)):nil},$IterNode_compile_block_arg$3.$$arity=0),Opal.def(self,“$extract_underscore_args”,$IterNode_extract_underscore_args$4=function(){var $$5,valid_args=nil,caught_blank_argument=nil;return caught_blank_argument=!(valid_args=[]),$send(this.$args().$children(),“each”,,(($$5=function(arg){$$5.$$s;return null==arg&&(arg=nil),arg.$children().$first()(“_”)?$truthy(caught_blank_argument)?nil:(caught_blank_argument=!0,valid_args(arg)):valid_args(arg)}).$$s=this,$$5.$$arity=1,$$5)),this.sexp=this.sexp.$updated(nil,)},$IterNode_extract_underscore_args$4.$$arity=0),Opal.def(self,“$returned_body”,$IterNode_returned_body$6=function(){var $a;return this.$compiler().$returns($truthy($a=this.$body())?$a:this.$s(“nil”))},$IterNode_returned_body$6.$$arity=0),Opal.def(self,“$has_top_level_mlhs_arg?”,$IterNode_has_top_level_mlhs_arg$ques$7=function(){var $$8;return $send(this.$original_args().$children(),“any?”,[],(($$8=function(arg){$$8.$$s;return null==arg&&(arg=nil),arg.$type()(“mlhs”)}).$$s=this,$$8.$$arity=1,$$8))},$IterNode_has_top_level_mlhs_arg$ques$7.$$arity=0),Opal.def(self,“$has_trailing_comma_in_args?”,$IterNode_has_trailing_comma_in_args$ques$9=function(){var $a;return $truthy($truthy($a=this.$original_args().$loc())?this.$original_args().$loc().$expression():$a)?this.$original_args().$loc().$expression().$source().$match(/,s*|/):nil},$IterNode_has_trailing_comma_in_args$ques$9.$$arity=0),Opal.def(self,“$arity_check_node”,$IterNode_arity_check_node$10=function(){return this.$s(“iter_arity_check”,this.$original_args())},$IterNode_arity_check_node$10.$$arity=0),Opal.def(self,“$contains_break?”,$IterNode_contains_break$ques$11=function(){var finder=nil;return(finder=$$$($$$($$($nesting,“Opal”),“Rewriters”),“BreakFinder”).$new()).$process(this.sexp),finder()},$IterNode_contains_break$ques$11.$$arity=0)}($nesting,$$($nesting,“NodeWithArgs”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/node_with_args”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $DefNode_compile$1,$DefNode_wrap_with_definition$3,$DefNode_source_location$4,$DefNode_comments_code$5,$DefNode_prepare_super$7,self=$klass($base,$super,“DefNode”);.concat($parent_nesting);self.$$prototype.sexp=nil,self.$handle(“def”),self.$children(“mid”,“inline_args”,“stmts”),Opal.def(self,“$compile”,$DefNode_compile$1=function(){var $$2,function_name,self=this,inline_params=nil,scope_name=nil;return scope_name=inline_params=nil,$send(self,“in_scope”,[],(($$2=function(){var stmt_code,self=$$2.$$s||this,$writer=nil;return null==self.sexp&&(self.sexp=nil),$writer=,$send(self.$scope(),“mid=”,Opal.to_a($writer)),$writer,self.sexp.$type()(“defs”)&&($writer=,$send(self.$scope(),“defs=”,Opal.to_a($writer)),$writer),self.$scope()(),scope_name=self.$scope().$identity(),$writer=,$send(self.$scope(),“block_name=”,Opal.to_a($writer)),$writer,inline_params=self.$process(self.$inline_args()),stmt_code=self.$stmt(self.$compiler().$returns(self.$stmts())),self.$compile_block_arg(),self.$add_temp(“self = this”),self.$compile_arity_check(),$truthy(self.$scope().$uses_zuper())&&self.$prepare_super(),self.$unshift(“n”+self.$current_indent(),self.$scope().$to_vars()),self.$line(stmt_code),$truthy(self.$scope().$catch_return())?(self.$unshift(“try {n”),self.$line(“} catch ($returner) { if ($returner === Opal.returner) { return $returner.$v }”),self.$push(“ throw $returner; }”)):nil}).$$s=self,$$2.$$arity=0,$$2)),function_name=$truthy(self(self.$mid()))?“ $$”+self.$mid():“”,self.$unshift(“) {”),self.$unshift(inline_params),self.$unshift(“function”function_name
“(”),$truthy(scope_name)&&self.$unshift(scope_name+“ = ”),self.$line(“}”),self.$push(“, ”scope_name
“.$$arity = ”+self.$arity()),$truthy(self.$compiler()())&&self.$push(“, ”scope_name
“.$$parameters = ”+self.$parameters_code()),$truthy(self.$compiler()())&&self.$push(“, ”scope_name
“.$$comments = ”+self.$comments_code()),$truthy(self.$compiler()())&&self.$push(“, ”scope_name
“.$$source_location = ”+self.$source_location()),self.$wrap_with_definition()},$DefNode_compile$1.$$arity=0),Opal.def(self,“$wrap_with_definition”,$DefNode_wrap_with_definition$3=function(){return this.$wrap(“Opal.def(self, '$”+this.$mid()+“', ”,“)”),$truthy(this())?this.$wrap(“(”,“, nil) && '”+this.$mid()+“'”):this.$unshift(“n”+this.$current_indent())},$DefNode_wrap_with_definition$3.$$arity=0),Opal.def(self,“$source_location”,$DefNode_source_location$4=function(){return“['”+this.sexp.$loc().$expression().$source_buffer().$name()+“', ”+this.sexp.$loc().$line()+“]”},$DefNode_source_location$4.$$arity=0),Opal.def(self,“$comments_code”,$DefNode_comments_code$5=function(){var $$6;return $rb_plus($rb_plus(“[”,$send(this.$comments(),“map”,,($$6=function(comment){$$6.$$s;return null==comment&&(comment=nil),comment.$text().$inspect()},$$6.$$s=this,$$6.$$arity=1,$$6)).$join(“, ”)),“]”)},$DefNode_comments_code$5.$$arity=0),Opal.def(self,“$prepare_super”,$DefNode_prepare_super$7=function(){return this.$add_local(“$zuper”),this.$add_local(“$zuper_i”),this.$add_local(“$zuper_ii”),this.$line(“// Prepare super implicit arguments”),this.$line(“for($zuper_i = 0, $zuper_ii = arguments.length, $zuper = new Array($zuper_ii); $zuper_i < $zuper_ii; $zuper_i++) {”),this.$line(“ $zuper = arguments;”),this.$line(“}”)},$DefNode_prepare_super$7.$$arity=0)}($nesting,$$($nesting,“NodeWithArgs”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/def”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $DefsNode_wrap_with_definition$1,self=$klass($base,$super,“DefsNode”);.concat($parent_nesting);self.$handle(“defs”),self.$children(“recvr”,“mid”,“inline_args”,“stmts”),Opal.def(self,“$wrap_with_definition”,$DefsNode_wrap_with_definition$1=function(){return this.$unshift(“Opal.defs(”,this.$expr(this.$recvr()),“, '$”+this.$mid()+“', ”),this.$push(“)”),$truthy(this())?this.$wrap(“(”,“, nil) && '”+this.$mid()+“'”):nil},$DefsNode_wrap_with_definition$1.$$arity=0)}($nesting,$$($nesting,“DefNode”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $IfNode_compile$1,$IfNode_truthy$4,$IfNode_falsy$5,$IfNode_needs_wrapper$ques$6,self=$klass($base,$super,“IfNode”);.concat($parent_nesting);self.$handle(“if”),self.$children(“test”,“true_body”,“false_body”),Opal.def(self,“$compile”,$IfNode_compile$1=function(){var $$2,$$3,truthy,falsy=nil;return truthy=this.$truthy(),falsy=this.$falsy(),this.$push(“if (”,this.$js_truthy(this.$test()),“) {”),$truthy(truthy)&&$send(this,“indent”,[],(($$2=function(){var self=$$2.$$s||this;return self.$line(self.$stmt(truthy))}).$$s=this,$$2.$$arity=0,$$2)),$truthy(falsy)?falsy.$type()(“if”)?this.$line(“} else ”,this.$stmt(falsy)):(this.$line(“} else {”),$send(this,“indent”,[],(($$3=function(){var self=$$3.$$s||this;return self.$line(self.$stmt(falsy))}).$$s=this,$$3.$$arity=0,$$3)),this.$line(“}”)):this.$push(“}”),$truthy(this())?this.$wrap(“(function() {”,“; return nil; })()”):nil},$IfNode_compile$1.$$arity=0),Opal.def(self,“$truthy”,$IfNode_truthy$4=function(){var $a;return $truthy(this())?this.$compiler().$returns($truthy($a=this.$true_body())?$a:this.$s(“nil”)):this.$true_body()},$IfNode_truthy$4.$$arity=0),Opal.def(self,“$falsy”,$IfNode_falsy$5=function(){var $a;return $truthy(this())?this.$compiler().$returns($truthy($a=this.$false_body())?$a:this.$s(“nil”)):this.$false_body()},$IfNode_falsy$5.$$arity=0),Opal.def(self,“$needs_wrapper?”,$IfNode_needs_wrapper$ques$6=function(){var $a;return $truthy($a=this())?$a:this()},$IfNode_needs_wrapper$ques$6.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $IFlipFlop_compile$7,self=$klass($base,$super,“IFlipFlop”);.concat($parent_nesting);self.$handle(“iflipflop”),Opal.def(self,“$compile”,$IFlipFlop_compile$7=function(){return this.$push(“true”)},$IFlipFlop_compile$7.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $EFlipFlop_compile$8,self=$klass($base,$super,“EFlipFlop”);.concat($parent_nesting);self.$handle(“eflipflop”),Opal.def(self,“$compile”,$EFlipFlop_compile$8=function(){return this.$push(“true”)},$EFlipFlop_compile$8.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs([“$require”,“$handle”,“$in_while?”,“$push”,“$expr_or_nil”,“$value”,“$wrap”,“$size”,“$children”,“$===”,“$s”,“$first”,“$compile_while”,“$iter?”,“$scope”,“$compile_iter”,“$error”,“$”,“$”,“$find_parent_def”,“$expr?”,“$def?”,“$return_in_iter?”,“$return_expr_in_def?”,“$scope_to_catch_return”,“$catch_return=”,“$return_val”,“$to_s”“>while_loop”,“$stmt?”,“$line”,“$break_val”,“$nil?”,“$expr”,“$),self.$require(”opal/nodes/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $NextNode_compile$1,$NextNode_value$2,self=$klass($base,$super,”NextNode“);.concat($parent_nesting);self.$handle(”next“),Opal.def(self,”$compile“,$NextNode_compile$1=function(){return $truthy(this())?this.$push(”continue;“):(this.$push(this.$expr_or_nil(this.$value())),this.$wrap(”return “,”;“))},$NextNode_compile$1.$$arity=0),Opal.def(self,”$value“,$NextNode_value$2=function(){var self=this,$case=nil;return $case=self.$children().$size(),(0)($case)?self.$s(”nil“):1($case)?self.$children().$first():$send(self,”s“,.concat(Opal.to_a(self.$children())))},$NextNode_value$2.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $BreakNode_compile$3,$BreakNode_compile_while$4,$BreakNode_compile_iter$5,$BreakNode_break_val$6,self=$klass($base,$super,”BreakNode“);.concat($parent_nesting);self.$handle(”break“),self.$children(”value“),Opal.def(self,”$compile“,$BreakNode_compile$3=function(){return $truthy(this())?this.$compile_while():$truthy(this.$scope()())?this.$compile_iter():this.$error(”void value expression: cannot use break outside of iter/while“)},$BreakNode_compile$3.$$arity=0),Opal.def(self,”$compile_while“,$BreakNode_compile_while$4=function(){return $truthy(this.$while_loop()[”$“](”closure“))?this.$push(”return “,this.$expr_or_nil(this.$value())):this.$push(”break;“)},$BreakNode_compile_while$4.$$arity=0),Opal.def(self,”$compile_iter“,$BreakNode_compile_iter$5=function(){return $truthy(this())||this.$error(”break must be used as a statement“),this.$line(”Opal.brk(“,this.$break_val(),”, $brk)“)},$BreakNode_compile_iter$5.$$arity=0),Opal.def(self,”$break_val“,$BreakNode_break_val$6=function(){return $truthy(this.$value()())?this.$expr(this.$s(”nil“)):this.$expr(this.$value())},$BreakNode_break_val$6.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $RedoNode_compile$7,$RedoNode_compile_while$8,$RedoNode_compile_iter$9,self=$klass($base,$super,”RedoNode“);.concat($parent_nesting);self.$handle(”redo“),Opal.def(self,”$compile“,$RedoNode_compile$7=function(){return $truthy(this())?this.$compile_while():$truthy(this.$scope()())?this.$compile_iter():this.$push(”REDO()“)},$RedoNode_compile$7.$$arity=0),Opal.def(self,”$compile_while“,$RedoNode_compile_while$8=function(){var $writer;return $writer=,$send(this.$while_loop(),”[]=“,Opal.to_a($writer)),$rb_minus($writer.length,1),this.$push(this.$while_loop()[”$“](”redo_var“)+” = true; continue;“)},$RedoNode_compile_while$8.$$arity=0),Opal.def(self,”$compile_iter“,$RedoNode_compile_iter$9=function(){return this.$push(”return “+this.$scope().$identity()+”.apply(null, $slice.call(arguments))“)},$RedoNode_compile_iter$9.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $SplatNode_empty_splat$ques$10,$SplatNode_compile$11,self=$klass($base,$super,”SplatNode“);.concat($parent_nesting);self.$handle(”splat“),self.$children(”value“),Opal.def(self,”$empty_splat?“,$SplatNode_empty_splat$ques$10=function(){return this.$value()(this.$s(”array“))},$SplatNode_empty_splat$ques$10.$$arity=0),Opal.def(self,”$compile“,$SplatNode_compile$11=function(){return $truthy(this())?this.$push(”[]“):this.$push(”Opal.to_a(“,this.$recv(this.$value()),”)“)},$SplatNode_compile$11.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $BinaryOp_compile$12,$BinaryOp_compile_ternary$13,$BinaryOp_compile_if$14,self=$klass($base,$super,”BinaryOp“),$nesting=.concat($parent_nesting);Opal.def(self,”$compile“,$BinaryOp_compile$12=function(){return this.$rhs().$type()(”break“)?this.$compile_if():this.$compile_ternary()},$BinaryOp_compile$12.$$arity=0),Opal.def(self,”$compile_ternary“,$BinaryOp_compile_ternary$13=function(){return this.$raise($$($nesting,”NotImplementedError“))},$BinaryOp_compile_ternary$13.$$arity=0),Opal.def(self,”$compile_if“,$BinaryOp_compile_if$14=function(){return this.$raise($$($nesting,”NotImplementedError“))},$BinaryOp_compile_if$14.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $OrNode_compile_ternary$15,$OrNode_compile_if$17,self=$klass($base,$super,”OrNode“);.concat($parent_nesting);self.$handle(”or“),self.$children(”lhs“,”rhs“),Opal.def(self,”$compile_ternary“,$OrNode_compile_ternary$15=function(){var $$16;return this.$helper(”truthy“),$send(this,”with_temp“,[],(($$16=function(tmp){var self=$$16.$$s||this;return null==tmp&&(tmp=nil),self.$push(”($truthy(“tmp
” = “,self.$expr(self.$lhs()),”) ? “tmp
” : “,self.$expr(self.$rhs()),”)“)}).$$s=this,$$16.$$arity=1,$$16))},$OrNode_compile_ternary$15.$$arity=0),Opal.def(self,”$compile_if“,$OrNode_compile_if$17=function(){var $$18;return this.$helper(”truthy“),$send(this,”with_temp“,[],(($$18=function(tmp){var $$19,$$20,self=$$18.$$s||this;return null==tmp&&(tmp=nil),self.$push(”if ($truthy(“tmp
” = “,self.$expr(self.$lhs()),”)) {“),$send(self,”indent“,[],(($$19=function(){return($$19.$$s||this).$line(tmp)}).$$s=self,$$19.$$arity=0,$$19)),self.$line(”} else {“),$send(self,”indent“,[],(($$20=function(){var self=$$20.$$s||this;return self.$line(self.$expr(self.$rhs()))}).$$s=self,$$20.$$arity=0,$$20)),self.$line(”}“)}).$$s=this,$$18.$$arity=1,$$18))},$OrNode_compile_if$17.$$arity=0)}($nesting,$$($nesting,”BinaryOp“),$nesting),function($base,$super,$parent_nesting){var $AndNode_compile_ternary$21,$AndNode_compile_if$23,self=$klass($base,$super,”AndNode“);.concat($parent_nesting);self.$handle(”and“),self.$children(”lhs“,”rhs“),Opal.def(self,”$compile_ternary“,$AndNode_compile_ternary$21=function(){var $$22,truthy_opt=nil;return truthy_opt=nil,$send(this,”with_temp“,[],(($$22=function(tmp){var self=$$22.$$s||this;return null==tmp&&(tmp=nil),$truthy(truthy_opt=self.$js_truthy_optimize(self.$lhs()))?(self.$push(”((“tmp
” = “,truthy_opt),self.$push(”) ? “),self.$push(self.$expr(self.$rhs())),self.$push(” : “,self.$expr(self.$lhs()),”)“)):(self.$helper(”truthy“),self.$push(”($truthy(“tmp
” = “,self.$expr(self.$lhs()),”) ? “,self.$expr(self.$rhs()),” : “tmp
”)“))}).$$s=this,$$22.$$arity=1,$$22))},$AndNode_compile_ternary$21.$$arity=0),Opal.def(self,”$compile_if“,$AndNode_compile_if$23=function(){var $a,$$24,$$25,condition;return this.$helper(”truthy“),condition=$truthy($a=this.$js_truthy_optimize(this.$lhs()))?$a:this.$expr(this.$lhs()),this.$line(”if ($truthy(“,condition,”)) {“),$send(this,”indent“,[],(($$24=function(){var self=$$24.$$s||this;return self.$line(self.$expr(self.$rhs()))}).$$s=this,$$24.$$arity=0,$$24)),this.$line(”} else {“),$send(this,”indent“,[],(($$25=function(){var self=$$25.$$s||this;return self.$line(self.$expr(self.$lhs()))}).$$s=this,$$25.$$arity=0,$$25)),this.$line(”}“)},$AndNode_compile_if$23.$$arity=0)}($nesting,$$($nesting,”BinaryOp“),$nesting),function($base,$super,$parent_nesting){var $ReturnNode_return_val$26,$ReturnNode_return_in_iter$ques$27,$ReturnNode_return_expr_in_def$ques$28,$ReturnNode_scope_to_catch_return$29,$ReturnNode_compile$30,self=$klass($base,$super,”ReturnNode“),$nesting=.concat($parent_nesting);self.$handle(”return“),self.$children(”value“),Opal.def(self,”$return_val“,$ReturnNode_return_val$26=function(){var lhs,rhs;return $truthy(this.$value()())?this.$expr(this.$s(”nil“)):$truthy((lhs=this.$children().$size(),rhs=1,”number“==typeof lhs&&”number“==typeof ”“>rhs?rhsblock_name
”, “,”)“)):(this.$push(this.$expr($send(this,”s“,.concat(Opal.to_a(this.$children()))))),$truthy(this(this.$children()))?this.$wrap(”Opal.yieldX(“block_name
”, “,”)“):this.$wrap(”Opal.yieldX(“block_name
”, [“,”])“))},$BaseYieldNode_compile_call$1.$$arity=0),Opal.def(self,”$find_yielding_scope“,$BaseYieldNode_find_yielding_scope$2=function(){var $b,working=nil;for(working=this.$scope();$truthy(working)&&!$truthy($truthy($b=working.$block_name())?$b:working());)working=working.$parent();return working},$BaseYieldNode_find_yielding_scope$2.$$arity=0),Opal.def(self,”$yields_single_arg?“,$BaseYieldNode_yields_single_arg$ques$3=function(children){var $a;return $truthy($a=this(children)())?children.$size()(1):$a},$BaseYieldNode_yields_single_arg$ques$3.$$arity=1),Opal.def(self,”$uses_splat?“,$BaseYieldNode_uses_splat$ques$4=function(children){var $$5;return $send(children,”any?“,[],(($$5=function(child){$$5.$$s;return null==child&&(child=nil),child.$type()(”splat“)}).$$s=this,$$5.$$arity=1,$$5))},$BaseYieldNode_uses_splat$ques$4.$$arity=1)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $YieldNode_compile$6,self=$klass($base,$super,”YieldNode“);.concat($parent_nesting);self.$handle(”yield“),Opal.def(self,”$compile“,$YieldNode_compile$6=function(){return this.$compile_call()},$YieldNode_compile$6.$$arity=0)}($nesting,$$($nesting,”BaseYieldNode“),$nesting),function($base,$super,$parent_nesting){var $ReturnableYieldNode_compile$7,self=$klass($base,$super,”ReturnableYieldNode“);.concat($parent_nesting);self.$handle(”returnable_yield“),Opal.def(self,”$compile“,$ReturnableYieldNode_compile$7=function(){return this.$compile_call(),this.$wrap(”return “,”;“)},$ReturnableYieldNode_compile$7.$$arity=0)}($nesting,$$($nesting,”BaseYieldNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$range=Opal.range;return Opal.add_stubs([”$require“,”$handle“,”$children“,”$push“,”$in_ensure“,”$line“,”$stmt“,”$body_sexp“,”$indent“,”$has_rescue_else?“,”$unshift“,”$rescue_else_code“,”$process“,”$compiler“,”$ensr_sexp“,”$wrap_in_closure?“,”$wrap“,”$returns“,”$begn“,”$ensr“,”$s“,”$recv?“,”$expr?“,”$rescue_else_sexp“,”$scope“,”$stmt?“,”$detect“,”$“,”$!=“,”$type“,”$rescue_else_sexp=“,”$-“,”$handle_rescue_else_manually?“,”$body_code“,”$each_with_index“,”$==“,”$nil?“,”$body“,”$!“,”$in_ensure?“,”$expr“,”$klasses“,”$lvar“,”$rescue_body“,”$klasses_sexp“]),self.$require(”opal/nodes/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $EnsureNode_compile$1,$EnsureNode_body_sexp$6,$EnsureNode_ensr_sexp$7,$EnsureNode_wrap_in_closure$ques$8,$EnsureNode_rescue_else_code$9,self=$klass($base,$super,”EnsureNode“);.concat($parent_nesting);self.$handle(”ensure“),self.$children(”begn“,”ensr“),Opal.def(self,”$compile“,$EnsureNode_compile$1=function(){var $$2,$$3;return this.$push(”try {“),$send(this,”in_ensure“,[],(($$2=function(){var self=$$2.$$s||this;return self.$line(self.$stmt(self.$body_sexp()))}).$$s=this,$$2.$$arity=0,$$2)),this.$line(”} finally {“),$send(this,”indent“,[],(($$3=function(){var $$4,self=$$3.$$s||this;return null==self.level&&(self.level=nil),$truthy(self())?(self.$unshift(”var $no_errors = true; “),self.$line(”var $rescue_else_result;“),self.$line(”if ($no_errors) { “),$send(self,”indent“,[],(($$4=function(){var $$5,self=$$4.$$s||this;return self.$line(”$rescue_else_result = (function() {“),$send(self,”indent“,[],(($$5=function(){var self=$$5.$$s||this;return self.$line(self.$stmt(self.$rescue_else_code()))}).$$s=self,$$5.$$arity=0,$$5)),self.$line(”})();“)}).$$s=self,$$4.$$arity=0,$$4)),self.$line(”}“),self.$line(self.$compiler().$process(self.$ensr_sexp(),self.level)),self.$line(”if ($no_errors) { return $rescue_else_result; }“)):self.$line(self.$compiler().$process(self.$ensr_sexp(),self.level))}).$$s=this,$$3.$$arity=0,$$3)),this.$line(”}“),$truthy(this())?this.$wrap(”(function() { “,”; })()“):nil},$EnsureNode_compile$1.$$arity=0),Opal.def(self,”$body_sexp“,$EnsureNode_body_sexp$6=function(){return $truthy(this())?this.$compiler().$returns(this.$begn()):this.$begn()},$EnsureNode_body_sexp$6.$$arity=0),Opal.def(self,”$ensr_sexp“,$EnsureNode_ensr_sexp$7=function(){var $a;return $truthy($a=this.$ensr())?$a:this.$s(”nil“)},$EnsureNode_ensr_sexp$7.$$arity=0),Opal.def(self,”$wrap_in_closure?“,$EnsureNode_wrap_in_closure$ques$8=function(){var $a,$b;return $truthy($a=$truthy($b=this())?$b:this())?$a:this()},$EnsureNode_wrap_in_closure$ques$8.$$arity=0),Opal.def(self,”$rescue_else_code“,$EnsureNode_rescue_else_code$9=function(){var rescue_else_code=nil;return rescue_else_code=this.$scope().$rescue_else_sexp(),$truthy(this())||(rescue_else_code=this.$compiler().$returns(rescue_else_code)),rescue_else_code},$EnsureNode_rescue_else_code$9.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $RescueNode_compile$10,$RescueNode_body_code$17,$RescueNode_rescue_else_code$18,$RescueNode_handle_rescue_else_manually$ques$19,self=$klass($base,$super,”RescueNode“);.concat($parent_nesting);self.$handle(”rescue“),self.$children(”body“),Opal.def(self,”$compile“,$RescueNode_compile$10=function(){var $$11,$$12,$$13,$$15,$a,$writer,lhs,rhs;return $writer=[$send(this.$children()[”$“]($range(1,-1,!1)),”detect“,[],($$11=function(sexp){var $a;$$11.$$s;return null==sexp&&(sexp=nil),$truthy($a=sexp)?sexp.$type()(”resbody“):$a},$$11.$$s=this,$$11.$$arity=1,$$11))],$send(this.$scope(),”rescue_else_sexp=“,Opal.to_a($writer)),rhs=1,”number“==typeof(lhs=$writer.length)&&”number“==typeof rhs||lhs(rhs),!1,$truthy(this())&&this.$line(”var $no_errors = true;“),this.$push(”try {“),$send(this,”indent“,[],(($$12=function(){var self=$$12.$$s||this;return self.$line(self.$stmt(self.$body_code()))}).$$s=this,$$12.$$arity=0,$$12)),this.$line(”} catch ($err) {“),$send(this,”indent“,[],(($$13=function(){var $$14,self=$$13.$$s||this;return $truthy(self())&&self.$line(”$no_errors = false;“),$send(self.$children()[”$“]($range(1,-1,!1)),”each_with_index“,[],(($$14=function(child,idx){var $a,self=$$14.$$s||this;return null==self.level&&(self.level=nil),null==child&&(child=nil),null==idx&&(idx=nil),$truthy($truthy($a=child)?child.$type()(”resbody“):$a)?(!0,idx(0)||self.$push(” else “),self.$line(self.$process(child,self.level))):nil}).$$s=self,$$14.$$arity=2,$$14)),self.$push(” else { throw $err; }“)}).$$s=this,$$13.$$arity=0,$$13)),this.$line(”}“),$truthy(this())&&(this.$push(”finally {“),$send(this,”indent“,[],(($$15=function(){var $$16,self=$$15.$$s||this;return self.$line(”if ($no_errors) { “),$send(self,”indent“,[],(($$16=function(){var self=$$16.$$s||this;return self.$line(self.$stmt(self.$rescue_else_code()))}).$$s=self,$$16.$$arity=0,$$16)),self.$line(”}“)}).$$s=this,$$15.$$arity=0,$$15)),this.$push(”}“)),$truthy($truthy($a=this())?$a:this())?this.$wrap(”(function() { “,”})()“):nil},$RescueNode_compile$10.$$arity=0),Opal.def(self,”$body_code“,$RescueNode_body_code$17=function(){var $a,self=this,body_code=nil;return body_code=$truthy($truthy($a=self.$body()())?$a:self.$body().$type()(”resbody“))?self.$s(”nil“):self.$body(),$truthy(self())||(body_code=self.$compiler().$returns(body_code)),body_code},$RescueNode_body_code$17.$$arity=0),Opal.def(self,”$rescue_else_code“,$RescueNode_rescue_else_code$18=function(){var rescue_else_code=nil;return rescue_else_code=this.$scope().$rescue_else_sexp(),$truthy(this())||(rescue_else_code=this.$compiler().$returns(rescue_else_code)),rescue_else_code},$RescueNode_rescue_else_code$18.$$arity=0),Opal.def(self,”$handle_rescue_else_manually?“,$RescueNode_handle_rescue_else_manually$ques$19=function(){var $a;return $truthy($a=this.$scope()()[”$!“]())?this.$scope()():$a},$RescueNode_handle_rescue_else_manually$ques$19.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $ResBodyNode_compile$20,$ResBodyNode_klasses$23,$ResBodyNode_rescue_body$24,self=$klass($base,$super,”ResBodyNode“);.concat($parent_nesting);self.$handle(”resbody“),self.$children(”klasses_sexp“,”lvar“,”body“),Opal.def(self,”$compile“,$ResBodyNode_compile$20=function(){var $$21;return this.$push(”if (Opal.rescue($err, “,this.$expr(this.$klasses()),”)) {“),$send(this,”indent“,[],(($$21=function(){var $$22,self=$$21.$$s||this;return $truthy(self.$lvar())&&self.$push(self.$expr(self.$lvar()),”$err;“),self.$line(”try {“),$send(self,”indent“,[],(($$22=function(){var self=$$22.$$s||this;return self.$line(self.$stmt(self.$rescue_body()))}).$$s=self,$$22.$$arity=0,$$22)),self.$line(”} finally { Opal.pop_exception() }“)}).$$s=this,$$21.$$arity=0,$$21)),this.$line(”}“)},$ResBodyNode_compile$20.$$arity=0),Opal.def(self,”$klasses“,$ResBodyNode_klasses$23=function(){var $a;return $truthy($a=this.$klasses_sexp())?$a:this.$s(”array“,this.$s(”const“,nil,”StandardError“))},$ResBodyNode_klasses$23.$$arity=0),Opal.def(self,”$rescue_body“,$ResBodyNode_rescue_body$24=function(){var $a,body_code=nil;return body_code=$truthy($a=this.$body())?$a:this.$s(”nil“),$truthy(this())||(body_code=this.$compiler().$returns(body_code)),body_code},$ResBodyNode_rescue_body$24.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var $RetryNode_compile$25,self=$klass($base,$super,”RetryNode“);.concat($parent_nesting);self.$handle(”retry“),Opal.def(self,”$compile“,$RetryNode_compile$25=function(){return this.$push(this.$stmt(this.$s(”send“,nil,”retry“)))},$RetryNode_compile$25.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$range=Opal.range;return Opal.add_stubs([”$require“,”$handle“,”$children“,”$in_case“,”$compiler“,”$compile_code“,”$needs_closure?“,”$wrap“,”$condition“,”$=“,”$case_stmt“,”$-“,”$add_local“,”$push“,”$expr“,”$each_with_index“,”$case_parts“,”$line“,”$type“,”$===“,”$returns“,”$==“,”$stmt“,”$!“,”$stmt?“,”$),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $CaseNode_compile$1,$CaseNode_compile_code$3,$CaseNode_needs_closure$ques$5,$CaseNode_case_parts$6,$CaseNode_case_stmt$7,self=$klass($base,$super,“CaseNode”);.concat($parent_nesting);self.$handle(“case”),self.$children(“condition”),Opal.def(self,“$compile”,$CaseNode_compile$1=function(){var $$2;return $send(this.$compiler(),“in_case”,[],(($$2=function(){var self=$$2.$$s||this;return self.$compile_code(),$truthy(self())?self.$wrap(“(function() {”,“})()”):nil}).$$s=this,$$2.$$arity=0,$$2))},$CaseNode_compile$1.$$arity=0),Opal.def(self,“$compile_code”,$CaseNode_compile_code$3=function(){var $$4,$a,lhs,rhs,handled_else=nil,$writer=nil;return handled_else=!1,$truthy(this.$condition())&&($writer=,$send(this.$case_stmt(),“[]=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))],this.$add_local(“$case”),this.$push(“$case = ”,this.$expr(this.$condition()),“;”)),$send(this.$case_parts(),“each_with_index”,[],(($$4=function(wen,idx){var self=$$4.$$s||this,$case=nil;return null==wen&&(wen=nil),null==idx&&(idx=nil),$truthy(wen)?(self.$line(),$case=wen.$type(),“when”($case)?($truthy(self())&&(wen=self.$compiler().$returns(wen)),idx(0)||self.$push(“else ”),self.$push(self.$stmt(wen))):(handled_else=!0,$truthy(self())&&(wen=self.$compiler().$returns(wen)),self.$push(“else {”,self.$stmt(wen),“}”))):nil}).$$s=this,$$4.$$arity=2,$$4)),$truthy($truthy($a=this())?handled_else():$a)?(this.$line(),this.$push(“else { return nil }”)):nil},$CaseNode_compile_code$3.$$arity=0),Opal.def(self,“$needs_closure?”,$CaseNode_needs_closure$ques$5=function(){return this()[“$!”]()},$CaseNode_needs_closure$ques$5.$$arity=0),Opal.def(self,“$case_parts”,$CaseNode_case_parts$6=function(){return this.$children()[“$”]($range(1,-1,!1))},$CaseNode_case_parts$6.$$arity=0),Opal.def(self,“$case_stmt”,$CaseNode_case_stmt$7=function(){return this.$compiler().$case_stmt()},$CaseNode_case_stmt$7.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $WhenNode_compile$8,$WhenNode_when_checks$10,$WhenNode_case_stmt$11,$WhenNode_body_code$12,self=$klass($base,$super,“WhenNode”);.concat($parent_nesting);self.$$prototype.level=nil,self.$handle(“when”),self.$children(“whens”,“body”),Opal.def(self,“$compile”,$WhenNode_compile$8=function(){var $$9;return this.$push(“if (”),$send(this.$when_checks(),“each_with_index”,[],(($$9=function(check,idx){var self=$$9.$$s||this,call=nil;return null==check&&(check=nil),null==idx&&(idx=nil),idx(0)||self.$push(“ || ”),check.$type()(“splat”)?(self.$push(“(function($splt) { for (var i = 0, ii = $splt.length; i < ii; i++) {”),$truthy(self.$case_stmt()[“$”](“cond”))?self.$push(“if ($splt['$===']($case)) { return true; }”):self.$push(“if (”,self.$js_truthy(check),“)) { return true; }”),self.$push(“} return false; })(”,self.$expr(check.$children()[“$”](0)),“)”)):$truthy(self.$case_stmt()[“$”](“cond”))?(call=self.$s(“send”,check,“===”,self.$s(“arglist”,self.$s(“js_tmp”,“$case”))),self.$push(self.$expr(call))):self.$push(self.$js_truthy(check))}).$$s=this,$$9.$$arity=2,$$9)),this.$push(“) {”,this.$process(this.$body_code(),this.level),“}”)},$WhenNode_compile$8.$$arity=0),Opal.def(self,“$when_checks”,$WhenNode_when_checks$10=function(){return this.$children()[“$”]($range(0,-2,!1))},$WhenNode_when_checks$10.$$arity=0),Opal.def(self,“$case_stmt”,$WhenNode_case_stmt$11=function(){return this.$compiler().$case_stmt()},$WhenNode_case_stmt$11.$$arity=0),Opal.def(self,“$body_code”,$WhenNode_body_code$12=function(){var $a;return $truthy($a=this.$children().$last())?$a:this.$s(“nil”)},$WhenNode_body_code$12.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$slice=(Opal.breaker,Opal.slice),$module=Opal.module,$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $BaseSuperNode_initialize$1,$BaseSuperNode_compile_using_send$2,$BaseSuperNode_def_scope$3,$BaseSuperNode_raise_exception$ques$4,$BaseSuperNode_defined_check_param$5,$BaseSuperNode_implicit_args$ques$6,$BaseSuperNode_implicit_arguments_param$7,$BaseSuperNode_method_id$8,$BaseSuperNode_def_scope_identity$9,$BaseSuperNode_super_method_invocation$10,$BaseSuperNode_super_block_invocation$11,$BaseSuperNode_compile_method$13,self=$klass($base,$super,“BaseSuperNode”);.concat($parent_nesting);self.$$prototype.sexp=self.$$prototype.def_scope=nil,Opal.def(self,“$initialize”,$BaseSuperNode_initialize$1=function($a){var $b,$c,rest,$zuper_ii,$iter=$BaseSuperNode_initialize$1.$$p,args=nil,last_child=nil,$zuper=nil,$zuper_i=nil;for($iter&&($BaseSuperNode_initialize$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$BaseSuperNode_initialize$1,!1),$zuper,$iter),args=[].concat(Opal.to_a(this.sexp)),$c=($c=($b=.concat(Opal.to_a(args))).length-1)<0?0:$c,rest=$slice.call($b,0,$c),last_child=null==$b?nil:$b,$truthy($truthy($b=last_child)?[“$include?”](last_child.$type()):$b)?(this.iter=last_child,args=rest):this.iter=this.$s(“js_tmp”,“null”),this.arglist=$send(this,“s”,.concat(Opal.to_a(args))),this.recvr=this.$s(“self”)},$BaseSuperNode_initialize$1.$$arity=-1),Opal.def(self,“$compile_using_send”,$BaseSuperNode_compile_using_send$2=function(){return this.$helper(“send”),this.$push(“$send(”),this.$compile_receiver(),this.$compile_method(),this.$compile_arguments(),this.$compile_block_pass(),this.$push(“)”)},$BaseSuperNode_compile_using_send$2.$$arity=0),self.$private(),Opal.def(self,“$def_scope”,$BaseSuperNode_def_scope$3=function(){var $a,self=this;return self.def_scope=$truthy($a=self.def_scope)?$a:$truthy(self.$scope()())?self.$scope():self.$scope().$find_parent_def()},$BaseSuperNode_def_scope$3.$$arity=0),Opal.def(self,“$raise_exception?”,$BaseSuperNode_raise_exception$ques$4=function(){return this.sexp.$type()(“defined_super”)},$BaseSuperNode_raise_exception$ques$4.$$arity=0),Opal.def(self,“$defined_check_param”,$BaseSuperNode_defined_check_param$5=function(){return $truthy(this())?“true”:“false”},$BaseSuperNode_defined_check_param$5.$$arity=0),Opal.def(self,“$implicit_args?”,$BaseSuperNode_implicit_args$ques$6=function(){return this.sexp.$type()(“zsuper”)},$BaseSuperNode_implicit_args$ques$6.$$arity=0),Opal.def(self,“$implicit_arguments_param”,$BaseSuperNode_implicit_arguments_param$7=function(){return $truthy(this())?“true”:“false”},$BaseSuperNode_implicit_arguments_param$7.$$arity=0),Opal.def(self,“$method_id”,$BaseSuperNode_method_id$8=function(){return this.$def_scope().$mid().$to_s()},$BaseSuperNode_method_id$8.$$arity=0),Opal.def(self,“$def_scope_identity”,$BaseSuperNode_def_scope_identity$9=function(){return this.$def_scope()(this.$def_scope().$mid())},$BaseSuperNode_def_scope_identity$9.$$arity=0),Opal.def(self,“$super_method_invocation”,$BaseSuperNode_super_method_invocation$10=function(){return $truthy(this.$def_scope().$defs())?“Opal.find_super_dispatcher(self, '”+this.$method_id()+“', ”+this.$def_scope_identity()+“, ”+this.$defined_check_param()+“, self.$$class.$$prototype)”:“Opal.find_super_dispatcher(self, '”+this.$method_id()+“', ”+this.$def_scope_identity()+“, ”+this.$defined_check_param()+“)”},$BaseSuperNode_super_method_invocation$10.$$arity=0),Opal.def(self,“$super_block_invocation”,$BaseSuperNode_super_block_invocation$11=function(){var $a,$b,$$12,chain,cur_defn;return $b=this.$scope().$super_chain(),chain=null==($a=Opal.to_ary($b))?nil:$a,cur_defn=null==$a?nil:$a,“Opal.find_iter_super_dispatcher(self, ”+(null==$a?nil:$a)+“, (”+$send(chain,“map”,[],($$12=function©{$$12.$$s;return null==c&&(c=nil),c+“.$$def”},$$12.$$s=this,$$12.$$arity=1,$$12)).$join(“ || ”)+“ || ”cur_defn
“), ”+this.$defined_check_param()+“, ”+this.$implicit_arguments_param()+“)”},$BaseSuperNode_super_block_invocation$11.$$arity=0),Opal.def(self,“$compile_method”,$BaseSuperNode_compile_method$13=function(){return this.$push(“, ”),$truthy(this.$scope()())?this.$push(this.$super_method_invocation()):$truthy(this.$scope()())?this.$push(this.$super_block_invocation()):this.$raise(“super must be called from method body or block”)},$BaseSuperNode_compile_method$13.$$arity=0)}($nesting,$$($nesting,“CallNode”),$nesting),function($base,$super,$parent_nesting){var $DefinedSuperNode_compile$14,self=$klass($base,$super,“DefinedSuperNode”);.concat($parent_nesting);self.$handle(“defined_super”),Opal.def(self,“$compile”,$DefinedSuperNode_compile$14=function(){return this.$compile_receiver(),this.$compile_method(),this.$wrap(“((”,') != null ? “super” : nil)')},$DefinedSuperNode_compile$14.$$arity=0)}($nesting,$$($nesting,“BaseSuperNode”),$nesting),function($base,$super,$parent_nesting){var $SuperNode_initialize$15,$SuperNode_compile$16,self=$klass($base,$super,“SuperNode”);.concat($parent_nesting);self.$handle(“super”),Opal.def(self,“$initialize”,$SuperNode_initialize$15=function($a){var $zuper_ii,$iter=$SuperNode_initialize$15.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($SuperNode_initialize$15.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$SuperNode_initialize$15,!1),$zuper,$iter),$truthy(this.$scope()())?this.$scope()():nil},$SuperNode_initialize$15.$$arity=-1),Opal.def(self,“$compile”,$SuperNode_compile$16=function(){return this.$compile_using_send()},$SuperNode_compile$16.$$arity=0)}($nesting,$$($nesting,“BaseSuperNode”),$nesting),function($base,$super,$parent_nesting){var $ZsuperNode_initialize$17,$ZsuperNode_compile$18,$ZsuperNode_compile_arguments$19,$ZsuperNode_block_name$20,self=$klass($base,$super,“ZsuperNode”),$nesting=.concat($parent_nesting);self.$handle(“zsuper”),Opal.def(self,“$initialize”,$ZsuperNode_initialize$17=function($a){var $zuper_ii,$iter=$ZsuperNode_initialize$17.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($ZsuperNode_initialize$17.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$ZsuperNode_initialize$17,!1),$zuper,$iter),this.$iter().$type()(“iter”)?nil:(this.$scope()(),this.iter=this.$s(“js_tmp”,“$iter”))},$ZsuperNode_initialize$17.$$arity=-1),Opal.def(self,“$compile”,$ZsuperNode_compile$18=function(){var $a,lhs,rhs,$writer=nil,implicit_args=nil,block_pass=nil;return $truthy(this.$def_scope())&&($writer=,$send(this.$def_scope(),“uses_zuper=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))],implicit_args=,$truthy($truthy($a=this.$block_name())?this.$iter()():$a)&&(block_pass=this.$s(“block_pass”,this.$s(“lvar”,this.$block_name())),implicit_args(block_pass)),this.arglist=$send(this,“s”,.concat(Opal.to_a(implicit_args)))),this.$compile_using_send()},$ZsuperNode_compile$18.$$arity=0),Opal.def(self,“$compile_arguments”,$ZsuperNode_compile_arguments$19=function(){return this.$push(“, ”),$truthy(this.$arglist().$children()())?this.$push(“[]”):this.$push(this.$expr(this.$arglist()))},$ZsuperNode_compile_arguments$19.$$arity=0),Opal.def(self,“$block_name”,$ZsuperNode_block_name$20=function(){var self=this,$case=nil;return $case=self.$def_scope(),$$$($$$($$($nesting,“Opal”),“Nodes”),“IterNode”)($case)?self.$def_scope().$block_name():$$$($$$($$($nesting,“Opal”),“Nodes”),“DefNode”)($case)?self.$def_scope().$block_name():self.$raise(“Don't know what to do with super in the scope ”+self.$def_scope())},$ZsuperNode_block_name$20.$$arity=0)}($nesting,$$($nesting,“SuperNode”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],$module=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module);return function($base,$parent_nesting){var $nesting=.concat($parent_nesting);Opal.const_set($nesting,“VERSION”,“1.0.0”)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$push”,“$version_comment”,“$opening”,“$in_scope”,“$stmt”,“$stmts”,“$is_a?”,“$eval?”,“$compiler”,“$add_temp”,“$add_used_helpers”,“$add_used_operators”,“$line”,“$to_vars”,“$scope”,“$compile_method_stubs”,“$compile_irb_vars”,“$compile_end_construct”,“$closing”,“$requirable?”,“$inspect”,“$module_name”,“$file”,“$returns”,“$body”,“$irb?”,“$to_a”,“$helpers”,“$each”,“$operator_helpers”,“$”,“$method_missing?”,“$method_calls”,“$join”,“$map”,“$empty?”,“$eof_content”]),self.$require(“pathname”),self.$require(“opal/version”),self.$require(“opal/nodes/scope”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $TopNode_compile$1,$TopNode_opening$3,$TopNode_closing$4,$TopNode_stmts$5,$TopNode_compile_irb_vars$6,$TopNode_add_used_helpers$7,$TopNode_add_used_operators$9,$TopNode_compile_method_stubs$11,$TopNode_compile_end_construct$13,$TopNode_version_comment$14,self=$klass($base,$super,“TopNode”),$nesting=.concat($parent_nesting);self.$handle(“top”),self.$children(“body”),Opal.def(self,“$compile”,$TopNode_compile$1=function(){var $$2;return this.$push(this.$version_comment()),this.$opening(),$send(this,“in_scope”,[],(($$2=function(){var self=$$2.$$s||this,body_code=nil;return body_code=self.$stmt(self.$stmts()),$truthy(body_code($$($nesting,“Array”)))||(body_code=),$truthy(self.$compiler()())?self.$add_temp(“$nesting = self.$$is_a_module ? [self] : [self.$$class]”):(self.$add_temp(“self = Opal.top”),self.$add_temp(“$nesting = []”)),self.$add_temp(“nil = Opal.nil”),self.$add_temp(“$$$ = Opal.const_get_qualified”),self.$add_temp(“$$ = Opal.const_get_relative”),self.$add_used_helpers(),self.$add_used_operators(),self.$line(self.$scope().$to_vars()),self.$compile_method_stubs(),self.$compile_irb_vars(),self.$compile_end_construct(),self.$line(body_code)}).$$s=this,$$2.$$arity=0,$$2)),this.$closing()},$TopNode_compile$1.$$arity=0),Opal.def(self,“$opening”,$TopNode_opening$3=function(){return $truthy(this.$compiler()())?this.$line(“Opal.modules = function(Opal) {”):$truthy(this.$compiler()())?this.$line(“(function(Opal, self) {”):this.$line(“(function(Opal) {”)},$TopNode_opening$3.$$arity=0),Opal.def(self,“$closing”,$TopNode_closing$4=function(){return $truthy(this.$compiler()())?this.$line(“};n”):$truthy(this.$compiler()())?this.$line(“})(Opal, self)”):this.$line(“})(Opal);n”)},$TopNode_closing$4.$$arity=0),Opal.def(self,“$stmts”,$TopNode_stmts$5=function(){return this.$compiler().$returns(this.$body())},$TopNode_stmts$5.$$arity=0),Opal.def(self,“$compile_irb_vars”,$TopNode_compile_irb_vars$6=function(){return $truthy(this.$compiler()())?this.$line(“if (!Opal.irb_vars) { Opal.irb_vars = {}; }”):nil},$TopNode_compile_irb_vars$6.$$arity=0),Opal.def(self,“$add_used_helpers”,$TopNode_add_used_helpers$7=function(){var $$8,helpers=nil;return helpers=this.$compiler().$helpers().$to_a(),$send(helpers.$to_a(),“each”,[],(($$8=function(h){var self=$$8.$$s||this;return null==h&&(h=nil),self.$add_temp(“$”h
“ = Opal.”+h)}).$$s=this,$$8.$$arity=1,$$8))},$TopNode_add_used_helpers$7.$$arity=0),Opal.def(self,“$add_used_operators”,$TopNode_add_used_operators$9=function(){var $$10,operators;return operators=this.$compiler().$operator_helpers().$to_a(),$send(operators,“each”,[],(($$10=function(op){var name,self=$$10.$$s||this;return null==op&&(op=nil),name=$$$($$$($$($nesting,“Nodes”),“CallNode”),“OPERATORS”)[“$”](op),self.$line(“function $rb_”name
“(lhs, rhs) {”),self.$line(“ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs ”op
“ rhs : lhs[‘$”op
“’](rhs);”),self.$line(“}”)}).$$s=this,$$10.$$arity=1,$$10))},$TopNode_add_used_operators$9.$$arity=0),Opal.def(self,“$compile_method_stubs”,$TopNode_compile_method_stubs$11=function(){var $$12,calls=nil,stubs=nil;return $truthy(this.$compiler()())?(calls=this.$compiler().$method_calls(),stubs=$send(calls.$to_a(),“map”,[],($$12=function(k){$$12.$$s;return null==k&&(k=nil),“'$”k
“'”},$$12.$$s=this,$$12.$$arity=1,$$12)).$join(“, ”),$truthy(stubs())?nil:this.$line(“Opal.add_stubs([”stubs
“]);”)):nil},$TopNode_compile_method_stubs$11.$$arity=0),Opal.def(self,“$compile_end_construct”,$TopNode_compile_end_construct$13=function(){var content=nil;return $truthy(content=this.$compiler().$eof_content())?(this.$line(“var $__END__ = Opal.Object.$new();”),this.$line(“$__END__.$read = function() { return ”+content.$inspect()+“; };”)):nil},$TopNode_compile_end_construct$13.$$arity=0),Opal.def(self,“$version_comment”,$TopNode_version_comment$14=function(){return“/* Generated by Opal ”+$$$($$($nesting,“Opal”),“VERSION”)+“ */”},$TopNode_version_comment$14.$$arity=0)}($nesting,$$($nesting,“ScopeNode”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$with_temp”,“$js_truthy”,“$test”,“$in_while”,“$compiler”,“$wrap_in_closure?”,“$=”,“$while_loop”,“$-”,“$stmt”,“$body”,“$uses_redo?”,“$push”,“$while_open”,“$while_close”,“$line”,“$wrap”,“$),self.$require(”opal/nodes/base“),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $WhileNode_compile$1,$WhileNode_while_open$4,$WhileNode_while_close$5,$WhileNode_uses_redo$ques$6,$WhileNode_wrap_in_closure$ques$7,self=$klass($base,$super,”WhileNode“);.concat($parent_nesting);self.$handle(”while“),self.$children(”test“,”body“),Opal.def(self,”$compile“,$WhileNode_compile$1=function(){var $$2;return $send(this,”with_temp“,[],(($$2=function(redo_var){var $$3,test_code,self=$$2.$$s||this;return null==redo_var&&(redo_var=nil),test_code=self.$js_truthy(self.$test()),$send(self.$compiler(),”in_while“,[],(($$3=function(){var body_code,self=$$3.$$s||this,$writer=nil;return $truthy(self())&&($writer=,$send(self.$while_loop(),”[]=“,Opal.to_a($writer)),$writer),$writer=,$send(self.$while_loop(),”[]=“,Opal.to_a($writer)),$writer,body_code=self.$stmt(self.$body()),$truthy(self())?(self.$push(redo_var+” = false; “+self.$while_open()redo_var
” || “),self.$push(test_code),self.$push(self.$while_close())):self.$push(self.$while_open(),test_code,self.$while_close()),$truthy(self())&&self.$push(redo_var+” = false;“),self.$line(body_code)}).$$s=self,$$3.$$arity=0,$$3)),self.$line(”}“)}).$$s=this,$$2.$$arity=1,$$2)),$truthy(this())?this.$wrap(”(function() {“,”; return nil; })()“):nil},$WhileNode_compile$1.$$arity=0),Opal.def(self,”$while_open“,$WhileNode_while_open$4=function(){return”while (“},$WhileNode_while_open$4.$$arity=0),Opal.def(self,”$while_close“,$WhileNode_while_close$5=function(){return”) {“},$WhileNode_while_close$5.$$arity=0),Opal.def(self,”$uses_redo?“,$WhileNode_uses_redo$ques$6=function(){return this.$while_loop()[”$“](”use_redo“)},$WhileNode_uses_redo$ques$6.$$arity=0),Opal.def(self,”$wrap_in_closure?“,$WhileNode_wrap_in_closure$ques$7=function(){var $a;return $truthy($a=this())?$a:this()},$WhileNode_wrap_in_closure$ques$7.$$arity=0)}($nesting,$$($nesting,”Base“),$nesting),function($base,$super,$parent_nesting){var self=$klass($base,$super,”WhilePostNode“);.concat($parent_nesting);self.$handle(”while_post“)}($nesting,$$($nesting,”WhileNode“),$nesting),function($base,$super,$parent_nesting){var $UntilNode_while_open$8,$UntilNode_while_close$9,self=$klass($base,$super,”UntilNode“);.concat($parent_nesting);self.$handle(”until“),Opal.def(self,”$while_open“,$UntilNode_while_open$8=function(){return”while (!(“},$UntilNode_while_open$8.$$arity=0),Opal.def(self,”$while_close“,$UntilNode_while_close$9=function(){return”)) {“},$UntilNode_while_close$9.$$arity=0)}($nesting,$$($nesting,”WhileNode“),$nesting),function($base,$super,$parent_nesting){var self=$klass($base,$super,”UntilPostNode“);.concat($parent_nesting);self.$handle(”until_post“)}($nesting,$$($nesting,”UntilNode“),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy,$hash2=Opal.hash2;return Opal.add_stubs([”$require“,”$handle“,”$attr_accessor“,”$each“,”$children“,”$type“,”$===“,”$<<","$“,”$all?“,”$keys“,”$include?“,”$has_kwsplat“,”$compile_merge“,”$simple_keys?“,”$compile_hash2“,”$compile_hash“,”$helper“,”$==“,”$empty?“,”$expr“,”$s“,”$each_with_index“,”$push“,”$wrap“,”$times“,”$size“,”$inspect“,”$to_s“,”$values“,”$),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $HashNode_initialize$1,$HashNode_simple_keys$ques$3,$HashNode_compile$5,$HashNode_compile_merge$6,$HashNode_compile_hash$9,$HashNode_compile_hash2$11,self=$klass($base,$super,“HashNode”);.concat($parent_nesting);self.$handle(“hash”),self.$attr_accessor(“has_kwsplat”,“keys”,“values”),Opal.def(self,“$initialize”,$HashNode_initialize$1=function($a){var $$2,$zuper_ii,$iter=$HashNode_initialize$1.$$p,$zuper=nil,$zuper_i=nil;for($iter&&($HashNode_initialize$1.$$p=null),$zuper_i=0,$zuper_ii=arguments.length,$zuper=new Array($zuper_ii);$zuper_i<$zuper_ii;$zuper_i++)$zuper=arguments;return Opal.slice.call(arguments,0,arguments.length),$send(this,Opal.find_super_dispatcher(this,“initialize”,$HashNode_initialize$1,!1),$zuper,$iter),this.has_kwsplat=!1,this.keys=[],this.values=,$send(this.$children(),“each”,[],(($$2=function(child){var self=$$2.$$s||this,$case=nil;return null==self.keys&&(self.keys=nil),null==self.values&&(self.values=nil),null==child&&(child=nil),$case=child.$type(),“kwsplat”($case)?self.has_kwsplat=!0:“pair”($case)?(self.keys(child.$children()[“$”](0)),self.values(child.$children()[“$”](1))):nil}).$$s=this,$$2.$$arity=1,$$2))},$HashNode_initialize$1.$$arity=-1),Opal.def(self,“$simple_keys?”,$HashNode_simple_keys$ques$3=function(){var $$4;return $send(this.$keys(),“all?”,[],(($$4=function(key){$$4.$$s;return null==key&&(key=nil),[“$include?”](key.$type())}).$$s=this,$$4.$$arity=1,$$4))},$HashNode_simple_keys$ques$3.$$arity=0),Opal.def(self,“$compile”,$HashNode_compile$5=function(){return $truthy(this.$has_kwsplat())?this.$compile_merge():$truthy(this())?this.$compile_hash2():this.$compile_hash()},$HashNode_compile$5.$$arity=0),Opal.def(self,“$compile_merge”,$HashNode_compile_merge$6=function(){var $a,$$7,$$8,result=nil,seq=nil;return this.$helper(“hash”),result=($a=[,[]])[0],seq=$a,$send(this.$children(),“each”,[],(($$7=function(child){var self=$$7.$$s||this;return null==child&&(child=nil),child.$type()(“kwsplat”)?($truthy(seq())||result(self.$expr($send(self,“s”,.concat(Opal.to_a(seq))))),result(self.$expr(child)),seq=[]):seq(child)}).$$s=this,$$7.$$arity=1,$$7)),$truthy(seq())||result(this.$expr($send(this,“s”,.concat(Opal.to_a(seq))))),$send(result,“each_with_index”,[],(($$8=function(fragment,idx){var self=$$8.$$s||this;return null==fragment&&(fragment=nil),null==idx&&(idx=nil),idx(0)?self.$push(fragment):self.$push(“.$merge(”,fragment,“)”)}).$$s=this,$$8.$$arity=2,$$8))},$HashNode_compile_merge$6.$$arity=0),Opal.def(self,“$compile_hash”,$HashNode_compile_hash$9=function(){var $$10;return this.$helper(“hash”),$send(this.$children(),“each_with_index”,[],(($$10=function(pair,idx){var $a,$b,key,value,self=$$10.$$s||this;return null==pair&&(pair=nil),null==idx&&(idx=nil),$b=pair.$children(),key=null==($a=Opal.to_ary($b))?nil:$a,value=null==$a?nil:$a,idx(0)||self.$push(“, ”),self.$push(self.$expr(key),“, ”,self.$expr(value))}).$$s=this,$$10.$$arity=2,$$10)),this.$wrap(“$hash(”,“)”)},$HashNode_compile_hash$9.$$arity=0),Opal.def(self,“$compile_hash2”,$HashNode_compile_hash2$11=function(){var $a,$$12,$$13,hash_obj=nil,hash_keys=nil;return $a=[$hash2(,{}),[]],hash_obj=$a,hash_keys=$a,this.$helper(“hash2”),$send(this.$keys().$size(),“times”,[],(($$12=function(idx){var key,$writer,lhs,rhs,self=$$12.$$s||this;return null==idx&&(idx=nil),key=self.$keys()[“$”](idx).$children()[“$”](0).$to_s().$inspect(),$truthy(hash_obj(key))||hash_keys(key),$writer=[key,self.$expr(self.$values()[“$”](idx))],$send(hash_obj,“[]=”,Opal.to_a($writer)),$writer[(lhs=$writer.length,rhs=1,“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs))]}).$$s=this,$$12.$$arity=1,$$12)),$send(hash_keys,“each_with_index”,[],(($$13=function(key,idx){var self=$$13.$$s||this;return null==key&&(key=nil),null==idx&&(idx=nil),idx(0)||self.$push(“, ”),self.$push(key+“: ”),self.$push(hash_obj[“$”](key))}).$$s=this,$$13.$$arity=2,$$13)),this.$wrap(“$hash2([”+hash_keys.$join(“, ”)+“], {”,“})”)},$HashNode_compile_hash2$11.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting),function($base,$super,$parent_nesting){var $KwSplatNode_compile$14,self=$klass($base,$super,“KwSplatNode”);.concat($parent_nesting);self.$handle(“kwsplat”),self.$children(“value”),Opal.def(self,“$compile”,$KwSplatNode_compile$14=function(){return this.$push(“Opal.to_hash(”,this.$expr(this.$value()),“)”)},$KwSplatNode_compile$14.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ArrayNode_compile$1,self=$klass($base,$super,“ArrayNode”);.concat($parent_nesting);self.$handle(“array”),Opal.def(self,“$compile”,$ArrayNode_compile$1=function(){var $a,$$2,code=nil,work=nil,join=nil;return $truthy(this.$children()())?this.$push(“[]”):(code=($a=[,[]])[0],work=$a,$send(this.$children(),“each”,[],(($$2=function(child){var splat,part,self=$$2.$$s||this;return null==child&&(child=nil),splat=child.$type()(“splat”),part=self.$expr(child),$truthy(splat)?($truthy(work())?$truthy(code())?code(self.$fragment(“[].concat(”))(part)(self.$fragment(“)”)):code(self.$fragment(“.concat(”))(part)(self.$fragment(“)”)):($truthy(code())?code(self.$fragment(“[”))(work)(self.$fragment(“]”)):code(self.$fragment(“.concat([”))(work)(self.$fragment(“])”)),code(self.$fragment(“.concat(”))(part)(self.$fragment(“)”))),work=[]):($truthy(work())||work(self.$fragment(“, ”)),work(part))}).$$s=this,$$2.$$arity=1,$$2)),$truthy(work())||(join=[this.$fragment(“”)],$truthy(code())?code=join:code.$push()),this.$push(code))},$ArrayNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$slice=(Opal.breaker,Opal.slice),$module=Opal.module,$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send,$range=Opal.range;return Opal.add_stubs([“$require”,“$handle”,“$children”,“$type”,“$value”,“$===”,“$push”,“$inspect”,“$to_s”,“$==”,“$size”,“$”,“$compile_defined_send”,“$wrap”,“$compile_defined_ivar”,“$compile_defined_super”,“$compile_defined_yield”,“$compile_defined_xstr”,“$compile_defined_const”,“$compile_defined_cvar”,“$compile_defined_gvar”,“$compile_defined_back_ref”,“$compile_defined_nth_ref”,“$compile_defined_array”,“$respond_to?”,“$__send__”,“$new_temp”,“$scope”,“$expr”,“$wrap_with_try_catch”,“$mid_to_jsid”,“$compile_defined”,“$compile_send_recv_doesnt_raise”,“$each”,“$s”,“$uses_block!”,“$block_name”,“$find_parent_def”,“$nil?”,“$class_variable_owner”,“$helper”,“$include?”,“$each_with_index”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $DefinedNode_compile$1,$DefinedNode_compile_defined$2,$DefinedNode_wrap_with_try_catch$3,$DefinedNode_compile_send_recv_doesnt_raise$4,$DefinedNode_compile_defined_send$5,$DefinedNode_compile_defined_ivar$7,$DefinedNode_compile_defined_super$8,$DefinedNode_compile_defined_yield$9,$DefinedNode_compile_defined_xstr$10,$DefinedNode_compile_defined_const$11,$DefinedNode_compile_defined_cvar$12,$DefinedNode_compile_defined_gvar$13,$DefinedNode_compile_defined_back_ref$14,$DefinedNode_compile_defined_nth_ref$15,$DefinedNode_compile_defined_array$16,self=$klass($base,$super,“DefinedNode”);.concat($parent_nesting);self.$handle(“defined?”),self.$children(“value”),Opal.def(self,“$compile”,$DefinedNode_compile$1=function(){var self=this,$case=nil;return $case=self.$value().$type(),“self”($case)||“nil”($case)||“false”($case)||“true”($case)?self.$push(self.$value().$type().$to_s().$inspect()):“lvasgn”($case)||“ivasgn”($case)||“gvasgn”($case)||“cvasgn”($case)||“casgn”($case)||“op_asgn”($case)||“or_asgn”($case)||“and_asgn”($case)?self.$push(“‘assignment’”):“lvar”($case)?self.$push(“‘local-variable’”):“begin”($case)?$truthy(self.$value().$children().$size()(1)?self.$value().$children()[“$”](0).$type()(“masgn”):self.$value().$children().$size()(1))?self.$push(“‘assignment’”):self.$push(“‘expression’”):“send”($case)?(self.$compile_defined_send(self.$value()),self.$wrap(“(”,“ ? 'method' : nil)”)):“ivar”($case)?(self.$compile_defined_ivar(self.$value()),self.$wrap(“(”,“ ? 'instance-variable' : nil)”)):“zsuper”($case)||“super”($case)?self.$compile_defined_super():“yield”($case)?(self.$compile_defined_yield(),self.$wrap(“(”,“ ? 'yield' : nil)”)):“xstr”($case)?self.$compile_defined_xstr(self.$value()):“const”($case)?(self.$compile_defined_const(self.$value()),self.$wrap(“(”,“ ? 'constant' : nil)”)):“cvar”($case)?(self.$compile_defined_cvar(self.$value()),self.$wrap(“(”,“ ? 'class variable' : nil)”)):“gvar”($case)?(self.$compile_defined_gvar(self.$value()),self.$wrap(“(”,“ ? 'global-variable' : nil)”)):“back_ref”($case)?(self.$compile_defined_back_ref(),self.$wrap(“(”,“ ? 'global-variable' : nil)”)):“nth_ref”($case)?(self.$compile_defined_nth_ref(),self.$wrap(“(”,“ ? 'global-variable' : nil)”)):“array”($case)?(self.$compile_defined_array(self.$value()),self.$wrap(“(”,“ ? 'expression' : nil)”)):self.$push(“'expression'”)},$DefinedNode_compile$1.$$arity=0),Opal.def(self,“$compile_defined”,$DefinedNode_compile_defined$2=function(node){var type,node_tmp=nil;return type=node.$type(),$truthy(this(“compile_defined_”+type))?this.$__send__(“compile_defined_”+type,node):(node_tmp=this.$scope().$new_temp(),this.$push(“(”node_tmp
“ = ”,this.$expr(node),“)”),node_tmp)},$DefinedNode_compile_defined$2.$$arity=1),Opal.def(self,“$wrap_with_try_catch”,$DefinedNode_wrap_with_try_catch$3=function(code){var returning_tmp;return returning_tmp=this.$scope().$new_temp(),this.$push(“(”returning_tmp
“ = (function() { try {”),this.$push(“ return ”code
“;”),this.$push(“} catch ($err) {”),this.$push(“ if (Opal.rescue($err, [Opal.Exception])) {”),this.$push(“ try {”),this.$push(“ return false;”),this.$push(“ } finally { Opal.pop_exception() }”),this.$push(“ } else { throw $err; }”),this.$push(“}})())”),returning_tmp},$DefinedNode_wrap_with_try_catch$3.$$arity=1),Opal.def(self,“$compile_send_recv_doesnt_raise”,$DefinedNode_compile_send_recv_doesnt_raise$4=function(recv_code){return this.$wrap_with_try_catch(recv_code)},$DefinedNode_compile_send_recv_doesnt_raise$4.$$arity=1),Opal.def(self,“$compile_defined_send”,$DefinedNode_compile_defined_send$5=function(node){var $a,$$6,args,mid,recv_value_tmp,meth_tmp,recv=nil,method_name=nil,recv_code=nil,recv_tmp=nil;return recv=null==($a=[].concat(Opal.to_a(node)))?nil:$a,method_name=null==$a?nil:$a,args=$slice.call($a,2),mid=this.$mid_to_jsid(method_name.$to_s()),$truthy(recv)?(recv_code=this.$compile_defined(recv),this.$push(“ && ”),recv.$type()(“send”)&&(recv_code=this.$compile_send_recv_doesnt_raise(recv_code),this.$push(“ && ”)),recv_tmp=this.$scope().$new_temp(),this.$push(“(”recv_tmp
“ = ”,recv_code,“, ”recv_tmp
“) && ”)):recv_tmp=“self”,recv_value_tmp=this.$scope().$new_temp(),this.$push(“(”recv_value_tmp
“ = ”recv_tmp
“) && ”),meth_tmp=this.$scope().$new_temp(),this.$push(“(((”meth_tmp
“ = ”+recv_value_tmp+mid+“) && !”meth_tmp
“.$$stub)”),this.$push(“ || ”recv_value_tmp
“('”method_name
“'))”),$send(args,“each”,[],(($$6=function(arg){var self=$$6.$$s||this,$case=nil;return null==arg&&(arg=nil),$case=arg.$type(),“block_pass”($case)?nil:(self.$push(“ && ”),self.$compile_defined(arg))}).$$s=this,$$6.$$arity=1,$$6)),this.$wrap(“(”,“)”),meth_tmp+“()”},$DefinedNode_compile_defined_send$5.$$arity=1),Opal.def(self,“$compile_defined_ivar”,$DefinedNode_compile_defined_ivar$7=function(node){var name,tmp;return name=node.$children()[“$”](0).$to_s()[“$”]($range(1,-1,!1)),tmp=this.$scope().$new_temp(),this.$push(“(”tmp
“ = self[‘”name
“’], ”tmp
“ != null && ”tmp
“ !== nil)”),tmp},$DefinedNode_compile_defined_ivar$7.$$arity=1),Opal.def(self,“$compile_defined_super”,$DefinedNode_compile_defined_super$8=function(){return this.$push(this.$expr(this.$s(“defined_super”)))},$DefinedNode_compile_defined_super$8.$$arity=0),Opal.def(self,“$compile_defined_yield”,$DefinedNode_compile_defined_yield$9=function(){var $a,block_name;return this.$scope()(),block_name=$truthy($a=this.$scope().$block_name())?$a:this.$scope().$find_parent_def().$block_name(),this.$push(“(”block_name
“ != null && ”block_name
“ !== nil)”),block_name},$DefinedNode_compile_defined_yield$9.$$arity=0),Opal.def(self,“$compile_defined_xstr”,$DefinedNode_compile_defined_xstr$10=function(node){return this.$push(“(typeof(”,this.$expr(node),') !== “undefined”)')},$DefinedNode_compile_defined_xstr$10.$$arity=1),Opal.def(self,“$compile_defined_const”,$DefinedNode_compile_defined_const$11=function(node){var $a,const_name,const_tmp,const_scope=nil,const_scope_tmp=nil;return const_scope=null==($a=[].concat(Opal.to_a(node)))?nil:$a,const_name=null==$a?nil:$a,const_tmp=this.$scope().$new_temp(),$truthy(const_scope())?this.$push(“(”const_tmp
“ = $$($nesting, '”const_name
“', 'skip_raise’))”):const_scope(this.$s(“cbase”))?this.$push(“(”const_tmp
“ = $$$('::', '”const_name
“', 'skip_raise'))”):(const_scope_tmp=this.$compile_defined(const_scope),this.$push(“ && (”const_tmp
“ = $$$(”const_scope_tmp
“, '”const_name
“', 'skip_raise'))”)),const_tmp},$DefinedNode_compile_defined_const$11.$$arity=1),Opal.def(self,“$compile_defined_cvar”,$DefinedNode_compile_defined_cvar$12=function(node){var $a,cvar_name,cvar_tmp;return cvar_name=null==($a=[].concat(Opal.to_a(node)))?nil:$a,null==$a?nil:$a,cvar_tmp=this.$scope().$new_temp(),this.$push(“(”cvar_tmp
“ = ”+this.$class_variable_owner()+“.$$cvars[‘”cvar_name
“’], ”cvar_tmp
“ != null)”),cvar_tmp},$DefinedNode_compile_defined_cvar$12.$$arity=1),Opal.def(self,“$compile_defined_gvar”,$DefinedNode_compile_defined_gvar$13=function(node){var gvar_temp,name=nil;return this.$helper(“gvars”),name=node.$children()[“$”](0).$to_s()[“$”]($range(1,-1,!1)),gvar_temp=this.$scope().$new_temp(),$truthy([“$include?”](name))?this.$push(“(”gvar_temp
“ = ”,this.$expr(node),“ || true)”):this.$push(“(”gvar_temp
“ = $gvars, ”gvar_temp
“ != null)”),gvar_temp},$DefinedNode_compile_defined_gvar$13.$$arity=1),Opal.def(self,“$compile_defined_back_ref”,$DefinedNode_compile_defined_back_ref$14=function(){var back_ref_temp;return this.$helper(“gvars”),back_ref_temp=this.$scope().$new_temp(),this.$push(“(”back_ref_temp
“ = $gvars, ”back_ref_temp
“ != null && ”back_ref_temp
“ !== nil)”),back_ref_temp},$DefinedNode_compile_defined_back_ref$14.$$arity=0),Opal.def(self,“$compile_defined_nth_ref”,$DefinedNode_compile_defined_nth_ref$15=function(){var nth_ref_tmp;return this.$helper(“gvars”),nth_ref_tmp=this.$scope().$new_temp(),this.$push(“(”nth_ref_tmp
“ = $gvars, ”nth_ref_tmp
“ != null && ”nth_ref_tmp
“ != nil)”),nth_ref_tmp},$DefinedNode_compile_defined_nth_ref$15.$$arity=0),Opal.def(self,“$compile_defined_array”,$DefinedNode_compile_defined_array$16=function(node){var $$17;return $send(node.$children(),“each_with_index”,[],(($$17=function(child,idx){var self=$$17.$$s||this;return null==child&&(child=nil),null==idx&&(idx=nil),idx(0)||self.$push(“ && ”),self.$compile_defined(child)}).$$s=this,$$17.$$arity=2,$$17))},$DefinedNode_compile_defined_array$16.$$arity=1)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs([“$require”,“$freeze”,“$handle”,“$children”,“$new_temp”,“$scope”,“$==”,“$type”,“$rhs”,“$push”,“$expr”,“$any?”,“$size”,“$compile_masgn”,“$lhs”,“$queue_temp”,“$take_while”,“$!=”,“$drop”,“$each_with_index”,“$compile_assignment”,“$empty?”,“$shift”,“$”,“$<<”,“$dup”,“$s”,“$!”,“$>=”,“$updated”,“$include?”,“$+”,“$last”,“$raise”]),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $MassAssignNode_compile$1,$MassAssignNode_compile_masgn$3,$MassAssignNode_compile_assignment$7,self=$klass($base,$super,“MassAssignNode”),$nesting=.concat($parent_nesting);Opal.const_set($nesting,“SIMPLE_ASSIGNMENT”,.$freeze()),self.$handle(“masgn”),self.$children(“lhs”,“rhs”),Opal.def(self,“$compile”,$MassAssignNode_compile$1=function(){var $$2,array,self=this,rhs_len=nil,retval=nil;return array=self.$scope().$new_temp(),self.$rhs().$type()(“array”)?(self.$push(array+“ = ”,self.$expr(self.$rhs())),rhs_len=$truthy($send(self.$rhs().$children(),“any?”,[],(($$2=function©{return $$2.$$s,null==c&&(c=nil),c.$type()(“splat”)}).$$s=self,$$2.$$arity=1,$$2)))?nil:self.$rhs().$children().$size(),self.$compile_masgn(self.$lhs().$children(),array,rhs_len),self.$push(“, ”+array)):(self.$rhs().$type()(“begin”),retval=self.$scope().$new_temp(),self.$push(retval+“ = ”,self.$expr(self.$rhs())),self.$push(“, ”array
“ = Opal.to_ary(”retval
“)”),self.$compile_masgn(self.$lhs().$children(),array),self.$push(“, ”+retval),self.$scope().$queue_temp(retval)),self.$scope().$queue_temp(array)},$MassAssignNode_compile$1.$$arity=0),Opal.def(self,“$compile_masgn”,$MassAssignNode_compile_masgn$3=function(lhs_items,array,len){var $$4,$$5,$$6,pre_splat=nil,post_splat=nil,splat=nil,part=nil,tmp=nil;return null==len&&(len=nil),pre_splat=$send(lhs_items,“take_while”,[],(($$4=function(child){$$4.$$s;return null==child&&(child=nil),child.$type()(“splat”)}).$$s=this,$$4.$$arity=1,$$4)),post_splat=lhs_items.$drop(pre_splat.$size()),$send(pre_splat,“each_with_index”,[],(($$5=function(child,idx){var self=$$5.$$s||this;return null==child&&(child=nil),null==idx&&(idx=nil),self.$compile_assignment(child,array,idx,len)}).$$s=this,$$5.$$arity=2,$$5)),$truthy(post_splat())?nil:(splat=post_splat.$shift(),$truthy(post_splat())?$truthy(part=splat.$children()[“$”](0))?(part=part.$dup()(this.$s(“js_tmp”,“$slice.call(”array
“, ”+pre_splat.$size()+“)”)),this.$push(“, ”),this.$push(this.$expr(part))):nil:(tmp=this.$scope().$new_temp(),this.$push(“, ”tmp
“ = ”array
“.length - ”+post_splat.$size()),this.$push(“, ”tmp
“ = (”tmp
“ < ”+pre_splat.$size()+“) ? ”+pre_splat.$size()+“ : ”+tmp),$truthy(part=splat.$children()[“$”](0))&&(part=part.$dup()(this.$s(“js_tmp”,“$slice.call(”array
“, ”+pre_splat.$size()+“, ”tmp
“)”)),this.$push(“, ”),this.$push(this.$expr(part))),$send(post_splat,“each_with_index”,[],(($$6=function(child,idx){var self=$$6.$$s||this;return null==child&&(child=nil),null==idx&&(idx=nil),idx(0)?self.$compile_assignment(child,array,tmp):self.$compile_assignment(child,array,tmp+“ + ”+idx)}).$$s=this,$$6.$$arity=2,$$6)),this.$scope().$queue_temp(tmp)))},$MassAssignNode_compile_masgn$3.$$arity=-3),Opal.def(self,“$compile_assignment”,$MassAssignNode_compile_assignment$7=function(child,array,idx,len){var $a,lhs,rhs,self=this,assign=nil,part=nil,tmp=nil;if(null==len&&(len=nil),assign=$truthy($truthy($a=len())?$a:(rhs=len,“number”==typeof(lhs=idx)&&“number”==typeof =“”>rhs?rhs<=lhs:lhs(rhs)))?self.$s(“js_tmp”,“(”array
“[”idx
“] == null ? nil : ”array
“[”idx
“])”):self.$s(“js_tmp”,array+“[”idx
“]”),part=child.$updated(),$truthy($$($nesting,“SIMPLE_ASSIGNMENT”)(child.$type())))part=part.$updated(nil,$rb_plus(part.$children(),));else if(child.$type()(“send”))part=part.$updated(nil,$rb_plus(part.$children(),));else if(child.$type()(“attrasgn”))part.$last()(assign);else{if(child.$type()(“mlhs”))return tmp=self.$scope().$new_temp(),self.$push(“, (”tmp
“ = Opal.to_ary(”+assign.$children()[“$”](0)+“)”),self.$compile_masgn(child.$children(),tmp),self.$push(“)”),self.$scope().$queue_temp(tmp),nil;self.$raise(“Bad child node in masgn LHS: ”child
“. LHS: ”+self.$lhs())}return self.$push(“, ”),self.$push(self.$expr(part))},$MassAssignNode_compile_assignment$7.$$arity=-4)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),self.$require(“opal/nodes/base”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $ArglistNode_compile$1,self=$klass($base,$super,“ArglistNode”);.concat($parent_nesting);self.$handle(“arglist”),Opal.def(self,“$compile”,$ArglistNode_compile$1=function(){var $a,$$2,code=nil,work=nil,join=nil;return code=($a=[,[]])[0],work=$a,$send(this.$children(),“each”,[],(($$2=function(current){var splat,arg,self=$$2.$$s||this;return null==current&&(current=nil),splat=current.$type()(“splat”),arg=self.$expr(current),$truthy(splat)?($truthy(work())?$truthy(code())?code(arg):code(self.$fragment(“.concat(”))(arg)(self.$fragment(“)”)):($truthy(code())?code(self.$fragment(“[”))(work)(self.$fragment(“]”)):code(self.$fragment(“.concat([”))(work)(self.$fragment(“])”)),code(self.$fragment(“.concat(”))(arg)(self.$fragment(“)”))),work=[]):($truthy(work())||work(self.$fragment(“, ”)),work(arg))}).$$s=this,$$2.$$arity=1,$$2)),$truthy(work())||(join=work,$truthy(code())?code=join:code(this.$fragment(“.concat([”))(join)(this.$fragment(“])”))),$send(this,“push”,Opal.to_a(code))},$ArglistNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send,$range=Opal.range,$lambda=Opal.lambda;return Opal.add_stubs([“$handle”,“$unpack_return”,“$children”,“$strip_empty_children”,“$single_line?”,“$compile_single_line”,“$each”,“$compile_child”,“$recv?”,“$wrap”,“$push”,“$private”,“$type”,“$===”,“$source”,“$expression”,“$loc”,“$new”,“$scope”,“$expr”,“$raise”,“$shift”,“$empty?”,“$s”,“$==”,“$strip”,“$=~”,“$!”,“$pop”,“$extract_last_value”,“$rstrip”,“$expr?”,“$end_with?”,“$warning”,“$compiler”,“$line”,“$”,“$size”,“$none?”,“$first”,“$dup”,“$nil?”,“$any?”,“$last”]),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $XStringNode_compile$1,$XStringNode_compile_child$3,$XStringNode_compile_single_line$4,$XStringNode_extract_last_value$6,$XStringNode_single_line$ques$7,$XStringNode_unpack_return$9,$XStringNode_strip_empty_children$10,self=$klass($base,$super,“XStringNode”),$nesting=.concat($parent_nesting);self.$$prototype.should_add_semicolon=self.$$prototype.returning=nil,self.$handle(“xstr”),Opal.def(self,“$compile”,$XStringNode_compile$1=function(){var $$2,unpacked_children,stripped_children;return this.should_add_semicolon=!1,unpacked_children=this.$unpack_return(this.$children()),stripped_children=this.$strip_empty_children(unpacked_children),$truthy(this(stripped_children))?this.$compile_single_line(stripped_children):$send(unpacked_children,“each”,[],(($$2=function©{var self=$$2.$$s||this;return null==c&&(c=nil),self.$compile_child©}).$$s=this,$$2.$$arity=1,$$2)),$truthy(this())&&this.$wrap(“(”,“)”),$truthy(this.should_add_semicolon)?this.$push(“;”):nil},$XStringNode_compile$1.$$arity=0),self.$private(),Opal.def(self,“$compile_child”,$XStringNode_compile_child$3=function(child){var self=this,$case=nil,value=nil;return $case=child.$type(),“str”($case)?(value=child.$loc().$expression().$source(),self.$push($$($nesting,“Fragment”).$new(value,self.$scope(),child))):“begin”($case)||“gvar”($case)||“ivar”($case)||“nil”($case)?self.$push(self.$expr(child)):self.$raise(“Unsupported xstr part: ”+child.$type())},$XStringNode_compile_child$3.$$arity=1),Opal.def(self,“$compile_single_line”,$XStringNode_compile_single_line$4=function(children){var $a,$$5,single_child,has_embeded_return=nil,first_child=nil,last_child=nil,last_value=nil;return has_embeded_return=!1,first_child=children.$shift(),single_child=children(),(first_child=$truthy($a=first_child)?$a:this.$s(“nil”)).$type()(“str”)&&(has_embeded_return=first_child.$loc().$expression().$source().$strip()(/^returnb/)),$truthy($truthy($a=this.returning)?has_embeded_return():$a)&&this.$push(“return ”),(last_child=$truthy($a=children.$pop())?$a:first_child).$type()(“str”)&&(last_value=this.$extract_last_value(last_child)),$truthy(single_child)||(this.should_add_semicolon=!1,this.$compile_child(first_child),$send(children,“each”,[],(($$5=function©{var self=$$5.$$s||this;return null==c&&(c=nil),self.$compile_child©}).$$s=this,$$5.$$arity=1,$$5))),last_child.$type()(“str”)?this.$push($$($nesting,“Fragment”).$new(last_value,this.$scope(),last_child)):this.$compile_child(last_child)},$XStringNode_compile_single_line$4.$$arity=1),Opal.def(self,“$extract_last_value”,$XStringNode_extract_last_value$6=function(last_child){var $a,$b,last_value=nil;return last_value=last_child.$loc().$expression().$source().$rstrip(),$truthy($truthy($a=$truthy($b=this.returning)?$b:this())?last_value(“;”):$a)&&(this.$compiler().$warning(“Removed semicolon ending x-string expression, interpreted as unintentional”,last_child.$line()),last_value=last_value[“$”]($range(0,-2,!1))),$truthy(this.returning)&&(this.should_add_semicolon=!0),last_value},$XStringNode_extract_last_value$6.$$arity=1),Opal.def(self,“$single_line?”,$XStringNode_single_line$ques$7=function(children){var $a,$$8;return $truthy($a=children.$size()(1))?$a:$send(children,“none?”,[],(($$8=function©{$$8.$$s;return null==c&&(c=nil),c.$type()(“str”)?c.$loc().$expression().$source()(“n”):c.$type()(“str”)}).$$s=this,$$8.$$arity=1,$$8))},$XStringNode_single_line$ques$7.$$arity=1),Opal.def(self,“$unpack_return”,$XStringNode_unpack_return$9=function(children){var first_child=nil;return first_child=children.$first(),this.returning=!1,first_child.$type()(“js_return”)&&(this.returning=!0,children=first_child.$children()),children},$XStringNode_unpack_return$9.$$arity=1),Opal.def(self,“$strip_empty_children”,$XStringNode_strip_empty_children$10=function(children){var $$11,$b,empty_line=nil;for(children=children.$dup(),empty_line=$lambda((($$11=function(child){var $a;$$11.$$s;return null==child&&(child=nil),$truthy($a=child())?$a:child.$type()(“str”)?child.$loc().$expression().$source().$rstrip()():child.$type()(“str”)}).$$s=this,$$11.$$arity=1,$$11));$truthy($truthy($b=children())?empty_line[“$”](children.$first()):$b);)children.$shift();for(;$truthy($truthy($b=children())?empty_line[“$”](children.$last()):$b);)children.$pop();return children},$XStringNode_strip_empty_children$10.$$arity=1)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],$$=(Opal.nil,Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass;return Opal.add_stubs(),self.$require(“opal/nodes/call”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $LambdaNode_compile$1,self=$klass($base,$super,“LambdaNode”);.concat($parent_nesting);self.$handle(“lambda”),self.$children(“iter”),Opal.def(self,“$compile”,$LambdaNode_compile$1=function(){return this.$helper(“lambda”),this.$push(“$lambda(”,this.$expr(this.$iter()),“)”)},$LambdaNode_compile$1.$$arity=0)}($nesting,$$($nesting,“Base”),$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top;Opal.nil,Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice;return Opal.add_stubs(),self.$require(“opal/nodes/base”),self.$require(“opal/nodes/literal”),self.$require(“opal/nodes/variables”),self.$require(“opal/nodes/constants”),self.$require(“opal/nodes/call”),self.$require(“opal/nodes/csend”),self.$require(“opal/nodes/call_special”),self.$require(“opal/nodes/module”),self.$require(“opal/nodes/class”),self.$require(“opal/nodes/singleton_class”),self.$require(“opal/nodes/args”),self.$require(“opal/nodes/args/arity_check”),self.$require(“opal/nodes/iter”),self.$require(“opal/nodes/def”),self.$require(“opal/nodes/defs”),self.$require(“opal/nodes/if”),self.$require(“opal/nodes/logic”),self.$require(“opal/nodes/definitions”),self.$require(“opal/nodes/yield”),self.$require(“opal/nodes/rescue”),self.$require(“opal/nodes/case”),self.$require(“opal/nodes/super”),self.$require(“opal/nodes/top”),self.$require(“opal/nodes/while”),self.$require(“opal/nodes/hash”),self.$require(“opal/nodes/array”),self.$require(“opal/nodes/defined”),self.$require(“opal/nodes/masgn”),self.$require(“opal/nodes/arglist”),self.$require(“opal/nodes/x_string”),self.$require(“opal/nodes/lambda”)},Opal.modules=function(Opal){Opal.top;var $nesting=[],nil=Opal.nil,$module=(Opal.const_get_qualified,Opal.const_get_relative,Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send,$range=Opal.range;return Opal.add_stubs([“$empty?”,“$”,“$last_token_position”,“$drop_while”,“$lines”,“$==”,“$join”,“$private”,“$last”,“$end_pos”]),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){var $EofContent_initialize$1,$EofContent_eof$2,$EofContent_last_token_position$4,self=$klass($base,null,“EofContent”),$nesting=.concat($parent_nesting);self.$$prototype.tokens=self.$$prototype.source=nil,Opal.const_set($nesting,“DATA_SEPARATOR”,“__END__n”),Opal.def(self,“$initialize”,$EofContent_initialize$1=function(tokens,source){return this.tokens=tokens,this.source=source},$EofContent_initialize$1.$$arity=2),Opal.def(self,“$eof”,$EofContent_eof$2=function(){var $$3,$a,eof_content=nil;return $truthy(this.tokens())?nil:(eof_content=this.source[“$”](Opal.Range.$new(this.$last_token_position(),-1,!1)),$truthy(eof_content)?(eof_content=$send(eof_content.$lines(),“drop_while”,[],(($$3=function(line){$$3.$$s;return null==line&&(line=nil),line(“n”)}).$$s=this,$$3.$$arity=1,$$3)))[“$”](0)(“__END__n”)?(eof_content=$truthy($a=eof_content[“$”]($range(1,-1,!1)))?$a:[]).$join():eof_content([“__END__”])?“”:nil:nil)},$EofContent_eof$2.$$arity=0),self.$private(),Opal.def(self,“$last_token_position”,$EofContent_last_token_position$4=function(){var $a,$b;return $b=this.tokens.$last(),null==($a=Opal.to_ary($b))?nil:$a,$b=null==$a?nil:$a,null==($a=Opal.to_ary($b))?nil:$a,(null==$a?nil:$a).$end_pos()},$EofContent_last_token_position$4.$$arity=0)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}Opal.top;var $nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs(),function($base,$parent_nesting){var $Opal_opal_location_from_error$2,$Opal_add_opal_location_to_error$3,self=$module($base,“Opal”),$nesting=.concat($parent_nesting);!function($base,$super,$parent_nesting){[$klass($base,$super,“Error”)].concat($parent_nesting)}($nesting,$$($nesting,“StandardError”),$nesting),function($base,$super,$parent_nesting){var $GemNotFound_initialize$1,self=$klass($base,$super,“GemNotFound”);.concat($parent_nesting);self.$attr_reader(“gem_name”),Opal.def(self,“$initialize”,$GemNotFound_initialize$1=function(gem_name){var $iter=$GemNotFound_initialize$1.$$p;return $iter&&($GemNotFound_initialize$1.$$p=null),this.gem_name=gem_name,$send(this,Opal.find_super_dispatcher(this,“initialize”,$GemNotFound_initialize$1,!1),[“can't find gem ”+gem_name],null)},$GemNotFound_initialize$1.$$arity=1)}($nesting,$$($nesting,“Error”),$nesting),function($base,$super,$parent_nesting){var self=$klass($base,$super,“CompilationError”);.concat($parent_nesting);self.$attr_accessor(“location”)}($nesting,$$($nesting,“Error”),$nesting),function($base,$super,$parent_nesting){[$klass($base,$super,“ParsingError”)].concat($parent_nesting)}($nesting,$$($nesting,“CompilationError”),$nesting),function($base,$super,$parent_nesting){[$klass($base,$super,“RewritingError”)].concat($parent_nesting)}($nesting,$$($nesting,“ParsingError”),$nesting),function($base,$super,$parent_nesting){var self=$klass($base,$super,“SyntaxError”);.concat($parent_nesting);self.$attr_accessor(“location”)}($nesting,$$$(“::”,“SyntaxError”),$nesting),Opal.defs(self,“$opal_location_from_error”,$Opal_opal_location_from_error$2=function(error){var opal_location,$writer=nil;return opal_location=$$($nesting,“OpalBacktraceLocation”).$new(),$truthy(error(“location”))&&($writer=,$send(opal_location,“location=”,Opal.to_a($writer)),$writer),$truthy(error(“diagnostic”))&&($writer=,$send(opal_location,“diagnostic=”,Opal.to_a($writer)),$writer),opal_location},$Opal_opal_location_from_error$2.$$arity=1),Opal.defs(self,“$add_opal_location_to_error”,$Opal_add_opal_location_to_error$3=function(opal_location,error){var backtrace=nil;return(backtrace=error.$backtrace().$to_a()).$unshift(opal_location.$to_s()),error.$set_backtrace(backtrace),error},$Opal_add_opal_location_to_error$3.$$arity=2),function($base,$super,$parent_nesting){var $OpalBacktraceLocation_initialize$4,$OpalBacktraceLocation_to_s$5,$OpalBacktraceLocation_diagnostic$eq$6,$OpalBacktraceLocation_location$eq$7,self=$klass($base,null,“OpalBacktraceLocation”);.concat($parent_nesting);self.$attr_accessor(“path”,“lineno”,“label”),Opal.def(self,“$initialize”,$OpalBacktraceLocation_initialize$4=function(path,lineno,label){var $a;return null==path&&(path=nil),null==lineno&&(lineno=nil),null==label&&(label=nil),$a=,this.path=$a,this.lineno=$a,this.label=$a,$a},$OpalBacktraceLocation_initialize$4.$$arity=-1),Opal.def(self,“$to_s”,$OpalBacktraceLocation_to_s$5=function(){var string=nil;return string=this.$path(),$truthy(this.$lineno())&&(string=$rb_plus(string,“:”+this.$lineno())),string=$rb_plus(string,“:in ”),string=$truthy(this.$label())?$rb_plus(string,“`”+this.$label()+“'”):$rb_plus(string,“unknown”)},$OpalBacktraceLocation_to_s$5.$$arity=0),Opal.alias(self,“line”,“lineno”),Opal.def(self,“$diagnostic=”,$OpalBacktraceLocation_diagnostic$eq$6=function(diagnostic){var $writer;return $truthy(diagnostic)?($writer=,$send(this,“location=”,Opal.to_a($writer)),$writer):nil},$OpalBacktraceLocation_diagnostic$eq$6.$$arity=1),Opal.def(self,“$location=”,$OpalBacktraceLocation_location$eq$7=function(location){var $writer=nil;return $truthy(location)?($writer=,$send(this,“lineno=”,Opal.to_a($writer)),$writer,$truthy(location(“source_line”))?($writer=,$send(this,“label=”,Opal.to_a($writer)),$writer):$truthy(location(“expression”))?($writer=,$send(this,“label=”,Opal.to_a($writer)),$writer):nil):nil},$OpalBacktraceLocation_location$eq$7.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){function $rb_minus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs-rhs:lhs(rhs)}function $rb_plus(lhs,rhs){return“number”==typeof lhs&&“number”==typeof rhs?lhs+rhs:lhs(rhs)}var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$slice=(Opal.breaker,Opal.slice),$module=Opal.module,$hash2=Opal.hash2,$klass=Opal.klass,$send=Opal.send,$truthy=Opal.truthy;return Opal.add_stubs([“$require”,“$compile”,“$new”,“$freeze”,“$join”,“$dirname”,“$first”,“$split”,“$basename”,“$to_s”,“$cleanpath”,“$Pathname”,“$”,“$define_method”,“$fetch”,“$!”,“$include?”,“$raise”,“$inspect”,“$compiler_option”,“$attr_reader”,“$attr_accessor”,“$parse”,“$re_raise_with_location”,“$flatten”,“$process”,“$end_with?”,“$code”,“$last”,“$<<”,“$fragment”,“$s”,“$map”,“$to_proc”,“$file”,“$source=”,“$-”,“$default_parser”,“$tokenize”,“$associate_locations”,“$eof”,“$location=”,“$opal_location_from_error”,“$path=”,“$label”,“$strip”,“$lines”,“$to_i”,“$line”,“$label=”,“$message”,“$set_backtrace”,“$backtrace”,“$add_opal_location_to_error”,“$warn”,“$empty?”,“$gsub”,“$+”,“$start_with?”,“$helpers”,“$new_temp”,“$queue_temp”,“$push_while”,“$indent”,“$pop_while”,“$in_while?”,“$nil?”,“$scope”,“$handlers”,“$type”,“$compile_to_fragments”,“$error”,“$returns”,“$===”,“$updated”,“$children”,“$loc”,“$uses_block!”,“$block_name”,“$find_parent_def”]),self.$require(“set”),self.$require(“opal/parser”),self.$require(“opal/fragment”),self.$require(“opal/nodes”),self.$require(“opal/eof_content”),self.$require(“opal/errors”),function($base,$parent_nesting){var $Opal_compile$1,self=$module($base,“Opal”),$nesting=.concat($parent_nesting);Opal.defs(self,“$compile”,$Opal_compile$1=function(source,options){return null==options&&(options=$hash2([],{})),$$($nesting,“Compiler”).$new(source,options).$compile()},$Opal_compile$1.$$arity=-2),function($base,$super,$parent_nesting){var $Compiler_module_name$2,$Compiler_compiler_option$3,$Compiler_initialize$6,$Compiler_compile$7,$Compiler_parse$9,$Compiler_source_map$11,$Compiler_helpers$12,$Compiler_operator_helpers$13,$Compiler_method_calls$14,$Compiler_error$15,$Compiler_re_raise_with_location$16,$Compiler_warning$17,$Compiler_parser_indent$18,$Compiler_s$19,$Compiler_fragment$20,$Compiler_unique_temp$21,$Compiler_helper$22,$Compiler_indent$23,$Compiler_with_temp$24,$Compiler_in_while$25,$Compiler_in_case$27,$Compiler_in_while$ques$28,$Compiler_process$29,$Compiler_handlers$30,$Compiler_requires$31,$Compiler_required_trees$32,$Compiler_returns$33,$Compiler_handle_block_given_call$35,self=$klass($base,null,“Compiler”),$nesting=.concat($parent_nesting);self.$$prototype.fragments=self.$$prototype.source=self.$$prototype.buffer=self.$$prototype.helpers=self.$$prototype.operator_helpers=self.$$prototype.method_calls=self.$$prototype.indent=self.$$prototype.unique=self.$$prototype.scope=self.$$prototype.case_stmt=self.$$prototype.handlers=self.$$prototype.requires=self.$$prototype.required_trees=nil,Opal.const_set($nesting,“INDENT”,“ ”),Opal.const_set($nesting,“”,“<=",">=”“>COMPARE”,.$freeze()),Opal.defs(self,“$module_name”,$Compiler_module_name$2=function(path){return path=$$($nesting,“File”).$join($$($nesting,“File”).$dirname(path),$$($nesting,“File”).$basename(path).$split(“.”).$first()),this.$Pathname(path).$cleanpath().$to_s()},$Compiler_module_name$2.$$arity=1),Opal.defs(self,“$compiler_option”,$Compiler_compiler_option$3=function(name,default_value,options){var $a,$$4,mid,valid_values=nil;return null==options&&(options=$hash2([],{})),mid=options[“$”](“as”),valid_values=options[“$”](“valid_values”),$send(this,“define_method”,,(($$4=function(){var $$5,$b,self=$$4.$$s||this,value=nil;return null==self.options&&(self.options=nil),value=$send(self.options,“fetch”,,(($$5=function(){$$5.$$s;return default_value}).$$s=self,$$5.$$arity=0,$$5)),$truthy($truthy($b=valid_values)?valid_values(value)():$b)&&self.$raise($$($nesting,“ArgumentError”),“invalid value ”+value.$inspect()+“ for option ”+name.$inspect()+“ (valid values: ”+valid_values.$inspect()+“)”),value}).$$s=this,$$4.$$arity=0,$$4))},$Compiler_compiler_option$3.$$arity=-3),self.$compiler_option(“file”,“(file)”),self.$compiler_option(“method_missing”,!0,$hash2(,{as:“method_missing?”})),self.$compiler_option(“arity_check”,!1,$hash2(,{as:“arity_check?”})),self.$compiler_option(“freezing”,!0,$hash2(,{as:“freezing?”})),self.$compiler_option(“tainting”,!0,$hash2(,{as:“tainting?”})),self.$compiler_option(“irb”,!1,$hash2(,{as:“irb?”})),self.$compiler_option(“dynamic_require_severity”,“ignore”,$hash2(,{valid_values:})),self.$compiler_option(“requirable”,!1,$hash2(,{as:“requirable?”})),self.$compiler_option(“inline_operators”,!0,$hash2(,{as:“inline_operators?”})),self.$compiler_option(“eval”,!1,$hash2(,{as:“eval?”})),self.$compiler_option(“enable_source_location”,!1,$hash2(,{as:“enable_source_location?”})),self.$compiler_option(“parse_comments”,!1,$hash2(,{as:“parse_comments?”})),self.$attr_reader(“result”),self.$attr_reader(“fragments”),self.$attr_accessor(“scope”),self.$attr_reader(“case_stmt”),self.$attr_reader(“eof_content”),self.$attr_reader(“comments”),Opal.def(self,“$initialize”,$Compiler_initialize$6=function(source,options){return null==options&&(options=$hash2([],{})),this.source=source,this.indent=“”,this.unique=0,this.options=options,this.comments=$$($nesting,“Hash”).$new(),this.case_stmt=nil},$Compiler_initialize$6.$$arity=-2),Opal.def(self,“$compile”,$Compiler_compile$7=function(){var $$8;return this.$parse(),this.fragments=$send(this,“re_raise_with_location”,[],(($$8=function(){var self=$$8.$$s||this;return null==self.sexp&&(self.sexp=nil),self.$process(self.sexp).$flatten()}).$$s=this,$$8.$$arity=0,$$8)),$truthy(this.fragments.$last().$code()(“n”))||this.fragments(this.$fragment(“n”,nil,this.$s(“newline”))),this.result=$send(this.fragments,“map”,[],“code”.$to_proc()).$join(“”)},$Compiler_compile$7.$$arity=0),Opal.def(self,“$parse”,$Compiler_parse$9=function(){var $a,$b,$$10,$writer,sexp,comments,tokens;return this.buffer=$$$($$$($$$(“::”,“Opal”),“Parser”),“SourceBuffer”).$new(this.$file(),1),$writer=,$send(this.buffer,“source=”,Opal.to_a($writer)),$rb_minus($writer.length,1),this.parser=$$$($$($nesting,“Opal”),“Parser”).$default_parser(),$b=$send(this,“re_raise_with_location”,[],(($$10=function(){var self=$$10.$$s||this;return null==self.parser&&(self.parser=nil),null==self.buffer&&(self.buffer=nil),self.parser.$tokenize(self.buffer)}).$$s=this,$$10.$$arity=0,$$10)),sexp=null==($a=Opal.to_ary($b))?nil:$a,comments=null==$a?nil:$a,tokens=null==$a?nil:$a,this.sexp=this.$s(“top”,$truthy($a=sexp)?$a:this.$s(“nil”)),this.comments=$$$($$$($$$(“::”,“Parser”),“Source”),“Comment”).$associate_locations(sexp,comments),this.eof_content=$$($nesting,“EofContent”).$new(tokens,this.source).$eof()},$Compiler_parse$9.$$arity=0),Opal.def(self,“$source_map”,$Compiler_source_map$11=function(){return $$$($$$($$$(“::”,“Opal”),“SourceMap”),“File”).$new(this.fragments,this.$file(),this.source)},$Compiler_source_map$11.$$arity=0),Opal.def(self,“$helpers”,$Compiler_helpers$12=function(){var $a;return this.helpers=$truthy($a=this.helpers)?$a:$$($nesting,“Set”).$new()},$Compiler_helpers$12.$$arity=0),Opal.def(self,“$operator_helpers”,$Compiler_operator_helpers$13=function(){var $a;return this.operator_helpers=$truthy($a=this.operator_helpers)?$a:$$($nesting,“Set”).$new()},$Compiler_operator_helpers$13.$$arity=0),Opal.def(self,“$method_calls”,$Compiler_method_calls$14=function(){var $a;return this.method_calls=$truthy($a=this.method_calls)?$a:$$($nesting,“Set”).$new()},$Compiler_method_calls$14.$$arity=0),Opal.def(self,“$error”,$Compiler_error$15=function(msg,line){var error,$writer;return null==line&&(line=nil),error=$$$($$$(“::”,“Opal”),“SyntaxError”).$new(msg),$writer=,$send(error,“location=”,Opal.to_a($writer)),$rb_minus($writer.length,1),this.$raise(error)},$Compiler_error$15.$$arity=-2),Opal.def(self,“$re_raise_with_location”,$Compiler_re_raise_with_location$16=function(){var $iter=$Compiler_re_raise_with_location$16.$$p,$yield=$iter||nil,self=this,error=nil,opal_location=nil,$writer=nil,new_error=nil;$iter&&($Compiler_re_raise_with_location$16.$$p=null);try{return Opal.yieldX($yield,[])}catch($err){if(!Opal.rescue($err,))throw $err;error=$err;try{return opal_location=$$$(“::”,“Opal”).$opal_location_from_error(error),$writer=,$send(opal_location,“path=”,Opal.to_a($writer)),$writer,$truthy(opal_location.$label())||($writer=[self.source.$lines()[“$”]($rb_minus(opal_location.$line().$to_i(),1)).$strip()],$send(opal_location,“label=”,Opal.to_a($writer)),$writer),(new_error=$$$($$$(“::”,“Opal”),“SyntaxError”).$new(error.$message())).$set_backtrace(error.$backtrace()),$$$(“::”,“Opal”).$add_opal_location_to_error(opal_location,new_error),self.$raise(new_error)}finally{Opal.pop_exception()}}},$Compiler_re_raise_with_location$16.$$arity=0),Opal.def(self,“$warning”,$Compiler_warning$17=function(msg,line){return null==line&&(line=nil),this.$warn(“warning: ”msg
“ – ”+this.$file()+“:”+line)},$Compiler_warning$17.$$arity=-2),Opal.def(self,“$parser_indent”,$Compiler_parser_indent$18=function(){return this.indent},$Compiler_parser_indent$18.$$arity=0),Opal.def(self,“$s”,$Compiler_s$19=function(type,$a){var children;return children=Opal.slice.call(arguments,1,arguments.length),$$$($$$($$$(“::”,“Opal”),“AST”),“Node”).$new(type,children)},$Compiler_s$19.$$arity=-2),Opal.def(self,“$fragment”,$Compiler_fragment$20=function(str,scope,sexp){return null==sexp&&(sexp=nil),$$($nesting,“Fragment”).$new(str,scope,sexp)},$Compiler_fragment$20.$$arity=-3),Opal.def(self,“$unique_temp”,$Compiler_unique_temp$21=function(name){var $a,unique;return name=name.$to_s(),$truthy($truthy($a=name)?name()[“$!”]():$a)&&(name=name.$to_s().$gsub(“<=>”,“$lt_eq_gt”).$gsub(“===”,“$eq_eq_eq”).$gsub(“==”,“$eq_eq”).$gsub(“=~”,“$eq_tilde”).$gsub(“!~”,“$excl_tilde”).$gsub(“!=”,“$not_eq”).$gsub(“<=","$lt_eq").$gsub(">=”,“$gt_eq”).$gsub(“=”,“$eq”).$gsub(“?”,“$ques”).$gsub(“!”,“$excl”).$gsub(“/”,“$slash”).$gsub(“%”,“$percent”).$gsub(“+”,“$plus”).$gsub(“-”,“$minus”).$gsub(“<","$lt").$gsub(">”,“$gt”).$gsub(//,“$”)),unique=this.unique=$rb_plus(this.unique,1),“”+($truthy(name(“$”))?nil:“$”)name
“$”+unique},$Compiler_unique_temp$21.$$arity=1),Opal.def(self,“$helper”,$Compiler_helper$22=function(name){return this.$helpers()(name)},$Compiler_helper$22.$$arity=1),Opal.def(self,“$indent”,$Compiler_indent$23=function(){var indent,res,$iter=$Compiler_indent$23.$$p,$yield=$iter||nil;return $iter&&($Compiler_indent$23.$$p=null),indent=this.indent,this.indent=$rb_plus(this.indent,$$($nesting,“INDENT”)),this.space=“n”+this.indent,res=Opal.yieldX($yield,[]),this.indent=indent,this.space=“n”+this.indent,res},$Compiler_indent$23.$$arity=0),Opal.def(self,“$with_temp”,$Compiler_with_temp$24=function(){var tmp,res,$iter=$Compiler_with_temp$24.$$p,$yield=$iter||nil;return $iter&&($Compiler_with_temp$24.$$p=null),tmp=this.scope.$new_temp(),res=Opal.yield1($yield,tmp),this.scope.$queue_temp(tmp),res},$Compiler_with_temp$24.$$arity=0),Opal.def(self,“$in_while”,$Compiler_in_while$25=function(){var $$26,result,$iter=$Compiler_in_while$25.$$p,$yield=$iter||nil;return $iter&&($Compiler_in_while$25.$$p=null),$yield===nil?nil:(this.while_loop=this.scope.$push_while(),result=$send(this,“indent”,[],(($$26=function(){$$26.$$s;return Opal.yieldX($yield,[])}).$$s=this,$$26.$$arity=0,$$26)),this.scope.$pop_while(),result)},$Compiler_in_while$25.$$arity=0),Opal.def(self,“$in_case”,$Compiler_in_case$27=function(){var old,$iter=$Compiler_in_case$27.$$p,$yield=$iter||nil;return $iter&&($Compiler_in_case$27.$$p=null),$yield===nil?nil:(old=this.case_stmt,this.case_stmt=$hash2([],{}),Opal.yieldX($yield,),this.case_stmt=old)},$Compiler_in_case$27.$$arity=0),Opal.def(self,“$in_while?”,$Compiler_in_while$ques$28=function(){return this.scope()},$Compiler_in_while$ques$28.$$arity=0),Opal.def(self,“$process”,$Compiler_process$29=function(sexp,level){var handler=nil;return null==level&&(level=“expr”),$truthy(sexp())?this.$fragment(“”,this.$scope()):$truthy(handler=this.$handlers()[“$”](sexp.$type()))?handler.$new(sexp,level,this).$compile_to_fragments():this.$error(“Unsupported sexp: ”+sexp.$type())},$Compiler_process$29.$$arity=-2),Opal.def(self,“$handlers”,$Compiler_handlers$30=function(){var $a;return this.handlers=$truthy($a=this.handlers)?$a:$$$($$$($$($nesting,“Opal”),“Nodes”),“Base”).$handlers()},$Compiler_handlers$30.$$arity=0),Opal.def(self,“$requires”,$Compiler_requires$31=function(){var $a;return this.requires=$truthy($a=this.requires)?$a:[]},$Compiler_requires$31.$$arity=0),Opal.def(self,“$required_trees”,$Compiler_required_trees$32=function(){var $a;return this.required_trees=$truthy($a=this.required_trees)?$a:[]},$Compiler_required_trees$32.$$arity=0),Opal.def(self,“$returns”,$Compiler_returns$33=function(sexp){var $a,$b,$$34,self=this,$case=nil,when_sexp=nil,then_sexp=nil,body_sexp=nil,resbodies=nil,else_sexp=nil,klass=nil,lvar=nil,body=nil,rescue_sexp=nil,ensure_body=nil,rest=nil,last=nil,cond=nil,true_body=nil,false_body=nil;return $truthy(sexp)?($case=sexp.$type(),“undef”($case)?self.$returns(self.$s(“begin”,sexp,self.$s(“nil”))):“break”($case)||“next”($case)||“redo”($case)?sexp:“yield”($case)?sexp.$updated(“returnable_yield”,nil):“when”($case)?($a=[].concat(Opal.to_a(sexp)),$b=($b=$a.length-1)<0?0:$b,when_sexp=$slice.call($a,0,$b),then_sexp=null==$a?nil:$a,sexp.$updated(nil,[].concat(Opal.to_a(when_sexp)).concat())):“rescue”($case)?($a=[].concat(Opal.to_a(sexp)),body_sexp=null==$a?nil:$a,$b=($b=$a.length-1)<1?1:$b,resbodies=$slice.call($a,1,$b),else_sexp=null==$a?nil:$a,resbodies=$send(resbodies,“map”,[],(($$34=function(resbody){var self=$$34.$$s||this;return null==resbody&&(resbody=nil),self.$returns(resbody)}).$$s=self,$$34.$$arity=1,$$34)),$truthy(else_sexp)&&(else_sexp=self.$returns(else_sexp)),sexp.$updated(nil,.concat(Opal.to_a(resbodies)).concat())):“resbody”($case)?($a=[].concat(Opal.to_a(sexp)),klass=null==$a?nil:$a,lvar=null==$a?nil:$a,body=null==$a?nil:$a,sexp.$updated(nil,)):“ensure”($case)?($a=[].concat(Opal.to_a(sexp)),rescue_sexp=null==$a?nil:$a,ensure_body=null==$a?nil:$a,sexp=sexp.$updated(nil,),self.$s(“js_return”,sexp)):“begin”($case)||“kwbegin”($case)?($a=[].concat(Opal.to_a(sexp)),$b=($b=$a.length-1)<0?0:$b,rest=$slice.call($a,0,$b),last=null==$a?nil:$a,sexp.$updated(nil,[].concat(Opal.to_a(rest)).concat())):“while”($case)||“until”($case)||“while_post”($case)||“until_post”($case)?sexp:“return”($case)||“js_return”($case)||“returnable_yield”($case)?sexp:“xstr”($case)?sexp.$updated(nil,[$send(self,“s”,.concat(Opal.to_a(sexp.$children())))]):“if”($case)?($a=[].concat(Opal.to_a(sexp)),cond=null==$a?nil:$a,true_body=null==$a?nil:$a,false_body=null==$a?nil:$a,sexp.$updated(nil,)):self.$s(“js_return”,sexp).$updated(nil,nil,$hash2(,{location:sexp.$loc()}))):self.$returns(self.$s(“nil”))},$Compiler_returns$33.$$arity=1),Opal.def(self,“$handle_block_given_call”,$Compiler_handle_block_given_call$35=function(sexp){var $a,scope=nil;return this.scope(),$truthy(this.scope.$block_name())?this.$fragment(“(”+this.scope.$block_name()+“ !== nil)”,this.$scope(),sexp):$truthy($truthy($a=scope=this.scope.$find_parent_def())?scope.$block_name():$a)?this.$fragment(“(”+scope.$block_name()+“ !== nil)”,scope,sexp):this.$fragment(“false”,scope,sexp)},$Compiler_handle_block_given_call$35.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$=(Opal.const_get_qualified,Opal.const_get_relative),$module=(Opal.breaker,Opal.slice,Opal.module),$klass=Opal.klass,$truthy=Opal.truthy,$send=Opal.send;return Opal.add_stubs(),self.$require(“opal/compiler”),function($base,$parent_nesting){var $nesting=.concat($parent_nesting);!function($base,$parent_nesting){var $ERB_compile$1,self=$module($base,“ERB”),$nesting=.concat($parent_nesting);Opal.defs(self,“$compile”,$ERB_compile$1=function(source,file_name){return null==file_name&&(file_name=“(erb)”),$$($nesting,“Compiler”).$new(source,file_name).$compile()},$ERB_compile$1.$$arity=-2),function($base,$super,$parent_nesting){var $Compiler_initialize$2,$Compiler_prepared_source$3,$Compiler_compile$4,$Compiler_fix_quotes$5,$Compiler_require_erb$6,$Compiler_find_contents$7,$Compiler_find_code$9,$Compiler_wrap_compiled$11,self=$klass($base,null,“Compiler”),$nesting=.concat($parent_nesting);self.$$prototype.prepared_source=self.$$prototype.source=self.$$prototype.file_name=nil,Opal.const_set($nesting,“BLOCK_EXPR”,/s+(do|{)(s*|[^|]*|)?s*Z/),Opal.def(self,“$initialize”,$Compiler_initialize$2=function(source,file_name){var $a;return null==file_name&&(file_name=“(erb)”),$a=,this.source=$a,this.file_name=$a,this.result=$a,$a},$Compiler_initialize$2.$$arity=-2),Opal.def(self,“$prepared_source”,$Compiler_prepared_source$3=function(){var $a,source=nil;return this.prepared_source=$truthy($a=this.prepared_source)?$a:(source=this.source,source=this.$fix_quotes(source),source=this.$find_contents(source),source=this.$find_code(source),source=this.$wrap_compiled(source),source=this.$require_erb(source))},$Compiler_prepared_source$3.$$arity=0),Opal.def(self,“$compile”,$Compiler_compile$4=function(){return $$($nesting,“Opal”).$compile(this.$prepared_source())},$Compiler_compile$4.$$arity=0),Opal.def(self,“$fix_quotes”,$Compiler_fix_quotes$5=function(result){return result.$gsub('“','\”')},$Compiler_fix_quotes$5.$$arity=1),Opal.def(self,“$require_erb”,$Compiler_require_erb$6=function(result){var lhs,rhs;return rhs=result,“number”==typeof(lhs='require “erb”;')&&“number”==typeof rhs?lhs+rhs:lhs(rhs)},$Compiler_require_erb$6.$$arity=1),Opal.def(self,“$find_contents”,$Compiler_find_contents$7=function(result){var $$8;return $send(result,“gsub”,[/<%=(+?)%>/],(($$8=function(){$$8.$$s;var inner=nil;return inner=$$($nesting,“Regexp”).$last_match(1).$gsub(/\‘/,“’”).$gsub(/\“/,‘”’),$truthy(inner($$($nesting,“BLOCK_EXPR”)))?'“)noutput_buffer.append= 'inner
'noutput_buffer.append(”':'“)noutput_buffer.append=('inner
')noutput_buffer.append(”'}).$$s=this,$$8.$$arity=0,$$8))},$Compiler_find_contents$7.$$arity=1),Opal.def(self,“$find_code”,$Compiler_find_code$9=function(result){var $$10;return $send(result,“gsub”,[/<%(+?)%>/],(($$10=function(){$$10.$$s;return'“)n'+$$($nesting,”Regexp“).$last_match(1).$gsub(/\”/,'“')+'noutput_buffer.append(”'}).$$s=this,$$10.$$arity=0,$$10))},$Compiler_find_code$9.$$arity=1),Opal.def(self,“$wrap_compiled”,$Compiler_wrap_compiled$11=function(result){return“Template.new('”+this.file_name.$sub(new RegExp(“\.opalerb”+$$($nesting,“REGEXP_END”)),“”)+“') do |output_buffer|noutput_buffer.append("”result
'“)noutput_buffer.joinnendn'},$Compiler_wrap_compiled$11.$$arity=1)}($nesting,0,$nesting)}($nesting,$nesting)}($nesting,$nesting)},Opal.modules=function(Opal){var self=Opal.top,$nesting=[],nil=Opal.nil,$$$=Opal.const_get_qualified,$$=Opal.const_get_relative,$breaker=Opal.breaker,$slice=Opal.slice,$module=Opal.module,$hash2=Opal.hash2;function run_ruby_scripts(){for(var tag,tags=document.getElementsByTagName(”script“),i=0,len=tags.length;i