/*******************************************************************************
 * @license
 * Copyright (c) 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials are made 
 * available under the terms of the Eclipse Public License v1.0 
 * (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 * License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 
 * 
 * Contributors: IBM Corporation - initial API and implementation
 ******************************************************************************/

/*******************************************************************************
 * @license
 * Copyright (c) 2011, 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials are made 
 * available under the terms of the Eclipse Public License v1.0 
 * (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 * License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

/*******************************************************************************
 * @license
 * Copyright (c) 2013 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials are made 
 * available under the terms of the Eclipse Public License v1.0 
 * (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 * License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 
 * 
 * Contributors: IBM Corporation - initial API and implementation
 ******************************************************************************/

/*

  Original copyright is below.  This is version git tag: 310927be9f.
  Further modifications:
  Author: Andy Clement (VMware) - recovery support


  Original copyright:

  Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
  Copyright (C) 2012 Mathias Bynens <mathias@qiwi.be>
  Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
  Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>
  Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>
  Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
  Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/*******************************************************************************
 * @license
 * Copyright (c) 2012, 2013 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials are made 
 * available under the terms of the Eclipse Public License v1.0 
 * (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 * License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 
 * 
 * Contributors: IBM Corporation - initial API and implementation
 ******************************************************************************/

/*

 Copyright (c) 2012 IBM Corporation and others.
 All rights reserved. This program and the accompanying materials are made 
 available under the terms of the Eclipse Public License v1.0 
 (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 

 Contributors: IBM Corporation - initial API and implementation

 Copyright (c) 2011, 2012 IBM Corporation and others.
 All rights reserved. This program and the accompanying materials are made 
 available under the terms of the Eclipse Public License v1.0 
 (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 

 Contributors:
 IBM Corporation - initial API and implementation

 Copyright (c) 2013 IBM Corporation and others.
 All rights reserved. This program and the accompanying materials are made 
 available under the terms of the Eclipse Public License v1.0 
 (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 

 Contributors: IBM Corporation - initial API and implementation

 Copyright (c) 2012, 2013 IBM Corporation and others.
 All rights reserved. This program and the accompanying materials are made 
 available under the terms of the Eclipse Public License v1.0 
 (http://www.eclipse.org/legal/epl-v10.html), and the Eclipse Distribution 
 License v1.0 (http://www.eclipse.org/org/documents/edl-v10.html). 

 Contributors: IBM Corporation - initial API and implementation
*/
(function(l,g){typeof define==="function"&&define.amd?define("orion/Deferred",g):typeof exports==="object"?module.exports=g():(l.orion=l.orion||{},l.orion.Deferred=g())})(this,function(){function l(){for(var e;e=u.shift();)e();r=!1}function g(e){u.push(e);r||(r=!0,setTimeout(l,0))}function n(e){return function(){e.apply(void 0,arguments)}}function e(){function l(){for(var w;w=z.shift();){var e=w.deferred,g=E==="fulfilled"?"resolve":"reject";if(typeof w[g]==="function")try{var k=(0,w[g])(N),o=k&&(typeof k===
"object"||typeof k==="function")&&k.then;if(typeof o==="function")if(k===e.promise)e.reject(new TypeError);else{var r=k.cancel;typeof r==="function"?e._protected(u).parentCancel=r.bind(k):delete e._protected(u).parentCancel;o.call(k,n(e.resolve),n(e.reject),n(e.progress))}else e.resolve(k)}catch(J){e.reject(J)}else e[g](N)}}function r(e){delete J.parentCancel;E="rejected";N=e;z.length&&g(l)}function U(w){function o(ka){return function(e){n||(n=!0,ka(e))}}var n=!1;delete J.parentCancel;try{var u=w&&
(typeof w==="object"||typeof w==="function")&&w.then;if(typeof u==="function")if(w===k)r(new TypeError);else{E="assumed";var O=w&&w.cancel;if(typeof O!=="function"){var P=new e,w=P.promise;try{u(P.resolve,P.reject,P.progress)}catch(I){P.reject(I)}O=w.cancel;u=w.then}N=w;u.call(w,o(U),o(r));J.parentCancel=O.bind(w)}else E="fulfilled",N=w,z.length&&g(l)}catch(ka){o(r)(ka)}}function o(){var e=J.parentCancel;if(e)delete J.parentCancel,e();else if(!E)e=Error("Cancel"),e.name="Cancel",r(e)}var N,E,z=[],
k=this,J={};Object.defineProperty(this,"_protected",{value:function(e){if(e!==u)throw Error("protected");return J}});this.resolve=function(e){E||U(e);return k};this.reject=function(e){E||r(e);return k};this.progress=function(e){E||z.forEach(function(k){if(k.progress)try{k.progress(e)}catch(g){}});return k.promise};this.cancel=function(){J.parentCancel?setTimeout(o,0):o();return k};this.then=function(w,o,n){w={resolve:w,reject:o,progress:n,deferred:new e};z.push(w);w.deferred._protected(u).parentCancel=
k.promise.cancel.bind(k);(E==="fulfilled"||E==="rejected")&&g(l);return w.deferred.promise};this.promise={then:k.then,cancel:k.cancel}}var u=[],r=!1;e.all=function(g,l){function n(e,g){z||(u[e]=g,--r===0&&k.resolve(u))}function o(e,g){if(!z){if(l)try{n(e,l(g));return}catch(o){g=o}k.reject(g)}}var r=g.length,u=[],z=!1,k=new e;k.then(void 0,function(){z=!0;g.forEach(function(e){e.cancel&&e.cancel()})});r===0?k.resolve(u):g.forEach(function(e,g){e.then(n.bind(void 0,g),o.bind(void 0,g))});return k.promise};
e.when=function(g,l,n,o){var r;if(!(g&&typeof g.then==="function"))r=new e,r.resolve(g),g=r.promise;return g.then(l,n,o)};return e});
(function(l,g){typeof define==="function"&&define.amd?define("orion/plugin",["orion/Deferred"],g):typeof exports==="object"?module.exports=g(require("orion/Deferred")):(l.orion=l.orion||{},l.orion.PluginProvider=g(l.orion.Deferred))})(this,function(l){function g(g,e){this.__objectId=g;this.__methods=e}return function(n){function e(e){k&&(typeof ArrayBuffer==="undefined"&&(e=JSON.stringify(e)),k===self?k.postMessage(e):k.postMessage(e,"*"))}function u(){var e=[];Object.keys(P).forEach(function(g){var k=
P[g];e.push({serviceId:g,names:k.names,methods:k.methods,properties:k.properties})});return{headers:E||{},services:e}}function r(e,g){if(g&&g instanceof XMLHttpRequest){var k,o;try{k=g.status,o=g.statusText}catch(l){k=0,o=""}return{status:k||0,statusText:o}}return g}function ba(e){var g=e?JSON.parse(JSON.stringify(e,r)):e;if(e instanceof Error)g.__isError=!0,g.message=g.message||e.message,g.name=g.name||e.name;return g}function Oa(e){if(!k)return(new l).reject(Error("plugin not connected"));e.id=
String(J++);var o=new l;S[e.id]=o;o.then(null,function(g){z&&g instanceof Error&&g.name==="Cancel"&&I({requestId:e.id,method:"cancel",params:g.message?[g.message]:[]})});var r=Object.prototype.toString;e.params.forEach(function(k,l){if(r.call(k)==="[object Object]"&&!(k instanceof g)){var n,u;for(n in k)r.call(k[n])==="[object Function]"&&(u=u||[],u.push(n));if(u){var z=w++;O[z]=k;n=function(){delete O[z]};o.then(n,n);e.params[l]=new g(z,u)}}});I(e);return o.promise}function U(e,g){e||e===0?I({id:e,
result:null,error:g}):console.log(g)}function o(e,g,k,o){o.forEach(function(e,g){if(e&&typeof e.__objectId!=="undefined"){var k={};e.__methods.forEach(function(g){k[g]=function(){return Oa({objectId:e.__objectId,method:g,params:Array.prototype.slice.call(arguments)})}});o[g]=k}});var l=typeof e===void 0?null:{id:e,result:null,error:null};try{var n=k.apply(g,o);if(l)n&&typeof n.then==="function"?(Q[e]=n,n.then(function(g){delete Q[e];l.result=g;I(l)},function(g){if(Q[e])delete Q[e],l.error=ba(g),I(l)},
function(){I({responseId:e,method:"progress",params:Array.prototype.slice.call(arguments)})})):(l.result=n,I(l))}catch(r){if(l)l.error=ba(r),I(l)}}function N(e){if(e.source===k){e=typeof e.data!=="string"?e.data:JSON.parse(e.data);try{if(e.method){var g=e.method,l=e.params||[];if("serviceId"in e){var n=P[e.serviceId];n||U(e.id,"service not found");n=n.implementation;g in n?o(e.id,n,n[g],l):U(e.id,"method not found")}else if("objectId"in e){var r=O[e.objectId];r||U(e.id,"object not found");!g in r?
o(e.id,r,r[g],l):U(e.id,"method not found")}else if("requestId"in e){var u=Q[e.requestId];u&&g==="cancel"&&u.cancel&&u.cancel.apply(u,l)}else if("responseId"in e){var w=S[e.responseId];w&&g==="progress"&&w.progress&&w.progress.apply(w,l)}else throw Error("Bad method: "+e.method);}else{var z=S[String(e.id)];delete S[String(e.id)];e.error?z.reject(e.error):z.resolve(e.result)}}catch(E){console.log("Plugin._messageHandler "+E)}}}var E=n,z=!1,k=null,J=0,w=0,Na=0,Q={},S={},O={},P={},I=e;this.updateHeaders=
function(e){if(z)throw Error("Cannot update headers. Plugin Provider is connected");E=e};this.registerServiceProvider=this.registerService=function(e,g,k){if(z)throw Error("Cannot register service. Plugin Provider is connected");typeof e==="string"?e=[e]:Array.isArray(e)||(e=[]);var l=null,n=[];for(l in g)typeof g[l]==="function"&&n.push(l);P[Na++]={names:e,methods:n,implementation:g,properties:k||{},listeners:{}}};this.connect=function(g,l){if(!z){if(typeof window==="undefined")k=self;else if(window!==
window.parent)k=window.parent;else if(window.opener!==null)k=window.opener;else{l&&l("No valid plugin target");return}addEventListener("message",N,!1);var n={method:"plugin",params:[u()]};e(n);z=!0}g&&g()};this.disconnect=function(){z&&(removeEventListener("message",N),k=null,z=!1)}}});
define("orion/serialize",[],function(){return{serializeError:function(l){var g=l?JSON.parse(JSON.stringify(l)):l;if(l instanceof Error)g.__isError=!0,g.message=g.message||l.message,g.name=g.name||l.name,g.stack=g.stack||l.stack;return g}}});
(function(l){var g,n,e,u,r,ba,Oa,U,o,N,E,z,k,J,w,Na,Q,S,O,P,I,ka,mb,nb,ob,pb,qb,rb,sb,Pa,gb,Qa,tb,ub,vb,wb,xb,yb,ra,sa,la,zb,Ab,R,V,ta,ua,B,ca,da,W;function Ra(a,b){if(!a)throw Error("ASSERT: "+b);}function va(a,b){return i.slice(a,b)}function Z(a){return"0123456789".indexOf(a)>=0}function wa(a){return"01234567".indexOf(a)>=0}function hb(a){return a===" "||a==="\t"||a==="\u000b"||a==="\u000c"||a==="\u00a0"||a.charCodeAt(0)>=5760&&"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(a)>=
0}function X(a){return a==="\n"||a==="\r"||a==="\u2028"||a==="\u2029"}function ma(a){return a==="$"||a==="_"||a==="\\"||a>="a"&&a<="z"||a>="A"&&a<="Z"||a.charCodeAt(0)>=128&&Oa.test(a)}function ib(a){return a==="$"||a==="_"||a==="\\"||a>="a"&&a<="z"||a>="A"&&a<="Z"||a>="0"&&a<="9"||a.charCodeAt(0)>=128&&U.test(a)}function Bb(a){switch(a){case "class":case "enum":case "export":case "extends":case "import":case "super":return!0}return!1}function na(a){switch(a){case "implements":case "interface":case "package":case "private":case "protected":case "public":case "static":case "yield":case "let":return!0}return!1}
function K(a){return a==="eval"||a==="arguments"}function Fb(a){var b=!1;switch(a.length){case 2:b=a==="if"||a==="in"||a==="do";break;case 3:b=a==="var"||a==="for"||a==="new"||a==="try";break;case 4:b=a==="this"||a==="else"||a==="case"||a==="void"||a==="with";break;case 5:b=a==="while"||a==="break"||a==="catch"||a==="throw";break;case 6:b=a==="return"||a==="typeof"||a==="delete"||a==="switch";break;case 7:b=a==="default"||a==="finally";break;case 8:b=a==="function"||a==="continue"||a==="debugger";
break;case 10:b=a==="instanceof"}if(b)return!0;switch(a){case "const":return!0;case "yield":case "let":return!0}return x&&na(a)?!0:Bb(a)}function y(){return i[f++]}function $(){var a,b,d;for(d=b=!1;f<s;)if(a=i[f],d)a=y(),X(a)&&(d=!1,a==="\r"&&i[f]==="\n"&&++f,++t,v=f);else if(b)X(a)?(a==="\r"&&i[f+1]==="\n"&&++f,++t,++f,v=f,f>=s&&m({},o,"ILLEGAL")):(a=y(),f>=s&&m({},o,"ILLEGAL"),a==="*"&&(a=i[f],a==="/"&&(++f,b=!1)));else if(a==="/")if(a=i[f+1],a==="/")f+=2,d=!0;else if(a==="*")f+=2,b=!0,f>=s&&m({},
o,"ILLEGAL");else break;else if(hb(a))++f;else if(X(a))++f,a==="\r"&&i[f]==="\n"&&++f,++t,v=f;else break}function Sa(a){var b,d,c=0;b=a==="u"?4:2;for(a=0;a<b;++a)if(f<s&&"0123456789abcdefABCDEF".indexOf(i[f])>=0)d=y(),c=c*16+"0123456789abcdef".indexOf(d.toLowerCase());else return"";return String.fromCharCode(c)}function Gb(){var a,b,d,c;a=i[f];if(ma(a)){b=f;if(a==="\\"){++f;if(i[f]!=="u")return;++f;c=f;if(a=Sa("u")){if(a==="\\"||!ma(a))return;d=a}else f=c,d="u"}else d=y();for(;f<s;){a=i[f];if(!ib(a))break;
if(a==="\\"){++f;if(i[f]!=="u")return;++f;c=f;if(a=Sa("u")){if(a==="\\"||!ib(a))return;d+=a}else f=c,d+="u"}else d+=y()}return d.length===1?{type:R,value:d,lineNumber:t,lineStart:v,range:[b,f]}:Fb(d)?{type:V,value:d,lineNumber:t,lineStart:v,range:[b,f]}:d==="null"?{type:ta,value:d,lineNumber:t,lineStart:v,range:[b,f]}:d==="true"||d==="false"?{type:ua,value:d,lineNumber:t,lineStart:v,range:[b,f]}:{type:R,value:d,lineNumber:t,lineStart:v,range:[b,f]}}}function Hb(){var a=f,b=i[f],d,c,e;if(b===";"||
b==="{"||b==="}")return++f,{type:B,value:b,lineNumber:t,lineStart:v,range:[a,f]};if(b===","||b==="("||b===")")return++f,{type:B,value:b,lineNumber:t,lineStart:v,range:[a,f]};d=i[f+1];if(b==="."&&!Z(d))return{type:B,value:y(),lineNumber:t,lineStart:v,range:[a,f]};c=i[f+2];e=i[f+3];if(b===">"&&d===">"&&c===">"&&e==="=")return f+=4,{type:B,value:">>>=",lineNumber:t,lineStart:v,range:[a,f]};if(b==="="&&d==="="&&c==="=")return f+=3,{type:B,value:"===",lineNumber:t,lineStart:v,range:[a,f]};if(b==="!"&&
d==="="&&c==="=")return f+=3,{type:B,value:"!==",lineNumber:t,lineStart:v,range:[a,f]};if(b===">"&&d===">"&&c===">")return f+=3,{type:B,value:">>>",lineNumber:t,lineStart:v,range:[a,f]};if(b==="<"&&d==="<"&&c==="=")return f+=3,{type:B,value:"<<=",lineNumber:t,lineStart:v,range:[a,f]};if(b===">"&&d===">"&&c==="=")return f+=3,{type:B,value:">>=",lineNumber:t,lineStart:v,range:[a,f]};if(d==="="&&"<>=!+-*%&|^/".indexOf(b)>=0)return f+=2,{type:B,value:b+d,lineNumber:t,lineStart:v,range:[a,f]};if(b===d&&
"+-<>&|".indexOf(b)>=0&&"+-<>&|".indexOf(d)>=0)return f+=2,{type:B,value:b+d,lineNumber:t,lineStart:v,range:[a,f]};if("[]<>+-*%&|^!~?:=/".indexOf(b)>=0)return{type:B,value:y(),lineNumber:t,lineStart:v,range:[a,f]}}function Ib(){var a,b,d;d=i[f];Ra(Z(d)||d===".","Numeric literal must start with a decimal digit or a decimal point");b=f;a="";if(d!=="."){a=y();d=i[f];if(a==="0"){if(d==="x"||d==="X"){for(a+=y();f<s;){d=i[f];if(!("0123456789abcdefABCDEF".indexOf(d)>=0))break;a+=y()}a.length<=2&&m({},o,
"ILLEGAL");f<s&&(d=i[f],ma(d)&&m({},o,"ILLEGAL"));return{type:ca,value:parseInt(a,16),lineNumber:t,lineStart:v,range:[b,f]}}else if(wa(d)){for(a+=y();f<s;){d=i[f];if(!wa(d))break;a+=y()}f<s&&(d=i[f],(ma(d)||Z(d))&&m({},o,"ILLEGAL"));return{type:ca,value:parseInt(a,8),octal:!0,lineNumber:t,lineStart:v,range:[b,f]}}Z(d)&&m({},o,"ILLEGAL")}for(;f<s;){d=i[f];if(!Z(d))break;a+=y()}}if(d===".")for(a+=y();f<s;){d=i[f];if(!Z(d))break;a+=y()}if(d==="e"||d==="E"){a+=y();d=i[f];if(d==="+"||d==="-")a+=y();d=
i[f];if(Z(d))for(a+=y();f<s;){d=i[f];if(!Z(d))break;a+=y()}else m({},o,"ILLEGAL")}f<s&&(d=i[f],ma(d)&&m({},o,"ILLEGAL"));return{type:ca,value:parseFloat(a),lineNumber:t,lineStart:v,range:[b,f]}}function Ta(){var a="",b,d,c,e,g;c=!1;var h;G=null;$();d=f;b=i[f];Ra(b==="/","Regular expression literal must start with a slash");for(a=y();f<s;)if(b=y(),a+=b,c)b==="]"&&(c=!1);else if(b==="\\")b=y(),X(b)&&m({},N),a+=b;else if(b==="/")break;else b==="["?c=!0:X(b)&&m({},N);a.length===1&&m({},N);c=a.substr(1,
a.length-2);for(e="";f<s;){b=i[f];if(!ib(b))break;++f;if(b==="\\"&&f<s)if(b=i[f],b==="u")if(++f,h=f,b=Sa("u")){e+=b;for(a+="\\u";h<f;++h)a+=i[h]}else f=h,e+="u",a+="\\u";else a+="\\";else e+=b,a+=b}try{g=RegExp(c,e)}catch(j){m({},E)}return{literal:a,value:g,range:[d,f]}}function xa(){var a;$();if(f>=s)return{type:W,lineNumber:t,lineStart:v,range:[f,f]};a=Hb();if(typeof a!=="undefined")return a;a=i[f];if(a==="'"||a==='"'){a="";var b,d,c,e,g,h=!1;b=i[f];Ra(b==="'"||b==='"',"String literal must starts with a quote");
d=f;for(++f;f<s;)if(c=y(),c===b){b="";break}else if(c==="\\")if(c=y(),X(c))++t,c==="\r"&&i[f]==="\n"&&++f;else switch(c){case "n":a+="\n";break;case "r":a+="\r";break;case "t":a+="\t";break;case "u":case "x":g=f;(e=Sa(c))?a+=e:(f=g,a+=c);break;case "b":a+="\u0008";break;case "f":a+="\u000c";break;case "v":a+="\u000b";break;default:wa(c)?(e="01234567".indexOf(c),e!==0&&(h=!0),f<s&&wa(i[f])&&(h=!0,e=e*8+"01234567".indexOf(y()),"0123".indexOf(c)>=0&&f<s&&wa(i[f])&&(e=e*8+"01234567".indexOf(y()))),a+=
String.fromCharCode(e)):a+=c}else if(X(c))break;else a+=c;b!==""&&m({},o,"ILLEGAL");return{type:da,value:a,octal:h,lineNumber:t,lineStart:v,range:[d,f]}}if(a==="."||Z(a))return Ib();a=Gb();if(typeof a!=="undefined")return a;m({},o,"ILLEGAL")}function p(){var a;if(G)return f=G.range[1],t=G.lineNumber,v=G.lineStart,a=G,G=null,a;G=null;return xa()}function F(){var a,b,d;if(G!==null)return G;a=f;b=t;d=v;G=xa();f=a;t=b;v=d;return G}function ya(){var a,b,d,c;a=f;b=t;d=v;$();c=t!==b;f=a;t=b;v=d;return c}
function m(a,b){var d,c=Array.prototype.slice.call(arguments,2);d=b.replace(/%(\d)/g,function(a,b){return c[b]||""});typeof a.lineNumber==="number"?(d=Error("Line "+a.lineNumber+": "+d),d.index=a.range[0],d.lineNumber=a.lineNumber,d.column=a.range[0]-v+1):(d=Error("Line "+t+": "+d),d.index=f,d.lineNumber=t,d.column=f-v+1);throw d;}function ha(){try{m.apply(null,arguments)}catch(a){if(c.errors)c.errors.push(a);else throw a;}}function aa(a){a.type===W&&m(a,z);a.type===ca&&m(a,k);a.type===da&&m(a,J);
a.type===R&&m(a,w);a.type===V&&(Bb(a.value)?m(a,Na):x&&na(a.value)&&m(a,Q),m(a,o,a.value));m(a,o,a.value)}function q(a){var b=p();(b.type!==B||b.value!==a)&&aa(b)}function C(a){var b=p();(b.type!==V||b.value!==a)&&aa(b)}function j(a){var b=F();return b.type===B&&b.value===a}function D(a){var b=F();return b.type===V&&b.value===a}function L(){var a;if(i[f]===";")p();else if(a=t,$(),t===a)if(j(";"))p();else if(a=F(),a.type!==W&&!j("}")){if(c.errors){for(var b=f;b>0&&!(i[b]===";"||i[b]==="\n");)b--;if(!(b<=
c.statementStart)){var d=!1;c.lastRewindLocation?d=!0:c.lastRewindLocation!==b&&(d=!0);if(d)f=b,G=null,c.lastRewindLocation=f}}aa(a)}}function Cb(a){switch(a.type){case "AssignmentExpression":case "BinaryExpression":case "ConditionalExpression":case "LogicalExpression":case "SequenceExpression":case "UnaryExpression":case "UpdateExpression":return!1}return!0}function za(a,b){var d,c;d=x;c=oa();b&&x&&K(a[0].name)&&m(b,S);x=d;return{type:h.FunctionExpression,id:null,params:a,body:c}}function ia(){var a=
p();return a.type===da||a.type===ca?(x&&a.octal&&m(a,O),ea(a)):{type:h.Identifier,name:a.value}}function Ua(){var a,b,d;a=F();if(a.type===R)return b=ia(),a.value==="get"&&!j(":")?(b=ia(),q("("),q(")"),{type:h.Property,key:b,value:za([]),kind:"get"}):a.value==="set"&&!j(":")?(b=ia(),q("("),a=F(),a.type!==R&&aa(p()),d=[T()],q(")"),{type:h.Property,key:b,value:za(d,a),kind:"set"}):(q(":"),{type:h.Property,key:b,value:M(),kind:"init"});else if(a.type===W||a.type===B)aa(a);else return b=ia(),q(":"),{type:h.Property,
key:b,value:M(),kind:"init"}}function Aa(){var a;a=F();var b=a.type;if(b===R)return{type:h.Identifier,name:p().value};if(b===da||b===ca)return x&&a.octal&&ha(a,O),ea(p());if(b===V){if(D("this"))return p(),{type:h.ThisExpression};if(D("function"))return Va()}if(b===ua)return p(),a.value=a.value==="true",ea(a);if(b===ta)return p(),a.value=null,ea(a);if(j("[")){a=[];for(q("[");!j("]");)j(",")?(p(),a.push(void 0)):(a.push(M()),j("]")||q(","));q("]");return{type:h.ArrayExpression,elements:a}}if(j("{")){a=
[];var d,c,f={},e=String;for(q("{");!j("}");)b=Ua(),d=b.key.type===h.Identifier?b.key.name:e(b.key.value),c=b.kind==="init"?la:b.kind==="get"?zb:Ab,Object.prototype.hasOwnProperty.call(f,d)?(f[d]===la?x&&c===la?ha({},P):c!==la&&m({},I):c===la?m({},I):f[d]&c&&m({},ka),f[d]|=c):f[d]=c,a.push(b),j("}")||q(",");q("}");return{type:h.ObjectExpression,properties:a}}return j("(")?(p(),g=a=A(),q(")"),a):j("/")||j("/=")?ea(Ta()):aa(p())}function pa(a){for(var b=c.errors.length,d=0;d<b;d++){var f=c.errors[d];
if(f.index===a.index&&f.message===a.message)return}c.errors.push(a)}function Db(){var a=[];q("(");if(!j(")"))for(;f<s;){a.push(M());if(j(")"))break;try{q(",")}catch(b){if(c.errors){pa(b);break}else throw b;}}try{q(")")}catch(d){if(c.errors)pa(d);else throw d;}return a}function qa(){var a,b,d=p();if(!(d.type===R||d.type===V||d.type===ua||d.type===ta)){if(c.errors&&d.value&&d.type===B){a=f-d.value.length-1;var e=!1;b=!1;for(var g;!e;){g=i[a];if(g==="/")if(a>2&&i[a-1]==="*"){a-=2;for(var j=!1;!j;)g=
i[a],g==="*"?a>0&&i[a-1]==="/"&&(j=!0):g==="\n"&&(b=!0),a===0&&(j=!0),a--}else e=!0;else g==="\n"?b=!0:hb(g)||(e=!0);e||a--}e=i[a];!(e==="."&&b&&d.value==="(")&&e==="."&&(f=a+1,G=null)}aa(d)}return{type:h.Identifier,name:d.value}}function Ba(a){return{type:h.MemberExpression,computed:!1,object:a,property:qa()}}function Ca(a){var b;q("[");b=A();a={type:h.MemberExpression,computed:!0,object:a,property:b};q("]");return a}function Wa(a){return{type:h.CallExpression,callee:a,arguments:Db()}}function Da(){var a;
C("new");a=h.NewExpression;var b;for(b=D("new")?Da():Aa();f<s;)if(j("."))p(),b=Ba(b);else if(j("["))b=Ca(b);else break;a={type:a,callee:b,arguments:[]};j("(")&&(a.arguments=Db());return a}function Xa(){var a;for(a=D("new")?Da():Aa();f<s;)if(j("."))p(),a=Ba(a);else if(j("["))a=Ca(a);else if(j("("))a=Wa(a);else break;if((j("++")||j("--"))&&!ya())x&&a.type===h.Identifier&&K(a.name)&&m({},mb),a={type:h.UpdateExpression,operator:p().value,argument:a,prefix:!1};return a}function fa(){var a,b;if(j("++")||
j("--"))return a=p(),b=fa(),x&&b.type===h.Identifier&&K(b.name)&&m({},nb),b={type:h.UpdateExpression,operator:a.value,argument:b,prefix:!0};if(j("+")||j("-")||j("~")||j("!"))return b={type:h.UnaryExpression,operator:p().value,argument:fa()};return D("delete")||D("void")||D("typeof")?(b={type:h.UnaryExpression,operator:p().value,argument:fa()},x&&b.operator==="delete"&&b.argument.type===h.Identifier&&ha({},ob),b):Xa()}function Ea(){for(var a=fa();j("*")||j("/")||j("%");)a={type:h.BinaryExpression,
operator:p().value,left:a,right:fa()};return a}function Fa(){for(var a=Ea();j("+")||j("-");)a={type:h.BinaryExpression,operator:p().value,left:a,right:Ea()};return a}function Ya(){for(var a=Fa();j("<<")||j(">>")||j(">>>");)a={type:h.BinaryExpression,operator:p().value,left:a,right:Fa()};return a}function ga(){var a,b;b=n;n=!0;a=Ya();n=b;j("<")||j(">")||j("<=")||j(">=")?a={type:h.BinaryExpression,operator:p().value,left:a,right:ga()}:n&&D("in")?(p(),a={type:h.BinaryExpression,operator:"in",left:a,
right:ga()}):D("instanceof")&&(p(),a={type:h.BinaryExpression,operator:"instanceof",left:a,right:ga()});return a}function Ga(){for(var a=ga();j("==")||j("!=")||j("===")||j("!==");)a={type:h.BinaryExpression,operator:p().value,left:a,right:ga()};return a}function Ha(){for(var a=Ga();j("&");)p(),a={type:h.BinaryExpression,operator:"&",left:a,right:Ga()};return a}function Ia(){for(var a=Ha();j("|");)p(),a={type:h.BinaryExpression,operator:"|",left:a,right:Ha()};return a}function Ja(){for(var a=Ia();j("^");)p(),
a={type:h.BinaryExpression,operator:"^",left:a,right:Ia()};return a}function Ka(){for(var a=Ja();j("&&");)p(),a={type:h.LogicalExpression,operator:"&&",left:a,right:Ja()};return a}function Za(){for(var a=Ka();j("||");)p(),a={type:h.LogicalExpression,operator:"||",left:a,right:Ka()};return a}function $a(){var a,b,d;a=Za();j("?")&&(p(),b=n,n=!0,d=M(),n=b,q(":"),a={type:h.ConditionalExpression,test:a,consequent:d,alternate:M()});return a}function M(){var a;a=$a();var b=F(),d=b.value;if(b.type!==B?0:
d==="="||d==="*="||d==="/="||d==="%="||d==="+="||d==="-="||d==="<<="||d===">>="||d===">>>="||d==="&="||d==="^="||d==="|=")g!==a&&!Cb(a)&&m({},pb),x&&a.type===h.Identifier&&K(a.name)&&m({},qb),a={type:h.AssignmentExpression,operator:p().value,left:a,right:M()};return a}function A(){var a=M();if(j(","))for(a={type:h.SequenceExpression,expressions:[a]};f<s;){if(!j(","))break;p();a.expressions.push(M())}return a}function ja(){q("{");for(var a=[],b;f<s;){if(j("}"))break;b=La();if(typeof b==="undefined")break;
a.push(b)}Eb();return{type:h.BlockStatement,body:a}}function T(){var a=p();a.type!==R&&aa(a);return{type:h.Identifier,name:a.value}}function ab(a){var b=T(),d=null;x&&K(b.name)&&ha({},rb);a==="const"?(q("="),d=M()):j("=")&&(p(),d=M());return{type:h.VariableDeclarator,id:b,init:d}}function jb(a){for(var b=[];f<s;){b.push(ab(a));if(!j(","))break;p()}return b}function bb(a){var b;C(a);b=jb(a);L();return{type:h.VariableDeclaration,declarations:b,kind:a}}function kb(){try{q(")")}catch(a){if(c.errors){if(pa(a),
i[a.index]==="{")f=a.index,G=null}else throw a;}}function cb(){var a=p();return{type:h.VariableDeclaration,declarations:jb(),kind:a.value}}function Jb(){var a=null;C("continue");if(i[f]===";")return p(),e||m({},Pa),{type:h.ContinueStatement,label:null};if(ya())return e||m({},Pa),{type:h.ContinueStatement,label:null};F().type===R&&(a=T(),Object.prototype.hasOwnProperty.call(u,a.name)||m({},gb,a.name));L();a===null&&!e&&m({},Pa);return{type:h.ContinueStatement,label:a}}function Kb(){var a=null;C("break");
if(i[f]===";")return p(),!e&&!r&&m({},Qa),{type:h.BreakStatement,label:null};if(ya())return!e&&!r&&m({},Qa),{type:h.BreakStatement,label:null};F().type===R&&(a=T(),Object.prototype.hasOwnProperty.call(u,a.name)||m({},gb,a.name));L();a===null&&!e&&!r&&m({},Qa);return{type:h.BreakStatement,label:a}}function Lb(){var a,b=null;C("return");ba||ha({},tb);if(i[f]===" "&&ma(i[f+1]))return b=A(),L(),{type:h.ReturnStatement,argument:b};if(ya())return{type:h.ReturnStatement,argument:null};j(";")||(a=F(),!j("}")&&
a.type!==W&&(b=A()));L();return{type:h.ReturnStatement,argument:b}}function db(){var a,b=[],d;D("default")?(p(),a=null):(C("case"),a=A());for(q(":");f<s;){if(j("}")||D("default")||D("case"))break;d=H();if(typeof d==="undefined")break;b.push(d)}return{type:h.SwitchCase,test:a,consequent:b}}function eb(){var a;C("catch");q("(");j(")")||(a=A(),x&&a.type===h.Identifier&&K(a.name)&&ha({},wb));q(")");return{type:h.CatchClause,param:a,guard:null,body:ja()}}function H(){var a=F(),b,d;a.type===W&&aa(a);if(a.type===
B)switch(a.value){case ";":return q(";"),{type:h.EmptyStatement};case "{":return ja();case "(":return b=A(),L(),{type:h.ExpressionStatement,expression:b}}if(a.type===V)switch(a.value){case "break":return Kb();case "continue":return Jb();case "debugger":return C("debugger"),L(),{type:h.DebuggerStatement};case "do":return C("do"),d=e,e=!0,b=H(),e=d,C("while"),q("("),d=A(),q(")"),j(";")&&p(),{type:h.DoWhileStatement,body:b,test:d};case "for":var c,i,k,l,a=c=i=null;C("for");q("(");j(";")?p():(D("var")||
D("let")?(n=!1,a=cb(),n=!0,a.declarations.length===1&&D("in")&&(p(),b=a,d=A(),a=null)):(n=!1,a=A(),n=!0,D("in")&&(D("in")&&g!==a&&!Cb(a)&&m({},sb),p(),b=a,d=A(),a=null)),typeof b==="undefined"&&q(";"));typeof b==="undefined"&&(j(";")||(c=A()),q(";"),j(")")||(i=A()));kb();l=e;e=!0;k=H();e=l;return typeof b==="undefined"?{type:h.ForStatement,init:a,test:c,update:i,body:k}:{type:h.ForInStatement,left:b,right:d,body:k,each:!1};case "function":return Ma();case "if":return C("if"),q("("),b=A(),kb(),(d=
H())||(d=null),D("else")?(p(),a=H()):a=null,{type:h.IfStatement,test:b,consequent:d,alternate:a};case "return":return Lb();case "switch":C("switch");q("(");b=A();q(")");q("{");if(j("}"))p(),b={type:h.SwitchStatement,discriminant:b};else{d=[];a=r;for(r=!0;f<s;){if(j("}"))break;d.push(db())}r=a;q("}");b={type:h.SwitchStatement,discriminant:b,cases:d}}return b;case "throw":return C("throw"),ya()&&m({},vb),b=A(),L(),{type:h.ThrowStatement,argument:b};case "try":return d=[],a=null,C("try"),b=ja(),D("catch")&&
d.push(eb()),D("finally")&&(p(),a=ja()),d.length===0&&!a&&m({},xb),{type:h.TryStatement,block:b,handlers:d,finalizer:a};case "var":return C("var"),b=jb(),L(),{type:h.VariableDeclaration,declarations:b,kind:"var"};case "while":return C("while"),q("("),b=A(),kb(),a=e,e=!0,d=H(),e=a,{type:h.WhileStatement,test:b,body:d};case "with":return x&&ha({},ub),C("with"),q("("),b=A(),q(")"),d=H(),{type:h.WithStatement,object:b,body:d}}if((b=A())&&b.type===h.Identifier&&j(":"))return p(),Object.prototype.hasOwnProperty.call(u,
b.name)&&m({},yb,"Label",b.name),u[b.name]=!0,d=H(),delete u[b.name],{type:h.LabeledStatement,label:b,body:d};L();return{type:h.ExpressionStatement,expression:b}}function Eb(){if(c.errors)try{q("}")}catch(a){pa(a)}else q("}")}function oa(){var a,b=[],d,c,g,i;for(q("{");f<s;){d=F();if(d.type!==da)break;a=La();b.push(a);if(a.expression.type!==h.Literal)break;a=va(d.range[0]+1,d.range[1]-1);a==="use strict"?(x=!0,c&&m(c,O)):!c&&d.octal&&(c=d)}d=u;c=e;g=r;i=ba;u={};r=e=!1;for(ba=!0;f<s;){if(j("}"))break;
a=La();if(typeof a==="undefined")break;b.push(a)}Eb();u=d;e=c;r=g;ba=i;return{type:h.BlockStatement,body:b}}function Ma(){var a,b,d=[],c,e,g,i;C("function");c=F();a=T();x?K(c.value)&&m(c,ra):K(c.value)?(e=c,g=ra):na(c.value)&&(e=c,g=Q);q("(");if(!j(")"))for(i={};f<s;){c=F();b=T();x?(K(c.value)&&m(c,S),Object.prototype.hasOwnProperty.call(i,c.value)&&m(c,sa)):e||(K(c.value)?(e=c,g=S):na(c.value)?(e=c,g=Q):Object.prototype.hasOwnProperty.call(i,c.value)&&(e=c,g=sa));d.push(b);i[b.name]=!0;if(j(")"))break;
q(",")}q(")");c=x;b=oa();x&&e&&m(e,g);x=c;return{type:h.FunctionDeclaration,id:a,params:d,body:b}}function Va(){var a,b=null,d,c,e,g=[],i;C("function");j("(")||(a=F(),b=T(),x?K(a.value)&&m(a,ra):K(a.value)?(d=a,c=ra):na(a.value)&&(d=a,c=Q));q("(");if(!j(")"))for(i={};f<s;){a=F();e=T();x?(K(a.value)&&m(a,S),Object.prototype.hasOwnProperty.call(i,a.value)&&m(a,sa)):d||(K(a.value)?(d=a,c=S):na(a.value)?(d=a,c=Q):Object.prototype.hasOwnProperty.call(i,a.value)&&(d=a,c=sa));g.push(e);i[e.name]=!0;if(j(")"))break;
q(",")}q(")");e=x;a=oa();x&&d&&m(d,c);x=e;return{type:h.FunctionExpression,id:b,params:g,body:a}}function La(){var a=F();if(a.type===V)switch(a.value){case "const":case "let":return bb(a.value);case "function":return Ma();default:return H()}if(a.type!==W)return H()}function fb(){x=!1;for(var a=h.Program,b,c=[],e,g;f<s;){e=F();if(e.type!==da)break;b=La();c.push(b);if(b.expression.type!==h.Literal)break;b=va(e.range[0]+1,e.range[1]-1);b==="use strict"?(x=!0,g&&m(g,O)):!g&&e.octal&&(g=e)}for(;f<s;){b=
La();if(typeof b==="undefined")break;c.push(b)}return{type:a,body:c}}function lb(a,b,d,e){Ra(typeof a==="number","Comment must have valid position");c.comments.length>0&&c.comments[c.comments.length-1].range[1]>a||c.comments.push({range:[a,b],type:d,value:e})}function Mb(){var a,b,c,e,g;a="";for(g=e=!1;f<s;)if(b=i[f],g)b=y(),f>=s?(g=!1,a+=b,lb(c,f,"Line",a)):X(b)?(g=!1,lb(c,f,"Line",a),b==="\r"&&i[f]==="\n"&&++f,++t,v=f,a=""):a+=b;else if(e)X(b)?(b==="\r"&&i[f+1]==="\n"?(++f,a+="\r\n"):a+=b,++t,++f,
v=f,f>=s&&m({},o,"ILLEGAL")):(b=y(),f>=s&&m({},o,"ILLEGAL"),a+=b,b==="*"&&(b=i[f],b==="/"&&(a=a.substr(0,a.length-1),e=!1,++f,lb(c,f,"Block",a),a="")));else if(b==="/")if(b=i[f+1],b==="/")c=f,f+=2,g=!0;else if(b==="*")c=f,f+=2,e=!0,f>=s&&m({},o,"ILLEGAL");else break;else if(hb(b))++f;else if(X(b))++f,b==="\r"&&i[f]==="\n"&&++f,++t,v=f;else break}function Nb(){var a=c.advance(),b,d;a.type!==W&&(b=[a.range[0],a.range[1]],d=va(a.range[0],a.range[1]),c.tokens.push({type:Y[a.type],value:d,range:b}));return a}
function Ob(){var a,b,d;$();a=f;b=c.scanRegExp();c.tokens.length>0&&(d=c.tokens[c.tokens.length-1],d.range[0]===a&&d.type==="Punctuator"&&(d.value==="/"||d.value==="/=")&&c.tokens.pop());c.tokens.push({type:"RegularExpression",value:b.literal,range:[a,f]});return b}function ea(a){return{type:h.Literal,value:a.value}}function Pb(a){return{type:h.Literal,value:a.value,raw:va(a.range[0],a.range[1])}}function Qb(a,b){return function(c){function e(a){return a.type===h.LogicalExpression||a.type===h.BinaryExpression}
function g(c){e(c.left)&&g(c.left);e(c.right)&&g(c.right);if(a&&typeof c.range==="undefined")c.range=[c.left.range[0],c.right.range[1]];if(b&&typeof c.loc==="undefined")c.loc={start:c.left.loc.start,end:c.right.loc.end}}return function(){var i,j,k;$();j=[f,0];k={start:{line:t,column:f-v}};i=c.apply(null,arguments);if(typeof i!=="undefined"){if(a)j[1]=f,i.range=j;if(b)k.end={line:t,column:f-v},i.loc=k;e(i)&&g(i);if(i.type===h.MemberExpression&&(typeof i.object.range!=="undefined"&&(i.range[0]=i.object.range[0]),
typeof i.object.loc!=="undefined"))i.loc.start=i.object.loc.start;return i}}}}function Rb(){function a(a){return function(){try{return a.apply(null,arguments)}catch(b){return pa(b),null}}}function b(a){return function(){c.statementStart=f;try{return a.apply(null,arguments)}catch(b){pa(b)}}}var d;if(c.comments)c.skipComment=$,$=Mb;if(c.raw)c.createLiteral=ea,ea=Pb;if(c.range||c.loc||c.errors)d=Qb(c.range,c.loc),c.parseAdditiveExpression=Fa,c.parseAssignmentExpression=M,c.parseBitwiseANDExpression=
Ha,c.parseBitwiseORExpression=Ia,c.parseBitwiseXORExpression=Ja,c.parseBlock=ja,c.parseFunctionSourceElements=oa,c.parseCallMember=Wa,c.parseCatchClause=eb,c.parseComputedMember=Ca,c.parseConditionalExpression=$a,c.parseConstLetDeclaration=bb,c.parseEqualityExpression=Ga,c.parseExpression=A,c.parseForVariableDeclaration=cb,c.parseFunctionDeclaration=Ma,c.parseFunctionExpression=Va,c.parseLogicalANDExpression=Ka,c.parseLogicalORExpression=Za,c.parseMultiplicativeExpression=Ea,c.parseNewExpression=
Da,c.parseNonComputedMember=Ba,c.parseNonComputedProperty=qa,c.parseObjectProperty=Ua,c.parseObjectPropertyKey=ia,c.parsePostfixExpression=Xa,c.parsePrimaryExpression=Aa,c.parseProgram=fb,c.parsePropertyFunction=za,c.parseRelationalExpression=ga,c.parseStatement=H,c.parseShiftExpression=Ya,c.parseSwitchCase=db,c.parseUnaryExpression=fa,c.parseVariableDeclaration=ab,c.parseVariableIdentifier=T,c.consumeSemicolon=L,Fa=d(c.parseAdditiveExpression),M=d(c.parseAssignmentExpression),Ha=d(c.parseBitwiseANDExpression),
Ia=d(c.parseBitwiseORExpression),Ja=d(c.parseBitwiseXORExpression),ja=d(c.parseBlock),oa=d(c.parseFunctionSourceElements),Wa=d(c.parseCallMember),eb=d(c.parseCatchClause),Ca=d(c.parseComputedMember),$a=d(c.parseConditionalExpression),bb=d(c.parseConstLetDeclaration),Ga=d(c.parseEqualityExpression),A=d(c.parseExpression),cb=d(c.parseForVariableDeclaration),Ma=d(c.parseFunctionDeclaration),Va=d(c.parseFunctionExpression),Ka=d(c.parseLogicalANDExpression),Za=d(c.parseLogicalORExpression),Ea=d(c.parseMultiplicativeExpression),
Da=d(c.parseNewExpression),Ba=d(c.parseNonComputedMember),qa=d(c.parseNonComputedProperty),Ua=d(c.parseObjectProperty),ia=d(c.parseObjectPropertyKey),Xa=d(c.parsePostfixExpression),Aa=d(c.parsePrimaryExpression),fb=d(c.parseProgram),za=d(c.parsePropertyFunction),ga=d(c.parseRelationalExpression),H=d(c.parseStatement),Ya=d(c.parseShiftExpression),db=d(c.parseSwitchCase),fa=d(c.parseUnaryExpression),ab=d(c.parseVariableDeclaration),T=d(c.parseVariableIdentifier);c.errors&&(H=b(H),A=a(A),qa=a(qa),L=
a(L));if(typeof c.tokens!=="undefined")c.advance=xa,c.scanRegExp=Ta,xa=Nb,Ta=Ob}var Y,h,i,x,f,t,v,s,G,c;ua=1;W=2;R=3;V=4;ta=5;ca=6;B=7;da=8;Y={};Y[ua]="Boolean";Y[W]="<end>";Y[R]="Identifier";Y[V]="Keyword";Y[ta]="Null";Y[ca]="Numeric";Y[B]="Punctuator";Y[da]="String";h={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",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"};la=1;zb=2;Ab=4;o="Unexpected token %0";k="Unexpected number";J="Unexpected string";w="Unexpected identifier";Na="Unexpected reserved word";z="Unexpected end of input";vb="Illegal newline after throw";E="Invalid regular expression";N="Invalid regular expression: missing /";pb="Invalid left-hand side in assignment";sb="Invalid left-hand side in for-in";xb="Missing catch or finally after try";gb="Undefined label '%0'";yb="%0 '%1' has already been declared";
Pa="Illegal continue statement";Qa="Illegal break statement";tb="Illegal return statement";ub="Strict mode code may not include a with statement";wb="Catch variable may not be eval or arguments in strict mode";rb="Variable name may not be eval or arguments in strict mode";S="Parameter name eval or arguments is not allowed in strict mode";sa="Strict mode function may not have duplicate parameter names";ra="Function name may not be eval or arguments in strict mode";O="Octal literals are not allowed in strict mode.";
ob="Delete of an unqualified identifier in strict mode.";P="Duplicate data property in object literal not allowed in strict mode";I="Object literal may not have data and accessor property with the same name";ka="Object literal may not have multiple get/set accessors with the same name";qb="Assignment to eval or arguments is not allowed in strict mode";mb="Postfix increment/decrement may not have eval or arguments operand in strict mode";nb="Prefix increment/decrement may not have eval or arguments operand in strict mode";
Q="Use of future reserved word in strict mode";Oa=RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\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]");
U=RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\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]");
typeof"esprima"[0]==="undefined"&&(va=function(a,b){return i.slice(a,b).join("")});l.version="1.0.0-dev";l.parse=function(a,b){var d;typeof a!=="string"&&!(a instanceof String)&&(a=String(a));i=a;f=0;t=i.length>0?1:0;v=0;s=i.length;G=null;n=!0;u={};g=null;ba=!1;e=!1;r=!1;c={};if(typeof b!=="undefined"){c.range=typeof b.range==="boolean"&&b.range;c.loc=typeof b.loc==="boolean"&&b.loc;c.raw=typeof b.raw==="boolean"&&b.raw;if(typeof b.tokens==="boolean"&&b.tokens)c.tokens=[];if(typeof b.comment==="boolean"&&
b.comment)c.comments=[];if(typeof b.tolerant==="boolean"&&b.tolerant)c.errors=[]}if(s>0&&typeof i[0]==="undefined"&&(a instanceof String&&(i=a.valueOf()),typeof i[0]==="undefined")){var h=a,j=h.length,k=[],l;for(l=0;l<j;++l)k[l]=h.charAt(l);i=k}Rb();try{d=fb();if(typeof c.comments!=="undefined")d.comments=c.comments;if(typeof c.tokens!=="undefined")d.tokens=c.tokens;if(typeof c.errors!=="undefined")d.errors=c.errors}catch(m){throw m;}finally{if(typeof c.skipComment==="function")$=c.skipComment;if(c.raw)ea=
c.createLiteral;if(c.range||c.loc||c.errors)Fa=c.parseAdditiveExpression,M=c.parseAssignmentExpression,Ha=c.parseBitwiseANDExpression,Ia=c.parseBitwiseORExpression,Ja=c.parseBitwiseXORExpression,ja=c.parseBlock,oa=c.parseFunctionSourceElements,Wa=c.parseCallMember,eb=c.parseCatchClause,Ca=c.parseComputedMember,$a=c.parseConditionalExpression,bb=c.parseConstLetDeclaration,Ga=c.parseEqualityExpression,A=c.parseExpression,cb=c.parseForVariableDeclaration,Ma=c.parseFunctionDeclaration,Va=c.parseFunctionExpression,
Ka=c.parseLogicalANDExpression,Za=c.parseLogicalORExpression,Ea=c.parseMultiplicativeExpression,Da=c.parseNewExpression,Ba=c.parseNonComputedMember,qa=c.parseNonComputedProperty,Ua=c.parseObjectProperty,ia=c.parseObjectPropertyKey,Aa=c.parsePrimaryExpression,Xa=c.parsePostfixExpression,fb=c.parseProgram,za=c.parsePropertyFunction,ga=c.parseRelationalExpression,H=c.parseStatement,Ya=c.parseShiftExpression,db=c.parseSwitchCase,fa=c.parseUnaryExpression,ab=c.parseVariableDeclaration,T=c.parseVariableIdentifier,
L=c.consumeSemicolon;if(typeof c.scanRegExp==="function")xa=c.advance,Ta=c.scanRegExp;c={}}return d};l.Syntax=function(){var a,b={};typeof Object.create==="function"&&(b=Object.create(null));for(a in h)h.hasOwnProperty(a)&&(b[a]=h[a]);typeof Object.freeze==="function"&&Object.freeze(b);return b}()})(typeof exports==="undefined"?esprima={}:exports);define("esprima/esprima",function(){});
define('built-esprimaAstPlugin.js',["orion/plugin","orion/serialize","esprima/esprima"],function(l,g){var n=new l({name:"Esprima AST Provider for JavaScript",description:"Provides an abstract syntax tree (AST) for JavaScript code.",version:"1.0"});n.registerService("orion.core.astprovider",{computeAST:function(e){e=esprima.parse(e.text,{loc:!0,range:!0,raw:!0,tokens:!0,comment:!0,tolerant:!0});if(e.errors)e.errors=e.errors.map(g.serializeError);return e}},{contentType:["application/javascript"]});
n.connect()});