!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["exports"],b):"undefined"!=typeof exports?b(exports):b(a.esprima={})}(this,function(a){"use strict";function s(a,b){if(!a)throw new Error("ASSERT: "+b)}function t(a){return a>=48&&57>=a}function u(a){return"0123456789abcdefABCDEF".indexOf(a)>=0}function v(a){return"01234567".indexOf(a)>=0}function w(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(a)>=0}function x(a){return 10===a||13===a||8232===a||8233===a}function y(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||92===a||a>=128&&i.NonAsciiIdentifierStart.test(String.fromCharCode(a))}function z(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a||92===a||a>=128&&i.NonAsciiIdentifierPart.test(String.fromCharCode(a))}function A(a){switch(a){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}function B(a){switch(a){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function C(a){return"eval"===a||"arguments"===a}function D(a){if(k&&B(a))return!0;switch(a.length){case 2:return"if"===a||"in"===a||"do"===a;case 3:return"var"===a||"for"===a||"new"===a||"try"===a||"let"===a;case 4:return"this"===a||"else"===a||"case"===a||"void"===a||"with"===a||"enum"===a;case 5:return"while"===a||"break"===a||"catch"===a||"throw"===a||"const"===a||"yield"===a||"class"===a||"super"===a;case 6:return"return"===a||"typeof"===a||"delete"===a||"switch"===a||"export"===a||"import"===a;case 7:return"default"===a||"finally"===a||"extends"===a;case 8:return"function"===a||"continue"===a||"debugger"===a;case 10:return"instanceof"===a;default:return!1}}function E(a,b,c,d,e){var f;s("number"==typeof c,"Comment must have valid position"),q.lastCommentStart>=c||(q.lastCommentStart=c,f={type:a,value:b},r.range&&(f.range=[c,d]),r.loc&&(f.loc=e),r.comments.push(f),r.attachComment&&(r.leadingComments.push(f),r.trailingComments.push(f)))}function F(a){var b,c,d,e;for(b=l-a,c={start:{line:m,column:l-n-a}};o>l;)if(d=j.charCodeAt(l),++l,x(d))return r.comments&&(e=j.slice(b+a,l-1),c.end={line:m,column:l-n-1},E("Line",e,b,l-1,c)),13===d&&10===j.charCodeAt(l)&&++l,++m,n=l,void 0;r.comments&&(e=j.slice(b+a,l),c.end={line:m,column:l-n},E("Line",e,b,l,c))}function G(){var a,b,c,d;for(r.comments&&(a=l-2,b={start:{line:m,column:l-n-2}});o>l;)if(c=j.charCodeAt(l),x(c))13===c&&10===j.charCodeAt(l+1)&&++l,++m,++l,n=l,l>=o&&hb({},h.UnexpectedToken,"ILLEGAL");else if(42===c){if(47===j.charCodeAt(l+1))return++l,++l,r.comments&&(d=j.slice(a+2,l-2),b.end={line:m,column:l-n},E("Block",d,a,l,b)),void 0;++l}else++l;hb({},h.UnexpectedToken,"ILLEGAL")}function H(){var a,b;for(b=0===l;o>l;)if(a=j.charCodeAt(l),w(a))++l;else if(x(a))++l,13===a&&10===j.charCodeAt(l)&&++l,++m,n=l,b=!0;else if(47===a)if(a=j.charCodeAt(l+1),47===a)++l,++l,F(2),b=!0;else{if(42!==a)break;++l,++l,G()}else if(b&&45===a){if(45!==j.charCodeAt(l+1)||62!==j.charCodeAt(l+2))break;l+=3,F(3)}else{if(60!==a)break;if("!--"!==j.slice(l+1,l+4))break;++l,++l,++l,++l,F(4)}}function I(a){var b,c,d,e=0;for(c="u"===a?4:2,b=0;c>b;++b){if(!(o>l&&u(j[l])))return"";d=j[l++],e=16*e+"0123456789abcdef".indexOf(d.toLowerCase())}return String.fromCharCode(e)}function J(){var a,b,c,d;for(a=j[l],b=0,"}"===a&&hb({},h.UnexpectedToken,"ILLEGAL");o>l&&(a=j[l++],u(a));)b=16*b+"0123456789abcdef".indexOf(a.toLowerCase());return(b>1114111||"}"!==a)&&hb({},h.UnexpectedToken,"ILLEGAL"),65535>=b?String.fromCharCode(b):(c=(b-65536>>10)+55296,d=(1023&b-65536)+56320,String.fromCharCode(c,d))}function K(){var a,b;for(a=j.charCodeAt(l++),b=String.fromCharCode(a),92===a&&(117!==j.charCodeAt(l)&&hb({},h.UnexpectedToken,"ILLEGAL"),++l,a=I("u"),a&&"\\"!==a&&y(a.charCodeAt(0))||hb({},h.UnexpectedToken,"ILLEGAL"),b=a);o>l&&(a=j.charCodeAt(l),z(a));)++l,b+=String.fromCharCode(a),92===a&&(b=b.substr(0,b.length-1),117!==j.charCodeAt(l)&&hb({},h.UnexpectedToken,"ILLEGAL"),++l,a=I("u"),a&&"\\"!==a&&z(a.charCodeAt(0))||hb({},h.UnexpectedToken,"ILLEGAL"),b+=a);return b}function L(){var a,b;for(a=l++;o>l;){if(b=j.charCodeAt(l),92===b)return l=a,K();if(!z(b))break;++l}return j.slice(a,l)}function M(){var a,c,d;return a=l,c=92===j.charCodeAt(l)?K():L(),d=1===c.length?b.Identifier:D(c)?b.Keyword:"null"===c?b.NullLiteral:"true"===c||"false"===c?b.BooleanLiteral:b.Identifier,{type:d,value:c,lineNumber:m,lineStart:n,start:a,end:l}}function N(){var d,f,g,i,a=l,c=j.charCodeAt(l),e=j[l];switch(c){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++l,r.tokenize&&(40===c?r.openParenToken=r.tokens.length:123===c&&(r.openCurlyToken=r.tokens.length)),{type:b.Punctuator,value:String.fromCharCode(c),lineNumber:m,lineStart:n,start:a,end:l};default:if(d=j.charCodeAt(l+1),61===d)switch(c){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return l+=2,{type:b.Punctuator,value:String.fromCharCode(c)+String.fromCharCode(d),lineNumber:m,lineStart:n,start:a,end:l};case 33:case 61:return l+=2,61===j.charCodeAt(l)&&++l,{type:b.Punctuator,value:j.slice(a,l),lineNumber:m,lineStart:n,start:a,end:l}}}return i=j.substr(l,4),">>>="===i?(l+=4,{type:b.Punctuator,value:i,lineNumber:m,lineStart:n,start:a,end:l}):(g=i.substr(0,3),">>>"===g||"<<="===g||">>="===g?(l+=3,{type:b.Punctuator,value:g,lineNumber:m,lineStart:n,start:a,end:l}):(f=g.substr(0,2),e===f[1]&&"+-<>&|".indexOf(e)>=0||"=>"===f?(l+=2,{type:b.Punctuator,value:f,lineNumber:m,lineStart:n,start:a,end:l}):"<>=!+-*%&|^/".indexOf(e)>=0?(++l,{type:b.Punctuator,value:e,lineNumber:m,lineStart:n,start:a,end:l}):(hb({},h.UnexpectedToken,"ILLEGAL"),void 0)))}function O(a){for(var c="";o>l&&u(j[l]);)c+=j[l++];return 0===c.length&&hb({},h.UnexpectedToken,"ILLEGAL"),y(j.charCodeAt(l))&&hb({},h.UnexpectedToken,"ILLEGAL"),{type:b.NumericLiteral,value:parseInt("0x"+c,16),lineNumber:m,lineStart:n,start:a,end:l}}function P(a){for(var c="0"+j[l++];o>l&&v(j[l]);)c+=j[l++];return(y(j.charCodeAt(l))||t(j.charCodeAt(l)))&&hb({},h.UnexpectedToken,"ILLEGAL"),{type:b.NumericLiteral,value:parseInt(c,8),octal:!0,lineNumber:m,lineStart:n,start:a,end:l}}function Q(){var a,c,d;if(d=j[l],s(t(d.charCodeAt(0))||"."===d,"Numeric literal must start with a decimal digit or a decimal point"),c=l,a="","."!==d){if(a=j[l++],d=j[l],"0"===a){if("x"===d||"X"===d)return++l,O(c);if(v(d))return P(c);d&&t(d.charCodeAt(0))&&hb({},h.UnexpectedToken,"ILLEGAL")}for(;t(j.charCodeAt(l));)a+=j[l++];d=j[l]}if("."===d){for(a+=j[l++];t(j.charCodeAt(l));)a+=j[l++];d=j[l]}if("e"===d||"E"===d)if(a+=j[l++],d=j[l],("+"===d||"-"===d)&&(a+=j[l++]),t(j.charCodeAt(l)))for(;t(j.charCodeAt(l));)a+=j[l++];else hb({},h.UnexpectedToken,"ILLEGAL");return y(j.charCodeAt(l))&&hb({},h.UnexpectedToken,"ILLEGAL"),{type:b.NumericLiteral,value:parseFloat(a),lineNumber:m,lineStart:n,start:c,end:l}}function R(){var c,d,e,f,g,i,p,q,a="",k=!1;for(p=m,q=n,c=j[l],s("'"===c||'"'===c,"String literal must starts with a quote"),d=l,++l;o>l;){if(e=j[l++],e===c){c="";break}if("\\"===e)if(e=j[l++],e&&x(e.charCodeAt(0)))++m,"\r"===e&&"\n"===j[l]&&++l,n=l;else switch(e){case"u":case"x":"{"===j[l]?(++l,a+=J()):(i=l,g=I(e),g?a+=g:(l=i,a+=e));break;case"n":a+="\n";break;case"r":a+="\r";break;case"t":a+=" ";break;case"b":a+="\b";break;case"f":a+="\f";break;case"v":a+=" ";break;default:v(e)?(f="01234567".indexOf(e),0!==f&&(k=!0),o>l&&v(j[l])&&(k=!0,f=8*f+"01234567".indexOf(j[l++]),"0123".indexOf(e)>=0&&o>l&&v(j[l])&&(f=8*f+"01234567".indexOf(j[l++]))),a+=String.fromCharCode(f)):a+=e}else{if(x(e.charCodeAt(0)))break;a+=e}}return""!==c&&hb({},h.UnexpectedToken,"ILLEGAL"),{type:b.StringLiteral,value:a,octal:k,startLineNumber:p,startLineStart:q,lineNumber:m,lineStart:n,start:d,end:l}}function S(a,b){var c;try{c=new RegExp(a,b)}catch(d){hb({},h.InvalidRegExp)}return c}function T(){var a,b,c,d,e;for(a=j[l],s("/"===a,"Regular expression literal must start with a slash"),b=j[l++],c=!1,d=!1;o>l;)if(a=j[l++],b+=a,"\\"===a)a=j[l++],x(a.charCodeAt(0))&&hb({},h.UnterminatedRegExp),b+=a;else if(x(a.charCodeAt(0)))hb({},h.UnterminatedRegExp);else if(c)"]"===a&&(c=!1);else{if("/"===a){d=!0;break}"["===a&&(c=!0)}return d||hb({},h.UnterminatedRegExp),e=b.substr(1,b.length-2),{value:e,literal:b}}function U(){var a,b,c,d;for(b="",c="";o>l&&(a=j[l],z(a.charCodeAt(0)));)if(++l,"\\"===a&&o>l)if(a=j[l],"u"===a){if(++l,d=l,a=I("u"))for(c+=a,b+="\\u";l>d;++d)b+=j[d];else l=d,c+="u",b+="\\u";ib({},h.UnexpectedToken,"ILLEGAL")}else b+="\\",ib({},h.UnexpectedToken,"ILLEGAL");else c+=a,b+=a;return{value:c,literal:b}}function V(){var a,c,d,e;return p=null,H(),a=l,c=T(),d=U(),e=S(c.value,d.value),r.tokenize?{type:b.RegularExpression,value:e,lineNumber:m,lineStart:n,start:a,end:l}:{literal:c.literal+d.literal,value:e,start:a,end:l}}function W(){var a,b,c,d;return H(),a=l,b={start:{line:m,column:l-n}},c=V(),b.end={line:m,column:l-n},r.tokenize||(r.tokens.length>0&&(d=r.tokens[r.tokens.length-1],d.range[0]===a&&"Punctuator"===d.type&&("/"===d.value||"/="===d.value)&&r.tokens.pop()),r.tokens.push({type:"RegularExpression",value:c.literal,range:[a,l],loc:b})),c}function X(a){return a.type===b.Identifier||a.type===b.Keyword||a.type===b.BooleanLiteral||a.type===b.NullLiteral}function Y(){var a,b;if(a=r.tokens[r.tokens.length-1],!a)return W();if("Punctuator"===a.type){if("]"===a.value)return N();if(")"===a.value)return b=r.tokens[r.openParenToken-1],!b||"Keyword"!==b.type||"if"!==b.value&&"while"!==b.value&&"for"!==b.value&&"with"!==b.value?N():W();if("}"===a.value){if(r.tokens[r.openCurlyToken-3]&&"Keyword"===r.tokens[r.openCurlyToken-3].type){if(b=r.tokens[r.openCurlyToken-4],!b)return N()}else{if(!r.tokens[r.openCurlyToken-4]||"Keyword"!==r.tokens[r.openCurlyToken-4].type)return N();if(b=r.tokens[r.openCurlyToken-5],!b)return W()}return d.indexOf(b.value)>=0?N():W()}return W()}return"Keyword"===a.type?W():N()}function Z(){var a;return H(),l>=o?{type:b.EOF,lineNumber:m,lineStart:n,start:l,end:l}:(a=j.charCodeAt(l),y(a)?M():40===a||41===a||59===a?N():39===a||34===a?R():46===a?t(j.charCodeAt(l+1))?Q():N():t(a)?Q():r.tokenize&&47===a?Y():N())}function $(){var a,d,e;return H(),a={start:{line:m,column:l-n}},d=Z(),a.end={line:m,column:l-n},d.type!==b.EOF&&(e=j.slice(d.start,d.end),r.tokens.push({type:c[d.type],value:e,range:[d.start,d.end],loc:a})),d}function _(){var a;return a=p,l=a.end,m=a.lineNumber,n=a.lineStart,p="undefined"!=typeof r.tokens?$():Z(),l=a.end,m=a.lineNumber,n=a.lineStart,a}function ab(){var a,b,c;a=l,b=m,c=n,p="undefined"!=typeof r.tokens?$():Z(),l=a,m=b,n=c}function bb(){this.line=m,this.column=l-n}function cb(){this.start=new bb,this.end=null}function db(a){this.start=a.type===b.StringLiteral?{line:a.startLineNumber,column:a.start-a.startLineStart}:{line:a.lineNumber,column:a.start-a.lineStart},this.end=null}function eb(){l=p.start,p.type===b.StringLiteral?(m=p.startLineNumber,n=p.startLineStart):(m=p.lineNumber,n=p.lineStart),r.range&&(this.range=[l,0]),r.loc&&(this.loc=new cb)}function fb(a){r.range&&(this.range=[a.start,0]),r.loc&&(this.loc=new db(a))}function gb(){var a,b,c,d;return a=l,b=m,c=n,H(),d=m!==b,l=a,m=b,n=c,d}function hb(a,b){var c,d=Array.prototype.slice.call(arguments,2),e=b.replace(/%(\d)/g,function(a,b){return s(b>="===a||">>>="===a||"&="===a||"^="===a||"|="===a)}function pb(){var a;return 59===j.charCodeAt(l)||mb(";")?(_(),void 0):(a=m,H(),m===a&&(p.type===b.EOF||mb("}")||jb(p)),void 0)}function qb(a){return a.type===e.Identifier||a.type===e.MemberExpression}function rb(){var a=[],b=new eb;for(kb("[");!mb("]");)mb(",")?(_(),a.push(null)):(a.push(Nb()),mb("]")||kb(","));return _(),b.finishArrayExpression(a)}function sb(a,b){var c,d,e=new eb;return c=k,d=mc(),b&&k&&C(a[0].name)&&ib(b,h.StrictParamName),k=c,e.finishFunctionExpression(null,a,[],d)}function tb(){var a,c=new eb;return a=_(),a.type===b.StringLiteral||a.type===b.NumericLiteral?(k&&a.octal&&ib(a,h.StrictOctalLiteral),c.finishLiteral(a)):c.finishIdentifier(a.value)}function ub(){var a,c,d,e,f,g=new eb;return a=p,a.type===b.Identifier?(d=tb(),"get"!==a.value||mb(":")?"set"!==a.value||mb(":")?(kb(":"),e=Nb(),g.finishProperty("init",d,e)):(c=tb(),kb("("),a=p,a.type!==b.Identifier?(kb(")"),ib(a,h.UnexpectedToken,a.value),e=sb([])):(f=[Rb()],kb(")"),e=sb(f,a)),g.finishProperty("set",c,e)):(c=tb(),kb("("),kb(")"),e=sb([]),g.finishProperty("get",c,e))):a.type!==b.EOF&&a.type!==b.Punctuator?(c=tb(),kb(":"),e=Nb(),g.finishProperty("init",c,e)):(jb(a),void 0)}function vb(){var c,d,f,i,j,a=[],l={},m=String,n=new eb;for(kb("{");!mb("}");)d=ub(),f=d.key.type===e.Identifier?d.key.name:m(d.key.value),j="init"===d.kind?g.Data:"get"===d.kind?g.Get:g.Set,i="$"+f,Object.prototype.hasOwnProperty.call(l,i)?(l[i]===g.Data?k&&j===g.Data?ib({},h.StrictDuplicateProperty):j!==g.Data&&ib({},h.AccessorDataProperty):j===g.Data?ib({},h.AccessorDataProperty):l[i]&j&&ib({},h.AccessorGetSet),l[i]|=j):l[i]=j,a.push(d),mb("}")||(r.errors?(c=p,c.type!==b.Punctuator&&","!==c.value?ib(c,h.UnexpectedToken,c.value):_()):kb(","));return kb("}"),n.finishObjectExpression(a)}function wb(){var a;return kb("("),mb(")")?(_(),f.ArrowParameterPlaceHolder):(++q.parenthesisCount,a=Ob(),kb(")"),a)}function xb(){var a,c,d,e;if(mb("("))return wb();if(mb("["))return rb();if(mb("{"))return vb();if(a=p.type,e=new eb,a===b.Identifier)d=e.finishIdentifier(_().value);else if(a===b.StringLiteral||a===b.NumericLiteral)k&&p.octal&&ib(p,h.StrictOctalLiteral),d=e.finishLiteral(_());else if(a===b.Keyword){if(nb("function"))return rc();nb("this")?(_(),d=e.finishThisExpression()):jb(_())}else a===b.BooleanLiteral?(c=_(),c.value="true"===c.value,d=e.finishLiteral(c)):a===b.NullLiteral?(c=_(),c.value=null,d=e.finishLiteral(c)):mb("/")||mb("/=")?(d="undefined"!=typeof r.tokens?e.finishLiteral(W()):e.finishLiteral(V()),ab()):jb(_());return d}function yb(){var a=[];if(kb("("),!mb(")"))for(;o>l&&(a.push(Nb()),!mb(")"));)kb(",");return kb(")"),a}function zb(){var a,b=new eb;return a=_(),X(a)||jb(a),b.finishIdentifier(a.value)}function Ab(){return kb("."),zb()}function Bb(){var a;return kb("["),a=Ob(),kb("]"),a}function Cb(){var a,b,c=new eb;return lb("new"),a=Eb(),b=mb("(")?yb():[],c.finishNewExpression(a,b)}function Db(){var a,b,c,d,e;for(e=p,a=q.allowIn,q.allowIn=!0,b=nb("new")?Cb():xb(),q.allowIn=a;;)if(mb("."))d=Ab(),b=new fb(e).finishMemberExpression(".",b,d);else if(mb("("))c=yb(),b=new fb(e).finishCallExpression(b,c);else{if(!mb("["))break;d=Bb(),b=new fb(e).finishMemberExpression("[",b,d)}return b}function Eb(){var a,b,c,d;for(d=p,a=q.allowIn,b=nb("new")?Cb():xb(),q.allowIn=a;;)if(mb("["))c=Bb(),b=new fb(d).finishMemberExpression("[",b,c);else{if(!mb("."))break;c=Ab(),b=new fb(d).finishMemberExpression(".",b,c)}return b}function Fb(){var a,c,d=p;return a=Db(),p.type===b.Punctuator&&(!mb("++")&&!mb("--")||gb()||(k&&a.type===e.Identifier&&C(a.name)&&ib({},h.StrictLHSPostfix),qb(a)||ib({},h.InvalidLHSInAssignment),c=_(),a=new fb(d).finishPostfixExpression(c.value,a))),a}function Gb(){var a,c,d;return p.type!==b.Punctuator&&p.type!==b.Keyword?c=Fb():mb("++")||mb("--")?(d=p,a=_(),c=Gb(),k&&c.type===e.Identifier&&C(c.name)&&ib({},h.StrictLHSPrefix),qb(c)||ib({},h.InvalidLHSInAssignment),c=new fb(d).finishUnaryExpression(a.value,c)):mb("+")||mb("-")||mb("~")||mb("!")?(d=p,a=_(),c=Gb(),c=new fb(d).finishUnaryExpression(a.value,c)):nb("delete")||nb("void")||nb("typeof")?(d=p,a=_(),c=Gb(),c=new fb(d).finishUnaryExpression(a.value,c),k&&"delete"===c.operator&&c.argument.type===e.Identifier&&ib({},h.StrictDelete)):c=Fb(),c}function Hb(a,c){var d=0;if(a.type!==b.Punctuator&&a.type!==b.Keyword)return 0;switch(a.value){case"||":d=1;break;case"&&":d=2;break;case"|":d=3;break;case"^":d=4;break;case"&":d=5;break;case"==":case"!=":case"===":case"!==":d=6;break;case"<":case">":case"<=":case">=":case"instanceof":d=7;break;case"in":d=c?7:0;break;case"<<":case">>":case">>>":d=8;break;case"+":case"-":d=9;break;case"*":case"/":case"%":d=11}return d}function Ib(){var a,b,c,d,e,g,h,i,j,k;if(a=p,j=Gb(),j===f.ArrowParameterPlaceHolder)return j;if(d=p,e=Hb(d,q.allowIn),0===e)return j;for(d.prec=e,_(),b=[a,p],h=Gb(),g=[j,d,h];(e=Hb(p,q.allowIn))>0;){for(;g.length>2&&e<=g[g.length-2].prec;)h=g.pop(),i=g.pop().value,j=g.pop(),b.pop(),c=new fb(b[b.length-1]).finishBinaryExpression(i,j,h),g.push(c);d=_(),d.prec=e,g.push(d),b.push(p),c=Gb(),g.push(c)}for(k=g.length-1,c=g[k],b.pop();k>1;)c=new fb(b.pop()).finishBinaryExpression(g[k-1].value,g[k-2],c),k-=2;return c}function Jb(){var a,b,c,d,e;return e=p,a=Ib(),a===f.ArrowParameterPlaceHolder?a:(mb("?")&&(_(),b=q.allowIn,q.allowIn=!0,c=Nb(),q.allowIn=b,kb(":"),d=Nb(),a=new fb(e).finishConditionalExpression(a,c,d)),a)}function Kb(){return mb("{")?mc():Nb()}function Lb(a){var b,c,d,f,g,i,j,l;for(f=[],g=[],i=0,l=null,j={paramSet:{}},b=0,c=a.length;c>b;b+=1)if(d=a[b],d.type===e.Identifier)f.push(d),g.push(null),nc(j,d,d.name);else{if(d.type!==e.AssignmentExpression)return null;f.push(d.left),g.push(d.right),++i,nc(j,d.left,d.left.name)}return j.message===h.StrictParamDupe&&hb(k?j.stricted:j.firstRestricted,j.message),0===i&&(g=[]),{params:f,defaults:g,rest:l,stricted:j.stricted,firstRestricted:j.firstRestricted,message:j.message}}function Mb(a,b){var c,d;return kb("=>"),c=k,d=Kb(),k&&a.firstRestricted&&hb(a.firstRestricted,a.message),k&&a.stricted&&ib(a.stricted,a.message),k=c,b.finishArrowFunctionExpression(a.params,a.defaults,d,d.type!==e.BlockStatement)}function Nb(){var a,b,c,d,g,i;return a=q.parenthesisCount,i=p,b=p,c=Jb(),c!==f.ArrowParameterPlaceHolder&&!mb("=>")||q.parenthesisCount!==a&&q.parenthesisCount!==a+1||(c.type===e.Identifier?g=Lb([c]):c.type===e.AssignmentExpression?g=Lb([c]):c.type===e.SequenceExpression?g=Lb(c.expressions):c===f.ArrowParameterPlaceHolder&&(g=Lb([])),!g)?(ob()&&(qb(c)||ib({},h.InvalidLHSInAssignment),k&&c.type===e.Identifier&&C(c.name)&&ib(b,h.StrictLHSAssignment),b=_(),d=Nb(),c=new fb(i).finishAssignmentExpression(b.value,c,d)),c):Mb(g,new fb(i))}function Ob(){var a,c,b=p;if(a=Nb(),mb(",")){for(c=[a];o>l&&mb(",");)_(),c.push(Nb());a=new fb(b).finishSequenceExpression(c)}return a}function Pb(){for(var b,a=[];o>l&&!mb("}")&&(b=sc(),"undefined"!=typeof b);)a.push(b);return a}function Qb(){var a,b=new eb;return kb("{"),a=Pb(),kb("}"),b.finishBlockStatement(a)}function Rb(){var a,c=new eb;return a=_(),a.type!==b.Identifier&&jb(a),c.finishIdentifier(a.value)}function Sb(a){var c,b=null,d=new eb;return c=Rb(),k&&C(c.name)&&ib({},h.StrictVarName),"const"===a?(kb("="),b=Nb()):mb("=")&&(_(),b=Nb()),d.finishVariableDeclarator(c,b)}function Tb(a){var b=[];do{if(b.push(Sb(a)),!mb(","))break;_()}while(o>l);return b}function Ub(a){var b;return lb("var"),b=Tb(),pb(),a.finishVariableDeclaration(b,"var")}function Vb(a){var b,c=new eb;return lb(a),b=Tb(a),pb(),c.finishVariableDeclaration(b,a)}function Wb(){var a=new eb;return kb(";"),a.finishEmptyStatement()}function Xb(a){var b=Ob();return pb(),a.finishExpressionStatement(b)}function Yb(a){var b,c,d;return lb("if"),kb("("),b=Ob(),kb(")"),c=lc(),nb("else")?(_(),d=lc()):d=null,a.finishIfStatement(b,c,d)}function Zb(a){var b,c,d;return lb("do"),d=q.inIteration,q.inIteration=!0,b=lc(),q.inIteration=d,lb("while"),kb("("),c=Ob(),kb(")"),mb(";")&&_(),a.finishDoWhileStatement(b,c)}function $b(a){var b,c,d;return lb("while"),kb("("),b=Ob(),kb(")"),d=q.inIteration,q.inIteration=!0,c=lc(),q.inIteration=d,a.finishWhileStatement(b,c)}function _b(){var a,b,c=new eb;return a=_(),b=Tb(),c.finishVariableDeclaration(b,a.value)}function ac(a){var b,c,d,e,f,g,i;return b=c=d=null,lb("for"),kb("("),mb(";")?_():(nb("var")||nb("let")?(q.allowIn=!1,b=_b(),q.allowIn=!0,1===b.declarations.length&&nb("in")&&(_(),e=b,f=Ob(),b=null)):(q.allowIn=!1,b=Ob(),q.allowIn=!0,nb("in")&&(qb(b)||ib({},h.InvalidLHSInForIn),_(),e=b,f=Ob(),b=null)),"undefined"==typeof e&&kb(";")),"undefined"==typeof e&&(mb(";")||(c=Ob()),kb(";"),mb(")")||(d=Ob())),kb(")"),i=q.inIteration,q.inIteration=!0,g=lc(),q.inIteration=i,"undefined"==typeof e?a.finishForStatement(b,c,d,g):a.finishForInStatement(e,f,g)}function bc(a){var d,c=null;return lb("continue"),59===j.charCodeAt(l)?(_(),q.inIteration||hb({},h.IllegalContinue),a.finishContinueStatement(null)):gb()?(q.inIteration||hb({},h.IllegalContinue),a.finishContinueStatement(null)):(p.type===b.Identifier&&(c=Rb(),d="$"+c.name,Object.prototype.hasOwnProperty.call(q.labelSet,d)||hb({},h.UnknownLabel,c.name)),pb(),null!==c||q.inIteration||hb({},h.IllegalContinue),a.finishContinueStatement(c))}function cc(a){var d,c=null;return lb("break"),59===j.charCodeAt(l)?(_(),q.inIteration||q.inSwitch||hb({},h.IllegalBreak),a.finishBreakStatement(null)):gb()?(q.inIteration||q.inSwitch||hb({},h.IllegalBreak),a.finishBreakStatement(null)):(p.type===b.Identifier&&(c=Rb(),d="$"+c.name,Object.prototype.hasOwnProperty.call(q.labelSet,d)||hb({},h.UnknownLabel,c.name)),pb(),null!==c||q.inIteration||q.inSwitch||hb({},h.IllegalBreak),a.finishBreakStatement(c))}function dc(a){var c=null;return lb("return"),q.inFunctionBody||ib({},h.IllegalReturn),32===j.charCodeAt(l)&&y(j.charCodeAt(l+1))?(c=Ob(),pb(),a.finishReturnStatement(c)):gb()?a.finishReturnStatement(null):(mb(";")||mb("}")||p.type===b.EOF||(c=Ob()),pb(),a.finishReturnStatement(c))}function ec(a){var b,c;return k&&(H(),ib({},h.StrictModeWith)),lb("with"),kb("("),b=Ob(),kb(")"),c=lc(),a.finishWithStatement(b,c)}function fc(){var a,c,b=[],d=new eb;for(nb("default")?(_(),a=null):(lb("case"),a=Ob()),kb(":");o>l&&!(mb("}")||nb("default")||nb("case"));)c=lc(),b.push(c);return d.finishSwitchCase(a,b)}function gc(a){var b,c,d,e,f;if(lb("switch"),kb("("),b=Ob(),kb(")"),kb("{"),c=[],mb("}"))return _(),a.finishSwitchStatement(b,c);for(e=q.inSwitch,q.inSwitch=!0,f=!1;o>l&&!mb("}");)d=fc(),null===d.test&&(f&&hb({},h.MultipleDefaultsInSwitch),f=!0),c.push(d);return q.inSwitch=e,kb("}"),a.finishSwitchStatement(b,c)}function hc(a){var b;return lb("throw"),gb()&&hb({},h.NewlineAfterThrow),b=Ob(),pb(),a.finishThrowStatement(b)}function ic(){var a,b,c=new eb;return lb("catch"),kb("("),mb(")")&&jb(p),a=Rb(),k&&C(a.name)&&ib({},h.StrictCatchVariable),kb(")"),b=Qb(),c.finishCatchClause(a,b)}function jc(a){var b,c=[],d=null;return lb("try"),b=Qb(),nb("catch")&&c.push(ic()),nb("finally")&&(_(),d=Qb()),0!==c.length||d||hb({},h.NoCatchOrFinally),a.finishTryStatement(b,[],c,d)}function kc(a){return lb("debugger"),pb(),a.finishDebuggerStatement()}function lc(){var c,d,f,g,a=p.type;if(a===b.EOF&&jb(p),a===b.Punctuator&&"{"===p.value)return Qb();if(g=new eb,a===b.Punctuator)switch(p.value){case";":return Wb(g);case"(":return Xb(g)}else if(a===b.Keyword)switch(p.value){case"break":return cc(g);case"continue":return bc(g);case"debugger":return kc(g);case"do":return Zb(g);case"for":return ac(g);case"function":return qc(g);case"if":return Yb(g);case"return":return dc(g);case"switch":return gc(g);case"throw":return hc(g);case"try":return jc(g);case"var":return Ub(g);case"while":return $b(g);case"with":return ec(g)}return c=Ob(),c.type===e.Identifier&&mb(":")?(_(),f="$"+c.name,Object.prototype.hasOwnProperty.call(q.labelSet,f)&&hb({},h.Redeclaration,"Label",c.name),q.labelSet[f]=!0,d=lc(),delete q.labelSet[f],g.finishLabeledStatement(c,d)):(pb(),g.finishExpressionStatement(c))}function mc(){var a,d,f,g,i,m,n,r,s,c=[],t=new eb;for(kb("{");o>l&&p.type===b.StringLiteral&&(d=p,a=sc(),c.push(a),a.expression.type===e.Literal);)f=j.slice(d.start+1,d.end-1),"use strict"===f?(k=!0,g&&ib(g,h.StrictOctalLiteral)):!g&&d.octal&&(g=d);for(i=q.labelSet,m=q.inIteration,n=q.inSwitch,r=q.inFunctionBody,s=q.parenthesizedCount,q.labelSet={},q.inIteration=!1,q.inSwitch=!1,q.inFunctionBody=!0,q.parenthesizedCount=0;o>l&&!mb("}")&&(a=sc(),"undefined"!=typeof a);)c.push(a);return kb("}"),q.labelSet=i,q.inIteration=m,q.inSwitch=n,q.inFunctionBody=r,q.parenthesizedCount=s,t.finishBlockStatement(c)}function nc(a,b,c){var d="$"+c;k?(C(c)&&(a.stricted=b,a.message=h.StrictParamName),Object.prototype.hasOwnProperty.call(a.paramSet,d)&&(a.stricted=b,a.message=h.StrictParamDupe)):a.firstRestricted||(C(c)?(a.firstRestricted=b,a.message=h.StrictParamName):B(c)?(a.firstRestricted=b,a.message=h.StrictReservedWord):Object.prototype.hasOwnProperty.call(a.paramSet,d)&&(a.firstRestricted=b,a.message=h.StrictParamDupe)),a.paramSet[d]=!0}function oc(a){var b,c,d;return b=p,c=Rb(),nc(a,b,b.value),mb("=")&&(_(),d=Nb(),++a.defaultCount),a.params.push(c),a.defaults.push(d),!mb(")")}function pc(a){var b;if(b={params:[],defaultCount:0,defaults:[],firstRestricted:a},kb("("),!mb(")"))for(b.paramSet={};o>l&&oc(b);)kb(",");return kb(")"),0===b.defaultCount&&(b.defaults=[]),{params:b.params,defaults:b.defaults,stricted:b.stricted,firstRestricted:b.firstRestricted,message:b.message}}function qc(){var a,d,e,f,g,i,j,l,b=[],c=[],m=new eb;return lb("function"),e=p,a=Rb(),k?C(e.value)&&ib(e,h.StrictFunctionName):C(e.value)?(i=e,j=h.StrictFunctionName):B(e.value)&&(i=e,j=h.StrictReservedWord),g=pc(i),b=g.params,c=g.defaults,f=g.stricted,i=g.firstRestricted,g.message&&(j=g.message),l=k,d=mc(),k&&i&&hb(i,j),k&&f&&ib(f,j),k=l,m.finishFunctionDeclaration(a,b,c,d)}function rc(){var a,c,d,e,f,j,l,b=null,g=[],i=[],m=new eb;return lb("function"),mb("(")||(a=p,b=Rb(),k?C(a.value)&&ib(a,h.StrictFunctionName):C(a.value)?(d=a,e=h.StrictFunctionName):B(a.value)&&(d=a,e=h.StrictReservedWord)),f=pc(d),g=f.params,i=f.defaults,c=f.stricted,d=f.firstRestricted,f.message&&(e=f.message),l=k,j=mc(),k&&d&&hb(d,e),k&&c&&ib(c,e),k=l,m.finishFunctionExpression(b,g,i,j)}function sc(){if(p.type===b.Keyword)switch(p.value){case"const":case"let":return Vb(p.value);case"function":return qc();default:return lc()}return p.type!==b.EOF?lc():void 0}function tc(){for(var a,d,f,g,c=[];o>l&&(d=p,d.type===b.StringLiteral)&&(a=sc(),c.push(a),a.expression.type===e.Literal);)f=j.slice(d.start+1,d.end-1),"use strict"===f?(k=!0,g&&ib(g,h.StrictOctalLiteral)):!g&&d.octal&&(g=d);for(;o>l&&(a=sc(),"undefined"!=typeof a);)c.push(a);return c}function uc(){var a,b;return H(),ab(),b=new eb,k=!1,a=tc(),b.finishProgram(a)}function vc(){var a,b,c,d=[];for(a=0;a0?1:0,n=0,o=j.length,p=null,q={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},r={},c=c||{},c.tokens=!0,r.tokens=[],r.tokenize=!0,r.openParenToken=-1,r.openCurlyToken=-1,r.range="boolean"==typeof c.range&&c.range,r.loc="boolean"==typeof c.loc&&c.loc,"boolean"==typeof c.comment&&c.comment&&(r.comments=[]),"boolean"==typeof c.tolerant&&c.tolerant&&(r.errors=[]);try{if(ab(),p.type===b.EOF)return r.tokens;for(_();p.type!==b.EOF;)try{_()}catch(f){if(r.errors){r.errors.push(f);break}throw f}vc(),e=r.tokens,"undefined"!=typeof r.comments&&(e.comments=r.comments),"undefined"!=typeof r.errors&&(e.errors=r.errors)}catch(g){throw g}finally{r={}}return e}function xc(a,b){var c,d;d=String,"string"==typeof a||a instanceof String||(a=d(a)),j=a,l=0,m=j.length>0?1:0,n=0,o=j.length,p=null,q={allowIn:!0,labelSet:{},parenthesisCount:0,inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},r={},"undefined"!=typeof b&&(r.range="boolean"==typeof b.range&&b.range,r.loc="boolean"==typeof b.loc&&b.loc,r.attachComment="boolean"==typeof b.attachComment&&b.attachComment,r.loc&&null!==b.source&&void 0!==b.source&&(r.source=d(b.source)),"boolean"==typeof b.tokens&&b.tokens&&(r.tokens=[]),"boolean"==typeof b.comment&&b.comment&&(r.comments=[]),"boolean"==typeof b.tolerant&&b.tolerant&&(r.errors=[]),r.attachComment&&(r.range=!0,r.comments=[],r.bottomRightStack=[],r.trailingComments=[],r.leadingComments=[]));try{c=uc(),"undefined"!=typeof r.comments&&(c.comments=r.comments),"undefined"!=typeof r.tokens&&(vc(),c.tokens=r.tokens),"undefined"!=typeof r.errors&&(c.errors=r.errors)}catch(e){throw e}finally{r={}}return c}var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9},c={},c[b.BooleanLiteral]="Boolean",c[b.EOF]="",c[b.Identifier]="Identifier",c[b.Keyword]="Keyword",c[b.NullLiteral]="Null",c[b.NumericLiteral]="Numeric",c[b.Punctuator]="Punctuator",c[b.StringLiteral]="String",c[b.RegularExpression]="RegularExpression",d=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],e={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrowFunctionExpression:"ArrowFunctionExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},f={ArrowParameterPlaceHolder:{type:"ArrowParameterPlaceHolder"}},g={Data:1,Get:2,Set:4},h={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},i={NonAsciiIdentifierStart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]")},fb.prototype=eb.prototype={processComment:function(){var a,b,c=r.bottomRightStack,d=c[c.length-1]; if(!(this.type===e.Program&&this.body.length>0)){if(r.trailingComments.length>0?r.trailingComments[0].range[0]>=this.range[1]?(b=r.trailingComments,r.trailingComments=[]):r.trailingComments.length=0:d&&d.trailingComments&&d.trailingComments[0].range[0]>=this.range[1]&&(b=d.trailingComments,delete d.trailingComments),d)for(;d&&d.range[0]>=this.range[0];)a=d,d=c.pop();a?a.leadingComments&&a.leadingComments[a.leadingComments.length-1].range[1]<=this.range[0]&&(this.leadingComments=a.leadingComments,a.leadingComments=void 0):r.leadingComments.length>0&&r.leadingComments[r.leadingComments.length-1].range[1]<=this.range[0]&&(this.leadingComments=r.leadingComments,r.leadingComments=[]),b&&(this.trailingComments=b),c.push(this)}},finish:function(){r.range&&(this.range[1]=l),r.loc&&(this.loc.end=new bb,r.source&&(this.loc.source=r.source)),r.attachComment&&this.processComment()},finishArrayExpression:function(a){return this.type=e.ArrayExpression,this.elements=a,this.finish(),this},finishArrowFunctionExpression:function(a,b,c,d){return this.type=e.ArrowFunctionExpression,this.id=null,this.params=a,this.defaults=b,this.body=c,this.rest=null,this.generator=!1,this.expression=d,this.finish(),this},finishAssignmentExpression:function(a,b,c){return this.type=e.AssignmentExpression,this.operator=a,this.left=b,this.right=c,this.finish(),this},finishBinaryExpression:function(a,b,c){return this.type="||"===a||"&&"===a?e.LogicalExpression:e.BinaryExpression,this.operator=a,this.left=b,this.right=c,this.finish(),this},finishBlockStatement:function(a){return this.type=e.BlockStatement,this.body=a,this.finish(),this},finishBreakStatement:function(a){return this.type=e.BreakStatement,this.label=a,this.finish(),this},finishCallExpression:function(a,b){return this.type=e.CallExpression,this.callee=a,this.arguments=b,this.finish(),this},finishCatchClause:function(a,b){return this.type=e.CatchClause,this.param=a,this.body=b,this.finish(),this},finishConditionalExpression:function(a,b,c){return this.type=e.ConditionalExpression,this.test=a,this.consequent=b,this.alternate=c,this.finish(),this},finishContinueStatement:function(a){return this.type=e.ContinueStatement,this.label=a,this.finish(),this},finishDebuggerStatement:function(){return this.type=e.DebuggerStatement,this.finish(),this},finishDoWhileStatement:function(a,b){return this.type=e.DoWhileStatement,this.body=a,this.test=b,this.finish(),this},finishEmptyStatement:function(){return this.type=e.EmptyStatement,this.finish(),this},finishExpressionStatement:function(a){return this.type=e.ExpressionStatement,this.expression=a,this.finish(),this},finishForStatement:function(a,b,c,d){return this.type=e.ForStatement,this.init=a,this.test=b,this.update=c,this.body=d,this.finish(),this},finishForInStatement:function(a,b,c){return this.type=e.ForInStatement,this.left=a,this.right=b,this.body=c,this.each=!1,this.finish(),this},finishFunctionDeclaration:function(a,b,c,d){return this.type=e.FunctionDeclaration,this.id=a,this.params=b,this.defaults=c,this.body=d,this.rest=null,this.generator=!1,this.expression=!1,this.finish(),this},finishFunctionExpression:function(a,b,c,d){return this.type=e.FunctionExpression,this.id=a,this.params=b,this.defaults=c,this.body=d,this.rest=null,this.generator=!1,this.expression=!1,this.finish(),this},finishIdentifier:function(a){return this.type=e.Identifier,this.name=a,this.finish(),this},finishIfStatement:function(a,b,c){return this.type=e.IfStatement,this.test=a,this.consequent=b,this.alternate=c,this.finish(),this},finishLabeledStatement:function(a,b){return this.type=e.LabeledStatement,this.label=a,this.body=b,this.finish(),this},finishLiteral:function(a){return this.type=e.Literal,this.value=a.value,this.raw=j.slice(a.start,a.end),this.finish(),this},finishMemberExpression:function(a,b,c){return this.type=e.MemberExpression,this.computed="["===a,this.object=b,this.property=c,this.finish(),this},finishNewExpression:function(a,b){return this.type=e.NewExpression,this.callee=a,this.arguments=b,this.finish(),this},finishObjectExpression:function(a){return this.type=e.ObjectExpression,this.properties=a,this.finish(),this},finishPostfixExpression:function(a,b){return this.type=e.UpdateExpression,this.operator=a,this.argument=b,this.prefix=!1,this.finish(),this},finishProgram:function(a){return this.type=e.Program,this.body=a,this.finish(),this},finishProperty:function(a,b,c){return this.type=e.Property,this.key=b,this.value=c,this.kind=a,this.finish(),this},finishReturnStatement:function(a){return this.type=e.ReturnStatement,this.argument=a,this.finish(),this},finishSequenceExpression:function(a){return this.type=e.SequenceExpression,this.expressions=a,this.finish(),this},finishSwitchCase:function(a,b){return this.type=e.SwitchCase,this.test=a,this.consequent=b,this.finish(),this},finishSwitchStatement:function(a,b){return this.type=e.SwitchStatement,this.discriminant=a,this.cases=b,this.finish(),this},finishThisExpression:function(){return this.type=e.ThisExpression,this.finish(),this},finishThrowStatement:function(a){return this.type=e.ThrowStatement,this.argument=a,this.finish(),this},finishTryStatement:function(a,b,c,d){return this.type=e.TryStatement,this.block=a,this.guardedHandlers=b,this.handlers=c,this.finalizer=d,this.finish(),this},finishUnaryExpression:function(a,b){return this.type="++"===a||"--"===a?e.UpdateExpression:e.UnaryExpression,this.operator=a,this.argument=b,this.prefix=!0,this.finish(),this},finishVariableDeclaration:function(a,b){return this.type=e.VariableDeclaration,this.declarations=a,this.kind=b,this.finish(),this},finishVariableDeclarator:function(a,b){return this.type=e.VariableDeclarator,this.id=a,this.init=b,this.finish(),this},finishWhileStatement:function(a,b){return this.type=e.WhileStatement,this.test=a,this.body=b,this.finish(),this},finishWithStatement:function(a,b){return this.type=e.WithStatement,this.object=a,this.body=b,this.finish(),this}},a.version="2.0.0-dev",a.tokenize=wc,a.parse=xc,a.Syntax=function(){var a,b={};"function"==typeof Object.create&&(b=Object.create(null));for(a in e)e.hasOwnProperty(a)&&(b[a]=e[a]);return"function"==typeof Object.freeze&&Object.freeze(b),b}()});