(function(W,K){"function"===typeof define&&define.amd?define(["exports"],K):"undefined"!==typeof exports?K(exports):K(W.esprima={})})(this,function(W){function K(a,b){if(!a)throw Error("ASSERT: "+b);}function O(a){return 48<=a&&57>=a}function na(a){return 0<="0123456789abcdefABCDEF".indexOf(a)}function T(a){return 0<="01234567".indexOf(a)}function U(a){return 10===a||13===a||8232===a||8233===a}function V(a){return 36===a||95===a||65<=a&&90>=a||97<=a&&122>=a||92===a||128<=a&&oa.NonAsciiIdentifierStart.test(String.fromCharCode(a))}
function da(a){return 36===a||95===a||65<=a&&90>=a||97<=a&&122>=a||48<=a&&57>=a||92===a||128<=a&&oa.NonAsciiIdentifierPart.test(String.fromCharCode(a))}function X(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 J(a){return"eval"===a||"arguments"===a}function Oa(a){if(v&&X(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 pa(a,b,c,e,d){K("number"===typeof c,"Comment must have valid position");l.lastCommentStart>=c||(l.lastCommentStart=c,a={type:a,value:b},f.range&&(a.range=[c,e]),f.loc&&(a.loc=d),f.comments.push(a),f.attachComment&&(f.leadingComments.push(a),f.trailingComments.push(a)))}function qa(a){var b,c,e;b=d-a;for(c={start:{line:k,column:d-r-a}};d<z;)if(e=g.charCodeAt(d),++d,U(e)){f.comments&&(a=g.slice(b+a,d-1),c.end={line:k,column:d-r-1},pa("Line",a,b,d-1,c));13===e&&10===g.charCodeAt(d)&&++d;++k;
r=d;return}f.comments&&(a=g.slice(b+a,d),c.end={line:k,column:d-r},pa("Line",a,b,d,c))}function Q(){var a,b;for(b=0===d;d<z;)if(a=g.charCodeAt(d),32===a||9===a||11===a||12===a||160===a||5760<=a&&0<=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(a))++d;else if(U(a))++d,13===a&&10===g.charCodeAt(d)&&++d,++k,r=d,b=!0;else if(47===a)if(a=g.charCodeAt(d+1),47===a)++d,++d,qa(2),b=!0;else if(42===a){++d;++d;a:{var c=a=void 0,e=void 0,e=void 0;f.comments&&
(a=d-2,c={start:{line:k,column:d-r-2}});for(;d<z;)if(e=g.charCodeAt(d),U(e))13===e&&10===g.charCodeAt(d+1)&&++d,++k,++d,r=d,d>=z&&y();else{if(42===e&&47===g.charCodeAt(d+1)){++d;++d;f.comments&&(e=g.slice(a+2,d-2),c.end={line:k,column:d-r},pa("Block",e,a,d,c));break a}++d}y()}}else break;else if(b&&45===a)if(45===g.charCodeAt(d+1)&&62===g.charCodeAt(d+2))d+=3,qa(3);else break;else if(60===a)if("!--"===g.slice(d+1,d+4))++d,++d,++d,++d,qa(4);else break;else break}function ea(a){var b,c,e=0;b="u"===
a?4:2;for(a=0;a<b;++a)if(d<z&&na(g[d]))c=g[d++],e=16*e+"0123456789abcdef".indexOf(c.toLowerCase());else return"";return String.fromCharCode(e)}function wa(){var a,b;a=g.charCodeAt(d++);b=String.fromCharCode(a);92===a&&(117!==g.charCodeAt(d)&&y(),++d,(a=ea("u"))&&"\\"!==a&&V(a.charCodeAt(0))||y(),b=a);for(;d<z;){a=g.charCodeAt(d);if(!da(a))break;++d;b+=String.fromCharCode(a);92===a&&(b=b.substr(0,b.length-1),117!==g.charCodeAt(d)&&y(),++d,(a=ea("u"))&&"\\"!==a&&da(a.charCodeAt(0))||y(),b+=a)}return b}
function P(){var a=d,b=g.charCodeAt(d),c,e=g[d];switch(b){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++d,f.tokenize&&(40===b?f.openParenToken=f.tokens.length:123===b&&(f.openCurlyToken=f.tokens.length)),{type:h.Punctuator,value:String.fromCharCode(b),lineNumber:k,lineStart:r,start:a,end:d};default:if(c=g.charCodeAt(d+1),61===c)switch(b){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return d+=2,{type:h.Punctuator,
value:String.fromCharCode(b)+String.fromCharCode(c),lineNumber:k,lineStart:r,start:a,end:d};case 33:case 61:return d+=2,61===g.charCodeAt(d)&&++d,{type:h.Punctuator,value:g.slice(a,d),lineNumber:k,lineStart:r,start:a,end:d}}}b=g.substr(d,4);if(">>>="===b)return d+=4,{type:h.Punctuator,value:b,lineNumber:k,lineStart:r,start:a,end:d};b=b.substr(0,3);if(">>>"===b||"<<="===b||">>="===b)return d+=3,{type:h.Punctuator,value:b,lineNumber:k,lineStart:r,start:a,end:d};b=b.substr(0,2);if(e===b[1]&&0<="+-<>&|".indexOf(e)||
"=>"===b)return d+=2,{type:h.Punctuator,value:b,lineNumber:k,lineStart:r,start:a,end:d};if(0<="<>=!+-*%&|^/".indexOf(e))return++d,{type:h.Punctuator,value:e,lineNumber:k,lineStart:r,start:a,end:d};y()}function xa(){var a,b,c;c=g[d];K(O(c.charCodeAt(0))||"."===c,"Numeric literal must start with a decimal digit or a decimal point");b=d;a="";if("."!==c){a=g[d++];c=g[d];if("0"===a){if("x"===c||"X"===c){++d;for(a="";d<z&&na(g[d]);)a+=g[d++];0===a.length&&y();V(g.charCodeAt(d))&&y();return{type:h.NumericLiteral,
value:parseInt("0x"+a,16),lineNumber:k,lineStart:r,start:b,end:d}}if("b"===c||"B"===c){++d;for(c="";d<z;){a=g[d];if("0"!==a&&"1"!==a)break;c+=g[d++]}0===c.length&&y();d<z&&(a=g.charCodeAt(d),(V(a)||O(a))&&y());return{type:h.NumericLiteral,value:parseInt(c,2),lineNumber:k,lineStart:r,start:b,end:d}}var e;if(!(e="o"===c||"O"===c)&&(e=T(c)))a:{var w;for(e=d+1;e<z;++e){w=g[e];if("8"===w||"9"===w){e=!1;break a}if(!T(w))break}e=!0}if(e){T(c)?(c=!0,a="0"+g[d++]):(c=!1,++d,a="");for(;d<z&&T(g[d]);)a+=g[d++];
c||0!==a.length||y();(V(g.charCodeAt(d))||O(g.charCodeAt(d)))&&y();return{type:h.NumericLiteral,value:parseInt(a,8),octal:c,lineNumber:k,lineStart:r,start:b,end:d}}}for(;O(g.charCodeAt(d));)a+=g[d++];c=g[d]}if("."===c){for(a+=g[d++];O(g.charCodeAt(d));)a+=g[d++];c=g[d]}if("e"===c||"E"===c){a+=g[d++];c=g[d];if("+"===c||"-"===c)a+=g[d++];if(O(g.charCodeAt(d)))for(;O(g.charCodeAt(d));)a+=g[d++];else y()}V(g.charCodeAt(d))&&y();return{type:h.NumericLiteral,value:parseFloat(a),lineNumber:k,lineStart:r,
start:b,end:d}}function Pa(a,b){var c=a;0<=b.indexOf("u")&&(c=c.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(a,b){if(1114111>=parseInt(b,16))return"x";F(q.InvalidRegExp)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{return new RegExp(a,b)}catch(e){return null}}function ya(){var a,b,c,e,w,x;m=null;Q();w=d;c=g[d];K("/"===c,"Regular expression literal must start with a slash");e=g[d++];for(a=b=!1;d<z;)if(c=g[d++],e+=c,"\\"===c)c=g[d++],U(c.charCodeAt(0))&&F(q.UnterminatedRegExp),e+=c;else if(U(c.charCodeAt(0)))F(q.UnterminatedRegExp);
else if(b)"]"===c&&(b=!1);else if("/"===c){a=!0;break}else"["===c&&(b=!0);a||F(q.UnterminatedRegExp);c=e.substr(1,e.length-2);var l;for(x=b="";d<z;){a=g[d];if(!da(a.charCodeAt(0)))break;++d;if("\\"===a&&d<z){a=g[d];if("u"===a)if(++d,l=d,a=ea("u"))for(x+=a,b+="\\u";l<d;++l)b+=g[l];else d=l,x+="u",b+="\\u";else b+="\\";C()}else x+=a,b+=a}a=x;x=Pa(c,a);return f.tokenize?{type:h.RegularExpression,value:x,regex:{pattern:c,flags:a},lineNumber:k,lineStart:r,start:w,end:d}:{literal:e+b,value:x,regex:{pattern:c,
flags:a},start:w,end:d}}function Y(){var a,b,c,e;Q();a=d;b={start:{line:k,column:d-r}};c=ya();b.end={line:k,column:d-r};f.tokenize||(0<f.tokens.length&&(e=f.tokens[f.tokens.length-1],e.range[0]===a&&"Punctuator"===e.type&&("/"!==e.value&&"/="!==e.value||f.tokens.pop())),f.tokens.push({type:"RegularExpression",value:c.literal,regex:c.regex,range:[a,d],loc:b}));return c}function Qa(){var a;a=f.tokens[f.tokens.length-1];if(!a)return Y();if("Punctuator"===a.type){if("]"===a.value)return P();if(")"===
a.value)return a=f.tokens[f.openParenToken-1],!a||"Keyword"!==a.type||"if"!==a.value&&"while"!==a.value&&"for"!==a.value&&"with"!==a.value?P():Y();if("}"===a.value){if(f.tokens[f.openCurlyToken-3]&&"Keyword"===f.tokens[f.openCurlyToken-3].type){if(a=f.tokens[f.openCurlyToken-4],!a)return P()}else if(f.tokens[f.openCurlyToken-4]&&"Keyword"===f.tokens[f.openCurlyToken-4].type){if(a=f.tokens[f.openCurlyToken-5],!a)return Y()}else return P();if(0<=za.indexOf(a.value))return P()}return Y()}return"Keyword"===
a.type&&"this"!==a.value?Y():P()}function ra(){var a;Q();if(d>=z)return{type:h.EOF,lineNumber:k,lineStart:r,start:d,end:d};a=g.charCodeAt(d);if(V(a)){var b;a=d;if(92===g.charCodeAt(d))b=wa();else a:{var c;for(b=d++;d<z;){c=g.charCodeAt(d);if(92===c){d=b;b=wa();break a}if(da(c))++d;else break}b=g.slice(b,d)}return{type:1===b.length?h.Identifier:Oa(b)?h.Keyword:"null"===b?h.NullLiteral:"true"===b||"false"===b?h.BooleanLiteral:h.Identifier,value:b,lineNumber:k,lineStart:r,start:a,end:d}}if(40===a||41===
a||59===a)return P();if(39===a||34===a){var e="",w,x,l;c=!1;var m,n;m=k;n=r;a=g[d];K("'"===a||'"'===a,"String literal must starts with a quote");b=d;for(++d;d<z;)if(w=g[d++],w===a){a="";break}else if("\\"===w)if((w=g[d++])&&U(w.charCodeAt(0)))++k,"\r"===w&&"\n"===g[d]&&++d,r=d;else switch(w){case "u":case "x":if("{"===g[d]){++d;x=w=x=void 0;x=g[d];w=0;for("}"===x&&y();d<z;){x=g[d++];if(!na(x))break;w=16*w+"0123456789abcdef".indexOf(x.toLowerCase())}(1114111<w||"}"!==x)&&y();65535>=w?w=String.fromCharCode(w):
(x=(w-65536>>10)+55296,w=String.fromCharCode(x,(w-65536&1023)+56320));e+=w}else l=d,(x=ea(w))?e+=x:(d=l,e+=w);break;case "n":e+="\n";break;case "r":e+="\r";break;case "t":e+="\t";break;case "b":e+="\b";break;case "f":e+="\f";break;case "v":e+="\x0B";break;default:T(w)?(x="01234567".indexOf(w),0!==x&&(c=!0),d<z&&T(g[d])&&(c=!0,x=8*x+"01234567".indexOf(g[d++]),0<="0123".indexOf(w)&&d<z&&T(g[d])&&(x=8*x+"01234567".indexOf(g[d++]))),e+=String.fromCharCode(x)):e+=w}else if(U(w.charCodeAt(0)))break;else e+=
w;""!==a&&y();return{type:h.StringLiteral,value:e,octal:c,startLineNumber:m,startLineStart:n,lineNumber:k,lineStart:r,start:b,end:d}}return 46===a?O(g.charCodeAt(d+1))?xa():P():O(a)?xa():f.tokenize&&47===a?Qa():P()}function Aa(){var a,b,c;Q();a={start:{line:k,column:d-r}};b=ra();a.end={line:k,column:d-r};b.type!==h.EOF&&(c=g.slice(b.start,b.end),a={type:L[b.type],value:c,range:[b.start,b.end],loc:a},b.regex&&(a.regex={pattern:b.regex.pattern,flags:b.regex.flags}),f.tokens.push(a));return b}function t(){var a;
a=m;d=a.end;k=a.lineNumber;r=a.lineStart;m="undefined"!==typeof f.tokens?Aa():ra();d=a.end;k=a.lineNumber;r=a.lineStart;return a}function sa(){var a,b,c;a=d;b=k;c=r;m="undefined"!==typeof f.tokens?Aa():ra();d=a;k=b;r=c}function Ba(){this.line=k;this.column=d-r}function Ra(){this.start=new Ba;this.end=null}function Sa(a){this.start=a.type===h.StringLiteral?{line:a.startLineNumber,column:a.start-a.startLineStart}:{line:a.lineNumber,column:a.start-a.lineStart};this.end=null}function B(){d=m.start;m.type===
h.StringLiteral?(k=m.startLineNumber,r=m.startLineStart):(k=m.lineNumber,r=m.lineStart);f.range&&(this.range=[d,0]);f.loc&&(this.loc=new Ra)}function G(a){f.range&&(this.range=[a.start,0]);f.loc&&(this.loc=new Sa(a))}function ba(){var a,b,c,e;a=d;b=k;c=r;Q();e=k!==b;d=a;k=b;r=c;return e}function ga(a,b,c){var e=Error("Line "+a+": "+c);e.index=b;e.lineNumber=a;e.column=b-r+1;e.description=c;return e}function F(a){var b,c;b=Array.prototype.slice.call(arguments,1);c=a.replace(/%(\d)/g,function(a,c){K(c<
b.length,"Message reference must be in range");return b[c]});throw ga(k,d,c);}function H(a){var b,c;b=Array.prototype.slice.call(arguments,1);c=a.replace(/%(\d)/g,function(a,c){K(c<b.length,"Message reference must be in range");return b[c]});c=ga(k,d,c);if(f.errors)f.errors.push(c);else throw c;}function Ca(a,b){var c=q.UnexpectedToken;if(a&&(c=b?b:a.type===h.EOF?q.UnexpectedEOS:a.type===h.Identifier?q.UnexpectedIdentifier:a.type===h.NumericLiteral?q.UnexpectedNumber:a.type===h.StringLiteral?q.UnexpectedString:
q.UnexpectedToken,a.type===h.Keyword)){var e;a:switch(a.value){case "class":case "enum":case "export":case "extends":case "import":case "super":e=!0;break a;default:e=!1}e?c=q.UnexpectedReserved:v&&X(a.value)&&(c=q.StrictReservedWord)}c=c.replace("%0",a?a.value:"ILLEGAL");return a&&"number"===typeof a.lineNumber?ga(a.lineNumber,a.start,c):ga(k,d,c)}function y(a,b){throw Ca(a,b);}function C(a,b){var c=Ca(a,b);if(f.errors)f.errors.push(c);else throw c;}function u(a){var b=t();b.type===h.Punctuator&&
b.value===a||y(b)}function Da(){var a;f.errors?(a=m,a.type===h.Punctuator&&","===a.value?t():a.type===h.Punctuator&&";"===a.value?(t(),C(a)):C(a,q.UnexpectedToken)):u(",")}function A(a){var b=t();b.type===h.Keyword&&b.value===a||y(b)}function p(a){return m.type===h.Punctuator&&m.value===a}function E(a){return m.type===h.Keyword&&m.value===a}function M(){var a,b=d,c=k,e=r,w=m;59===g.charCodeAt(d)||p(";")?t():(a=k,Q(),k!==a?(d=b,k=c,r=e,m=w):m.type===h.EOF||p("}")||y(m))}function ha(a){return a.type===
n.Identifier||a.type===n.MemberExpression}function ia(a,b){var c,e,d=new B;c=v;e=ja();b&&v&&J(a[0].name)&&C(b,q.StrictParamName);v=c;return d.finishFunctionExpression(null,a,[],e)}function Ea(){var a,b;a=v;v=!0;b=ta();b=ia(b.params);v=a;return b}function ka(){var a,b=new B;a=t();return a.type===h.StringLiteral||a.type===h.NumericLiteral?(v&&a.octal&&C(a,q.StrictOctalLiteral),b.finishLiteral(a)):b.finishIdentifier(a.value)}function Ta(){var a,b,c,e=new B;a=m;if(a.type===h.Identifier)return b=ka(),
"get"!==a.value||p(":")||p("(")?"set"!==a.value||p(":")||p("(")?p(":")?(t(),a=I(),e.finishProperty("init",b,a,!1,!1)):p("(")?(a=Ea(),e.finishProperty("init",b,a,!0,!1)):e.finishProperty("init",b,b,!1,!0):(b=ka(),u("("),a=m,a.type!==h.Identifier?(u(")"),C(a),a=ia([])):(c=[R()],u(")"),a=ia(c,a)),e.finishProperty("set",b,a,!1,!1)):(b=ka(),u("("),u(")"),a=ia([]),e.finishProperty("get",b,a,!1,!1));if(a.type===h.EOF||a.type===h.Punctuator)y(a);else{b=ka();if(p(":"))return t(),a=I(),e.finishProperty("init",
b,a,!1,!1);if(p("("))return a=Ea(),e.finishProperty("init",b,a,!0,!1);y(t())}}function Fa(){var a,b,c,e;if(p("("))return u("("),p(")")?(t(),b=Z.ArrowParameterPlaceHolder):(++l.parenthesisCount,b=D(),u(")")),b;if(p("[")){b=[];var d=new B;for(u("[");!p("]");)p(",")?(t(),b.push(null)):(b.push(I()),p("]")||u(","));t();return d.finishArrayExpression(b)}if(p("{")){b=[];var g;a={};c=String;var fa=new B;for(u("{");!p("}");)d=Ta(),g=d.key.type===n.Identifier?d.key.name:c(d.key.value),e="init"===d.kind?S.Data:
"get"===d.kind?S.Get:S.Set,g="$"+g,Object.prototype.hasOwnProperty.call(a,g)?(a[g]===S.Data?v&&e===S.Data?H(q.StrictDuplicateProperty):e!==S.Data&&H(q.AccessorDataProperty):e===S.Data?H(q.AccessorDataProperty):a[g]&e&&H(q.AccessorGetSet),a[g]|=e):a[g]=e,b.push(d),p("}")||Da();u("}");return fa.finishObjectExpression(b)}a=m.type;e=new B;if(a===h.Identifier)c=e.finishIdentifier(t().value);else if(a===h.StringLiteral||a===h.NumericLiteral)v&&m.octal&&C(m,q.StrictOctalLiteral),c=e.finishLiteral(t());else if(a===
h.Keyword){if(E("function")){e=null;var k,fa=[];g=[];var r;a=new B;A("function");p("(")||(c=m,e=R(),v?J(c.value)&&C(c,q.StrictFunctionName):J(c.value)?(b=c,d=q.StrictFunctionName):X(c.value)&&(b=c,d=q.StrictReservedWord));k=ta(b);fa=k.params;g=k.defaults;c=k.stricted;b=k.firstRestricted;k.message&&(d=k.message);r=v;k=ja();v&&b&&y(b,d);v&&c&&C(c,d);v=r;return a.finishFunctionExpression(e,fa,g,k)}E("this")?(t(),c=e.finishThisExpression()):y(t())}else a===h.BooleanLiteral?(b=t(),b.value="true"===b.value,
c=e.finishLiteral(b)):a===h.NullLiteral?(b=t(),b.value=null,c=e.finishLiteral(b)):p("/")||p("/=")?(c="undefined"!==typeof f.tokens?e.finishLiteral(Y()):e.finishLiteral(ya()),sa()):y(t());return c}function Ga(){var a=[];u("(");if(!p(")"))for(;d<z;){a.push(I());if(p(")"))break;Da()}u(")");return a}function Ha(){u(".");var a,b=new B;a=t();a.type===h.Identifier||a.type===h.Keyword||a.type===h.BooleanLiteral||a.type===h.NullLiteral||y(a);return b.finishIdentifier(a.value)}function Ia(){var a;u("[");a=
D();u("]");return a}function Ja(){var a,b,c=new B;A("new");var e;K(l.allowIn,"callee of new expression always allow in keyword.");e=m;for(a=E("new")?Ja():Fa();;)if(p("["))b=Ia(),a=(new G(e)).finishMemberExpression("[",a,b);else if(p("."))b=Ha(),a=(new G(e)).finishMemberExpression(".",a,b);else break;b=p("(")?Ga():[];return c.finishNewExpression(a,b)}function Ka(){var a,b,c=m,e,d=l.allowIn;b=m;l.allowIn=!0;for(a=E("new")?Ja():Fa();;)if(p("."))e=Ha(),a=(new G(b)).finishMemberExpression(".",a,e);else if(p("("))e=
Ga(),a=(new G(b)).finishCallExpression(a,e);else if(p("["))e=Ia(),a=(new G(b)).finishMemberExpression("[",a,e);else break;l.allowIn=d;m.type!==h.Punctuator||!p("++")&&!p("--")||ba()||(v&&a.type===n.Identifier&&J(a.name)&&H(q.StrictLHSPostfix),ha(a)||H(q.InvalidLHSInAssignment),b=t(),a=(new G(c)).finishPostfixExpression(b.value,a));return a}function aa(){var a,b,c;m.type!==h.Punctuator&&m.type!==h.Keyword?b=Ka():p("++")||p("--")?(c=m,a=t(),b=aa(),v&&b.type===n.Identifier&&J(b.name)&&H(q.StrictLHSPrefix),
ha(b)||H(q.InvalidLHSInAssignment),b=(new G(c)).finishUnaryExpression(a.value,b)):p("+")||p("-")||p("~")||p("!")?(c=m,a=t(),b=aa(),b=(new G(c)).finishUnaryExpression(a.value,b)):E("delete")||E("void")||E("typeof")?(c=m,a=t(),b=aa(),b=(new G(c)).finishUnaryExpression(a.value,b),v&&"delete"===b.operator&&b.argument.type===n.Identifier&&H(q.StrictDelete)):b=Ka();return b}function La(a,b){var c=0;if(a.type!==h.Punctuator&&a.type!==h.Keyword)return 0;switch(a.value){case "||":c=1;break;case "&&":c=2;break;
case "|":c=3;break;case "^":c=4;break;case "&":c=5;break;case "==":case "!=":case "===":case "!==":c=6;break;case "<":case ">":case "<=":case ">=":case "instanceof":c=7;break;case "in":c=b?7:0;break;case "<<":case ">>":case ">>>":c=8;break;case "+":case "-":c=9;break;case "*":case "/":case "%":c=11}return c}function Ua(){var a,b,c,e,d,f;a=m;b=aa();if(b===Z.ArrowParameterPlaceHolder)return b;c=m;e=La(c,l.allowIn);if(0===e)return b;c.prec=e;t();a=[a,m];f=aa();for(d=[b,c,f];0<(e=La(m,l.allowIn));){for(;2<
d.length&&e<=d[d.length-2].prec;)f=d.pop(),c=d.pop().value,b=d.pop(),a.pop(),b=(new G(a[a.length-1])).finishBinaryExpression(c,b,f),d.push(b);c=t();c.prec=e;d.push(c);a.push(m);b=aa();d.push(b)}e=d.length-1;b=d[e];for(a.pop();1<e;)b=(new G(a.pop())).finishBinaryExpression(d[e-1].value,d[e-2],b),e-=2;return b}function la(a){var b,c,e,d,f,g,h;d=[];f=[];g=0;h={paramSet:{}};b=0;for(c=a.length;b<c;b+=1)if(e=a[b],e.type===n.Identifier)d.push(e),f.push(null),ua(h,e,e.name);else if(e.type===n.AssignmentExpression)d.push(e.left),
f.push(e.right),++g,ua(h,e.left,e.left.name);else return null;h.message===q.StrictParamDupe&&(a=v?h.stricted:h.firstRestricted,y(a,h.message));0===g&&(f=[]);return{params:d,defaults:f,rest:null,stricted:h.stricted,firstRestricted:h.firstRestricted,message:h.message}}function I(){var a,b,c,e,d;a=l.parenthesisCount;b=d=m;var f,g,k;k=m;c=Ua();c!==Z.ArrowParameterPlaceHolder&&p("?")&&(t(),f=l.allowIn,l.allowIn=!0,g=I(),l.allowIn=f,u(":"),f=I(),c=(new G(k)).finishConditionalExpression(c,g,f));if(c===Z.ArrowParameterPlaceHolder||
p("=>"))if(l.parenthesisCount===a||l.parenthesisCount===a+1)if(c.type===n.Identifier?e=la([c]):c.type===n.AssignmentExpression?e=la([c]):c.type===n.SequenceExpression?e=la(c.expressions):c===Z.ArrowParameterPlaceHolder&&(e=la([])),e)return b=e,d=new G(d),u("=>"),a=v,e=p("{")?ja():I(),v&&b.firstRestricted&&y(b.firstRestricted,b.message),v&&b.stricted&&C(b.stricted,b.message),v=a,d.finishArrowFunctionExpression(b.params,b.defaults,e,e.type!==n.BlockStatement);m.type!==h.Punctuator?a=!1:(a=m.value,a=
"="===a||"*="===a||"/="===a||"%="===a||"+="===a||"-="===a||"<<="===a||">>="===a||">>>="===a||"&="===a||"^="===a||"|="===a);a&&(ha(c)||H(q.InvalidLHSInAssignment),v&&c.type===n.Identifier&&J(c.name)&&C(b,q.StrictLHSAssignment),b=t(),a=I(),c=(new G(d)).finishAssignmentExpression(b.value,c,a));return c}function D(){var a,b=m;a=I();if(p(",")){for(a=[a];d<z&&p(",");)t(),a.push(I());a=(new G(b)).finishSequenceExpression(a)}return a}function ma(){var a=new B;u("{");for(var b=[],c;d<z&&!p("}");){c=ca();if("undefined"===
typeof c)break;b.push(c)}u("}");return a.finishBlockStatement(b)}function R(){var a,b=new B;a=t();a.type!==h.Identifier&&(v&&a.type===h.Keyword&&X(a.value)?C(a,q.StrictReservedWord):y(a));return b.finishIdentifier(a.value)}function Va(a){var b=null,c,d=new B;c=R();v&&J(c.name)&&H(q.StrictVarName);"const"===a?(u("="),b=I()):p("=")&&(t(),b=I());return d.finishVariableDeclarator(c,b)}function va(a){var b=[];do{b.push(Va(a));if(!p(","))break;t()}while(d<z);return b}function Wa(){var a,b,c=new B;A("catch");
u("(");p(")")&&y(m);a=R();v&&J(a.name)&&H(q.StrictCatchVariable);u(")");b=ma();return c.finishCatchClause(a,b)}function N(){var a=m.type,b,c,e;a===h.EOF&&y(m);if(a===h.Punctuator&&"{"===m.value)return ma();e=new B;if(a===h.Punctuator)switch(m.value){case ";":return e=new B,u(";"),e.finishEmptyStatement();case "(":return b=D(),M(),e.finishExpressionStatement(b)}else if(a===h.Keyword)switch(m.value){case "break":return b=null,A("break"),59===g.charCodeAt(d)?(t(),l.inIteration||l.inSwitch||F(q.IllegalBreak),
e=e.finishBreakStatement(null)):ba()?(l.inIteration||l.inSwitch||F(q.IllegalBreak),e=e.finishBreakStatement(null)):(m.type===h.Identifier&&(b=R(),c="$"+b.name,Object.prototype.hasOwnProperty.call(l.labelSet,c)||F(q.UnknownLabel,b.name)),M(),null!==b||l.inIteration||l.inSwitch||F(q.IllegalBreak),e=e.finishBreakStatement(b)),e;case "continue":return b=null,A("continue"),59===g.charCodeAt(d)?(t(),l.inIteration||F(q.IllegalContinue),e=e.finishContinueStatement(null)):ba()?(l.inIteration||F(q.IllegalContinue),
e=e.finishContinueStatement(null)):(m.type===h.Identifier&&(b=R(),c="$"+b.name,Object.prototype.hasOwnProperty.call(l.labelSet,c)||F(q.UnknownLabel,b.name)),M(),null!==b||l.inIteration||F(q.IllegalContinue),e=e.finishContinueStatement(b)),e;case "debugger":return A("debugger"),M(),e.finishDebuggerStatement();case "do":return A("do"),c=l.inIteration,l.inIteration=!0,b=N(),l.inIteration=c,A("while"),u("("),c=D(),u(")"),p(";")&&t(),e.finishDoWhileStatement(b,c);case "for":var f,x,k,r;k=l.allowIn;f=a=
x=null;A("for");u("(");if(p(";"))t();else{if(E("var")||E("let")){l.allowIn=!1;var C=new B;f=t();r=va();f=C.finishVariableDeclaration(r,f.value);l.allowIn=k;1===f.declarations.length&&E("in")&&(t(),b=f,c=D(),f=null)}else l.allowIn=!1,f=D(),l.allowIn=k,E("in")&&(ha(f)||H(q.InvalidLHSInForIn),t(),b=f,c=D(),f=null);"undefined"===typeof b&&u(";")}"undefined"===typeof b&&(p(";")||(a=D()),u(";"),p(")")||(x=D()));u(")");r=l.inIteration;l.inIteration=!0;k=N();l.inIteration=r;return"undefined"===typeof b?e.finishForStatement(f,
a,x,k):e.finishForInStatement(b,c,k);case "function":return Ma(e);case "if":return A("if"),u("("),b=D(),u(")"),c=N(),E("else")?(t(),a=N()):a=null,e.finishIfStatement(b,c,a);case "return":return b=null,A("return"),l.inFunctionBody||H(q.IllegalReturn),32===g.charCodeAt(d)&&V(g.charCodeAt(d+1))?(b=D(),M(),e=e.finishReturnStatement(b)):ba()?e=e.finishReturnStatement(null):(p(";")||p("}")||m.type===h.EOF||(b=D()),M(),e=e.finishReturnStatement(b)),e;case "switch":A("switch");u("(");b=D();u(")");u("{");
c=[];if(p("}"))t();else{a=l.inSwitch;l.inSwitch=!0;for(x=!1;d<z&&!p("}");){k=void 0;f=[];r=void 0;C=new B;E("default")?(t(),k=null):(A("case"),k=D());for(u(":");d<z&&!(p("}")||E("default")||E("case"));)r=N(),f.push(r);k=C.finishSwitchCase(k,f);null===k.test&&(x&&F(q.MultipleDefaultsInSwitch),x=!0);c.push(k)}l.inSwitch=a;u("}")}e=e.finishSwitchStatement(b,c);return e;case "throw":return A("throw"),ba()&&F(q.NewlineAfterThrow),b=D(),M(),e.finishThrowStatement(b);case "try":return c=[],a=null,A("try"),
b=ma(),E("catch")&&c.push(Wa()),E("finally")&&(t(),a=ma()),0!==c.length||a||F(q.NoCatchOrFinally),e.finishTryStatement(b,[],c,a);case "var":return A("var"),b=va(),M(),e.finishVariableDeclaration(b,"var");case "while":return A("while"),u("("),b=D(),u(")"),a=l.inIteration,l.inIteration=!0,c=N(),l.inIteration=a,e.finishWhileStatement(b,c);case "with":return v&&(Q(),H(q.StrictModeWith)),A("with"),u("("),b=D(),u(")"),c=N(),e.finishWithStatement(b,c)}b=D();if(b.type===n.Identifier&&p(":"))return t(),a=
"$"+b.name,Object.prototype.hasOwnProperty.call(l.labelSet,a)&&F(q.Redeclaration,"Label",b.name),l.labelSet[a]=!0,c=N(),delete l.labelSet[a],e.finishLabeledStatement(b,c);M();return e.finishExpressionStatement(b)}function ja(){var a,b=[],c,e,f,k,r,t=new B;for(u("{");d<z&&m.type===h.StringLiteral;){c=m;a=ca();b.push(a);if(a.expression.type!==n.Literal)break;a=g.slice(c.start+1,c.end-1);"use strict"===a?(v=!0,e&&C(e,q.StrictOctalLiteral)):!e&&c.octal&&(e=c)}c=l.labelSet;e=l.inIteration;f=l.inSwitch;
k=l.inFunctionBody;r=l.parenthesizedCount;l.labelSet={};l.inIteration=!1;l.inSwitch=!1;l.inFunctionBody=!0;for(l.parenthesizedCount=0;d<z&&!p("}");){a=ca();if("undefined"===typeof a)break;b.push(a)}u("}");l.labelSet=c;l.inIteration=e;l.inSwitch=f;l.inFunctionBody=k;l.parenthesizedCount=r;return t.finishBlockStatement(b)}function ua(a,b,c){var d="$"+c;v?(J(c)&&(a.stricted=b,a.message=q.StrictParamName),Object.prototype.hasOwnProperty.call(a.paramSet,d)&&(a.stricted=b,a.message=q.StrictParamDupe)):
a.firstRestricted||(J(c)?(a.firstRestricted=b,a.message=q.StrictParamName):X(c)?(a.firstRestricted=b,a.message=q.StrictReservedWord):Object.prototype.hasOwnProperty.call(a.paramSet,d)&&(a.firstRestricted=b,a.message=q.StrictParamDupe));a.paramSet[d]=!0}function ta(a){a={params:[],defaultCount:0,defaults:[],firstRestricted:a};u("(");if(!p(")"))for(a.paramSet={};d<z;){var b=a,c=void 0,e=void 0,f=void 0,c=m,e=R();ua(b,c,c.value);p("=")&&(t(),f=I(),++b.defaultCount);b.params.push(e);b.defaults.push(f);
if(p(")"))break;u(",")}u(")");0===a.defaultCount&&(a.defaults=[]);return{params:a.params,defaults:a.defaults,stricted:a.stricted,firstRestricted:a.firstRestricted,message:a.message}}function Ma(){var a,b=[],c=[],d,f,g,h,k,l=new B;A("function");b=m;a=R();v?J(b.value)&&C(b,q.StrictFunctionName):J(b.value)?(g=b,h=q.StrictFunctionName):X(b.value)&&(g=b,h=q.StrictReservedWord);d=ta(g);b=d.params;c=d.defaults;f=d.stricted;g=d.firstRestricted;d.message&&(h=d.message);k=v;d=ja();v&&g&&y(g,h);v&&f&&C(f,h);
v=k;return l.finishFunctionDeclaration(a,b,c,d)}function ca(){if(m.type===h.Keyword)switch(m.value){case "const":case "let":var a=m.value,b,c=new B;A(a);b=va(a);M();return c.finishVariableDeclaration(b,a);case "function":return Ma();default:return N()}if(m.type!==h.EOF)return N()}function Na(){var a,b,c,d=[];for(a=0;a<f.tokens.length;++a)b=f.tokens[a],c={type:b.type,value:b.value},b.regex&&(c.regex={pattern:b.regex.pattern,flags:b.regex.flags}),f.range&&(c.range=b.range),f.loc&&(c.loc=b.loc),d.push(c);
f.tokens=d}var h,L,za,n,Z,S,q,oa,g,v,d,k,r,z,m,l,f;h={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9};L={};L[h.BooleanLiteral]="Boolean";L[h.EOF]="<end>";L[h.Identifier]="Identifier";L[h.Keyword]="Keyword";L[h.NullLiteral]="Null";L[h.NumericLiteral]="Numeric";L[h.Punctuator]="Punctuator";L[h.StringLiteral]="String";L[h.RegularExpression]="RegularExpression";za="( { [ in typeof instanceof new return case delete throw void = += -= *= /= %= <<= >>= >>>= &= |= ^= , + - * / % ++ -- << >> >>> & | ^ ! ~ && || ? : === == >= <= < > != !==".split(" ");
n={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"};Z={ArrowParameterPlaceHolder:{type:"ArrowParameterPlaceHolder"}};S={Data:1,Get:2,Set:4};q={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"};oa={NonAsciiIdentifierStart:RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\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-\u08b2\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\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-\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-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\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-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\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:RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\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-\u08b2\u08e4-\u0963\u0966-\u096f\u0971-\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\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c81-\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\u0d01-\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\u0de6-\u0def\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-\u16f8\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-\u191e\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\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1cf8\u1cf9\u1d00-\u1df5\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-\ua69d\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\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-\ufe2d\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]")};
G.prototype=B.prototype={processComment:function(){var a,b,c,d=f.bottomRightStack,g,h,k=d[d.length-1];if(!(this.type===n.Program&&0<this.body.length)){if(0<f.trailingComments.length){c=[];for(g=f.trailingComments.length-1;0<=g;--g)h=f.trailingComments[g],h.range[0]>=this.range[1]&&(c.unshift(h),f.trailingComments.splice(g,1));f.trailingComments=[]}else k&&k.trailingComments&&k.trailingComments[0].range[0]>=this.range[1]&&(c=k.trailingComments,delete k.trailingComments);if(k)for(;k&&k.range[0]>=this.range[0];)a=
k,k=d.pop();if(a)a.leadingComments&&a.leadingComments[a.leadingComments.length-1].range[1]<=this.range[0]&&(this.leadingComments=a.leadingComments,a.leadingComments=void 0);else if(0<f.leadingComments.length)for(b=[],g=f.leadingComments.length-1;0<=g;--g)h=f.leadingComments[g],h.range[1]<=this.range[0]&&(b.unshift(h),f.leadingComments.splice(g,1));b&&0<b.length&&(this.leadingComments=b);c&&0<c.length&&(this.trailingComments=c);d.push(this)}},finish:function(){f.range&&(this.range[1]=d);f.loc&&(this.loc.end=
new Ba,f.source&&(this.loc.source=f.source));f.attachComment&&this.processComment()},finishArrayExpression:function(a){this.type=n.ArrayExpression;this.elements=a;this.finish();return this},finishArrowFunctionExpression:function(a,b,c,d){this.type=n.ArrowFunctionExpression;this.id=null;this.params=a;this.defaults=b;this.body=c;this.rest=null;this.generator=!1;this.expression=d;this.finish();return this},finishAssignmentExpression:function(a,b,c){this.type=n.AssignmentExpression;this.operator=a;this.left=
b;this.right=c;this.finish();return this},finishBinaryExpression:function(a,b,c){this.type="||"===a||"&&"===a?n.LogicalExpression:n.BinaryExpression;this.operator=a;this.left=b;this.right=c;this.finish();return this},finishBlockStatement:function(a){this.type=n.BlockStatement;this.body=a;this.finish();return this},finishBreakStatement:function(a){this.type=n.BreakStatement;this.label=a;this.finish();return this},finishCallExpression:function(a,b){this.type=n.CallExpression;this.callee=a;this.arguments=
b;this.finish();return this},finishCatchClause:function(a,b){this.type=n.CatchClause;this.param=a;this.body=b;this.finish();return this},finishConditionalExpression:function(a,b,c){this.type=n.ConditionalExpression;this.test=a;this.consequent=b;this.alternate=c;this.finish();return this},finishContinueStatement:function(a){this.type=n.ContinueStatement;this.label=a;this.finish();return this},finishDebuggerStatement:function(){this.type=n.DebuggerStatement;this.finish();return this},finishDoWhileStatement:function(a,
b){this.type=n.DoWhileStatement;this.body=a;this.test=b;this.finish();return this},finishEmptyStatement:function(){this.type=n.EmptyStatement;this.finish();return this},finishExpressionStatement:function(a){this.type=n.ExpressionStatement;this.expression=a;this.finish();return this},finishForStatement:function(a,b,c,d){this.type=n.ForStatement;this.init=a;this.test=b;this.update=c;this.body=d;this.finish();return this},finishForInStatement:function(a,b,c){this.type=n.ForInStatement;this.left=a;this.right=
b;this.body=c;this.each=!1;this.finish();return this},finishFunctionDeclaration:function(a,b,c,d){this.type=n.FunctionDeclaration;this.id=a;this.params=b;this.defaults=c;this.body=d;this.rest=null;this.expression=this.generator=!1;this.finish();return this},finishFunctionExpression:function(a,b,c,d){this.type=n.FunctionExpression;this.id=a;this.params=b;this.defaults=c;this.body=d;this.rest=null;this.expression=this.generator=!1;this.finish();return this},finishIdentifier:function(a){this.type=n.Identifier;
this.name=a;this.finish();return this},finishIfStatement:function(a,b,c){this.type=n.IfStatement;this.test=a;this.consequent=b;this.alternate=c;this.finish();return this},finishLabeledStatement:function(a,b){this.type=n.LabeledStatement;this.label=a;this.body=b;this.finish();return this},finishLiteral:function(a){this.type=n.Literal;this.value=a.value;this.raw=g.slice(a.start,a.end);a.regex&&(this.regex=a.regex);this.finish();return this},finishMemberExpression:function(a,b,c){this.type=n.MemberExpression;
this.computed="["===a;this.object=b;this.property=c;this.finish();return this},finishNewExpression:function(a,b){this.type=n.NewExpression;this.callee=a;this.arguments=b;this.finish();return this},finishObjectExpression:function(a){this.type=n.ObjectExpression;this.properties=a;this.finish();return this},finishPostfixExpression:function(a,b){this.type=n.UpdateExpression;this.operator=a;this.argument=b;this.prefix=!1;this.finish();return this},finishProgram:function(a){this.type=n.Program;this.body=
a;this.finish();return this},finishProperty:function(a,b,c,d,f){this.type=n.Property;this.key=b;this.value=c;this.kind=a;this.method=d;this.shorthand=f;this.finish();return this},finishReturnStatement:function(a){this.type=n.ReturnStatement;this.argument=a;this.finish();return this},finishSequenceExpression:function(a){this.type=n.SequenceExpression;this.expressions=a;this.finish();return this},finishSwitchCase:function(a,b){this.type=n.SwitchCase;this.test=a;this.consequent=b;this.finish();return this},
finishSwitchStatement:function(a,b){this.type=n.SwitchStatement;this.discriminant=a;this.cases=b;this.finish();return this},finishThisExpression:function(){this.type=n.ThisExpression;this.finish();return this},finishThrowStatement:function(a){this.type=n.ThrowStatement;this.argument=a;this.finish();return this},finishTryStatement:function(a,b,c,d){this.type=n.TryStatement;this.block=a;this.guardedHandlers=b;this.handlers=c;this.finalizer=d;this.finish();return this},finishUnaryExpression:function(a,
b){this.type="++"===a||"--"===a?n.UpdateExpression:n.UnaryExpression;this.operator=a;this.argument=b;this.prefix=!0;this.finish();return this},finishVariableDeclaration:function(a,b){this.type=n.VariableDeclaration;this.declarations=a;this.kind=b;this.finish();return this},finishVariableDeclarator:function(a,b){this.type=n.VariableDeclarator;this.id=a;this.init=b;this.finish();return this},finishWhileStatement:function(a,b){this.type=n.WhileStatement;this.test=a;this.body=b;this.finish();return this},
finishWithStatement:function(a,b){this.type=n.WithStatement;this.object=a;this.body=b;this.finish();return this}};W.version="2.0.0";W.tokenize=function(a,b){var c,e;c=String;"string"===typeof a||a instanceof String||(a=c(a));g=a;d=0;k=0<g.length?1:0;r=0;z=g.length;m=null;l={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1};f={};b=b||{};b.tokens=!0;f.tokens=[];f.tokenize=!0;f.openParenToken=-1;f.openCurlyToken=-1;f.range="boolean"===typeof b.range&&b.range;f.loc=
"boolean"===typeof b.loc&&b.loc;"boolean"===typeof b.comment&&b.comment&&(f.comments=[]);"boolean"===typeof b.tolerant&&b.tolerant&&(f.errors=[]);try{sa();if(m.type===h.EOF)return f.tokens;for(t();m.type!==h.EOF;)try{t()}catch(n){if(f.errors){f.errors.push(n);break}else throw n;}Na();e=f.tokens;"undefined"!==typeof f.comments&&(e.comments=f.comments);"undefined"!==typeof f.errors&&(e.errors=f.errors)}catch(p){throw p;}finally{f={}}return e};W.parse=function(a,b){var c,e;e=String;"string"===typeof a||
a instanceof String||(a=e(a));g=a;d=0;k=0<g.length?1:0;r=0;z=g.length;m=null;l={allowIn:!0,labelSet:{},parenthesisCount:0,inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1};f={};"undefined"!==typeof b&&(f.range="boolean"===typeof b.range&&b.range,f.loc="boolean"===typeof b.loc&&b.loc,f.attachComment="boolean"===typeof b.attachComment&&b.attachComment,f.loc&&null!==b.source&&void 0!==b.source&&(f.source=e(b.source)),"boolean"===typeof b.tokens&&b.tokens&&(f.tokens=[]),"boolean"===typeof b.comment&&
b.comment&&(f.comments=[]),"boolean"===typeof b.tolerant&&b.tolerant&&(f.errors=[]),f.attachComment&&(f.range=!0,f.comments=[],f.bottomRightStack=[],f.trailingComments=[],f.leadingComments=[]));try{var p;Q();sa();p=new B;v=!1;var t;e=[];for(var u,y,A;d<z;){u=m;if(u.type!==h.StringLiteral)break;t=ca();e.push(t);if(t.expression.type!==n.Literal)break;y=g.slice(u.start+1,u.end-1);"use strict"===y?(v=!0,A&&C(A,q.StrictOctalLiteral)):!A&&u.octal&&(A=u)}for(;d<z;){t=ca();if("undefined"===typeof t)break;
e.push(t)}c=p.finishProgram(e);"undefined"!==typeof f.comments&&(c.comments=f.comments);"undefined"!==typeof f.tokens&&(Na(),c.tokens=f.tokens);"undefined"!==typeof f.errors&&(c.errors=f.errors)}catch(D){throw D;}finally{f={}}return c};W.Syntax=function(){var a,b={};"function"===typeof Object.create&&(b=Object.create(null));for(a in n)n.hasOwnProperty(a)&&(b[a]=n[a]);"function"===typeof Object.freeze&&Object.freeze(b);return b}()});