*/r.PARSE_OPTIONS={ecmaVersion:5,locations:!0},r.READONLY_DESCRIPTOR={configurable:!0,enumerable:!0,writable:!1},r.NONENUMERABLE_DESCRIPTOR={configurable:!0,enumerable:!1,writable:!0},r.READONLY_NONENUMERABLE_DESCRIPTOR={configurable:!0,enumerable:!1,writable:!1},r.VARIABLE_DESCRIPTOR={configurable:!1,enumerable:!0,writable:!0},r.STEP_ERROR={},r.SCOPE_REFERENCE={},r.VALUE_IN_DESCRIPTOR={},r.toStringCycles_=[],r.prototype.getErrorLineNumber=function(t){var e=this.sourceCode;if(null==t||null==t.start)return NaN;try{return((e=e.substring(0,t.start)).match(/\n/g)||[]).length+1-this.sourceCodeLineOffset}catch(t){returnNaN}},r.prototype.getErrorLineNumberMessage=function(t){returnisNaN(t)?" (Unknown line number)":t<=0?" (Error occurred in an imported function)":" (Line Number "+t+". This line number is probably incorrect if your script is importing any functions. This is being worked on)"},r.prototype.appendCode=function(t){vare=this.stateStack[0];if(!e||"Program"!==e.node.type)throwError("Expecting original AST to start with a Program node.");if("string"==typeoft&&(t=n.a(t,r.PARSE_OPTIONS)),!t||"Program"!==t.type)throwError("Expecting new AST to start with a Program node.");this.populateScope_(t,e.scope);for(vara,i=0;a=t.body[i];i++)e.node.body.push(a);e.done=!1},r.prototype.step=function(){vart=this.stateStack,e=t[t.length-1];if(!e)return!1;vara=e.node,n=a.type;if("Program"===n&&e.done)return!1;if(this.paused_)return!0;try{vari=this.stepFunctions_[n](t,e,a)}catch(t){if(t!==r.STEP_ERROR)throwt}returni&&t.push(i),!!a.end||this.step()},r.prototype.run=function(){for(;!this.paused_&&this.step(););returnthis.paused_},r.prototype.initGlobalScope=function(t){this.setProperty(t,"NaN",NaN,r.READONLY_DESCRIPTOR),this.setProperty(t,"Infinity",1/0,r.READONLY_DESCRIPTOR),this.setProperty(t,"undefined",void0,r.READONLY_DESCRIPTOR),this.setProperty(t,"window",t,r.READONLY_DESCRIPTOR),this.setProperty(t,"this",t,r.READONLY_DESCRIPTOR),this.setProperty(t,"self",t),this.OBJECT_PROTO=newr.Object(null),this.FUNCTION_PROTO=newr.Object(this.OBJECT_PROTO),this.initFunction(t),this.initObject(t),t.proto=this.OBJECT_PROTO,this.setProperty(t,"constructor",this.OBJECT,r.NONENUMERABLE_DESCRIPTOR),this.initArray(t),this.initString(t),this.initBoolean(t),this.initNumber(t),this.initDate(t),this.initRegExp(t),this.initError(t),this.initMath(t),this.initJSON(t);vare=this,a=this.createNativeFunction((function(t){throwEvalError("Can't happen")}),!1);a.eval=!0,this.setProperty(t,"eval",a),this.setProperty(t,"parseInt",this.createNativeFunction(parseInt,!1)),this.setProperty(t,"parseFloat",this.createNativeFunction(parseFloat,!1)),this.setProperty(t,"isNaN",this.createNativeFunction(isNaN,!1)),this.setProperty(t,"isFinite",this.createNativeFunction(isFinite,!1));for(varn=[[escape,"escape"],[unescape,"unescape"],[decodeURI,"decodeURI"],[decodeURIComponent,"decodeURIComponent"],[encodeURI,"encodeURI"],[encodeURIComponent,"encodeURIComponent"]],i=0;i<n.length;i++){varo=function(t){returnfunction(a){try{returnt(a)}catch(t){e.throwException(e.URI_ERROR,t.message)}}}(n[i][0]);this.setProperty(t,n[i][1],this.createNativeFunction(o,!1),r.NONENUMERABLE_DESCRIPTOR)}this.OBJECT=this.OBJECT,this.OBJECT_PROTO=this.OBJECT_PROTO,this.FUNCTION=this.FUNCTION,this.FUNCTION_PROTO=this.FUNCTION_PROTO,this.ARRAY=this.ARRAY,this.ARRAY_PROTO=this.ARRAY_PROTO,this.REGEXP=this.REGEXP,this.REGEXP_PROTO=this.REGEXP_PROTO,this.DATE=this.DATE,this.DATE_PROTO=this.DATE_PROTO,this.UNDEFINED=void0,this.NULL=null,this.NAN=NaN,this.TRUE=!0,this.FALSE=!1,this.STRING_EMPTY="",this.NUMBER_ZERO=0,this.NUMBER_ONE=1,this.initFunc_&&this.initFunc_(this,t)},r.prototype.initFunction=function(t){vare,a=this,i=/^[A-Za-z_$][\w$]*$/;(e=function(t){if(a.calledWithNew())vare=this;elsee=a.createObjectProto(a.FUNCTION_PROTO);if(arguments.length)varo=String(arguments[arguments.length-1]);elseo="";vars=Array.prototype.slice.call(arguments,0,-1).join(",").trim();if(s){for(varl=s.split(/\s*,\s*/),c=0;c<l.length;c++){varf=l[c];i.test(f)||a.throwException(a.SYNTAX_ERROR,"Invalidfunc