@putout/bundle 4.7.0 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var n=function e(){var n=!1;try{n=this instanceof e}catch{}return n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),n}var n={exports:{}},r="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}var a=i,o=s;function u(e){if(a===setTimeout)return setTimeout(e,0);if((a===i||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}"function"==typeof r.setTimeout&&(a=setTimeout),"function"==typeof r.clearTimeout&&(o=clearTimeout);var c,l=[],p=!1,d=-1;function h(){p&&c&&(p=!1,c.length?l=c.concat(l):d=-1,l.length&&f())}function f(){if(!p){var e=u(h);p=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,p=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new y(e,t)),1!==l.length||p||u(f)}function y(e,t){this.fun=e,this.array=t}y.prototype.run=function(){this.fun.apply(null,this.array)};var g="browser",b="browser",x=!0,S={},T=[],E={},P={},v={};function A(){}var w=A,C=A,k=A,I=A,_=A,N=A,L=A;function O(e){throw new Error("process.binding is not supported")}function D(){return"/"}function M(e){throw new Error("process.chdir is not supported")}function B(){return 0}var F=r.performance||{},R=F.now||F.mozNow||F.msNow||F.oNow||F.webkitNow||function(){return(new Date).getTime()};function j(e){var t=.001*R.call(F),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]}var U=new Date;function q(){return(new Date-U)/1e3}var $={nextTick:m,title:g,browser:x,env:S,argv:T,version:"",versions:E,on:w,addListener:C,once:k,off:I,removeListener:_,removeAllListeners:N,emit:L,binding:O,cwd:D,chdir:M,umask:B,hrtime:j,platform:b,release:P,config:v,uptime:q},J=Object.freeze({__proto__:null,addListener:C,argv:T,binding:O,browser:x,chdir:M,config:v,cwd:D,default:$,emit:L,env:S,hrtime:j,nextTick:m,off:I,on:w,once:k,platform:b,release:P,removeAllListeners:N,removeListener:_,title:g,umask:B,uptime:q,version:"",versions:E}),V=[],K=[],W="undefined"!=typeof Uint8Array?Uint8Array:Array,X=!1;function H(){X=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)V[t]=e[t],K[e.charCodeAt(t)]=t;K["-".charCodeAt(0)]=62,K["_".charCodeAt(0)]=63}function z(e){return V[e>>18&63]+V[e>>12&63]+V[e>>6&63]+V[63&e]}function Y(e,t,n){for(var r,i=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],i.push(z(r));return i.join("")}function G(e){var t;X||H();for(var n=e.length,r=n%3,i="",s=[],a=16383,o=0,u=n-r;o<u;o+=a)s.push(Y(e,o,o+a>u?u:o+a));return 1===r?(t=e[n-1],i+=V[t>>2],i+=V[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=V[t>>10],i+=V[t>>4&63],i+=V[t<<2&63],i+="="),s.push(i),s.join("")}function Q(e,t,n,r,i){var s,a,o=8*i-r-1,u=(1<<o)-1,c=u>>1,l=-7,p=n?i-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-l)-1,h>>=-l,l+=o;l>0;s=256*s+e[t+p],p+=d,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=d,l-=8);if(0===s)s=1-c;else{if(s===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),s-=c}return(h?-1:1)*a*Math.pow(2,s-r)}function Z(e,t,n,r,i,s){var a,o,u,c=8*s-i-1,l=(1<<c)-1,p=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:s-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?d/u:d*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(t*u-1)*Math.pow(2,i),a+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+h]=255&o,h+=f,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;e[n+h]=255&a,h+=f,a/=256,c-=8);e[n+h-f]|=128*m}var ee={}.toString,te=Array.isArray||function(e){return"[object Array]"==ee.call(e)};function ne(){return ie.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function re(e,t){if(ne()<t)throw new RangeError("Invalid typed array length");return ie.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=ie.prototype:(null===e&&(e=new ie(t)),e.length=t),e}function ie(e,t,n){if(!(ie.TYPED_ARRAY_SUPPORT||this instanceof ie))return new ie(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return oe(this,e)}return se(this,e,t,n)}function se(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);ie.TYPED_ARRAY_SUPPORT?(e=t).__proto__=ie.prototype:e=ue(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!ie.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|pe(t,n);e=re(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(le(t)){var n=0|ce(t.length);return 0===(e=re(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?re(e,0):ue(e,t);if("Buffer"===t.type&&te(t.data))return ue(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function ae(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function oe(e,t){if(ae(t),e=re(e,t<0?0:0|ce(t)),!ie.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ue(e,t){var n=t.length<0?0:0|ce(t.length);e=re(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function ce(e){if(e>=ne())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ne().toString(16)+" bytes");return 0|e}function le(e){return!(null==e||!e._isBuffer)}function pe(e,t){if(le(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Re(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return je(e).length;default:if(r)return Re(e).length;t=(""+t).toLowerCase(),r=!0}}function de(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ce(this,t,n);case"utf8":case"utf-8":return Pe(this,t,n);case"ascii":return Ae(this,t,n);case"latin1":case"binary":return we(this,t,n);case"base64":return Ee(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function he(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function fe(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=ie.from(t,r)),le(t))return 0===t.length?-1:me(e,t,n,r,i);if("number"==typeof t)return t&=255,ie.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):me(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function me(e,t,n,r,i){var s,a=1,o=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(s=n;s<o;s++)if(c(e,s)===c(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===u)return l*a}else-1!==l&&(s-=s-l),l=-1}else for(n+u>o&&(n=o-u),s=n;s>=0;s--){for(var p=!0,d=0;d<u;d++)if(c(e,s+d)!==c(t,d)){p=!1;break}if(p)return s}return-1}function ye(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a<r;++a){var o=parseInt(t.substr(2*a,2),16);if(isNaN(o))return a;e[n+a]=o}return a}function ge(e,t,n,r){return Ue(Re(t,e.length-n),e,n,r)}function be(e,t,n,r){return Ue(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function xe(e,t,n,r){return be(e,t,n,r)}function Se(e,t,n,r){return Ue(je(t),e,n,r)}function Te(e,t,n,r){return Ue(function(e,t){for(var n,r,i,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function Ee(e,t,n){return 0===t&&n===e.length?G(e):G(e.slice(t,n))}function Pe(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,a,o,u,c=e[i],l=null,p=c>239?4:c>223?3:c>191?2:1;if(i+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(l=u);break;case 3:s=e[i+1],a=e[i+2],128==(192&s)&&128==(192&a)&&(u=(15&c)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=e[i+1],a=e[i+2],o=e[i+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(u=(15&c)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=ve)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ve));return n}(r)}ie.TYPED_ARRAY_SUPPORT=void 0===r.TYPED_ARRAY_SUPPORT||r.TYPED_ARRAY_SUPPORT,ne(),ie.poolSize=8192,ie._augment=function(e){return e.__proto__=ie.prototype,e},ie.from=function(e,t,n){return se(null,e,t,n)},ie.TYPED_ARRAY_SUPPORT&&(ie.prototype.__proto__=Uint8Array.prototype,ie.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&ie[Symbol.species]),ie.alloc=function(e,t,n){return function(e,t,n,r){return ae(t),t<=0?re(e,t):void 0!==n?"string"==typeof r?re(e,t).fill(n,r):re(e,t).fill(n):re(e,t)}(null,e,t,n)},ie.allocUnsafe=function(e){return oe(null,e)},ie.allocUnsafeSlow=function(e){return oe(null,e)},ie.isBuffer=function(e){return null!=e&&(!!e._isBuffer||qe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&qe(e.slice(0,0))}(e))},ie.compare=function(e,t){if(!le(e)||!le(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},ie.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ie.concat=function(e,t){if(!te(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return ie.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=ie.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!le(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},ie.byteLength=pe,ie.prototype._isBuffer=!0,ie.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)he(this,t,t+1);return this},ie.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)he(this,t,t+3),he(this,t+1,t+2);return this},ie.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)he(this,t,t+7),he(this,t+1,t+6),he(this,t+2,t+5),he(this,t+3,t+4);return this},ie.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?Pe(this,0,e):de.apply(this,arguments)},ie.prototype.equals=function(e){if(!le(e))throw new TypeError("Argument must be a Buffer");return this===e||0===ie.compare(this,e)},ie.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},ie.prototype.compare=function(e,t,n,r,i){if(!le(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),o=Math.min(s,a),u=this.slice(r,i),c=e.slice(t,n),l=0;l<o;++l)if(u[l]!==c[l]){s=u[l],a=c[l];break}return s<a?-1:a<s?1:0},ie.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},ie.prototype.indexOf=function(e,t,n){return fe(this,e,t,n,!0)},ie.prototype.lastIndexOf=function(e,t,n){return fe(this,e,t,n,!1)},ie.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return ye(this,e,t,n);case"utf8":case"utf-8":return ge(this,e,t,n);case"ascii":return be(this,e,t,n);case"latin1":case"binary":return xe(this,e,t,n);case"base64":return Se(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Te(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},ie.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ve=4096;function Ae(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function we(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function Ce(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s<n;++s)i+=Fe(e[s]);return i}function ke(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function Ie(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function _e(e,t,n,r,i,s){if(!le(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function Ne(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Le(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function Oe(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function De(e,t,n,r,i){return i||Oe(e,0,n,4),Z(e,t,n,r,23,4),n+4}function Me(e,t,n,r,i){return i||Oe(e,0,n,8),Z(e,t,n,r,52,8),n+8}ie.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),ie.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=ie.prototype;else{var i=t-e;n=new ie(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},ie.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},ie.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},ie.prototype.readUInt8=function(e,t){return t||Ie(e,1,this.length),this[e]},ie.prototype.readUInt16LE=function(e,t){return t||Ie(e,2,this.length),this[e]|this[e+1]<<8},ie.prototype.readUInt16BE=function(e,t){return t||Ie(e,2,this.length),this[e]<<8|this[e+1]},ie.prototype.readUInt32LE=function(e,t){return t||Ie(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},ie.prototype.readUInt32BE=function(e,t){return t||Ie(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},ie.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},ie.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},ie.prototype.readInt8=function(e,t){return t||Ie(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},ie.prototype.readInt16LE=function(e,t){t||Ie(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt16BE=function(e,t){t||Ie(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt32LE=function(e,t){return t||Ie(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},ie.prototype.readInt32BE=function(e,t){return t||Ie(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},ie.prototype.readFloatLE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!0,23,4)},ie.prototype.readFloatBE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!1,23,4)},ie.prototype.readDoubleLE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!0,52,8)},ie.prototype.readDoubleBE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!1,52,8)},ie.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},ie.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},ie.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,255,0),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},ie.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Le(this,e,t,!0),t+4},ie.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=n-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,127,-128),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},ie.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Le(this,e,t,!0),t+4},ie.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeFloatLE=function(e,t,n){return De(this,e,t,!0,n)},ie.prototype.writeFloatBE=function(e,t,n){return De(this,e,t,!1,n)},ie.prototype.writeDoubleLE=function(e,t,n){return Me(this,e,t,!0,n)},ie.prototype.writeDoubleBE=function(e,t,n){return Me(this,e,t,!1,n)},ie.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!ie.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},ie.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!ie.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var a=le(e)?e:Re(new ie(e,r).toString()),o=a.length;for(s=0;s<n-t;++s)this[s+t]=a[s%o]}return this};var Be=/[^+\/0-9A-Za-z-_]/g;function Fe(e){return e<16?"0"+e.toString(16):e.toString(16)}function Re(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function je(e){return function(e){var t,n,r,i,s,a;X||H();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[o-2]?2:"="===e[o-1]?1:0,a=new W(3*o/4-s),r=s>0?o-4:o;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)i=K[e.charCodeAt(t)]<<18|K[e.charCodeAt(t+1)]<<12|K[e.charCodeAt(t+2)]<<6|K[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=K[e.charCodeAt(t)]<<2|K[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=K[e.charCodeAt(t)]<<10|K[e.charCodeAt(t+1)]<<4|K[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Be,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Ue(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function qe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var $e=Object.create,Je=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Ke=Object.getOwnPropertyNames,We=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty,He=(e,t)=>function(){return t||(0,e[Ke(e)[0]])((t={exports:{}}).exports,t),t.exports},ze=(e,t)=>{for(var n in t)Je(e,n,{get:t[n],enumerable:!0})},Ye=(e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of Ke(t))Xe.call(e,i)||i===n||Je(e,i,{get:()=>t[i],enumerable:!(r=Ve(t,i))||r.enumerable});return e},Ge=(e,t,n)=>(n=null!=e?$e(We(e)):{},Ye(Je(n,"default",{value:e,enumerable:!0}),e)),Qe=(e,t,n)=>((e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n),Ze=He({"node_modules/picocolors/picocolors.js"(e,t){var n=$||{},r=n.argv||[],i=n.env||{},s=!(i.NO_COLOR||r.includes("--no-color"))&&(!!i.FORCE_COLOR||r.includes("--color")||"win32"===n.platform||(n.stdout||{}).isTTY&&"dumb"!==i.TERM||!!i.CI),a=(e,t,n=e)=>r=>{let i=""+r,s=i.indexOf(t,e.length);return~s?e+o(i,t,n,s)+t:e+i+t},o=(e,t,n,r)=>{let i="",s=0;do{i+=e.substring(s,r)+n,s=r+t.length,r=e.indexOf(t,s)}while(~r);return i+e.substring(s)},u=(e=s)=>{let t=e?a:()=>String;return{isColorSupported:e,reset:t("",""),bold:t("","",""),dim:t("","",""),italic:t("",""),underline:t("",""),inverse:t("",""),hidden:t("",""),strikethrough:t("",""),black:t("",""),red:t("",""),green:t("",""),yellow:t("",""),blue:t("",""),magenta:t("",""),cyan:t("",""),white:t("",""),gray:t("",""),bgBlack:t("",""),bgRed:t("",""),bgGreen:t("",""),bgYellow:t("",""),bgBlue:t("",""),bgMagenta:t("",""),bgCyan:t("",""),bgWhite:t("",""),blackBright:t("",""),redBright:t("",""),greenBright:t("",""),yellowBright:t("",""),blueBright:t("",""),magentaBright:t("",""),cyanBright:t("",""),whiteBright:t("",""),bgBlackBright:t("",""),bgRedBright:t("",""),bgGreenBright:t("",""),bgYellowBright:t("",""),bgBlueBright:t("",""),bgMagentaBright:t("",""),bgCyanBright:t("",""),bgWhiteBright:t("","")}};t.exports=u(),t.exports.createColors=u}}),et=He({"node_modules/js-tokens/index.js"(e,t){var n,r,i,s,a,o,u,c,l,p,d,h,f,m,y,g,b,x,S;f=/\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,h=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,n=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,y=/(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y,d=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,g=/[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y,S=/[\t\v\f\ufeff\p{Zs}]+/uy,c=/\r?\n|[\r\u2028\u2029]/y,l=/\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y,m=/\/\/.*/y,i=/[<>.:={}]|\/(?![\/*])/y,r=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,s=/(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y,a=/[^<>{}]+/y,x=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,b=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,u=/^(?:return|throw|yield)$/,p=RegExp(c.source),t.exports=function*(e,{jsx:t=!1}={}){var T,E,P,v,A,w,C,k,I,_,N,L,O,D;for(({length:w}=e),v=0,A="",D=[{tag:"JS"}],T=[],N=0,L=!1;v<w;){switch((k=D[D.length-1]).tag){case"JS":case"JSNonExpressionParen":case"InterpolationInTemplate":case"InterpolationInJSX":if("/"===e[v]&&(x.test(A)||o.test(A))&&(f.lastIndex=v,C=f.exec(e))){v=f.lastIndex,A=C[0],L=!0,yield{type:"RegularExpressionLiteral",value:C[0],closed:void 0!==C[1]&&"\\"!==C[1]};continue}if(h.lastIndex=v,C=h.exec(e)){switch(O=C[0],I=h.lastIndex,_=O,O){case"(":"?NonExpressionParenKeyword"===A&&D.push({tag:"JSNonExpressionParen",nesting:N}),N++,L=!1;break;case")":N--,L=!0,"JSNonExpressionParen"===k.tag&&N===k.nesting&&(D.pop(),_="?NonExpressionParenEnd",L=!1);break;case"{":h.lastIndex=0,P=!b.test(A)&&(x.test(A)||o.test(A)),T.push(P),L=!1;break;case"}":switch(k.tag){case"InterpolationInTemplate":if(T.length===k.nesting){g.lastIndex=v,C=g.exec(e),v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",L=!1,yield{type:"TemplateMiddle",value:C[0]}):(D.pop(),L=!0,yield{type:"TemplateTail",value:C[0],closed:"`"===C[1]});continue}break;case"InterpolationInJSX":if(T.length===k.nesting){D.pop(),v+=1,A="}",yield{type:"JSXPunctuator",value:"}"};continue}}_=(L=T.pop())?"?ExpressionBraceEnd":"}";break;case"]":L=!0;break;case"++":case"--":_=L?"?PostfixIncDec":"?UnaryIncDec";break;case"<":if(t&&(x.test(A)||o.test(A))){D.push({tag:"JSXTag"}),v+=1,A="<",yield{type:"JSXPunctuator",value:O};continue}L=!1;break;default:L=!1}v=I,A=_,yield{type:"Punctuator",value:O};continue}if(n.lastIndex=v,C=n.exec(e)){switch(v=n.lastIndex,_=C[0],C[0]){case"for":case"if":case"while":case"with":"."!==A&&"?."!==A&&(_="?NonExpressionParenKeyword")}A=_,L=!o.test(C[0]),yield{type:"#"===C[1]?"PrivateIdentifier":"IdentifierName",value:C[0]};continue}if(y.lastIndex=v,C=y.exec(e)){v=y.lastIndex,A=C[0],L=!0,yield{type:"StringLiteral",value:C[0],closed:void 0!==C[2]};continue}if(d.lastIndex=v,C=d.exec(e)){v=d.lastIndex,A=C[0],L=!0,yield{type:"NumericLiteral",value:C[0]};continue}if(g.lastIndex=v,C=g.exec(e)){v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",D.push({tag:"InterpolationInTemplate",nesting:T.length}),L=!1,yield{type:"TemplateHead",value:C[0]}):(L=!0,yield{type:"NoSubstitutionTemplate",value:C[0],closed:"`"===C[1]});continue}break;case"JSXTag":case"JSXTagEnd":if(i.lastIndex=v,C=i.exec(e)){switch(v=i.lastIndex,_=C[0],C[0]){case"<":D.push({tag:"JSXTag"});break;case">":D.pop(),"/"===A||"JSXTagEnd"===k.tag?(_="?JSX",L=!0):D.push({tag:"JSXChildren"});break;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),_="?InterpolationInJSX",L=!1;break;case"/":"<"===A&&(D.pop(),"JSXChildren"===D[D.length-1].tag&&D.pop(),D.push({tag:"JSXTagEnd"}))}A=_,yield{type:"JSXPunctuator",value:C[0]};continue}if(r.lastIndex=v,C=r.exec(e)){v=r.lastIndex,A=C[0],yield{type:"JSXIdentifier",value:C[0]};continue}if(s.lastIndex=v,C=s.exec(e)){v=s.lastIndex,A=C[0],yield{type:"JSXString",value:C[0],closed:void 0!==C[2]};continue}break;case"JSXChildren":if(a.lastIndex=v,C=a.exec(e)){v=a.lastIndex,A=C[0],yield{type:"JSXText",value:C[0]};continue}switch(e[v]){case"<":D.push({tag:"JSXTag"}),v++,A="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),v++,A="?InterpolationInJSX",L=!1,yield{type:"JSXPunctuator",value:"{"};continue}}S.lastIndex=v,(C=S.exec(e))?(v=S.lastIndex,yield{type:"WhiteSpace",value:C[0]}):(c.lastIndex=v,(C=c.exec(e))?(v=c.lastIndex,L=!1,u.test(A)&&(A="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:C[0]}):(l.lastIndex=v,(C=l.exec(e))?(v=l.lastIndex,p.test(C[0])&&(L=!1,u.test(A)&&(A="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:C[0],closed:void 0!==C[1]}):(m.lastIndex=v,(C=m.exec(e))?(v=m.lastIndex,L=!1,yield{type:"SingleLineComment",value:C[0]}):(v+=(E=String.fromCodePoint(e.codePointAt(v))).length,A=E,L=!1,yield{type:k.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:E}))))}}}}),tt=He({"node_modules/jsesc/jsesc.js"(e,t){var n={},r=n.hasOwnProperty,i=(e,t)=>{for(const n in e)r.call(e,n)&&t(n,e[n])},s=e=>"\\u"+("0000"+e).slice(-4),a=(e,t)=>{let n=e.toString(16);return t?n:n.toUpperCase()},o=n.toString,u=Array.isArray,c=e=>"bigint"==typeof e,l={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},p=/[\\\b\f\n\r\t]/,d=/[0-9]/,h=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,f=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,m=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,y=(e,t)=>{const n=()=>{v=P,++t.indentLevel,P=t.indent.repeat(t.indentLevel)},r={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",indentLevel:0,__inline1__:!1,__inline2__:!1},g=t&&t.json;var b,x;g&&(r.quotes="double",r.wrap=!0),b=r,t=(x=t)?(i(x,(e,t)=>{b[e]=t}),b):b,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const S="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",T=t.compact,E=t.lowercaseHex;let P=t.indent.repeat(t.indentLevel),v="";const A=t.__inline1__,w=t.__inline2__,C=T?"":"\n";let k,I=!0;const _="binary"==t.numbers,N="octal"==t.numbers,L="decimal"==t.numbers,O="hexadecimal"==t.numbers;if(g&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!(e=>"string"==typeof e||"[object String]"==o.call(e))(e)){if((e=>"[object Map]"==o.call(e))(e))return 0==e.size?"new Map()":(T||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+y(Array.from(e),t)+")");if((e=>"[object Set]"==o.call(e))(e))return 0==e.size?"new Set()":"new Set("+y(Array.from(e),t)+")";if((e=>Array.isArray(e))(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+y(Array.from(e),t)+")";if(u(e))return k=[],t.wrap=!0,A&&(t.__inline1__=!1,t.__inline2__=!0),w||n(),((e,t)=>{const n=e.length;let r=-1;for(;++r<n;)t(e[r])})(e,e=>{I=!1,w&&(t.__inline2__=!1),k.push((T||w?"":P)+y(e,t))}),I?"[]":w?"["+k.join(", ")+"]":"["+C+k.join(","+C)+C+(T?"":v)+"]";if((e=>"number"==typeof e||"[object Number]"==o.call(e))(e)||c(e)){if(g)return JSON.stringify(Number(e));let t;if(L)t=String(e);else if(O){let n=e.toString(16);E||(n=n.toUpperCase()),t="0x"+n}else _?t="0b"+e.toString(2):N&&(t="0o"+e.toString(8));return c(e)?t+"n":t}return c(e)?g?JSON.stringify(Number(e)):e+"n":(e=>"[object Object]"==o.call(e))(e)?(k=[],t.wrap=!0,n(),i(e,(e,n)=>{I=!1,k.push((T?"":P)+y(e,t)+":"+(T?"":" ")+y(n,t))}),I?"{}":"{"+C+k.join(","+C)+C+(T?"":v)+"}"):g?JSON.stringify(e)||"null":String(e)}const D=t.escapeEverything?f:m;return k=e.replace(D,(e,n,r,i,o,u)=>{if(n){if(t.minimal)return n;const e=n.charCodeAt(0),r=n.charCodeAt(1);if(t.es6){return"\\u{"+a(1024*(e-55296)+r-56320+65536,E)+"}"}return s(a(e,E))+s(a(r,E))}if(r)return s(a(r.charCodeAt(0),E));if("\0"==e&&!g&&!d.test(u.charAt(o+1)))return"\\0";if(i)return i==S||t.escapeEverything?"\\"+i:i;if(p.test(e))return l[e];if(t.minimal&&!h.test(e))return e;const c=a(e.charCodeAt(0),E);return g||c.length>2?s(c):"\\x"+("00"+c).slice(-2)}),"`"==S&&(k=k.replace(/\$\{/g,"\\${")),t.isScriptContext&&(k=k.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,g?"\\u003C!--":"\\x3C!--")),t.wrap&&(k=S+k+S),k};y.version="3.0.2",t.exports=y}}),nt=He({"node_modules/debug/src/index.js"(e,t){t.exports=()=>{}}}),rt={};ze(rt,{codeFrameColumns:()=>oI,generate:()=>PO,parse:()=>Vk,parseExpression:()=>Kk,template:()=>QI,tokTypes:()=>Wk,traverse:()=>Kj,types:()=>at});var it,st=(it=rt,Ye(Je({},"__esModule",{value:!0}),it)),at={};ze(at,{ACCESSOR_TYPES:()=>hA,ALIAS_KEYS:()=>qo,ASSIGNMENT_OPERATORS:()=>Do,AnyTypeAnnotation:()=>bm,ArgumentPlaceholder:()=>Wy,ArrayExpression:()=>Bh,ArrayPattern:()=>Mf,ArrayTypeAnnotation:()=>xm,ArrowFunctionExpression:()=>Bf,AssignmentExpression:()=>Fh,AssignmentPattern:()=>Df,AwaitExpression:()=>sm,BINARY_OPERATORS:()=>Oo,BINARY_TYPES:()=>Dv,BLOCKPARENT_TYPES:()=>Bv,BLOCK_TYPES:()=>Fv,BOOLEAN_BINARY_OPERATORS:()=>No,BOOLEAN_NUMBER_BINARY_OPERATORS:()=>ko,BOOLEAN_UNARY_OPERATORS:()=>Mo,BUILDER_KEYS:()=>Vo,BigIntLiteral:()=>om,BinaryExpression:()=>Rh,BindExpression:()=>Xy,BlockStatement:()=>$h,BooleanLiteral:()=>lf,BooleanLiteralTypeAnnotation:()=>Tm,BooleanTypeAnnotation:()=>Sm,BreakStatement:()=>Jh,CLASS_TYPES:()=>cA,COMMENT_KEYS:()=>Ao,COMPARISON_BINARY_OPERATORS:()=>_o,COMPLETIONSTATEMENT_TYPES:()=>Uv,CONDITIONAL_TYPES:()=>qv,CallExpression:()=>Vh,CatchClause:()=>Kh,ClassAccessorProperty:()=>dm,ClassBody:()=>Ff,ClassDeclaration:()=>jf,ClassExpression:()=>Rf,ClassImplements:()=>Pm,ClassMethod:()=>Gf,ClassPrivateMethod:()=>fm,ClassPrivateProperty:()=>hm,ClassProperty:()=>pm,ConditionalExpression:()=>Wh,ContinueStatement:()=>Xh,DECLARATION_TYPES:()=>Yv,DEPRECATED_ALIASES:()=>Uu,DEPRECATED_KEYS:()=>Ko,DebuggerStatement:()=>Hh,DeclareClass:()=>vm,DeclareExportAllDeclaration:()=>Om,DeclareExportDeclaration:()=>Lm,DeclareFunction:()=>Am,DeclareInterface:()=>wm,DeclareModule:()=>Cm,DeclareModuleExports:()=>km,DeclareOpaqueType:()=>_m,DeclareTypeAlias:()=>Im,DeclareVariable:()=>Nm,DeclaredPredicate:()=>Dm,Decorator:()=>Hy,Directive:()=>Uh,DirectiveLiteral:()=>qh,DoExpression:()=>zy,DoWhileStatement:()=>zh,ENUMBODY_TYPES:()=>SA,ENUMMEMBER_TYPES:()=>TA,EQUALITY_BINARY_OPERATORS:()=>Io,EXPORTDECLARATION_TYPES:()=>pA,EXPRESSIONWRAPPER_TYPES:()=>Vv,EXPRESSION_TYPES:()=>Ov,EmptyStatement:()=>Yh,EmptyTypeAnnotation:()=>Km,EnumBooleanBody:()=>xy,EnumBooleanMember:()=>Py,EnumDeclaration:()=>by,EnumDefaultedMember:()=>wy,EnumNumberBody:()=>Sy,EnumNumberMember:()=>vy,EnumStringBody:()=>Ty,EnumStringMember:()=>Ay,EnumSymbolBody:()=>Ey,ExistsTypeAnnotation:()=>Mm,ExportAllDeclaration:()=>Uf,ExportDefaultDeclaration:()=>qf,ExportDefaultSpecifier:()=>Yy,ExportNamedDeclaration:()=>$f,ExportNamespaceSpecifier:()=>um,ExportSpecifier:()=>Jf,ExpressionStatement:()=>Gh,FLATTENABLE_KEYS:()=>Po,FLIPPED_ALIAS_KEYS:()=>$o,FLOWBASEANNOTATION_TYPES:()=>gA,FLOWDECLARATION_TYPES:()=>bA,FLOWPREDICATE_TYPES:()=>xA,FLOWTYPE_TYPES:()=>yA,FLOW_TYPES:()=>mA,FORXSTATEMENT_TYPES:()=>Wv,FOR_INIT_KEYS:()=>vo,FOR_TYPES:()=>Kv,FUNCTIONPARAMETER_TYPES:()=>Gv,FUNCTIONPARENT_TYPES:()=>Hv,FUNCTION_TYPES:()=>Xv,File:()=>Qh,ForInStatement:()=>Zh,ForOfStatement:()=>Vf,ForStatement:()=>ef,FunctionDeclaration:()=>tf,FunctionExpression:()=>nf,FunctionTypeAnnotation:()=>Bm,FunctionTypeParam:()=>Fm,GenericTypeAnnotation:()=>Rm,IMMUTABLE_TYPES:()=>nA,IMPORTOREXPORTDECLARATION_TYPES:()=>lA,INHERIT_KEYS:()=>jo,Identifier:()=>rf,IfStatement:()=>sf,Import:()=>am,ImportAttribute:()=>gm,ImportDeclaration:()=>Kf,ImportDefaultSpecifier:()=>Wf,ImportExpression:()=>zf,ImportNamespaceSpecifier:()=>Xf,ImportSpecifier:()=>Hf,IndexedAccessType:()=>Cy,InferredPredicate:()=>jm,InterfaceDeclaration:()=>qm,InterfaceExtends:()=>Um,InterfaceTypeAnnotation:()=>$m,InterpreterDirective:()=>jh,IntersectionTypeAnnotation:()=>Jm,JSXAttribute:()=>Iy,JSXClosingElement:()=>_y,JSXClosingFragment:()=>Jy,JSXElement:()=>Ny,JSXEmptyExpression:()=>Ly,JSXExpressionContainer:()=>Oy,JSXFragment:()=>qy,JSXIdentifier:()=>My,JSXMemberExpression:()=>By,JSXNamespacedName:()=>Fy,JSXOpeningElement:()=>Ry,JSXOpeningFragment:()=>$y,JSXSpreadAttribute:()=>jy,JSXSpreadChild:()=>Dy,JSXText:()=>Uy,JSX_TYPES:()=>EA,LITERAL_TYPES:()=>tA,LOGICAL_OPERATORS:()=>wo,LOOP_TYPES:()=>$v,LVAL_TYPES:()=>Zv,LabeledStatement:()=>af,LogicalExpression:()=>df,METHOD_TYPES:()=>iA,MISCELLANEOUS_TYPES:()=>PA,MODULEDECLARATION_TYPES:()=>kA,MODULESPECIFIER_TYPES:()=>dA,MemberExpression:()=>hf,MetaProperty:()=>Yf,MixedTypeAnnotation:()=>Vm,ModuleExpression:()=>Zy,NODE_FIELDS:()=>Jo,NODE_PARENT_VALIDATIONS:()=>Wo,NUMBER_BINARY_OPERATORS:()=>Lo,NUMBER_UNARY_OPERATORS:()=>Bo,NewExpression:()=>ff,NullLiteral:()=>cf,NullLiteralTypeAnnotation:()=>Em,NullableTypeAnnotation:()=>Wm,NumberLiteralTypeAnnotation:()=>Xm,NumberTypeAnnotation:()=>Hm,NumericLiteral:()=>uf,OBJECTMEMBER_TYPES:()=>sA,ObjectExpression:()=>yf,ObjectMethod:()=>gf,ObjectPattern:()=>Qf,ObjectProperty:()=>bf,ObjectTypeAnnotation:()=>zm,ObjectTypeCallProperty:()=>Gm,ObjectTypeIndexer:()=>Qm,ObjectTypeInternalSlot:()=>Ym,ObjectTypeProperty:()=>Zm,ObjectTypeSpreadProperty:()=>ey,OpaqueType:()=>ty,OptionalCallExpression:()=>lm,OptionalIndexedAccessType:()=>ky,OptionalMemberExpression:()=>cm,PATTERNLIKE_TYPES:()=>Qv,PATTERN_TYPES:()=>uA,PLACEHOLDERS:()=>Cu,PLACEHOLDERS_ALIAS:()=>ku,PLACEHOLDERS_FLIPPED_ALIAS:()=>Iu,PRIVATE_TYPES:()=>fA,PROPERTY_TYPES:()=>aA,PUREISH_TYPES:()=>zv,ParenthesizedExpression:()=>Ef,PipelineBareFunction:()=>ng,PipelinePrimaryTopicReference:()=>rg,PipelineTopicExpression:()=>tg,Placeholder:()=>Vy,PrivateName:()=>mm,Program:()=>mf,QualifiedTypeIdentifier:()=>ny,RecordExpression:()=>Gy,RegExpLiteral:()=>pf,RestElement:()=>xf,ReturnStatement:()=>Sf,SCOPABLE_TYPES:()=>Mv,STANDARDIZED_TYPES:()=>Lv,STATEMENT_OR_BLOCK_KEYS:()=>Eo,STATEMENT_TYPES:()=>Rv,STRING_UNARY_OPERATORS:()=>Fo,SequenceExpression:()=>Tf,SpreadElement:()=>Zf,StaticBlock:()=>ym,StringLiteral:()=>of,StringLiteralTypeAnnotation:()=>ry,StringTypeAnnotation:()=>iy,Super:()=>em,SwitchCase:()=>Pf,SwitchStatement:()=>vf,SymbolTypeAnnotation:()=>sy,TERMINATORLESS_TYPES:()=>jv,TSAnyKeyword:()=>fg,TSArrayType:()=>Dg,TSAsExpression:()=>tb,TSBASETYPE_TYPES:()=>CA,TSBigIntKeyword:()=>yg,TSBooleanKeyword:()=>mg,TSCallSignatureDeclaration:()=>cg,TSClassImplements:()=>zg,TSConditionalType:()=>qg,TSConstructSignatureDeclaration:()=>lg,TSConstructorType:()=>Ig,TSDeclareFunction:()=>ag,TSDeclareMethod:()=>og,TSENTITYNAME_TYPES:()=>eA,TSEnumBody:()=>ib,TSEnumDeclaration:()=>sb,TSEnumMember:()=>ab,TSExportAssignment:()=>hb,TSExternalModuleReference:()=>pb,TSFunctionType:()=>kg,TSImportEqualsDeclaration:()=>lb,TSImportType:()=>cb,TSIndexSignature:()=>hg,TSIndexedAccessType:()=>Kg,TSInferType:()=>$g,TSInstantiationExpression:()=>eb,TSInterfaceBody:()=>Qg,TSInterfaceDeclaration:()=>Gg,TSInterfaceHeritage:()=>Yg,TSIntersectionType:()=>Ug,TSIntrinsicKeyword:()=>gg,TSLiteralType:()=>Hg,TSMappedType:()=>Wg,TSMethodSignature:()=>dg,TSModuleBlock:()=>ub,TSModuleDeclaration:()=>ob,TSNamedTupleMember:()=>Rg,TSNamespaceExportDeclaration:()=>fb,TSNeverKeyword:()=>bg,TSNonNullExpression:()=>db,TSNullKeyword:()=>xg,TSNumberKeyword:()=>Sg,TSObjectKeyword:()=>Tg,TSOptionalType:()=>Bg,TSParameterProperty:()=>sg,TSParenthesizedType:()=>Jg,TSPropertySignature:()=>pg,TSQualifiedName:()=>ug,TSRestType:()=>Fg,TSSatisfiesExpression:()=>nb,TSStringKeyword:()=>Eg,TSSymbolKeyword:()=>Pg,TSTYPEELEMENT_TYPES:()=>AA,TSTYPE_TYPES:()=>wA,TSTemplateLiteralType:()=>Xg,TSThisType:()=>Cg,TSTupleType:()=>Mg,TSTypeAliasDeclaration:()=>Zg,TSTypeAnnotation:()=>mb,TSTypeAssertion:()=>rb,TSTypeLiteral:()=>Og,TSTypeOperator:()=>Vg,TSTypeParameter:()=>bb,TSTypeParameterDeclaration:()=>gb,TSTypeParameterInstantiation:()=>yb,TSTypePredicate:()=>Ng,TSTypeQuery:()=>Lg,TSTypeReference:()=>_g,TSUndefinedKeyword:()=>vg,TSUnionType:()=>jg,TSUnknownKeyword:()=>Ag,TSVoidKeyword:()=>wg,TYPES:()=>qu,TYPESCRIPT_TYPES:()=>vA,TaggedTemplateExpression:()=>tm,TemplateElement:()=>nm,TemplateLiteral:()=>rm,ThisExpression:()=>Af,ThisTypeAnnotation:()=>ay,ThrowStatement:()=>wf,TopicReference:()=>eg,TryStatement:()=>Cf,TupleExpression:()=>Qy,TupleTypeAnnotation:()=>oy,TypeAlias:()=>cy,TypeAnnotation:()=>ly,TypeCastExpression:()=>py,TypeParameter:()=>dy,TypeParameterDeclaration:()=>hy,TypeParameterInstantiation:()=>fy,TypeofTypeAnnotation:()=>uy,UNARYLIKE_TYPES:()=>oA,UNARY_OPERATORS:()=>Ro,UPDATE_OPERATORS:()=>Co,USERWHITESPACABLE_TYPES:()=>rA,UnaryExpression:()=>kf,UnionTypeAnnotation:()=>my,UpdateExpression:()=>If,V8IntrinsicIdentifier:()=>Ky,VISITOR_KEYS:()=>Uo,VariableDeclaration:()=>_f,VariableDeclarator:()=>Nf,Variance:()=>yy,VoidPattern:()=>ig,VoidTypeAnnotation:()=>gy,WHILE_TYPES:()=>Jv,WhileStatement:()=>Lf,WithStatement:()=>Of,YieldExpression:()=>im,__internal__deprecationWarning:()=>It,addComment:()=>Av,addComments:()=>vv,anyTypeAnnotation:()=>Il,appendToMemberExpression:()=>WA,argumentPlaceholder:()=>rd,arrayExpression:()=>Hu,arrayPattern:()=>Wc,arrayTypeAnnotation:()=>_l,arrowFunctionExpression:()=>Xc,assertAccessor:()=>UP,assertAnyTypeAnnotation:()=>iS,assertArgumentPlaceholder:()=>LT,assertArrayExpression:()=>Pb,assertArrayPattern:()=>Tx,assertArrayTypeAnnotation:()=>sS,assertArrowFunctionExpression:()=>Ex,assertAssignmentExpression:()=>vb,assertAssignmentPattern:()=>Sx,assertAwaitExpression:()=>Kx,assertBigIntLiteral:()=>Xx,assertBinary:()=>oP,assertBinaryExpression:()=>Ab,assertBindExpression:()=>OT,assertBlock:()=>lP,assertBlockParent:()=>cP,assertBlockStatement:()=>Ib,assertBooleanLiteral:()=>Yb,assertBooleanLiteralTypeAnnotation:()=>oS,assertBooleanTypeAnnotation:()=>aS,assertBreakStatement:()=>_b,assertCallExpression:()=>Nb,assertCatchClause:()=>Lb,assertClass:()=>BP,assertClassAccessorProperty:()=>Qx,assertClassBody:()=>Px,assertClassDeclaration:()=>Ax,assertClassExpression:()=>vx,assertClassImplements:()=>cS,assertClassMethod:()=>Fx,assertClassPrivateMethod:()=>eS,assertClassPrivateProperty:()=>Zx,assertClassProperty:()=>Gx,assertCompletionStatement:()=>hP,assertConditional:()=>fP,assertConditionalExpression:()=>Ob,assertContinueStatement:()=>Db,assertDebuggerStatement:()=>Mb,assertDeclaration:()=>PP,assertDeclareClass:()=>lS,assertDeclareExportAllDeclaration:()=>xS,assertDeclareExportDeclaration:()=>bS,assertDeclareFunction:()=>pS,assertDeclareInterface:()=>dS,assertDeclareModule:()=>hS,assertDeclareModuleExports:()=>fS,assertDeclareOpaqueType:()=>yS,assertDeclareTypeAlias:()=>mS,assertDeclareVariable:()=>gS,assertDeclaredPredicate:()=>SS,assertDecorator:()=>DT,assertDirective:()=>Cb,assertDirectiveLiteral:()=>kb,assertDoExpression:()=>MT,assertDoWhileStatement:()=>Bb,assertEmptyStatement:()=>Fb,assertEmptyTypeAnnotation:()=>NS,assertEnumBody:()=>XP,assertEnumBooleanBody:()=>sT,assertEnumBooleanMember:()=>cT,assertEnumDeclaration:()=>iT,assertEnumDefaultedMember:()=>dT,assertEnumMember:()=>HP,assertEnumNumberBody:()=>aT,assertEnumNumberMember:()=>lT,assertEnumStringBody:()=>oT,assertEnumStringMember:()=>pT,assertEnumSymbolBody:()=>uT,assertExistsTypeAnnotation:()=>TS,assertExportAllDeclaration:()=>wx,assertExportDeclaration:()=>RP,assertExportDefaultDeclaration:()=>Cx,assertExportDefaultSpecifier:()=>BT,assertExportNamedDeclaration:()=>kx,assertExportNamespaceSpecifier:()=>Hx,assertExportSpecifier:()=>Ix,assertExpression:()=>aP,assertExpressionStatement:()=>Rb,assertExpressionWrapper:()=>gP,assertFile:()=>jb,assertFlow:()=>$P,assertFlowBaseAnnotation:()=>VP,assertFlowDeclaration:()=>KP,assertFlowPredicate:()=>WP,assertFlowType:()=>JP,assertFor:()=>bP,assertForInStatement:()=>Ub,assertForOfStatement:()=>_x,assertForStatement:()=>qb,assertForXStatement:()=>xP,assertFunction:()=>SP,assertFunctionDeclaration:()=>$b,assertFunctionExpression:()=>Jb,assertFunctionParameter:()=>vP,assertFunctionParent:()=>TP,assertFunctionTypeAnnotation:()=>ES,assertFunctionTypeParam:()=>PS,assertGenericTypeAnnotation:()=>vS,assertIdentifier:()=>Vb,assertIfStatement:()=>Kb,assertImmutable:()=>IP,assertImport:()=>Wx,assertImportAttribute:()=>rS,assertImportDeclaration:()=>Nx,assertImportDefaultSpecifier:()=>Lx,assertImportExpression:()=>Mx,assertImportNamespaceSpecifier:()=>Ox,assertImportOrExportDeclaration:()=>FP,assertImportSpecifier:()=>Dx,assertIndexedAccessType:()=>hT,assertInferredPredicate:()=>AS,assertInterfaceDeclaration:()=>CS,assertInterfaceExtends:()=>wS,assertInterfaceTypeAnnotation:()=>kS,assertInterpreterDirective:()=>wb,assertIntersectionTypeAnnotation:()=>IS,assertJSX:()=>zP,assertJSXAttribute:()=>mT,assertJSXClosingElement:()=>yT,assertJSXClosingFragment:()=>IT,assertJSXElement:()=>gT,assertJSXEmptyExpression:()=>bT,assertJSXExpressionContainer:()=>xT,assertJSXFragment:()=>CT,assertJSXIdentifier:()=>TT,assertJSXMemberExpression:()=>ET,assertJSXNamespacedName:()=>PT,assertJSXOpeningElement:()=>vT,assertJSXOpeningFragment:()=>kT,assertJSXSpreadAttribute:()=>AT,assertJSXSpreadChild:()=>ST,assertJSXText:()=>wT,assertLVal:()=>wP,assertLabeledStatement:()=>Wb,assertLiteral:()=>kP,assertLogicalExpression:()=>Qb,assertLoop:()=>mP,assertMemberExpression:()=>Zb,assertMetaProperty:()=>Bx,assertMethod:()=>NP,assertMiscellaneous:()=>YP,assertMixedTypeAnnotation:()=>_S,assertModuleDeclaration:()=>sv,assertModuleExpression:()=>jT,assertModuleSpecifier:()=>jP,assertNewExpression:()=>ex,assertNode:()=>Tb,assertNullLiteral:()=>zb,assertNullLiteralTypeAnnotation:()=>uS,assertNullableTypeAnnotation:()=>LS,assertNumberLiteral:()=>tv,assertNumberLiteralTypeAnnotation:()=>OS,assertNumberTypeAnnotation:()=>DS,assertNumericLiteral:()=>Hb,assertObjectExpression:()=>nx,assertObjectMember:()=>LP,assertObjectMethod:()=>rx,assertObjectPattern:()=>Rx,assertObjectProperty:()=>ix,assertObjectTypeAnnotation:()=>MS,assertObjectTypeCallProperty:()=>FS,assertObjectTypeIndexer:()=>RS,assertObjectTypeInternalSlot:()=>BS,assertObjectTypeProperty:()=>jS,assertObjectTypeSpreadProperty:()=>US,assertOpaqueType:()=>qS,assertOptionalCallExpression:()=>Yx,assertOptionalIndexedAccessType:()=>fT,assertOptionalMemberExpression:()=>zx,assertParenthesizedExpression:()=>ux,assertPattern:()=>MP,assertPatternLike:()=>AP,assertPipelineBareFunction:()=>$T,assertPipelinePrimaryTopicReference:()=>JT,assertPipelineTopicExpression:()=>qT,assertPlaceholder:()=>_T,assertPrivate:()=>qP,assertPrivateName:()=>tS,assertProgram:()=>tx,assertProperty:()=>OP,assertPureish:()=>EP,assertQualifiedTypeIdentifier:()=>$S,assertRecordExpression:()=>FT,assertRegExpLiteral:()=>Gb,assertRegexLiteral:()=>nv,assertRestElement:()=>sx,assertRestProperty:()=>rv,assertReturnStatement:()=>ax,assertScopable:()=>uP,assertSequenceExpression:()=>ox,assertSpreadElement:()=>jx,assertSpreadProperty:()=>iv,assertStandardized:()=>sP,assertStatement:()=>pP,assertStaticBlock:()=>nS,assertStringLiteral:()=>Xb,assertStringLiteralTypeAnnotation:()=>JS,assertStringTypeAnnotation:()=>VS,assertSuper:()=>Ux,assertSwitchCase:()=>cx,assertSwitchStatement:()=>lx,assertSymbolTypeAnnotation:()=>KS,assertTSAnyKeyword:()=>eE,assertTSArrayType:()=>SE,assertTSAsExpression:()=>qE,assertTSBaseType:()=>ev,assertTSBigIntKeyword:()=>nE,assertTSBooleanKeyword:()=>tE,assertTSCallSignatureDeclaration:()=>zT,assertTSClassImplements:()=>ME,assertTSConditionalType:()=>CE,assertTSConstructSignatureDeclaration:()=>YT,assertTSConstructorType:()=>mE,assertTSDeclareFunction:()=>WT,assertTSDeclareMethod:()=>XT,assertTSEntityName:()=>CP,assertTSEnumBody:()=>VE,assertTSEnumDeclaration:()=>KE,assertTSEnumMember:()=>WE,assertTSExportAssignment:()=>ZE,assertTSExternalModuleReference:()=>GE,assertTSFunctionType:()=>fE,assertTSImportEqualsDeclaration:()=>YE,assertTSImportType:()=>zE,assertTSIndexSignature:()=>ZT,assertTSIndexedAccessType:()=>NE,assertTSInferType:()=>kE,assertTSInstantiationExpression:()=>UE,assertTSInterfaceBody:()=>RE,assertTSInterfaceDeclaration:()=>FE,assertTSInterfaceHeritage:()=>BE,assertTSIntersectionType:()=>wE,assertTSIntrinsicKeyword:()=>rE,assertTSLiteralType:()=>DE,assertTSMappedType:()=>LE,assertTSMethodSignature:()=>QT,assertTSModuleBlock:()=>HE,assertTSModuleDeclaration:()=>XE,assertTSNamedTupleMember:()=>vE,assertTSNamespaceExportDeclaration:()=>eP,assertTSNeverKeyword:()=>iE,assertTSNonNullExpression:()=>QE,assertTSNullKeyword:()=>sE,assertTSNumberKeyword:()=>aE,assertTSObjectKeyword:()=>oE,assertTSOptionalType:()=>EE,assertTSParameterProperty:()=>KT,assertTSParenthesizedType:()=>IE,assertTSPropertySignature:()=>GT,assertTSQualifiedName:()=>HT,assertTSRestType:()=>PE,assertTSSatisfiesExpression:()=>$E,assertTSStringKeyword:()=>uE,assertTSSymbolKeyword:()=>cE,assertTSTemplateLiteralType:()=>OE,assertTSThisType:()=>hE,assertTSTupleType:()=>TE,assertTSType:()=>ZP,assertTSTypeAliasDeclaration:()=>jE,assertTSTypeAnnotation:()=>tP,assertTSTypeAssertion:()=>JE,assertTSTypeElement:()=>QP,assertTSTypeLiteral:()=>xE,assertTSTypeOperator:()=>_E,assertTSTypeParameter:()=>iP,assertTSTypeParameterDeclaration:()=>rP,assertTSTypeParameterInstantiation:()=>nP,assertTSTypePredicate:()=>gE,assertTSTypeQuery:()=>bE,assertTSTypeReference:()=>yE,assertTSUndefinedKeyword:()=>lE,assertTSUnionType:()=>AE,assertTSUnknownKeyword:()=>pE,assertTSVoidKeyword:()=>dE,assertTaggedTemplateExpression:()=>qx,assertTemplateElement:()=>$x,assertTemplateLiteral:()=>Jx,assertTerminatorless:()=>dP,assertThisExpression:()=>px,assertThisTypeAnnotation:()=>WS,assertThrowStatement:()=>dx,assertTopicReference:()=>UT,assertTryStatement:()=>hx,assertTupleExpression:()=>RT,assertTupleTypeAnnotation:()=>XS,assertTypeAlias:()=>zS,assertTypeAnnotation:()=>YS,assertTypeCastExpression:()=>GS,assertTypeParameter:()=>QS,assertTypeParameterDeclaration:()=>ZS,assertTypeParameterInstantiation:()=>eT,assertTypeScript:()=>GP,assertTypeofTypeAnnotation:()=>HS,assertUnaryExpression:()=>fx,assertUnaryLike:()=>DP,assertUnionTypeAnnotation:()=>tT,assertUpdateExpression:()=>mx,assertUserWhitespacable:()=>_P,assertV8IntrinsicIdentifier:()=>NT,assertVariableDeclaration:()=>yx,assertVariableDeclarator:()=>gx,assertVariance:()=>nT,assertVoidPattern:()=>VT,assertVoidTypeAnnotation:()=>rT,assertWhile:()=>yP,assertWhileStatement:()=>bx,assertWithStatement:()=>xx,assertYieldExpression:()=>Vx,assignmentExpression:()=>zu,assignmentPattern:()=>Kc,awaitExpression:()=>yl,bigIntLiteral:()=>bl,binaryExpression:()=>Yu,bindExpression:()=>id,blockStatement:()=>ec,booleanLiteral:()=>Tc,booleanLiteralTypeAnnotation:()=>Ll,booleanTypeAnnotation:()=>Nl,breakStatement:()=>tc,buildMatchMemberExpression:()=>yo,buildUndefinedNode:()=>hv,callExpression:()=>nc,catchClause:()=>rc,classAccessorProperty:()=>Pl,classBody:()=>Hc,classDeclaration:()=>Yc,classExpression:()=>zc,classImplements:()=>Dl,classMethod:()=>ul,classPrivateMethod:()=>Al,classPrivateProperty:()=>vl,classProperty:()=>El,clone:()=>Sv,cloneDeep:()=>Tv,cloneDeepWithoutLoc:()=>Ev,cloneNode:()=>gv,cloneWithoutLoc:()=>Pv,conditionalExpression:()=>ic,continueStatement:()=>sc,createFlowUnionType:()=>cv,createTSUnionType:()=>dv,createTypeAnnotationBasedOnTypeof:()=>av,createUnionTypeAnnotation:()=>cv,debuggerStatement:()=>ac,declareClass:()=>Ml,declareExportAllDeclaration:()=>Vl,declareExportDeclaration:()=>Jl,declareFunction:()=>Bl,declareInterface:()=>Fl,declareModule:()=>Rl,declareModuleExports:()=>jl,declareOpaqueType:()=>ql,declareTypeAlias:()=>Ul,declareVariable:()=>$l,declaredPredicate:()=>Kl,decorator:()=>sd,directive:()=>Qu,directiveLiteral:()=>Zu,doExpression:()=>ad,doWhileStatement:()=>oc,emptyStatement:()=>uc,emptyTypeAnnotation:()=>np,ensureBlock:()=>_A,enumBooleanBody:()=>_p,enumBooleanMember:()=>Dp,enumDeclaration:()=>Ip,enumDefaultedMember:()=>Fp,enumNumberBody:()=>Np,enumNumberMember:()=>Mp,enumStringBody:()=>Lp,enumStringMember:()=>Bp,enumSymbolBody:()=>Op,existsTypeAnnotation:()=>Wl,exportAllDeclaration:()=>Gc,exportDefaultDeclaration:()=>Qc,exportDefaultSpecifier:()=>od,exportNamedDeclaration:()=>Zc,exportNamespaceSpecifier:()=>xl,exportSpecifier:()=>el,expressionStatement:()=>cc,file:()=>lc,forInStatement:()=>pc,forOfStatement:()=>tl,forStatement:()=>dc,functionDeclaration:()=>hc,functionExpression:()=>fc,functionTypeAnnotation:()=>Xl,functionTypeParam:()=>Hl,genericTypeAnnotation:()=>zl,getAssignmentIdentifiers:()=>zA,getBindingIdentifiers:()=>YA,getFunctionName:()=>ZA,getOuterBindingIdentifiers:()=>GA,identifier:()=>mc,ifStatement:()=>yc,import:()=>gl,importAttribute:()=>kl,importDeclaration:()=>nl,importDefaultSpecifier:()=>rl,importExpression:()=>al,importNamespaceSpecifier:()=>il,importSpecifier:()=>sl,indexedAccessType:()=>Rp,inferredPredicate:()=>Yl,inheritInnerComments:()=>Cv,inheritLeadingComments:()=>kv,inheritTrailingComments:()=>Iv,inherits:()=>XA,inheritsComments:()=>_v,interfaceDeclaration:()=>Ql,interfaceExtends:()=>Gl,interfaceTypeAnnotation:()=>Zl,interpreterDirective:()=>Gu,intersectionTypeAnnotation:()=>ep,is:()=>So,isAccessor:()=>Xa,isAnyTypeAnnotation:()=>dr,isArgumentPlaceholder:()=>Ui,isArrayExpression:()=>_t,isArrayPattern:()=>In,isArrayTypeAnnotation:()=>hr,isArrowFunctionExpression:()=>_n,isAssignmentExpression:()=>Nt,isAssignmentPattern:()=>kn,isAwaitExpression:()=>Zn,isBigIntLiteral:()=>tr,isBinary:()=>ma,isBinaryExpression:()=>Lt,isBindExpression:()=>qi,isBinding:()=>nw,isBlock:()=>ba,isBlockParent:()=>ga,isBlockScoped:()=>iw,isBlockStatement:()=>Bt,isBooleanLiteral:()=>rn,isBooleanLiteralTypeAnnotation:()=>mr,isBooleanTypeAnnotation:()=>fr,isBreakStatement:()=>Ft,isCallExpression:()=>Rt,isCatchClause:()=>jt,isClass:()=>Ja,isClassAccessorProperty:()=>ar,isClassBody:()=>Nn,isClassDeclaration:()=>On,isClassExpression:()=>Ln,isClassImplements:()=>gr,isClassMethod:()=>Kn,isClassPrivateMethod:()=>ur,isClassPrivateProperty:()=>or,isClassProperty:()=>sr,isCompletionStatement:()=>Ta,isConditional:()=>Ea,isConditionalExpression:()=>Ut,isContinueStatement:()=>qt,isDebuggerStatement:()=>$t,isDeclaration:()=>Na,isDeclareClass:()=>br,isDeclareExportAllDeclaration:()=>Cr,isDeclareExportDeclaration:()=>wr,isDeclareFunction:()=>xr,isDeclareInterface:()=>Sr,isDeclareModule:()=>Tr,isDeclareModuleExports:()=>Er,isDeclareOpaqueType:()=>vr,isDeclareTypeAlias:()=>Pr,isDeclareVariable:()=>Ar,isDeclaredPredicate:()=>kr,isDecorator:()=>$i,isDirective:()=>Dt,isDirectiveLiteral:()=>Mt,isDoExpression:()=>Ji,isDoWhileStatement:()=>Jt,isEmptyStatement:()=>Vt,isEmptyTypeAnnotation:()=>jr,isEnumBody:()=>eo,isEnumBooleanBody:()=>hi,isEnumBooleanMember:()=>gi,isEnumDeclaration:()=>di,isEnumDefaultedMember:()=>Si,isEnumMember:()=>to,isEnumNumberBody:()=>fi,isEnumNumberMember:()=>bi,isEnumStringBody:()=>mi,isEnumStringMember:()=>xi,isEnumSymbolBody:()=>yi,isExistsTypeAnnotation:()=>Ir,isExportAllDeclaration:()=>Dn,isExportDeclaration:()=>Ka,isExportDefaultDeclaration:()=>Mn,isExportDefaultSpecifier:()=>Vi,isExportNamedDeclaration:()=>Bn,isExportNamespaceSpecifier:()=>nr,isExportSpecifier:()=>Fn,isExpression:()=>fa,isExpressionStatement:()=>Kt,isExpressionWrapper:()=>Aa,isFile:()=>Wt,isFlow:()=>za,isFlowBaseAnnotation:()=>Ga,isFlowDeclaration:()=>Qa,isFlowPredicate:()=>Za,isFlowType:()=>Ya,isFor:()=>wa,isForInStatement:()=>Xt,isForOfStatement:()=>Rn,isForStatement:()=>Ht,isForXStatement:()=>Ca,isFunction:()=>ka,isFunctionDeclaration:()=>zt,isFunctionExpression:()=>Yt,isFunctionParameter:()=>La,isFunctionParent:()=>Ia,isFunctionTypeAnnotation:()=>_r,isFunctionTypeParam:()=>Nr,isGenericTypeAnnotation:()=>Lr,isIdentifier:()=>Gt,isIfStatement:()=>Qt,isImmutable:()=>sw,isImport:()=>er,isImportAttribute:()=>pr,isImportDeclaration:()=>jn,isImportDefaultSpecifier:()=>Un,isImportExpression:()=>Jn,isImportNamespaceSpecifier:()=>qn,isImportOrExportDeclaration:()=>Va,isImportSpecifier:()=>$n,isIndexedAccessType:()=>Ti,isInferredPredicate:()=>Or,isInterfaceDeclaration:()=>Mr,isInterfaceExtends:()=>Dr,isInterfaceTypeAnnotation:()=>Br,isInterpreterDirective:()=>Ot,isIntersectionTypeAnnotation:()=>Fr,isJSX:()=>no,isJSXAttribute:()=>Pi,isJSXClosingElement:()=>vi,isJSXClosingFragment:()=>Fi,isJSXElement:()=>Ai,isJSXEmptyExpression:()=>wi,isJSXExpressionContainer:()=>Ci,isJSXFragment:()=>Mi,isJSXIdentifier:()=>Ii,isJSXMemberExpression:()=>_i,isJSXNamespacedName:()=>Ni,isJSXOpeningElement:()=>Li,isJSXOpeningFragment:()=>Bi,isJSXSpreadAttribute:()=>Oi,isJSXSpreadChild:()=>ki,isJSXText:()=>Di,isLVal:()=>Da,isLabeledStatement:()=>Zt,isLet:()=>rw,isLiteral:()=>Ba,isLogicalExpression:()=>an,isLoop:()=>Pa,isMemberExpression:()=>on,isMetaProperty:()=>Vn,isMethod:()=>Ra,isMiscellaneous:()=>ro,isMixedTypeAnnotation:()=>Rr,isModuleDeclaration:()=>ho,isModuleExpression:()=>Xi,isModuleSpecifier:()=>Wa,isNewExpression:()=>un,isNode:()=>Sb,isNodesEquivalent:()=>aw,isNullLiteral:()=>nn,isNullLiteralTypeAnnotation:()=>yr,isNullableTypeAnnotation:()=>Ur,isNumberLiteral:()=>uo,isNumberLiteralTypeAnnotation:()=>qr,isNumberTypeAnnotation:()=>$r,isNumericLiteral:()=>tn,isObjectExpression:()=>ln,isObjectMember:()=>ja,isObjectMethod:()=>pn,isObjectPattern:()=>Wn,isObjectProperty:()=>dn,isObjectTypeAnnotation:()=>Jr,isObjectTypeCallProperty:()=>Kr,isObjectTypeIndexer:()=>Wr,isObjectTypeInternalSlot:()=>Vr,isObjectTypeProperty:()=>Xr,isObjectTypeSpreadProperty:()=>Hr,isOpaqueType:()=>zr,isOptionalCallExpression:()=>ir,isOptionalIndexedAccessType:()=>Ei,isOptionalMemberExpression:()=>rr,isParenthesizedExpression:()=>yn,isPattern:()=>$a,isPatternLike:()=>Oa,isPipelineBareFunction:()=>Yi,isPipelinePrimaryTopicReference:()=>Gi,isPipelineTopicExpression:()=>zi,isPlaceholder:()=>Ri,isPlaceholderType:()=>xo,isPrivate:()=>Ha,isPrivateName:()=>cr,isProgram:()=>cn,isProperty:()=>Ua,isPureish:()=>_a,isQualifiedTypeIdentifier:()=>Yr,isRecordExpression:()=>Ki,isReferenced:()=>ow,isRegExpLiteral:()=>sn,isRegexLiteral:()=>co,isRestElement:()=>hn,isRestProperty:()=>lo,isReturnStatement:()=>fn,isScopable:()=>ya,isScope:()=>uw,isSequenceExpression:()=>mn,isSpecifierDefault:()=>cw,isSpreadElement:()=>Xn,isSpreadProperty:()=>po,isStandardized:()=>ha,isStatement:()=>xa,isStaticBlock:()=>lr,isStringLiteral:()=>en,isStringLiteralTypeAnnotation:()=>Gr,isStringTypeAnnotation:()=>Qr,isSuper:()=>Hn,isSwitchCase:()=>gn,isSwitchStatement:()=>bn,isSymbolTypeAnnotation:()=>Zr,isTSAnyKeyword:()=>us,isTSArrayType:()=>ks,isTSAsExpression:()=>zs,isTSBaseType:()=>oo,isTSBigIntKeyword:()=>ls,isTSBooleanKeyword:()=>cs,isTSCallSignatureDeclaration:()=>rs,isTSClassImplements:()=>Js,isTSConditionalType:()=>Ms,isTSConstructSignatureDeclaration:()=>is,isTSConstructorType:()=>Ps,isTSDeclareFunction:()=>es,isTSDeclareMethod:()=>ts,isTSEntityName:()=>Ma,isTSEnumBody:()=>Qs,isTSEnumDeclaration:()=>Zs,isTSEnumMember:()=>ea,isTSExportAssignment:()=>oa,isTSExternalModuleReference:()=>sa,isTSFunctionType:()=>Es,isTSImportEqualsDeclaration:()=>ia,isTSImportType:()=>ra,isTSIndexSignature:()=>os,isTSIndexedAccessType:()=>js,isTSInferType:()=>Bs,isTSInstantiationExpression:()=>Hs,isTSInterfaceBody:()=>Ws,isTSInterfaceDeclaration:()=>Ks,isTSInterfaceHeritage:()=>Vs,isTSIntersectionType:()=>Ds,isTSIntrinsicKeyword:()=>ps,isTSLiteralType:()=>$s,isTSMappedType:()=>Us,isTSMethodSignature:()=>as,isTSModuleBlock:()=>na,isTSModuleDeclaration:()=>ta,isTSNamedTupleMember:()=>Ls,isTSNamespaceExportDeclaration:()=>ua,isTSNeverKeyword:()=>ds,isTSNonNullExpression:()=>aa,isTSNullKeyword:()=>hs,isTSNumberKeyword:()=>fs,isTSObjectKeyword:()=>ms,isTSOptionalType:()=>_s,isTSParameterProperty:()=>Zi,isTSParenthesizedType:()=>Fs,isTSPropertySignature:()=>ss,isTSQualifiedName:()=>ns,isTSRestType:()=>Ns,isTSSatisfiesExpression:()=>Ys,isTSStringKeyword:()=>ys,isTSSymbolKeyword:()=>gs,isTSTemplateLiteralType:()=>qs,isTSThisType:()=>Ts,isTSTupleType:()=>Is,isTSType:()=>ao,isTSTypeAliasDeclaration:()=>Xs,isTSTypeAnnotation:()=>ca,isTSTypeAssertion:()=>Gs,isTSTypeElement:()=>so,isTSTypeLiteral:()=>Cs,isTSTypeOperator:()=>Rs,isTSTypeParameter:()=>da,isTSTypeParameterDeclaration:()=>pa,isTSTypeParameterInstantiation:()=>la,isTSTypePredicate:()=>As,isTSTypeQuery:()=>ws,isTSTypeReference:()=>vs,isTSUndefinedKeyword:()=>bs,isTSUnionType:()=>Os,isTSUnknownKeyword:()=>xs,isTSVoidKeyword:()=>Ss,isTaggedTemplateExpression:()=>zn,isTemplateElement:()=>Yn,isTemplateLiteral:()=>Gn,isTerminatorless:()=>Sa,isThisExpression:()=>xn,isThisTypeAnnotation:()=>ei,isThrowStatement:()=>Sn,isTopicReference:()=>Hi,isTryStatement:()=>Tn,isTupleExpression:()=>Wi,isTupleTypeAnnotation:()=>ti,isType:()=>bo,isTypeAlias:()=>ri,isTypeAnnotation:()=>ii,isTypeCastExpression:()=>si,isTypeParameter:()=>ai,isTypeParameterDeclaration:()=>oi,isTypeParameterInstantiation:()=>ui,isTypeScript:()=>io,isTypeofTypeAnnotation:()=>ni,isUnaryExpression:()=>En,isUnaryLike:()=>qa,isUnionTypeAnnotation:()=>ci,isUpdateExpression:()=>Pn,isUserWhitespacable:()=>Fa,isV8IntrinsicIdentifier:()=>ji,isValidES3Identifier:()=>pw,isValidIdentifier:()=>To,isVar:()=>dw,isVariableDeclaration:()=>vn,isVariableDeclarator:()=>An,isVariance:()=>li,isVoidPattern:()=>Qi,isVoidTypeAnnotation:()=>pi,isWhile:()=>va,isWhileStatement:()=>wn,isWithStatement:()=>Cn,isYieldExpression:()=>Qn,jsxAttribute:()=>Up,jsxClosingElement:()=>qp,jsxClosingFragment:()=>ed,jsxElement:()=>$p,jsxEmptyExpression:()=>Jp,jsxExpressionContainer:()=>Vp,jsxFragment:()=>Qp,jsxIdentifier:()=>Wp,jsxMemberExpression:()=>Xp,jsxNamespacedName:()=>Hp,jsxOpeningElement:()=>zp,jsxOpeningFragment:()=>Zp,jsxSpreadAttribute:()=>Yp,jsxSpreadChild:()=>Kp,jsxText:()=>Gp,labeledStatement:()=>gc,logicalExpression:()=>Pc,matchesPattern:()=>mo,memberExpression:()=>vc,metaProperty:()=>ol,mixedTypeAnnotation:()=>tp,moduleExpression:()=>ld,newExpression:()=>Ac,nullLiteral:()=>Sc,nullLiteralTypeAnnotation:()=>Ol,nullableTypeAnnotation:()=>rp,numberLiteral:()=>_h,numberLiteralTypeAnnotation:()=>ip,numberTypeAnnotation:()=>sp,numericLiteral:()=>xc,objectExpression:()=>Cc,objectMethod:()=>kc,objectPattern:()=>cl,objectProperty:()=>Ic,objectTypeAnnotation:()=>ap,objectTypeCallProperty:()=>up,objectTypeIndexer:()=>cp,objectTypeInternalSlot:()=>op,objectTypeProperty:()=>lp,objectTypeSpreadProperty:()=>pp,opaqueType:()=>dp,optionalCallExpression:()=>Tl,optionalIndexedAccessType:()=>jp,optionalMemberExpression:()=>Sl,parenthesizedExpression:()=>Oc,pipelineBareFunction:()=>hd,pipelinePrimaryTopicReference:()=>fd,pipelineTopicExpression:()=>dd,placeholder:()=>td,prependToMemberExpression:()=>HA,privateName:()=>wl,program:()=>wc,qualifiedTypeIdentifier:()=>hp,react:()=>hw,recordExpression:()=>ud,regExpLiteral:()=>Ec,regexLiteral:()=>Nh,removeComments:()=>Nv,removeProperties:()=>UA,removePropertiesDeep:()=>qA,removeTypeDuplicates:()=>uv,restElement:()=>_c,restProperty:()=>Lh,returnStatement:()=>Nc,sequenceExpression:()=>Lc,shallowEqual:()=>Ct,spreadElement:()=>ll,spreadProperty:()=>Oh,staticBlock:()=>Cl,stringLiteral:()=>bc,stringLiteralTypeAnnotation:()=>fp,stringTypeAnnotation:()=>mp,super:()=>pl,switchCase:()=>Dc,switchStatement:()=>Mc,symbolTypeAnnotation:()=>yp,taggedTemplateExpression:()=>dl,templateElement:()=>hl,templateLiteral:()=>fl,thisExpression:()=>Bc,thisTypeAnnotation:()=>gp,throwStatement:()=>Fc,toBindingIdentifierName:()=>LA,toBlock:()=>IA,toComputedKey:()=>OA,toExpression:()=>DA,toIdentifier:()=>NA,toKeyAlias:()=>$A,toStatement:()=>JA,topicReference:()=>pd,traverse:()=>ew,traverseFast:()=>FA,tryStatement:()=>Rc,tsAnyKeyword:()=>Ad,tsArrayType:()=>Kd,tsAsExpression:()=>dh,tsBigIntKeyword:()=>Cd,tsBooleanKeyword:()=>wd,tsCallSignatureDeclaration:()=>Sd,tsClassImplements:()=>ah,tsConditionalType:()=>Qd,tsConstructSignatureDeclaration:()=>Td,tsConstructorType:()=>Ud,tsDeclareFunction:()=>gd,tsDeclareMethod:()=>bd,tsEnumBody:()=>mh,tsEnumDeclaration:()=>yh,tsEnumMember:()=>gh,tsExportAssignment:()=>vh,tsExternalModuleReference:()=>Eh,tsFunctionType:()=>jd,tsImportEqualsDeclaration:()=>Th,tsImportType:()=>Sh,tsIndexSignature:()=>vd,tsIndexedAccessType:()=>nh,tsInferType:()=>Zd,tsInstantiationExpression:()=>ph,tsInterfaceBody:()=>ch,tsInterfaceDeclaration:()=>uh,tsInterfaceHeritage:()=>oh,tsIntersectionType:()=>Gd,tsIntrinsicKeyword:()=>kd,tsLiteralType:()=>sh,tsMappedType:()=>rh,tsMethodSignature:()=>Pd,tsModuleBlock:()=>xh,tsModuleDeclaration:()=>bh,tsNamedTupleMember:()=>zd,tsNamespaceExportDeclaration:()=>Ah,tsNeverKeyword:()=>Id,tsNonNullExpression:()=>Ph,tsNullKeyword:()=>_d,tsNumberKeyword:()=>Nd,tsObjectKeyword:()=>Ld,tsOptionalType:()=>Xd,tsParameterProperty:()=>yd,tsParenthesizedType:()=>eh,tsPropertySignature:()=>Ed,tsQualifiedName:()=>xd,tsRestType:()=>Hd,tsSatisfiesExpression:()=>hh,tsStringKeyword:()=>Od,tsSymbolKeyword:()=>Dd,tsTemplateLiteralType:()=>ih,tsThisType:()=>Rd,tsTupleType:()=>Wd,tsTypeAliasDeclaration:()=>lh,tsTypeAnnotation:()=>wh,tsTypeAssertion:()=>fh,tsTypeLiteral:()=>Vd,tsTypeOperator:()=>th,tsTypeParameter:()=>Ih,tsTypeParameterDeclaration:()=>kh,tsTypeParameterInstantiation:()=>Ch,tsTypePredicate:()=>$d,tsTypeQuery:()=>Jd,tsTypeReference:()=>qd,tsUndefinedKeyword:()=>Md,tsUnionType:()=>Yd,tsUnknownKeyword:()=>Bd,tsVoidKeyword:()=>Fd,tupleExpression:()=>cd,tupleTypeAnnotation:()=>bp,typeAlias:()=>Sp,typeAnnotation:()=>Tp,typeCastExpression:()=>Ep,typeParameter:()=>Pp,typeParameterDeclaration:()=>vp,typeParameterInstantiation:()=>Ap,typeofTypeAnnotation:()=>xp,unaryExpression:()=>jc,unionTypeAnnotation:()=>wp,updateExpression:()=>Uc,v8IntrinsicIdentifier:()=>nd,validate:()=>$u,valueToNode:()=>KA,variableDeclaration:()=>qc,variableDeclarator:()=>$c,variance:()=>Cp,voidPattern:()=>md,voidTypeAnnotation:()=>kp,whileStatement:()=>Jc,withStatement:()=>Vc,yieldExpression:()=>ml});var ot="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ut="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",ct=new RegExp("["+ot+"]"),lt=new RegExp("["+ot+ut+"]");ot=ut=null;var pt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],dt=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function ht(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function ft(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&ct.test(String.fromCharCode(e)):ht(e,pt)))}function mt(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&lt.test(String.fromCharCode(e)):ht(e,pt)||ht(e,dt))))}var yt=["implements","interface","let","package","private","protected","public","static","yield"],gt=["eval","arguments"],bt=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),xt=new Set(yt);function St(e,t){return t&&"await"===e||"enum"===e}function Tt(e,t){return St(e,t)||xt.has(e)}function Et(e){return bt.has(e)}new Set(gt);var Pt=function(e){return e>=48&&e<=57};function vt(e,t,n,r){return 96===t||36===t&&123===n.charCodeAt(r+1)}function At(e,t,n,r,i,s){const a=!1;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=wt(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=function(e,t,n,r,i,s){const a=e.charCodeAt(t);let o;if(123===a){if(++t,({code:o,pos:t}=wt(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==o&&o>1114111)return{code:null,pos:t}}else({code:o,pos:t}=wt(e,t,n,r,4,!1,i,s));return{code:o,pos:t}}(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:return o(null);default:if(u>=48&&u<=55){const n=t-1;let r=/^[0-7]+/.exec(e.slice(n,t+2))[0],i=parseInt(r,8);i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),t+=r.length-1;const s=e.charCodeAt(t);return o("0"!==r||56===s||57===s?null:String.fromCharCode(i))}return o(String.fromCharCode(u))}}function wt(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=function(e,t,n,r,i,s,a,o,u,c){const l=t;let p=!1,d=0;for(let l=0,h=null==s?1/0:s;l<h;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o)return e.charCodeAt(t-1),e.charCodeAt(t+1),{n:null,pos:t};if(l=s>=97?s-97+10:s>=65?s-65+10:Pt(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,p=!0}}++t,d=d*i+l}if(t===l||null!=s&&t-l!==s||p)return{n:null,pos:t};return{n:d,pos:t}}(e,t,n,r,16,i,s,!1,o,!0)),null===c&&(t=u-1),{code:c,pos:t}}function Ct(e,t){const n=Object.keys(t);for(const r of n)if(e[r]!==t[r])return!1;return!0}var kt=new Set;function It(e,t,n="",r=e){if(kt.has(r))return;kt.add(r);const{internal:i,trace:s}=function(e,t){const{stackTraceLimit:n,prepareStackTrace:r}=Error;let i;if(Error.stackTraceLimit=1+e+t,Error.prepareStackTrace=function(e,t){i=t},(new Error).stack,Error.stackTraceLimit=n,Error.prepareStackTrace=r,!i)return{internal:!1,trace:""};const s=i.slice(1+e,1+e+t);return{internal:/[\\/]@babel[\\/]/.test(s[1].getFileName()),trace:s.map(e=>` at ${e}`).join("\n")}}(1,2);i||console.warn(`${n}\`${e}\` has been deprecated, please migrate to \`${t}\`\n${s}`)}function _t(e,t){return!!e&&("ArrayExpression"===e.type&&(null==t||Ct(e,t)))}function Nt(e,t){return!!e&&("AssignmentExpression"===e.type&&(null==t||Ct(e,t)))}function Lt(e,t){return!!e&&("BinaryExpression"===e.type&&(null==t||Ct(e,t)))}function Ot(e,t){return!!e&&("InterpreterDirective"===e.type&&(null==t||Ct(e,t)))}function Dt(e,t){return!!e&&("Directive"===e.type&&(null==t||Ct(e,t)))}function Mt(e,t){return!!e&&("DirectiveLiteral"===e.type&&(null==t||Ct(e,t)))}function Bt(e,t){return!!e&&("BlockStatement"===e.type&&(null==t||Ct(e,t)))}function Ft(e,t){return!!e&&("BreakStatement"===e.type&&(null==t||Ct(e,t)))}function Rt(e,t){return!!e&&("CallExpression"===e.type&&(null==t||Ct(e,t)))}function jt(e,t){return!!e&&("CatchClause"===e.type&&(null==t||Ct(e,t)))}function Ut(e,t){return!!e&&("ConditionalExpression"===e.type&&(null==t||Ct(e,t)))}function qt(e,t){return!!e&&("ContinueStatement"===e.type&&(null==t||Ct(e,t)))}function $t(e,t){return!!e&&("DebuggerStatement"===e.type&&(null==t||Ct(e,t)))}function Jt(e,t){return!!e&&("DoWhileStatement"===e.type&&(null==t||Ct(e,t)))}function Vt(e,t){return!!e&&("EmptyStatement"===e.type&&(null==t||Ct(e,t)))}function Kt(e,t){return!!e&&("ExpressionStatement"===e.type&&(null==t||Ct(e,t)))}function Wt(e,t){return!!e&&("File"===e.type&&(null==t||Ct(e,t)))}function Xt(e,t){return!!e&&("ForInStatement"===e.type&&(null==t||Ct(e,t)))}function Ht(e,t){return!!e&&("ForStatement"===e.type&&(null==t||Ct(e,t)))}function zt(e,t){return!!e&&("FunctionDeclaration"===e.type&&(null==t||Ct(e,t)))}function Yt(e,t){return!!e&&("FunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Gt(e,t){return!!e&&("Identifier"===e.type&&(null==t||Ct(e,t)))}function Qt(e,t){return!!e&&("IfStatement"===e.type&&(null==t||Ct(e,t)))}function Zt(e,t){return!!e&&("LabeledStatement"===e.type&&(null==t||Ct(e,t)))}function en(e,t){return!!e&&("StringLiteral"===e.type&&(null==t||Ct(e,t)))}function tn(e,t){return!!e&&("NumericLiteral"===e.type&&(null==t||Ct(e,t)))}function nn(e,t){return!!e&&("NullLiteral"===e.type&&(null==t||Ct(e,t)))}function rn(e,t){return!!e&&("BooleanLiteral"===e.type&&(null==t||Ct(e,t)))}function sn(e,t){return!!e&&("RegExpLiteral"===e.type&&(null==t||Ct(e,t)))}function an(e,t){return!!e&&("LogicalExpression"===e.type&&(null==t||Ct(e,t)))}function on(e,t){return!!e&&("MemberExpression"===e.type&&(null==t||Ct(e,t)))}function un(e,t){return!!e&&("NewExpression"===e.type&&(null==t||Ct(e,t)))}function cn(e,t){return!!e&&("Program"===e.type&&(null==t||Ct(e,t)))}function ln(e,t){return!!e&&("ObjectExpression"===e.type&&(null==t||Ct(e,t)))}function pn(e,t){return!!e&&("ObjectMethod"===e.type&&(null==t||Ct(e,t)))}function dn(e,t){return!!e&&("ObjectProperty"===e.type&&(null==t||Ct(e,t)))}function hn(e,t){return!!e&&("RestElement"===e.type&&(null==t||Ct(e,t)))}function fn(e,t){return!!e&&("ReturnStatement"===e.type&&(null==t||Ct(e,t)))}function mn(e,t){return!!e&&("SequenceExpression"===e.type&&(null==t||Ct(e,t)))}function yn(e,t){return!!e&&("ParenthesizedExpression"===e.type&&(null==t||Ct(e,t)))}function gn(e,t){return!!e&&("SwitchCase"===e.type&&(null==t||Ct(e,t)))}function bn(e,t){return!!e&&("SwitchStatement"===e.type&&(null==t||Ct(e,t)))}function xn(e,t){return!!e&&("ThisExpression"===e.type&&(null==t||Ct(e,t)))}function Sn(e,t){return!!e&&("ThrowStatement"===e.type&&(null==t||Ct(e,t)))}function Tn(e,t){return!!e&&("TryStatement"===e.type&&(null==t||Ct(e,t)))}function En(e,t){return!!e&&("UnaryExpression"===e.type&&(null==t||Ct(e,t)))}function Pn(e,t){return!!e&&("UpdateExpression"===e.type&&(null==t||Ct(e,t)))}function vn(e,t){return!!e&&("VariableDeclaration"===e.type&&(null==t||Ct(e,t)))}function An(e,t){return!!e&&("VariableDeclarator"===e.type&&(null==t||Ct(e,t)))}function wn(e,t){return!!e&&("WhileStatement"===e.type&&(null==t||Ct(e,t)))}function Cn(e,t){return!!e&&("WithStatement"===e.type&&(null==t||Ct(e,t)))}function kn(e,t){return!!e&&("AssignmentPattern"===e.type&&(null==t||Ct(e,t)))}function In(e,t){return!!e&&("ArrayPattern"===e.type&&(null==t||Ct(e,t)))}function _n(e,t){return!!e&&("ArrowFunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Nn(e,t){return!!e&&("ClassBody"===e.type&&(null==t||Ct(e,t)))}function Ln(e,t){return!!e&&("ClassExpression"===e.type&&(null==t||Ct(e,t)))}function On(e,t){return!!e&&("ClassDeclaration"===e.type&&(null==t||Ct(e,t)))}function Dn(e,t){return!!e&&("ExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function Mn(e,t){return!!e&&("ExportDefaultDeclaration"===e.type&&(null==t||Ct(e,t)))}function Bn(e,t){return!!e&&("ExportNamedDeclaration"===e.type&&(null==t||Ct(e,t)))}function Fn(e,t){return!!e&&("ExportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Rn(e,t){return!!e&&("ForOfStatement"===e.type&&(null==t||Ct(e,t)))}function jn(e,t){return!!e&&("ImportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Un(e,t){return!!e&&("ImportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function qn(e,t){return!!e&&("ImportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function $n(e,t){return!!e&&("ImportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Jn(e,t){return!!e&&("ImportExpression"===e.type&&(null==t||Ct(e,t)))}function Vn(e,t){return!!e&&("MetaProperty"===e.type&&(null==t||Ct(e,t)))}function Kn(e,t){return!!e&&("ClassMethod"===e.type&&(null==t||Ct(e,t)))}function Wn(e,t){return!!e&&("ObjectPattern"===e.type&&(null==t||Ct(e,t)))}function Xn(e,t){return!!e&&("SpreadElement"===e.type&&(null==t||Ct(e,t)))}function Hn(e,t){return!!e&&("Super"===e.type&&(null==t||Ct(e,t)))}function zn(e,t){return!!e&&("TaggedTemplateExpression"===e.type&&(null==t||Ct(e,t)))}function Yn(e,t){return!!e&&("TemplateElement"===e.type&&(null==t||Ct(e,t)))}function Gn(e,t){return!!e&&("TemplateLiteral"===e.type&&(null==t||Ct(e,t)))}function Qn(e,t){return!!e&&("YieldExpression"===e.type&&(null==t||Ct(e,t)))}function Zn(e,t){return!!e&&("AwaitExpression"===e.type&&(null==t||Ct(e,t)))}function er(e,t){return!!e&&("Import"===e.type&&(null==t||Ct(e,t)))}function tr(e,t){return!!e&&("BigIntLiteral"===e.type&&(null==t||Ct(e,t)))}function nr(e,t){return!!e&&("ExportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function rr(e,t){return!!e&&("OptionalMemberExpression"===e.type&&(null==t||Ct(e,t)))}function ir(e,t){return!!e&&("OptionalCallExpression"===e.type&&(null==t||Ct(e,t)))}function sr(e,t){return!!e&&("ClassProperty"===e.type&&(null==t||Ct(e,t)))}function ar(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function or(e,t){return!!e&&("ClassPrivateProperty"===e.type&&(null==t||Ct(e,t)))}function ur(e,t){return!!e&&("ClassPrivateMethod"===e.type&&(null==t||Ct(e,t)))}function cr(e,t){return!!e&&("PrivateName"===e.type&&(null==t||Ct(e,t)))}function lr(e,t){return!!e&&("StaticBlock"===e.type&&(null==t||Ct(e,t)))}function pr(e,t){return!!e&&("ImportAttribute"===e.type&&(null==t||Ct(e,t)))}function dr(e,t){return!!e&&("AnyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function hr(e,t){return!!e&&("ArrayTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function fr(e,t){return!!e&&("BooleanTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function mr(e,t){return!!e&&("BooleanLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function yr(e,t){return!!e&&("NullLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function gr(e,t){return!!e&&("ClassImplements"===e.type&&(null==t||Ct(e,t)))}function br(e,t){return!!e&&("DeclareClass"===e.type&&(null==t||Ct(e,t)))}function xr(e,t){return!!e&&("DeclareFunction"===e.type&&(null==t||Ct(e,t)))}function Sr(e,t){return!!e&&("DeclareInterface"===e.type&&(null==t||Ct(e,t)))}function Tr(e,t){return!!e&&("DeclareModule"===e.type&&(null==t||Ct(e,t)))}function Er(e,t){return!!e&&("DeclareModuleExports"===e.type&&(null==t||Ct(e,t)))}function Pr(e,t){return!!e&&("DeclareTypeAlias"===e.type&&(null==t||Ct(e,t)))}function vr(e,t){return!!e&&("DeclareOpaqueType"===e.type&&(null==t||Ct(e,t)))}function Ar(e,t){return!!e&&("DeclareVariable"===e.type&&(null==t||Ct(e,t)))}function wr(e,t){return!!e&&("DeclareExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Cr(e,t){return!!e&&("DeclareExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function kr(e,t){return!!e&&("DeclaredPredicate"===e.type&&(null==t||Ct(e,t)))}function Ir(e,t){return!!e&&("ExistsTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function _r(e,t){return!!e&&("FunctionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Nr(e,t){return!!e&&("FunctionTypeParam"===e.type&&(null==t||Ct(e,t)))}function Lr(e,t){return!!e&&("GenericTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Or(e,t){return!!e&&("InferredPredicate"===e.type&&(null==t||Ct(e,t)))}function Dr(e,t){return!!e&&("InterfaceExtends"===e.type&&(null==t||Ct(e,t)))}function Mr(e,t){return!!e&&("InterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Br(e,t){return!!e&&("InterfaceTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Fr(e,t){return!!e&&("IntersectionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Rr(e,t){return!!e&&("MixedTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function jr(e,t){return!!e&&("EmptyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Ur(e,t){return!!e&&("NullableTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function qr(e,t){return!!e&&("NumberLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function $r(e,t){return!!e&&("NumberTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Jr(e,t){return!!e&&("ObjectTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Vr(e,t){return!!e&&("ObjectTypeInternalSlot"===e.type&&(null==t||Ct(e,t)))}function Kr(e,t){return!!e&&("ObjectTypeCallProperty"===e.type&&(null==t||Ct(e,t)))}function Wr(e,t){return!!e&&("ObjectTypeIndexer"===e.type&&(null==t||Ct(e,t)))}function Xr(e,t){return!!e&&("ObjectTypeProperty"===e.type&&(null==t||Ct(e,t)))}function Hr(e,t){return!!e&&("ObjectTypeSpreadProperty"===e.type&&(null==t||Ct(e,t)))}function zr(e,t){return!!e&&("OpaqueType"===e.type&&(null==t||Ct(e,t)))}function Yr(e,t){return!!e&&("QualifiedTypeIdentifier"===e.type&&(null==t||Ct(e,t)))}function Gr(e,t){return!!e&&("StringLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Qr(e,t){return!!e&&("StringTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Zr(e,t){return!!e&&("SymbolTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ei(e,t){return!!e&&("ThisTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ti(e,t){return!!e&&("TupleTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ni(e,t){return!!e&&("TypeofTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ri(e,t){return!!e&&("TypeAlias"===e.type&&(null==t||Ct(e,t)))}function ii(e,t){return!!e&&("TypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function si(e,t){return!!e&&("TypeCastExpression"===e.type&&(null==t||Ct(e,t)))}function ai(e,t){return!!e&&("TypeParameter"===e.type&&(null==t||Ct(e,t)))}function oi(e,t){return!!e&&("TypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function ui(e,t){return!!e&&("TypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function ci(e,t){return!!e&&("UnionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function li(e,t){return!!e&&("Variance"===e.type&&(null==t||Ct(e,t)))}function pi(e,t){return!!e&&("VoidTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function di(e,t){return!!e&&("EnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function hi(e,t){return!!e&&("EnumBooleanBody"===e.type&&(null==t||Ct(e,t)))}function fi(e,t){return!!e&&("EnumNumberBody"===e.type&&(null==t||Ct(e,t)))}function mi(e,t){return!!e&&("EnumStringBody"===e.type&&(null==t||Ct(e,t)))}function yi(e,t){return!!e&&("EnumSymbolBody"===e.type&&(null==t||Ct(e,t)))}function gi(e,t){return!!e&&("EnumBooleanMember"===e.type&&(null==t||Ct(e,t)))}function bi(e,t){return!!e&&("EnumNumberMember"===e.type&&(null==t||Ct(e,t)))}function xi(e,t){return!!e&&("EnumStringMember"===e.type&&(null==t||Ct(e,t)))}function Si(e,t){return!!e&&("EnumDefaultedMember"===e.type&&(null==t||Ct(e,t)))}function Ti(e,t){return!!e&&("IndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Ei(e,t){return!!e&&("OptionalIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Pi(e,t){return!!e&&("JSXAttribute"===e.type&&(null==t||Ct(e,t)))}function vi(e,t){return!!e&&("JSXClosingElement"===e.type&&(null==t||Ct(e,t)))}function Ai(e,t){return!!e&&("JSXElement"===e.type&&(null==t||Ct(e,t)))}function wi(e,t){return!!e&&("JSXEmptyExpression"===e.type&&(null==t||Ct(e,t)))}function Ci(e,t){return!!e&&("JSXExpressionContainer"===e.type&&(null==t||Ct(e,t)))}function ki(e,t){return!!e&&("JSXSpreadChild"===e.type&&(null==t||Ct(e,t)))}function Ii(e,t){return!!e&&("JSXIdentifier"===e.type&&(null==t||Ct(e,t)))}function _i(e,t){return!!e&&("JSXMemberExpression"===e.type&&(null==t||Ct(e,t)))}function Ni(e,t){return!!e&&("JSXNamespacedName"===e.type&&(null==t||Ct(e,t)))}function Li(e,t){return!!e&&("JSXOpeningElement"===e.type&&(null==t||Ct(e,t)))}function Oi(e,t){return!!e&&("JSXSpreadAttribute"===e.type&&(null==t||Ct(e,t)))}function Di(e,t){return!!e&&("JSXText"===e.type&&(null==t||Ct(e,t)))}function Mi(e,t){return!!e&&("JSXFragment"===e.type&&(null==t||Ct(e,t)))}function Bi(e,t){return!!e&&("JSXOpeningFragment"===e.type&&(null==t||Ct(e,t)))}function Fi(e,t){return!!e&&("JSXClosingFragment"===e.type&&(null==t||Ct(e,t)))}function Ri(e,t){return!!e&&("Placeholder"===e.type&&(null==t||Ct(e,t)))}function ji(e,t){return!!e&&("V8IntrinsicIdentifier"===e.type&&(null==t||Ct(e,t)))}function Ui(e,t){return!!e&&("ArgumentPlaceholder"===e.type&&(null==t||Ct(e,t)))}function qi(e,t){return!!e&&("BindExpression"===e.type&&(null==t||Ct(e,t)))}function $i(e,t){return!!e&&("Decorator"===e.type&&(null==t||Ct(e,t)))}function Ji(e,t){return!!e&&("DoExpression"===e.type&&(null==t||Ct(e,t)))}function Vi(e,t){return!!e&&("ExportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function Ki(e,t){return!!e&&("RecordExpression"===e.type&&(null==t||Ct(e,t)))}function Wi(e,t){return!!e&&("TupleExpression"===e.type&&(null==t||Ct(e,t)))}function Xi(e,t){return!!e&&("ModuleExpression"===e.type&&(null==t||Ct(e,t)))}function Hi(e,t){return!!e&&("TopicReference"===e.type&&(null==t||Ct(e,t)))}function zi(e,t){return!!e&&("PipelineTopicExpression"===e.type&&(null==t||Ct(e,t)))}function Yi(e,t){return!!e&&("PipelineBareFunction"===e.type&&(null==t||Ct(e,t)))}function Gi(e,t){return!!e&&("PipelinePrimaryTopicReference"===e.type&&(null==t||Ct(e,t)))}function Qi(e,t){return!!e&&("VoidPattern"===e.type&&(null==t||Ct(e,t)))}function Zi(e,t){return!!e&&("TSParameterProperty"===e.type&&(null==t||Ct(e,t)))}function es(e,t){return!!e&&("TSDeclareFunction"===e.type&&(null==t||Ct(e,t)))}function ts(e,t){return!!e&&("TSDeclareMethod"===e.type&&(null==t||Ct(e,t)))}function ns(e,t){return!!e&&("TSQualifiedName"===e.type&&(null==t||Ct(e,t)))}function rs(e,t){return!!e&&("TSCallSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function is(e,t){return!!e&&("TSConstructSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function ss(e,t){return!!e&&("TSPropertySignature"===e.type&&(null==t||Ct(e,t)))}function as(e,t){return!!e&&("TSMethodSignature"===e.type&&(null==t||Ct(e,t)))}function os(e,t){return!!e&&("TSIndexSignature"===e.type&&(null==t||Ct(e,t)))}function us(e,t){return!!e&&("TSAnyKeyword"===e.type&&(null==t||Ct(e,t)))}function cs(e,t){return!!e&&("TSBooleanKeyword"===e.type&&(null==t||Ct(e,t)))}function ls(e,t){return!!e&&("TSBigIntKeyword"===e.type&&(null==t||Ct(e,t)))}function ps(e,t){return!!e&&("TSIntrinsicKeyword"===e.type&&(null==t||Ct(e,t)))}function ds(e,t){return!!e&&("TSNeverKeyword"===e.type&&(null==t||Ct(e,t)))}function hs(e,t){return!!e&&("TSNullKeyword"===e.type&&(null==t||Ct(e,t)))}function fs(e,t){return!!e&&("TSNumberKeyword"===e.type&&(null==t||Ct(e,t)))}function ms(e,t){return!!e&&("TSObjectKeyword"===e.type&&(null==t||Ct(e,t)))}function ys(e,t){return!!e&&("TSStringKeyword"===e.type&&(null==t||Ct(e,t)))}function gs(e,t){return!!e&&("TSSymbolKeyword"===e.type&&(null==t||Ct(e,t)))}function bs(e,t){return!!e&&("TSUndefinedKeyword"===e.type&&(null==t||Ct(e,t)))}function xs(e,t){return!!e&&("TSUnknownKeyword"===e.type&&(null==t||Ct(e,t)))}function Ss(e,t){return!!e&&("TSVoidKeyword"===e.type&&(null==t||Ct(e,t)))}function Ts(e,t){return!!e&&("TSThisType"===e.type&&(null==t||Ct(e,t)))}function Es(e,t){return!!e&&("TSFunctionType"===e.type&&(null==t||Ct(e,t)))}function Ps(e,t){return!!e&&("TSConstructorType"===e.type&&(null==t||Ct(e,t)))}function vs(e,t){return!!e&&("TSTypeReference"===e.type&&(null==t||Ct(e,t)))}function As(e,t){return!!e&&("TSTypePredicate"===e.type&&(null==t||Ct(e,t)))}function ws(e,t){return!!e&&("TSTypeQuery"===e.type&&(null==t||Ct(e,t)))}function Cs(e,t){return!!e&&("TSTypeLiteral"===e.type&&(null==t||Ct(e,t)))}function ks(e,t){return!!e&&("TSArrayType"===e.type&&(null==t||Ct(e,t)))}function Is(e,t){return!!e&&("TSTupleType"===e.type&&(null==t||Ct(e,t)))}function _s(e,t){return!!e&&("TSOptionalType"===e.type&&(null==t||Ct(e,t)))}function Ns(e,t){return!!e&&("TSRestType"===e.type&&(null==t||Ct(e,t)))}function Ls(e,t){return!!e&&("TSNamedTupleMember"===e.type&&(null==t||Ct(e,t)))}function Os(e,t){return!!e&&("TSUnionType"===e.type&&(null==t||Ct(e,t)))}function Ds(e,t){return!!e&&("TSIntersectionType"===e.type&&(null==t||Ct(e,t)))}function Ms(e,t){return!!e&&("TSConditionalType"===e.type&&(null==t||Ct(e,t)))}function Bs(e,t){return!!e&&("TSInferType"===e.type&&(null==t||Ct(e,t)))}function Fs(e,t){return!!e&&("TSParenthesizedType"===e.type&&(null==t||Ct(e,t)))}function Rs(e,t){return!!e&&("TSTypeOperator"===e.type&&(null==t||Ct(e,t)))}function js(e,t){return!!e&&("TSIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Us(e,t){return!!e&&("TSMappedType"===e.type&&(null==t||Ct(e,t)))}function qs(e,t){return!!e&&("TSTemplateLiteralType"===e.type&&(null==t||Ct(e,t)))}function $s(e,t){return!!e&&("TSLiteralType"===e.type&&(null==t||Ct(e,t)))}function Js(e,t){return!!e&&("TSClassImplements"===e.type&&(null==t||Ct(e,t)))}function Vs(e,t){return!!e&&("TSInterfaceHeritage"===e.type&&(null==t||Ct(e,t)))}function Ks(e,t){return!!e&&("TSInterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Ws(e,t){return!!e&&("TSInterfaceBody"===e.type&&(null==t||Ct(e,t)))}function Xs(e,t){return!!e&&("TSTypeAliasDeclaration"===e.type&&(null==t||Ct(e,t)))}function Hs(e,t){return!!e&&("TSInstantiationExpression"===e.type&&(null==t||Ct(e,t)))}function zs(e,t){return!!e&&("TSAsExpression"===e.type&&(null==t||Ct(e,t)))}function Ys(e,t){return!!e&&("TSSatisfiesExpression"===e.type&&(null==t||Ct(e,t)))}function Gs(e,t){return!!e&&("TSTypeAssertion"===e.type&&(null==t||Ct(e,t)))}function Qs(e,t){return!!e&&("TSEnumBody"===e.type&&(null==t||Ct(e,t)))}function Zs(e,t){return!!e&&("TSEnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function ea(e,t){return!!e&&("TSEnumMember"===e.type&&(null==t||Ct(e,t)))}function ta(e,t){return!!e&&("TSModuleDeclaration"===e.type&&(null==t||Ct(e,t)))}function na(e,t){return!!e&&("TSModuleBlock"===e.type&&(null==t||Ct(e,t)))}function ra(e,t){return!!e&&("TSImportType"===e.type&&(null==t||Ct(e,t)))}function ia(e,t){return!!e&&("TSImportEqualsDeclaration"===e.type&&(null==t||Ct(e,t)))}function sa(e,t){return!!e&&("TSExternalModuleReference"===e.type&&(null==t||Ct(e,t)))}function aa(e,t){return!!e&&("TSNonNullExpression"===e.type&&(null==t||Ct(e,t)))}function oa(e,t){return!!e&&("TSExportAssignment"===e.type&&(null==t||Ct(e,t)))}function ua(e,t){return!!e&&("TSNamespaceExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function ca(e,t){return!!e&&("TSTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function la(e,t){return!!e&&("TSTypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function pa(e,t){return!!e&&("TSTypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function da(e,t){return!!e&&("TSTypeParameter"===e.type&&(null==t||Ct(e,t)))}function ha(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":case"ImportAttribute":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function fa(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function ma(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||Ct(e,t)}function ya(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ga(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ba(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function xa(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Sa(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||Ct(e,t)}function Ta(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||Ct(e,t)}function Ea(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||Ct(e,t)}function Pa(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function va(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||Ct(e,t)}function Aa(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||Ct(e,t)}function wa(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function Ca(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function ka(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function Ia(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||Ct(e,t)}function _a(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Na(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function La(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Oa(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Da(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Ma(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"ThisExpression":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ba(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Fa(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||Ct(e,t)}function Ra(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function ja(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||Ct(e,t)}function Ua(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||Ct(e,t)}function qa(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||Ct(e,t)}function $a(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ja(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Va(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Ka(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Wa(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||Ct(e,t)}function Xa(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function Ha(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||Ct(e,t)}function za(){}function Ya(){}function Ga(){}function Qa(){}function Za(){}function eo(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||Ct(e,t)}function to(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||Ct(e,t)}function no(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||Ct(e,t)}function ro(e,t){if(!e)return!1;switch(e.type){case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||Ct(e,t)}function io(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||Ct(e,t)}function so(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||Ct(e,t)}function ao(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSImportType":break;default:return!1}return null==t||Ct(e,t)}function oo(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return null==t||Ct(e,t)}function uo(e,t){return It("isNumberLiteral","isNumericLiteral"),!!e&&("NumberLiteral"===e.type&&(null==t||Ct(e,t)))}function co(e,t){return It("isRegexLiteral","isRegExpLiteral"),!!e&&("RegexLiteral"===e.type&&(null==t||Ct(e,t)))}function lo(e,t){return It("isRestProperty","isRestElement"),!!e&&("RestProperty"===e.type&&(null==t||Ct(e,t)))}function po(e,t){return It("isSpreadProperty","isSpreadElement"),!!e&&("SpreadProperty"===e.type&&(null==t||Ct(e,t)))}function ho(e,t){return It("isModuleDeclaration","isImportOrExportDeclaration"),Va(e,t)}function fo(e){return on(e)||Vn(e)}function mo(e,t,n){if(!fo(e))return!1;const r=Array.isArray(t)?t:t.split("."),i=[];let s;for(s=e;fo(s);s=s.object??s.meta)i.push(s.property);if(i.push(s),i.length<r.length)return!1;if(!n&&i.length>r.length)return!1;for(let e=0,t=i.length-1;e<r.length;e++,t--){const n=i[t];let s;if(Gt(n))s=n.name;else if(en(n))s=n.value;else if(xn(n))s="this";else if(Hn(n))s="super";else{if(!cr(n))return!1;s="#"+n.id.name}if(r[e]!==s)return!1}return!0}function yo(e,t){const n=e.split(".");return e=>mo(e,n,t)}var go=yo("React.Component");function bo(e,t){if(e===t)return!0;if(null==e)return!1;if(qo[t])return!1;const n=$o[t];return!!n?.includes(e)}function xo(e,t){if(e===t)return!0;const n=ku[e];return!!n?.includes(t)}function So(e,t,n){if(!t)return!1;return bo(t.type,e)?void 0===n||Ct(t,n):!n&&"Placeholder"===t.type&&e in $o&&xo(t.expectedNode,e)}function To(e,t=!0){return"string"==typeof e&&((!t||!Et(e)&&!Tt(e,!0))&&function(e){let t=!0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296==(64512&r)&&n+1<e.length){const t=e.charCodeAt(++n);56320==(64512&t)&&(r=65536+((1023&r)<<10)+(1023&t))}if(t){if(t=!1,!ft(r))return!1}else if(!mt(r))return!1}return!t}(e))}var Eo=["consequent","body","alternate"],Po=["body","expressions"],vo=["left","init"],Ao=["leadingComments","trailingComments","innerComments"],wo=["||","&&","??"],Co=["++","--"],ko=[">","<",">=","<="],Io=["==","===","!=","!=="],_o=[...Io,"in","instanceof"],No=[..._o,...ko],Lo=["-","/","%","*","**","&","|",">>",">>>","<<","^"],Oo=["+",...Lo,...No,"|>"],Do=["=","+=",...Lo.map(e=>e+"="),...wo.map(e=>e+"=")],Mo=["delete","!"],Bo=["+","-","~"],Fo=["typeof"],Ro=["void","throw",...Mo,...Bo,...Fo],jo={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},Uo={},qo={},$o={},Jo={},Vo={},Ko={},Wo={};function Xo(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function Ho(e){return{validate:e}}function zo(...e){return Ho(iu(...e))}function Yo(e){return{validate:e,optional:!0}}function Go(...e){return{validate:iu(...e),optional:!0}}function Qo(e){return cu(au("array"),tu(e))}function Zo(...e){return Qo(iu(...e))}function eu(...e){return Ho(Zo(...e))}function tu(e){const t=Vu;function n(n,r,i){if(!Array.isArray(i))return;let s=0;const a={toString:()=>`${r}[${s}]`};for(;s<i.length;s++){const r=i[s];e(n,a,r),t(n,a,r)}}return n.each=e,n}function nu(...e){function t(t,n,r){if(!e.includes(r))throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t}var ru=[];function iu(...e){const t=new Set;function n(n,r,i){const s=i?.type;if(null!=s){if(t.has(s))return void Vu(n,r,i);if("Placeholder"===s)for(const t of e)if(So(t,i))return void Vu(n,r,i)}throw new TypeError(`Property ${r} of ${n.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(s)}`)}return ru.push({types:e,set:t}),n.oneOfNodeTypes=e,n}function su(...e){function t(t,n,r){const i=Xo(r);for(const s of e)if(i===s||So(s,r))return void Vu(t,n,r);throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(r?.type)}`)}return t.oneOfNodeOrValueTypes=e,t}function au(e){function t(t,n,r){if(Xo(r)!==e)throw new TypeError(`Property ${n} expected type of ${e} but got ${Xo(r)}`)}return t.type=e,t}function ou(e){const t=Object.keys(e);function n(n,r,i){const s=[];for(const r of t)try{Ju(n,r,i[r],e[r])}catch(e){if(e instanceof TypeError){s.push(e.message);continue}throw e}if(s.length)throw new TypeError(`Property ${r} of ${n.type} expected to have the following:\n${s.join("\n")}`)}return n.shapeOf=e,n}function uu(){return function(e){let t=e;for(;e;){const{type:e}=t;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(t.optional)return;t=t.object}else{if(t.optional)return;t=t.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${t?.type}`)}}function cu(...e){function t(...t){for(const n of e)n(...t)}if(t.chainOf=e,e.length>=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return t}var lu=new Set(["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"]),pu=new Set(["default","optional","deprecated","validate"]),du={};function hu(...e){return(t,n={})=>{let r=n.aliases;r||(n.inherits&&(r=du[n.inherits].aliases?.slice()),r??(r=[]),n.aliases=r);const i=e.filter(e=>!r.includes(e));r.unshift(...i),fu(t,n)}}function fu(e,t={}){const n=t.inherits&&du[t.inherits]||{};let r=t.fields;if(!r&&(r={},n.fields)){const e=Object.getOwnPropertyNames(n.fields);for(const t of e){const e=n.fields[t],i=e.default;if(Array.isArray(i)?i.length>0:i&&"object"==typeof i)throw new Error("field defaults can only be primitives or empty arrays currently");r[t]={default:Array.isArray(i)?[]:i,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const i=t.visitor||n.visitor||[],s=t.aliases||n.aliases||[],a=t.builder||n.builder||t.visitor||[];for(const n of Object.keys(t))if(!lu.has(n))throw new Error(`Unknown type option "${n}" on ${e}`);t.deprecatedAlias&&(Ko[t.deprecatedAlias]=e);for(const e of i.concat(a))r[e]=r[e]||{};for(const t of Object.keys(r)){const n=r[t];void 0===n.default||a.includes(t)||(n.optional=!0),void 0===n.default?n.default=null:n.validate||null==n.default||(n.validate=au(Xo(n.default)));for(const r of Object.keys(n))if(!pu.has(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}Uo[e]=t.visitor=i,Vo[e]=t.builder=a,Jo[e]=t.fields=r,qo[e]=t.aliases=s,s.forEach(t=>{$o[t]=$o[t]||[],$o[t].push(e)}),t.validate&&(Wo[e]=t.validate),du[e]=t}var mu=Object.freeze({__proto__:null,ALIAS_KEYS:qo,BUILDER_KEYS:Vo,DEPRECATED_KEYS:Ko,FLIPPED_ALIAS_KEYS:$o,NODE_FIELDS:Jo,NODE_PARENT_VALIDATIONS:Wo,VISITOR_KEYS:Uo,allExpandedTypes:ru,arrayOf:Qo,arrayOfType:Zo,assertEach:tu,assertNodeOrValueType:su,assertNodeType:iu,assertOneOf:nu,assertOptionalChainStart:uu,assertShape:ou,assertValueType:au,chain:cu,default:fu,defineAliasedType:hu,validate:Ho,validateArrayOfType:eu,validateOptional:Yo,validateOptionalType:Go,validateType:zo}),yu=hu("Standardized");yu("ArrayExpression",{fields:{elements:{validate:Qo(su("null","Expression","SpreadElement")),default:void 0}},visitor:["elements"],aliases:["Expression"]}),yu("AssignmentExpression",{fields:{operator:{validate:Object.assign(function(){const e=nu(...Do),t=nu("=");return function(n,r,i){(So("Pattern",n.left)?t:e)(n,r,i)}}(),{oneOf:Do})},left:{validate:iu("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),yu("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:nu(...Oo)},left:{validate:function(){const e=iu("Expression"),t=iu("Expression","PrivateName");return Object.assign(function(n,r,i){("in"===n.operator?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:iu("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),yu("InterpreterDirective",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("Directive",{visitor:["value"],fields:{value:{validate:iu("DirectiveLiteral")}}}),yu("DirectiveLiteral",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block","Statement"]}),yu("BreakStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("CallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression","Super","V8IntrinsicIdentifier")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("CatchClause",{visitor:["param","body"],fields:{param:{validate:iu("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:iu("BlockStatement")}},aliases:["Scopable","BlockParent"]}),yu("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Expression")},alternate:{validate:iu("Expression")}},aliases:["Expression","Conditional"]}),yu("ContinueStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("DebuggerStatement",{aliases:["Statement"]}),yu("DoWhileStatement",{builder:["test","body"],visitor:["body","test"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),yu("EmptyStatement",{aliases:["Statement"]}),yu("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Statement","ExpressionWrapper"]}),yu("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:iu("Program")},comments:{validate:tu(iu("CommentBlock","CommentLine")),optional:!0},tokens:{validate:tu(Object.assign(()=>{},{type:"any"})),optional:!0}}}),yu("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:iu("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:iu("VariableDeclaration","Expression"),optional:!0},test:{validate:iu("Expression"),optional:!0},update:{validate:iu("Expression"),optional:!0},body:{validate:iu("Statement")}}});var gu=()=>({params:eu("FunctionParameter"),generator:{default:!1},async:{default:!1}}),bu=()=>({returnType:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0}}),xu=()=>Object.assign({},gu(),{declare:{validate:au("boolean"),optional:!0},id:{validate:iu("Identifier"),optional:!0}});yu("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","typeParameters","params","predicate","returnType","body"],fields:Object.assign({},xu(),bu(),{body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()}),yu("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{id:{validate:iu("Identifier"),optional:!0},body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})});var Su=()=>({typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},optional:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","FunctionParameter","PatternLike","LVal","TSEntityName"],fields:Object.assign({},Su(),{name:{validate:cu(au("string"),Object.assign(function(e,t,n){if(!To(n,!1))throw new TypeError(`"${n}" is not a valid identifier name`)},{type:"string"}))}}),validate:function(e,t,n){const r=/\.(\w+)$/.exec(t.toString());if(!r)return;const[,i]=r,s={computed:!1};if("property"===i){if(So("MemberExpression",e,s))return;if(So("OptionalMemberExpression",e,s))return}else if("key"===i){if(So("Property",e,s))return;if(So("Method",e,s))return}else if("exported"===i){if(So("ExportSpecifier",e))return}else if("imported"===i){if(So("ImportSpecifier",e,{imported:n}))return}else if("meta"===i&&So("MetaProperty",e,{meta:n}))return;if((Et(n.name)||St(n.name,!1))&&"this"!==n.name)throw new TypeError(`"${n.name}" is not a valid identifier`)}}),yu("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Statement")},alternate:{optional:!0,validate:iu("Statement")}}}),yu("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:iu("Identifier")},body:{validate:iu("Statement")}}}),yu("StringLiteral",{builder:["value"],fields:{value:{validate:au("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:cu(au("number"),Object.assign(function(e,t,n){if(1/n<0||!Number.isFinite(n)){const e=new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${n}) instead.`);if(!(new Error).stack.includes("regenerator"))throw e}},{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),yu("BooleanLiteral",{builder:["value"],fields:{value:{validate:au("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:au("string")},flags:{validate:cu(au("string"),Object.assign(function(e,t,n){const r=/[^dgimsuvy]/.exec(n);if(r)throw new TypeError(`"${r[0]}" is not a valid RegExp flag`)},{type:"string"})),default:""}}}),yu("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:nu(...wo)},left:{validate:iu("Expression")},right:{validate:iu("Expression")}}}),yu("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal","PatternLike"],fields:Object.assign({object:{validate:iu("Expression","Super")},property:{validate:function(){const e=iu("Identifier","PrivateName"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","PrivateName"],n}()},computed:{default:!1}},{})}),yu("NewExpression",{inherits:"CallExpression"}),yu("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:nu("script","module"),default:"script"},interpreter:{validate:iu("InterpreterDirective"),default:null,optional:!0},directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block"]}),yu("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectMethod","ObjectProperty","SpreadElement")}}),yu("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},gu(),bu(),{kind:Object.assign({validate:nu("method","get","set")},{}),computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],n}()},decorators:{validate:Zo("Decorator"),optional:!0},body:{validate:iu("BlockStatement")}}),aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),yu("ObjectProperty",{builder:["key","value","computed","shorthand"],fields:{computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"]})}()},value:{validate:iu("Expression","PatternLike")},shorthand:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n){if(e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");if(!So("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")}},{type:"boolean"})),default:!1},decorators:{validate:Zo("Decorator"),optional:!0}},visitor:["decorators","key","value"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){const e=iu("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=iu("Expression");return function(n,r,i){(So("ObjectPattern",n)?e:t)(i,"value",i.value)}}()}),yu("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["FunctionParameter","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},Su(),{argument:{validate:iu("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")}}),validate:function(e,t){const n=/(\w+)\[(\d+)\]/.exec(t.toString());if(!n)throw new Error("Internal Babel error: malformed key.");const[,r,i]=n;if(e[r].length>+i+1)throw new TypeError(`RestElement must be last element of ${r}`)}}),yu("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression"),optional:!0}}}),yu("SequenceExpression",{visitor:["expressions"],fields:{expressions:eu("Expression")},aliases:["Expression"]}),yu("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:iu("Expression")}}}),yu("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:iu("Expression"),optional:!0},consequent:eu("Statement")}}),yu("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:iu("Expression")},cases:eu("SwitchCase")}}),yu("ThisExpression",{aliases:["Expression","TSEntityName"]}),yu("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression")}}}),yu("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:cu(iu("BlockStatement"),Object.assign(function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")},{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:iu("CatchClause")},finalizer:{optional:!0,validate:iu("BlockStatement")}}}),yu("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:iu("Expression")},operator:{validate:nu(...Ro)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),yu("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:iu("Identifier","MemberExpression")},operator:{validate:nu(...Co)}},visitor:["argument"],aliases:["Expression"]}),yu("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:au("boolean"),optional:!0},kind:{validate:nu("var","let","const","using","await using")},declarations:eu("VariableDeclarator")},validate:(()=>{const e=iu("Identifier","Placeholder"),t=iu("Identifier","ArrayPattern","ObjectPattern","Placeholder"),n=iu("Identifier","VoidPattern","Placeholder");return function(r,i,s){const{kind:a,declarations:o}=s,u=So("ForXStatement",r,{left:s});if(u&&1!==o.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${r.type}`);for(const r of o)"const"===a||"let"===a||"var"===a?u||r.init?t(r,"id",r.id):e(r,"id",r.id):n(r,"id",r.id)}})()}),yu("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:iu("Identifier","ArrayPattern","ObjectPattern","VoidPattern")},definite:{optional:!0,validate:au("boolean")},init:{optional:!0,validate:iu("Expression")}}}),yu("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["FunctionParameter","Pattern","PatternLike"],fields:Object.assign({},Su(),{left:{validate:iu("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},decorators:{validate:Zo("Decorator"),optional:!0}})}),yu("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{elements:{validate:cu(au("array"),tu(su("null","PatternLike")))}})}),yu("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["typeParameters","params","predicate","returnType","body"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{expression:{validate:au("boolean")},body:{validate:iu("BlockStatement","Expression")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})}),yu("ClassBody",{visitor:["body"],fields:{body:eu("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")}}),yu("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["decorators","id","typeParameters","superClass","superTypeArguments","mixins","implements","body"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0}}}),yu("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0},declare:{validate:au("boolean"),optional:!0},abstract:{validate:au("boolean"),optional:!0}},validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()});var Tu={attributes:{optional:!0,validate:Zo("ImportAttribute")},assertions:{deprecated:!0,optional:!0,validate:Zo("ImportAttribute")}};yu("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({source:{validate:iu("StringLiteral")},exportKind:Yo(nu("type","value"))},Tu)}),yu("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:zo("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression"),exportKind:Yo(nu("value"))}}),yu("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({declaration:{optional:!0,validate:cu(iu("Declaration"),Object.assign(function(e,t,n){if(n&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");if(n&&e.source)throw new TypeError("Cannot export a declaration from a source")},{oneOfNodeTypes:["Declaration"]}))}},Tu,{specifiers:{default:[],validate:Qo(function(){const e=iu("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=iu("ExportSpecifier");return Object.assign(function(n,r,i){(n.source?e:t)(n,r,i)},{oneOfNodeTypes:["ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"]})}())},source:{validate:iu("StringLiteral"),optional:!0},exportKind:Yo(nu("type","value"))})}),yu("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},exported:{validate:iu("Identifier","StringLiteral")},exportKind:{validate:nu("type","value"),optional:!0}}}),yu("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){const e=iu("VariableDeclaration"),t=iu("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return Object.assign(function(n,r,i){So("VariableDeclaration",i)?e(n,r,i):t(n,r,i)},{oneOfNodeTypes:["VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"]})}()},right:{validate:iu("Expression")},body:{validate:iu("Statement")},await:{default:!1}}}),yu("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:Object.assign({},Tu,{module:{optional:!0,validate:au("boolean")},phase:{default:null,validate:nu("source","defer")},specifiers:eu("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier"),source:{validate:iu("StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}})}),yu("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportSpecifier",{visitor:["imported","local"],builder:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},imported:{validate:iu("Identifier","StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}}}),yu("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:nu("source","defer")},source:{validate:iu("Expression")},options:{validate:iu("Expression"),optional:!0}}}),yu("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:cu(iu("Identifier"),Object.assign(function(e,t,n){let r;switch(n.name){case"function":r="sent";break;case"new":r="target";break;case"import":r="meta"}if(!So("Identifier",e.property,{name:r}))throw new TypeError("Unrecognised MetaProperty")},{oneOfNodeTypes:["Identifier"]}))},property:{validate:iu("Identifier")}}});var Eu=()=>({abstract:{validate:au("boolean"),optional:!0},accessibility:{validate:nu("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:au("boolean"),optional:!0},key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}}),Pu=()=>Object.assign({},gu(),Eu(),{params:eu("FunctionParameter","TSParameterProperty"),kind:{validate:nu("get","set","method","constructor"),default:"method"},access:{validate:cu(au("string"),nu("public","private","protected")),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},Pu(),bu(),{body:{validate:iu("BlockStatement")}})}),yu("ObjectPattern",{visitor:["decorators","properties","typeAnnotation"],builder:["properties"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{properties:eu("RestElement","ObjectProperty")})}),yu("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:iu("Expression")}}}),yu("Super",void 0),yu("TaggedTemplateExpression",{visitor:["tag","typeArguments","quasi"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:iu("Expression")},quasi:{validate:iu("TemplateLiteral")},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),yu("TemplateElement",{builder:["value","tail"],fields:{value:{validate:cu(ou({raw:{validate:au("string")},cooked:{validate:au("string"),optional:!0}}),function(e){const t=e.value.raw;let n=!1;const r=()=>{throw new Error("Internal @babel/types error.")},{str:i,firstInvalidLoc:s}=function(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const e=t.charCodeAt(n);if(vt(0,e,t,n)){c+=t.slice(p,n);break}if(92===e){c+=t.slice(p,n);const e=At(t,n,r,i,0,s);null!==e.ch||l?c+=e.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=e),p=n}else 8232===e||8233===e?(++i,r=++n):10===e||13===e?(c+=t.slice(p,n)+"\n",++n,13===e&&10===t.charCodeAt(n)&&++n,++i,p=r=n):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}(0,t,0,0,0,{unterminated(){n=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!n)throw new Error("Invalid raw");e.value.cooked=s?null:i})},tail:{default:!1}}}),yu("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:eu("TemplateElement"),expressions:{validate:cu(au("array"),tu(iu("Expression","TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),yu("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")},{type:"boolean"})),default:!1},argument:{optional:!0,validate:iu("Expression")}}}),yu("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:iu("Expression")}}}),yu("Import",{aliases:["Expression"]}),yu("BigIntLiteral",{builder:["value"],fields:{value:{validate:au("bigint")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),yu("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},property:{validate:function(){const e=iu("Identifier"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:cu(au("boolean"),uu())}}}),yu("OptionalCallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),optional:{validate:cu(au("boolean"),uu())},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("ClassProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},Eu(),{value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassAccessorProperty",{visitor:["decorators","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},Eu(),{key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassPrivateProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:iu("PrivateName")},value:{validate:iu("Expression"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},static:{validate:au("boolean"),default:!1},readonly:{validate:au("boolean"),optional:!0},optional:{validate:au("boolean"),optional:!0},definite:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}}}),yu("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["decorators","key","typeParameters","params","returnType","body"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},Pu(),bu(),{kind:{validate:nu("get","set","method"),default:"method"},key:{validate:iu("PrivateName")},body:{validate:iu("BlockStatement")}})}),yu("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:iu("Identifier")}}}),yu("StaticBlock",{visitor:["body"],fields:{body:eu("Statement")},aliases:["Scopable","BlockParent","FunctionParent"]}),yu("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:iu("Identifier","StringLiteral")},value:{validate:iu("StringLiteral")}}});var vu=hu("Flow"),Au=e=>{const t="DeclareClass"===e;vu(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends",...t?["mixins","implements"]:[],"body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),extends:Yo(Zo("InterfaceExtends"))},t?{mixins:Yo(Zo("InterfaceExtends")),implements:Yo(Zo("ClassImplements"))}:{},{body:zo("ObjectTypeAnnotation")})})};vu("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:zo("FlowType")}}),vu("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("boolean"))}}),vu("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ClassImplements",{visitor:["id","typeParameters"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("DeclareClass"),vu("DeclareFunction",{builder:["id"],visitor:["id","predicate"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),predicate:Go("DeclaredPredicate")}}),Au("DeclareInterface"),vu("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier","StringLiteral"),body:zo("BlockStatement"),kind:Yo(nu("CommonJS","ES"))}}),vu("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:zo("TypeAnnotation")}}),vu("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:Go("FlowType")}}),vu("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier")}}),vu("DeclareExportDeclaration",{visitor:["declaration","specifiers","source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({declaration:Go("Flow"),specifiers:Yo(Zo("ExportSpecifier","ExportNamespaceSpecifier")),source:Go("StringLiteral"),default:Yo(au("boolean"))},Tu)}),vu("DeclareExportAllDeclaration",{visitor:["source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({source:zo("StringLiteral"),exportKind:Yo(nu("type","value"))},Tu)}),vu("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:zo("Flow")}}),vu("ExistsTypeAnnotation",{aliases:["FlowType"]}),vu("FunctionTypeAnnotation",{builder:["typeParameters","params","rest","returnType"],visitor:["typeParameters","this","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:Go("TypeParameterDeclaration"),params:eu("FunctionTypeParam"),rest:Go("FunctionTypeParam"),this:Go("FunctionTypeParam"),returnType:zo("FlowType")}}),vu("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:Go("Identifier"),typeAnnotation:zo("FlowType"),optional:Yo(au("boolean"))}}),vu("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),vu("InferredPredicate",{aliases:["FlowPredicate"]}),vu("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("InterfaceDeclaration"),vu("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:Yo(Zo("InterfaceExtends")),body:zo("ObjectTypeAnnotation")}}),vu("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:zo("FlowType")}}),vu("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("number"))}}),vu("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:Ho(Zo("ObjectTypeProperty","ObjectTypeSpreadProperty")),indexers:{validate:Zo("ObjectTypeIndexer"),optional:!1,default:[]},callProperties:{validate:Zo("ObjectTypeCallProperty"),optional:!1,default:[]},internalSlots:{validate:Zo("ObjectTypeInternalSlot"),optional:!1,default:[]},exact:{validate:au("boolean"),default:!1},inexact:Yo(au("boolean"))}}),vu("ObjectTypeInternalSlot",{visitor:["id","value"],builder:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:zo("Identifier"),value:zo("FlowType"),optional:Ho(au("boolean")),static:Ho(au("boolean")),method:Ho(au("boolean"))}}),vu("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:zo("FlowType"),static:Ho(au("boolean"))}}),vu("ObjectTypeIndexer",{visitor:["variance","id","key","value"],builder:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:Go("Identifier"),key:zo("FlowType"),value:zo("FlowType"),static:Ho(au("boolean")),variance:Go("Variance")}}),vu("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:zo("Identifier","StringLiteral"),value:zo("FlowType"),kind:Ho(nu("init","get","set")),static:Ho(au("boolean")),proto:Ho(au("boolean")),optional:Ho(au("boolean")),variance:Go("Variance"),method:Ho(au("boolean"))}}),vu("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:zo("FlowType")}}),vu("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:zo("FlowType")}}),vu("QualifiedTypeIdentifier",{visitor:["qualification","id"],builder:["id","qualification"],fields:{id:zo("Identifier"),qualification:zo("Identifier","QualifiedTypeIdentifier")}}),vu("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("string"))}}),vu("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:zo("FlowType")}}),vu("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:zo("FlowType")}}),vu("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:zo("Expression"),typeAnnotation:zo("TypeAnnotation")}}),vu("TypeParameter",{visitor:["bound","default","variance"],fields:{name:Ho(au("string")),bound:Go("TypeAnnotation"),default:Go("FlowType"),variance:Go("Variance")}}),vu("TypeParameterDeclaration",{visitor:["params"],fields:{params:Ho(Zo("TypeParameter"))}}),vu("TypeParameterInstantiation",{visitor:["params"],fields:{params:Ho(Zo("FlowType"))}}),vu("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("Variance",{builder:["kind"],fields:{kind:Ho(nu("minus","plus"))}}),vu("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:zo("Identifier"),body:zo("EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody")}}),vu("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumBooleanMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumNumberMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumStringMember","EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:eu("EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumBooleanMember",{aliases:["EnumMember"],builder:["id"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("BooleanLiteral")}}),vu("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("NumericLiteral")}}),vu("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("StringLiteral")}}),vu("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:zo("Identifier")}}),vu("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType")}}),vu("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType"),optional:Ho(au("boolean"))}});var wu=hu("JSX");wu("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:iu("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),wu("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),wu("JSXElement",{builder:["openingElement","closingElement","children"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:iu("JSXOpeningElement")},closingElement:{optional:!0,validate:iu("JSXClosingElement")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")},{})}),wu("JSXEmptyExpression",{}),wu("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression","JSXEmptyExpression")}}}),wu("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression")}}}),wu("JSXIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),wu("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:iu("JSXMemberExpression","JSXIdentifier")},property:{validate:iu("JSXIdentifier")}}}),wu("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:iu("JSXIdentifier")},name:{validate:iu("JSXIdentifier")}}}),wu("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","typeArguments","attributes"],aliases:["Immutable"],fields:Object.assign({name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:eu("JSXAttribute","JSXSpreadAttribute"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),wu("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:iu("Expression")}}}),wu("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:au("string")}}}),wu("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:iu("JSXOpeningFragment")},closingFragment:{validate:iu("JSXClosingFragment")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")}}),wu("JSXOpeningFragment",{aliases:["Immutable"]}),wu("JSXClosingFragment",{aliases:["Immutable"]});var Cu=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],ku={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(const e of Cu){const t=qo[e];t?.length&&(ku[e]=t)}var Iu={};Object.keys(ku).forEach(e=>{ku[e].forEach(t=>{Object.hasOwn(Iu,t)||(Iu[t]=[]),Iu[t].push(e)})});var _u=hu("Miscellaneous");_u("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:Object.assign({name:{validate:iu("Identifier")},expectedNode:{validate:nu(...Cu)}},Su())}),_u("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),fu("ArgumentPlaceholder",{}),fu("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},callee:{validate:iu("Expression")}}}),fu("Decorator",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}}}),fu("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:iu("BlockStatement")},async:{validate:au("boolean"),default:!1}}}),fu("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),fu("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectProperty","SpreadElement")}}),fu("TupleExpression",{fields:{elements:{validate:Zo("Expression","SpreadElement"),default:[]}},visitor:["elements"],aliases:["Expression"]}),fu("ModuleExpression",{visitor:["body"],fields:{body:{validate:iu("Program")}},aliases:["Expression"]}),fu("TopicReference",{aliases:["Expression"]}),fu("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelinePrimaryTopicReference",{aliases:["Expression"]}),fu("VoidPattern",{aliases:["Pattern","PatternLike","FunctionParameter"]});var Nu=hu("TypeScript"),Lu=au("boolean"),Ou=()=>({returnType:{validate:iu("TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TSTypeParameterDeclaration"),optional:!0}});Nu("TSParameterProperty",{aliases:[],visitor:["parameter"],fields:{accessibility:{validate:nu("public","private","protected"),optional:!0},readonly:{validate:au("boolean"),optional:!0},parameter:{validate:iu("Identifier","AssignmentPattern")},override:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}}}),Nu("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},xu(),Ou())}),Nu("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},Pu(),Ou())}),Nu("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:zo("TSEntityName"),right:zo("Identifier")}});var Du=()=>({typeParameters:Go("TSTypeParameterDeclaration"),params:eu("ArrayPattern","Identifier","ObjectPattern","RestElement"),returnType:Go("TSTypeAnnotation")}),Mu={aliases:["TSTypeElement"],visitor:["typeParameters","params","returnType"],fields:Du()};Nu("TSCallSignatureDeclaration",Mu),Nu("TSConstructSignatureDeclaration",Mu);var Bu=()=>({key:zo("Expression"),computed:{default:!1},optional:Yo(Lu)});Nu("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},Bu(),{readonly:Yo(Lu),typeAnnotation:Go("TSTypeAnnotation"),kind:{optional:!0,validate:nu("get","set")}})}),Nu("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","params","returnType"],fields:Object.assign({},Du(),Bu(),{kind:{validate:nu("method","get","set")}})}),Nu("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:Yo(Lu),static:Yo(Lu),parameters:eu("Identifier"),typeAnnotation:Go("TSTypeAnnotation")}});for(const e of["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"])Nu(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});Nu("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});var Fu={aliases:["TSType"],visitor:["typeParameters","params","returnType"]};Nu("TSFunctionType",Object.assign({},Fu,{fields:Du()})),Nu("TSConstructorType",Object.assign({},Fu,{fields:Object.assign({},Du(),{abstract:Yo(Lu)})})),Nu("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeArguments"],fields:{typeName:zo("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:zo("Identifier","TSThisType"),typeAnnotation:Go("TSTypeAnnotation"),asserts:Yo(Lu)}}),Nu("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeArguments"],fields:{exprName:zo("TSEntityName","TSImportType"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:eu("TSTypeElement")}}),Nu("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:zo("TSType")}}),Nu("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:eu("TSType","TSNamedTupleMember")}}),Nu("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:zo("Identifier"),optional:{validate:Lu,default:!1},elementType:zo("TSType")}});var Ru={aliases:["TSType"],visitor:["types"],fields:{types:eu("TSType")}};Nu("TSUnionType",Ru),Nu("TSIntersectionType",Ru),Nu("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:zo("TSType"),extendsType:zo("TSType"),trueType:zo("TSType"),falseType:zo("TSType")}}),Nu("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:zo("TSTypeParameter")}}),Nu("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],builder:["typeAnnotation","operator"],fields:{operator:{validate:nu("keyof","readonly","unique"),default:void 0},typeAnnotation:zo("TSType")}}),Nu("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:zo("TSType"),indexType:zo("TSType")}}),Nu("TSMappedType",{aliases:["TSType"],visitor:["key","constraint","nameType","typeAnnotation"],builder:["key","constraint","nameType","typeAnnotation"],fields:Object.assign({},{key:zo("Identifier"),constraint:zo("TSType")},{readonly:Yo(nu(!0,!1,"+","-")),optional:Yo(nu(!0,!1,"+","-")),typeAnnotation:Go("TSType"),nameType:Go("TSType")})}),Nu("TSTemplateLiteralType",{aliases:["TSType","TSBaseType"],visitor:["quasis","types"],fields:{quasis:eu("TemplateElement"),types:{validate:cu(au("array"),tu(iu("TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),Nu("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){const e=iu("NumericLiteral","BigIntLiteral"),t=nu("-"),n=iu("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function r(r,i,s){So("UnaryExpression",s)?(t(s,"operator",s.operator),e(s,"argument",s.argument)):n(r,i,s)}return r.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],r}()}}}),Nu("TSClassImplements",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceHeritage",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),extends:Yo(Zo("TSClassImplements")),body:zo("TSInterfaceBody")}}),Nu("TSInterfaceBody",{visitor:["body"],fields:{body:eu("TSTypeElement")}}),Nu("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),typeAnnotation:zo("TSType")}}),Nu("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}});var ju={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:zo("Expression"),typeAnnotation:zo("TSType")}};Nu("TSAsExpression",ju),Nu("TSSatisfiesExpression",ju),Nu("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:zo("TSType"),expression:zo("Expression")}}),Nu("TSEnumBody",{visitor:["members"],fields:{members:eu("TSEnumMember")}}),Nu("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:Yo(Lu),const:Yo(Lu),id:zo("Identifier"),body:zo("TSEnumBody")}}),Nu("TSEnumMember",{visitor:["id","initializer"],fields:{id:zo("Identifier","StringLiteral"),initializer:Go("Expression")}}),Nu("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:Object.assign({kind:{validate:nu("global","module","namespace")},declare:Yo(Lu)},!1,{id:zo("TSEntityName","StringLiteral"),body:zo("TSModuleBlock")})}),Nu("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:eu("Statement")}}),Nu("TSImportType",{aliases:["TSType"],builder:["argument","qualifier","typeArguments"],visitor:["argument","options","qualifier","typeArguments"],fields:{argument:zo("TSLiteralType"),qualifier:Go("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation"),options:{validate:iu("ObjectExpression"),optional:!0}}}),Nu("TSImportEqualsDeclaration",{aliases:["Statement","Declaration"],visitor:["id","moduleReference"],fields:Object.assign({},{},{id:zo("Identifier"),moduleReference:zo("TSEntityName","TSExternalModuleReference"),importKind:{validate:nu("type","value"),optional:!0}})}),Nu("TSExternalModuleReference",{visitor:["expression"],fields:{expression:zo("StringLiteral")}}),Nu("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:zo("Identifier")}}),Nu("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:iu("TSType")}}}),Nu("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:eu("TSType")}}),Nu("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:eu("TSTypeParameter")}}),Nu("TSTypeParameter",{builder:["constraint","default","name"],visitor:["name","constraint","default"],fields:{name:{validate:iu("Identifier")},in:{validate:au("boolean"),optional:!0},out:{validate:au("boolean"),optional:!0},const:{validate:au("boolean"),optional:!0},constraint:{validate:iu("TSType"),optional:!0},default:{validate:iu("TSType"),optional:!0}}});var Uu={ModuleDeclaration:"ImportOrExportDeclaration"};Object.keys(Uu).forEach(e=>{$o[e]=$o[Uu[e]]});for(const{types:e,set:t}of ru)for(const n of e){const e=$o[n];e?e.forEach(t.add,t):t.add(n)}var qu=[].concat(Object.keys(Uo),Object.keys($o),Object.keys(Ko));function $u(e,t,n){if(!e)return;const r=Jo[e.type];if(!r)return;Ju(e,t,n,r[t]),Vu(e,t,n)}function Ju(e,t,n,r){r?.validate&&(r.optional&&null==n||r.validate(e,t,n))}function Vu(e,t,n){const r=n?.type;null!=r&&Wo[r]?.(e,t,n)}var Ku=Object.freeze({__proto__:null,default:$u,validateChild:Vu,validateField:Ju,validateInternal:function(e,t,n,r,i){if(e?.validate&&(!e.optional||null!=r)&&(e.validate(t,n,r),i)){const e=r.type;if(null==e)return;Wo[e]?.(t,n,r)}}}),{validateInternal:Wu}=Ku,{NODE_FIELDS:Xu}=mu;function Hu(e){const t={type:"ArrayExpression",elements:e},n=Xu.ArrayExpression;return Wu(n.elements,t,"elements",e,1),t}function zu(e,t,n){const r={type:"AssignmentExpression",operator:e,left:t,right:n},i=Xu.AssignmentExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Yu(e,t,n){const r={type:"BinaryExpression",operator:e,left:t,right:n},i=Xu.BinaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Gu(e){const t={type:"InterpreterDirective",value:e},n=Xu.InterpreterDirective;return Wu(n.value,t,"value",e),t}function Qu(e){const t={type:"Directive",value:e},n=Xu.Directive;return Wu(n.value,t,"value",e,1),t}function Zu(e){const t={type:"DirectiveLiteral",value:e},n=Xu.DirectiveLiteral;return Wu(n.value,t,"value",e),t}function ec(e,t=[]){const n={type:"BlockStatement",body:e,directives:t},r=Xu.BlockStatement;return Wu(r.body,n,"body",e,1),Wu(r.directives,n,"directives",t,1),n}function tc(e=null){const t={type:"BreakStatement",label:e},n=Xu.BreakStatement;return Wu(n.label,t,"label",e,1),t}function nc(e,t){const n={type:"CallExpression",callee:e,arguments:t},r=Xu.CallExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function rc(e=null,t){const n={type:"CatchClause",param:e,body:t},r=Xu.CatchClause;return Wu(r.param,n,"param",e,1),Wu(r.body,n,"body",t,1),n}function ic(e,t,n){const r={type:"ConditionalExpression",test:e,consequent:t,alternate:n},i=Xu.ConditionalExpression;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function sc(e=null){const t={type:"ContinueStatement",label:e},n=Xu.ContinueStatement;return Wu(n.label,t,"label",e,1),t}function ac(){return{type:"DebuggerStatement"}}function oc(e,t){const n={type:"DoWhileStatement",test:e,body:t},r=Xu.DoWhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function uc(){return{type:"EmptyStatement"}}function cc(e){const t={type:"ExpressionStatement",expression:e},n=Xu.ExpressionStatement;return Wu(n.expression,t,"expression",e,1),t}function lc(e,t=null,n=null){const r={type:"File",program:e,comments:t,tokens:n},i=Xu.File;return Wu(i.program,r,"program",e,1),Wu(i.comments,r,"comments",t,1),Wu(i.tokens,r,"tokens",n),r}function pc(e,t,n){const r={type:"ForInStatement",left:e,right:t,body:n},i=Xu.ForInStatement;return Wu(i.left,r,"left",e,1),Wu(i.right,r,"right",t,1),Wu(i.body,r,"body",n,1),r}function dc(e=null,t=null,n=null,r){const i={type:"ForStatement",init:e,test:t,update:n,body:r},s=Xu.ForStatement;return Wu(s.init,i,"init",e,1),Wu(s.test,i,"test",t,1),Wu(s.update,i,"update",n,1),Wu(s.body,i,"body",r,1),i}function hc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionDeclaration",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionDeclaration;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function fc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionExpression",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionExpression;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function mc(e){const t={type:"Identifier",name:e},n=Xu.Identifier;return Wu(n.name,t,"name",e),t}function yc(e,t,n=null){const r={type:"IfStatement",test:e,consequent:t,alternate:n},i=Xu.IfStatement;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function gc(e,t){const n={type:"LabeledStatement",label:e,body:t},r=Xu.LabeledStatement;return Wu(r.label,n,"label",e,1),Wu(r.body,n,"body",t,1),n}function bc(e){const t={type:"StringLiteral",value:e},n=Xu.StringLiteral;return Wu(n.value,t,"value",e),t}function xc(e){const t={type:"NumericLiteral",value:e},n=Xu.NumericLiteral;return Wu(n.value,t,"value",e),t}function Sc(){return{type:"NullLiteral"}}function Tc(e){const t={type:"BooleanLiteral",value:e},n=Xu.BooleanLiteral;return Wu(n.value,t,"value",e),t}function Ec(e,t=""){const n={type:"RegExpLiteral",pattern:e,flags:t},r=Xu.RegExpLiteral;return Wu(r.pattern,n,"pattern",e),Wu(r.flags,n,"flags",t),n}function Pc(e,t,n){const r={type:"LogicalExpression",operator:e,left:t,right:n},i=Xu.LogicalExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function vc(e,t,n=!1){const r={type:"MemberExpression",object:e,property:t,computed:n},i=Xu.MemberExpression;return Wu(i.object,r,"object",e,1),Wu(i.property,r,"property",t,1),Wu(i.computed,r,"computed",n),r}function Ac(e,t){const n={type:"NewExpression",callee:e,arguments:t},r=Xu.NewExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function wc(e,t=[],n="script",r=null){const i={type:"Program",body:e,directives:t,sourceType:n,interpreter:r},s=Xu.Program;return Wu(s.body,i,"body",e,1),Wu(s.directives,i,"directives",t,1),Wu(s.sourceType,i,"sourceType",n),Wu(s.interpreter,i,"interpreter",r,1),i}function Cc(e){const t={type:"ObjectExpression",properties:e},n=Xu.ObjectExpression;return Wu(n.properties,t,"properties",e,1),t}function kc(e,t,n,r,i=!1,s=!1,a=!1){const o={type:"ObjectMethod",kind:e,key:t,params:n,body:r,computed:i,generator:s,async:a},u=Xu.ObjectMethod;return Wu(u.kind,o,"kind",e),Wu(u.key,o,"key",t,1),Wu(u.params,o,"params",n,1),Wu(u.body,o,"body",r,1),Wu(u.computed,o,"computed",i),Wu(u.generator,o,"generator",s),Wu(u.async,o,"async",a),o}function Ic(e,t,n=!1,r=!1){const i={type:"ObjectProperty",key:e,value:t,computed:n,shorthand:r},s=Xu.ObjectProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.computed,i,"computed",n),Wu(s.shorthand,i,"shorthand",r),i}function _c(e){const t={type:"RestElement",argument:e},n=Xu.RestElement;return Wu(n.argument,t,"argument",e,1),t}function Nc(e=null){const t={type:"ReturnStatement",argument:e},n=Xu.ReturnStatement;return Wu(n.argument,t,"argument",e,1),t}function Lc(e){const t={type:"SequenceExpression",expressions:e},n=Xu.SequenceExpression;return Wu(n.expressions,t,"expressions",e,1),t}function Oc(e){const t={type:"ParenthesizedExpression",expression:e},n=Xu.ParenthesizedExpression;return Wu(n.expression,t,"expression",e,1),t}function Dc(e=null,t){const n={type:"SwitchCase",test:e,consequent:t},r=Xu.SwitchCase;return Wu(r.test,n,"test",e,1),Wu(r.consequent,n,"consequent",t,1),n}function Mc(e,t){const n={type:"SwitchStatement",discriminant:e,cases:t},r=Xu.SwitchStatement;return Wu(r.discriminant,n,"discriminant",e,1),Wu(r.cases,n,"cases",t,1),n}function Bc(){return{type:"ThisExpression"}}function Fc(e){const t={type:"ThrowStatement",argument:e},n=Xu.ThrowStatement;return Wu(n.argument,t,"argument",e,1),t}function Rc(e,t=null,n=null){const r={type:"TryStatement",block:e,handler:t,finalizer:n},i=Xu.TryStatement;return Wu(i.block,r,"block",e,1),Wu(i.handler,r,"handler",t,1),Wu(i.finalizer,r,"finalizer",n,1),r}function jc(e,t,n=!0){const r={type:"UnaryExpression",operator:e,argument:t,prefix:n},i=Xu.UnaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function Uc(e,t,n=!1){const r={type:"UpdateExpression",operator:e,argument:t,prefix:n},i=Xu.UpdateExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function qc(e,t){const n={type:"VariableDeclaration",kind:e,declarations:t},r=Xu.VariableDeclaration;return Wu(r.kind,n,"kind",e),Wu(r.declarations,n,"declarations",t,1),n}function $c(e,t=null){const n={type:"VariableDeclarator",id:e,init:t},r=Xu.VariableDeclarator;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Jc(e,t){const n={type:"WhileStatement",test:e,body:t},r=Xu.WhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function Vc(e,t){const n={type:"WithStatement",object:e,body:t},r=Xu.WithStatement;return Wu(r.object,n,"object",e,1),Wu(r.body,n,"body",t,1),n}function Kc(e,t){const n={type:"AssignmentPattern",left:e,right:t},r=Xu.AssignmentPattern;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Wc(e){const t={type:"ArrayPattern",elements:e},n=Xu.ArrayPattern;return Wu(n.elements,t,"elements",e,1),t}function Xc(e,t,n=!1){const r={type:"ArrowFunctionExpression",params:e,body:t,async:n,expression:null},i=Xu.ArrowFunctionExpression;return Wu(i.params,r,"params",e,1),Wu(i.body,r,"body",t,1),Wu(i.async,r,"async",n),r}function Hc(e){const t={type:"ClassBody",body:e},n=Xu.ClassBody;return Wu(n.body,t,"body",e,1),t}function zc(e=null,t=null,n,r=null){const i={type:"ClassExpression",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassExpression;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Yc(e=null,t=null,n,r=null){const i={type:"ClassDeclaration",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Gc(e){const t={type:"ExportAllDeclaration",source:e},n=Xu.ExportAllDeclaration;return Wu(n.source,t,"source",e,1),t}function Qc(e){const t={type:"ExportDefaultDeclaration",declaration:e},n=Xu.ExportDefaultDeclaration;return Wu(n.declaration,t,"declaration",e,1),t}function Zc(e=null,t=[],n=null){const r={type:"ExportNamedDeclaration",declaration:e,specifiers:t,source:n},i=Xu.ExportNamedDeclaration;return Wu(i.declaration,r,"declaration",e,1),Wu(i.specifiers,r,"specifiers",t,1),Wu(i.source,r,"source",n,1),r}function el(e,t){const n={type:"ExportSpecifier",local:e,exported:t},r=Xu.ExportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.exported,n,"exported",t,1),n}function tl(e,t,n,r=!1){const i={type:"ForOfStatement",left:e,right:t,body:n,await:r},s=Xu.ForOfStatement;return Wu(s.left,i,"left",e,1),Wu(s.right,i,"right",t,1),Wu(s.body,i,"body",n,1),Wu(s.await,i,"await",r),i}function nl(e,t){const n={type:"ImportDeclaration",specifiers:e,source:t},r=Xu.ImportDeclaration;return Wu(r.specifiers,n,"specifiers",e,1),Wu(r.source,n,"source",t,1),n}function rl(e){const t={type:"ImportDefaultSpecifier",local:e},n=Xu.ImportDefaultSpecifier;return Wu(n.local,t,"local",e,1),t}function il(e){const t={type:"ImportNamespaceSpecifier",local:e},n=Xu.ImportNamespaceSpecifier;return Wu(n.local,t,"local",e,1),t}function sl(e,t){const n={type:"ImportSpecifier",local:e,imported:t},r=Xu.ImportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.imported,n,"imported",t,1),n}function al(e,t=null){const n={type:"ImportExpression",source:e,options:t},r=Xu.ImportExpression;return Wu(r.source,n,"source",e,1),Wu(r.options,n,"options",t,1),n}function ol(e,t){const n={type:"MetaProperty",meta:e,property:t},r=Xu.MetaProperty;return Wu(r.meta,n,"meta",e,1),Wu(r.property,n,"property",t,1),n}function ul(e="method",t,n,r,i=!1,s=!1,a=!1,o=!1){const u={type:"ClassMethod",kind:e,key:t,params:n,body:r,computed:i,static:s,generator:a,async:o},c=Xu.ClassMethod;return Wu(c.kind,u,"kind",e),Wu(c.key,u,"key",t,1),Wu(c.params,u,"params",n,1),Wu(c.body,u,"body",r,1),Wu(c.computed,u,"computed",i),Wu(c.static,u,"static",s),Wu(c.generator,u,"generator",a),Wu(c.async,u,"async",o),u}function cl(e){const t={type:"ObjectPattern",properties:e},n=Xu.ObjectPattern;return Wu(n.properties,t,"properties",e,1),t}function ll(e){const t={type:"SpreadElement",argument:e},n=Xu.SpreadElement;return Wu(n.argument,t,"argument",e,1),t}function pl(){return{type:"Super"}}function dl(e,t){const n={type:"TaggedTemplateExpression",tag:e,quasi:t},r=Xu.TaggedTemplateExpression;return Wu(r.tag,n,"tag",e,1),Wu(r.quasi,n,"quasi",t,1),n}function hl(e,t=!1){const n={type:"TemplateElement",value:e,tail:t},r=Xu.TemplateElement;return Wu(r.value,n,"value",e),Wu(r.tail,n,"tail",t),n}function fl(e,t){const n={type:"TemplateLiteral",quasis:e,expressions:t},r=Xu.TemplateLiteral;return Wu(r.quasis,n,"quasis",e,1),Wu(r.expressions,n,"expressions",t,1),n}function ml(e=null,t=!1){const n={type:"YieldExpression",argument:e,delegate:t},r=Xu.YieldExpression;return Wu(r.argument,n,"argument",e,1),Wu(r.delegate,n,"delegate",t),n}function yl(e){const t={type:"AwaitExpression",argument:e},n=Xu.AwaitExpression;return Wu(n.argument,t,"argument",e,1),t}function gl(){return{type:"Import"}}function bl(e){const t={type:"BigIntLiteral",value:e},n=Xu.BigIntLiteral;return Wu(n.value,t,"value",e),t}function xl(e){const t={type:"ExportNamespaceSpecifier",exported:e},n=Xu.ExportNamespaceSpecifier;return Wu(n.exported,t,"exported",e,1),t}function Sl(e,t,n=!1,r){const i={type:"OptionalMemberExpression",object:e,property:t,computed:n,optional:r},s=Xu.OptionalMemberExpression;return Wu(s.object,i,"object",e,1),Wu(s.property,i,"property",t,1),Wu(s.computed,i,"computed",n),Wu(s.optional,i,"optional",r),i}function Tl(e,t,n){const r={type:"OptionalCallExpression",callee:e,arguments:t,optional:n},i=Xu.OptionalCallExpression;return Wu(i.callee,r,"callee",e,1),Wu(i.arguments,r,"arguments",t,1),Wu(i.optional,r,"optional",n),r}function El(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function Pl(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassAccessorProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassAccessorProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function vl(e,t=null,n=null,r=!1){const i={type:"ClassPrivateProperty",key:e,value:t,decorators:n,static:r},s=Xu.ClassPrivateProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.decorators,i,"decorators",n,1),Wu(s.static,i,"static",r),i}function Al(e="method",t,n,r,i=!1){const s={type:"ClassPrivateMethod",kind:e,key:t,params:n,body:r,static:i},a=Xu.ClassPrivateMethod;return Wu(a.kind,s,"kind",e),Wu(a.key,s,"key",t,1),Wu(a.params,s,"params",n,1),Wu(a.body,s,"body",r,1),Wu(a.static,s,"static",i),s}function wl(e){const t={type:"PrivateName",id:e},n=Xu.PrivateName;return Wu(n.id,t,"id",e,1),t}function Cl(e){const t={type:"StaticBlock",body:e},n=Xu.StaticBlock;return Wu(n.body,t,"body",e,1),t}function kl(e,t){const n={type:"ImportAttribute",key:e,value:t},r=Xu.ImportAttribute;return Wu(r.key,n,"key",e,1),Wu(r.value,n,"value",t,1),n}function Il(){return{type:"AnyTypeAnnotation"}}function _l(e){const t={type:"ArrayTypeAnnotation",elementType:e},n=Xu.ArrayTypeAnnotation;return Wu(n.elementType,t,"elementType",e,1),t}function Nl(){return{type:"BooleanTypeAnnotation"}}function Ll(e){const t={type:"BooleanLiteralTypeAnnotation",value:e},n=Xu.BooleanLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function Ol(){return{type:"NullLiteralTypeAnnotation"}}function Dl(e,t=null){const n={type:"ClassImplements",id:e,typeParameters:t},r=Xu.ClassImplements;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ml(e,t=null,n=null,r){const i={type:"DeclareClass",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareClass;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Bl(e){const t={type:"DeclareFunction",id:e},n=Xu.DeclareFunction;return Wu(n.id,t,"id",e,1),t}function Fl(e,t=null,n=null,r){const i={type:"DeclareInterface",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareInterface;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Rl(e,t,n=null){const r={type:"DeclareModule",id:e,body:t,kind:n},i=Xu.DeclareModule;return Wu(i.id,r,"id",e,1),Wu(i.body,r,"body",t,1),Wu(i.kind,r,"kind",n),r}function jl(e){const t={type:"DeclareModuleExports",typeAnnotation:e},n=Xu.DeclareModuleExports;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ul(e,t=null,n){const r={type:"DeclareTypeAlias",id:e,typeParameters:t,right:n},i=Xu.DeclareTypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function ql(e,t=null,n=null){const r={type:"DeclareOpaqueType",id:e,typeParameters:t,supertype:n},i=Xu.DeclareOpaqueType;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.supertype,r,"supertype",n,1),r}function $l(e){const t={type:"DeclareVariable",id:e},n=Xu.DeclareVariable;return Wu(n.id,t,"id",e,1),t}function Jl(e=null,t=null,n=null,r=null){const i={type:"DeclareExportDeclaration",declaration:e,specifiers:t,source:n,attributes:r},s=Xu.DeclareExportDeclaration;return Wu(s.declaration,i,"declaration",e,1),Wu(s.specifiers,i,"specifiers",t,1),Wu(s.source,i,"source",n,1),Wu(s.attributes,i,"attributes",r,1),i}function Vl(e,t=null){const n={type:"DeclareExportAllDeclaration",source:e,attributes:t},r=Xu.DeclareExportAllDeclaration;return Wu(r.source,n,"source",e,1),Wu(r.attributes,n,"attributes",t,1),n}function Kl(e){const t={type:"DeclaredPredicate",value:e},n=Xu.DeclaredPredicate;return Wu(n.value,t,"value",e,1),t}function Wl(){return{type:"ExistsTypeAnnotation"}}function Xl(e=null,t,n=null,r){const i={type:"FunctionTypeAnnotation",typeParameters:e,params:t,rest:n,returnType:r},s=Xu.FunctionTypeAnnotation;return Wu(s.typeParameters,i,"typeParameters",e,1),Wu(s.params,i,"params",t,1),Wu(s.rest,i,"rest",n,1),Wu(s.returnType,i,"returnType",r,1),i}function Hl(e=null,t){const n={type:"FunctionTypeParam",name:e,typeAnnotation:t},r=Xu.FunctionTypeParam;return Wu(r.name,n,"name",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function zl(e,t=null){const n={type:"GenericTypeAnnotation",id:e,typeParameters:t},r=Xu.GenericTypeAnnotation;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Yl(){return{type:"InferredPredicate"}}function Gl(e,t=null){const n={type:"InterfaceExtends",id:e,typeParameters:t},r=Xu.InterfaceExtends;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ql(e,t=null,n=null,r){const i={type:"InterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.InterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Zl(e=null,t){const n={type:"InterfaceTypeAnnotation",extends:e,body:t},r=Xu.InterfaceTypeAnnotation;return Wu(r.extends,n,"extends",e,1),Wu(r.body,n,"body",t,1),n}function ep(e){const t={type:"IntersectionTypeAnnotation",types:e},n=Xu.IntersectionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function tp(){return{type:"MixedTypeAnnotation"}}function np(){return{type:"EmptyTypeAnnotation"}}function rp(e){const t={type:"NullableTypeAnnotation",typeAnnotation:e},n=Xu.NullableTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function ip(e){const t={type:"NumberLiteralTypeAnnotation",value:e},n=Xu.NumberLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function sp(){return{type:"NumberTypeAnnotation"}}function ap(e,t=[],n=[],r=[],i=!1){const s={type:"ObjectTypeAnnotation",properties:e,indexers:t,callProperties:n,internalSlots:r,exact:i},a=Xu.ObjectTypeAnnotation;return Wu(a.properties,s,"properties",e,1),Wu(a.indexers,s,"indexers",t,1),Wu(a.callProperties,s,"callProperties",n,1),Wu(a.internalSlots,s,"internalSlots",r,1),Wu(a.exact,s,"exact",i),s}function op(e,t,n,r,i){const s={type:"ObjectTypeInternalSlot",id:e,value:t,optional:n,static:r,method:i},a=Xu.ObjectTypeInternalSlot;return Wu(a.id,s,"id",e,1),Wu(a.value,s,"value",t,1),Wu(a.optional,s,"optional",n),Wu(a.static,s,"static",r),Wu(a.method,s,"method",i),s}function up(e){const t={type:"ObjectTypeCallProperty",value:e,static:null},n=Xu.ObjectTypeCallProperty;return Wu(n.value,t,"value",e,1),t}function cp(e=null,t,n,r=null){const i={type:"ObjectTypeIndexer",id:e,key:t,value:n,variance:r,static:null},s=Xu.ObjectTypeIndexer;return Wu(s.id,i,"id",e,1),Wu(s.key,i,"key",t,1),Wu(s.value,i,"value",n,1),Wu(s.variance,i,"variance",r,1),i}function lp(e,t,n=null){const r={type:"ObjectTypeProperty",key:e,value:t,variance:n,kind:null,method:null,optional:null,proto:null,static:null},i=Xu.ObjectTypeProperty;return Wu(i.key,r,"key",e,1),Wu(i.value,r,"value",t,1),Wu(i.variance,r,"variance",n,1),r}function pp(e){const t={type:"ObjectTypeSpreadProperty",argument:e},n=Xu.ObjectTypeSpreadProperty;return Wu(n.argument,t,"argument",e,1),t}function dp(e,t=null,n=null,r){const i={type:"OpaqueType",id:e,typeParameters:t,supertype:n,impltype:r},s=Xu.OpaqueType;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.supertype,i,"supertype",n,1),Wu(s.impltype,i,"impltype",r,1),i}function hp(e,t){const n={type:"QualifiedTypeIdentifier",id:e,qualification:t},r=Xu.QualifiedTypeIdentifier;return Wu(r.id,n,"id",e,1),Wu(r.qualification,n,"qualification",t,1),n}function fp(e){const t={type:"StringLiteralTypeAnnotation",value:e},n=Xu.StringLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function mp(){return{type:"StringTypeAnnotation"}}function yp(){return{type:"SymbolTypeAnnotation"}}function gp(){return{type:"ThisTypeAnnotation"}}function bp(e){const t={type:"TupleTypeAnnotation",types:e},n=Xu.TupleTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function xp(e){const t={type:"TypeofTypeAnnotation",argument:e},n=Xu.TypeofTypeAnnotation;return Wu(n.argument,t,"argument",e,1),t}function Sp(e,t=null,n){const r={type:"TypeAlias",id:e,typeParameters:t,right:n},i=Xu.TypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function Tp(e){const t={type:"TypeAnnotation",typeAnnotation:e},n=Xu.TypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ep(e,t){const n={type:"TypeCastExpression",expression:e,typeAnnotation:t},r=Xu.TypeCastExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pp(e=null,t=null,n=null){const r={type:"TypeParameter",bound:e,default:t,variance:n,name:null},i=Xu.TypeParameter;return Wu(i.bound,r,"bound",e,1),Wu(i.default,r,"default",t,1),Wu(i.variance,r,"variance",n,1),r}function vp(e){const t={type:"TypeParameterDeclaration",params:e},n=Xu.TypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ap(e){const t={type:"TypeParameterInstantiation",params:e},n=Xu.TypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function wp(e){const t={type:"UnionTypeAnnotation",types:e},n=Xu.UnionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function Cp(e){const t={type:"Variance",kind:e},n=Xu.Variance;return Wu(n.kind,t,"kind",e),t}function kp(){return{type:"VoidTypeAnnotation"}}function Ip(e,t){const n={type:"EnumDeclaration",id:e,body:t},r=Xu.EnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function _p(e){const t={type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumBooleanBody;return Wu(n.members,t,"members",e,1),t}function Np(e){const t={type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumNumberBody;return Wu(n.members,t,"members",e,1),t}function Lp(e){const t={type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumStringBody;return Wu(n.members,t,"members",e,1),t}function Op(e){const t={type:"EnumSymbolBody",members:e,hasUnknownMembers:null},n=Xu.EnumSymbolBody;return Wu(n.members,t,"members",e,1),t}function Dp(e){const t={type:"EnumBooleanMember",id:e,init:null},n=Xu.EnumBooleanMember;return Wu(n.id,t,"id",e,1),t}function Mp(e,t){const n={type:"EnumNumberMember",id:e,init:t},r=Xu.EnumNumberMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Bp(e,t){const n={type:"EnumStringMember",id:e,init:t},r=Xu.EnumStringMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Fp(e){const t={type:"EnumDefaultedMember",id:e},n=Xu.EnumDefaultedMember;return Wu(n.id,t,"id",e,1),t}function Rp(e,t){const n={type:"IndexedAccessType",objectType:e,indexType:t},r=Xu.IndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function jp(e,t){const n={type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null},r=Xu.OptionalIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function Up(e,t=null){const n={type:"JSXAttribute",name:e,value:t},r=Xu.JSXAttribute;return Wu(r.name,n,"name",e,1),Wu(r.value,n,"value",t,1),n}function qp(e){const t={type:"JSXClosingElement",name:e},n=Xu.JSXClosingElement;return Wu(n.name,t,"name",e,1),t}function $p(e,t=null,n){const r={type:"JSXElement",openingElement:e,closingElement:t,children:n},i=Xu.JSXElement;return Wu(i.openingElement,r,"openingElement",e,1),Wu(i.closingElement,r,"closingElement",t,1),Wu(i.children,r,"children",n,1),r}function Jp(){return{type:"JSXEmptyExpression"}}function Vp(e){const t={type:"JSXExpressionContainer",expression:e},n=Xu.JSXExpressionContainer;return Wu(n.expression,t,"expression",e,1),t}function Kp(e){const t={type:"JSXSpreadChild",expression:e},n=Xu.JSXSpreadChild;return Wu(n.expression,t,"expression",e,1),t}function Wp(e){const t={type:"JSXIdentifier",name:e},n=Xu.JSXIdentifier;return Wu(n.name,t,"name",e),t}function Xp(e,t){const n={type:"JSXMemberExpression",object:e,property:t},r=Xu.JSXMemberExpression;return Wu(r.object,n,"object",e,1),Wu(r.property,n,"property",t,1),n}function Hp(e,t){const n={type:"JSXNamespacedName",namespace:e,name:t},r=Xu.JSXNamespacedName;return Wu(r.namespace,n,"namespace",e,1),Wu(r.name,n,"name",t,1),n}function zp(e,t,n=!1){const r={type:"JSXOpeningElement",name:e,attributes:t,selfClosing:n},i=Xu.JSXOpeningElement;return Wu(i.name,r,"name",e,1),Wu(i.attributes,r,"attributes",t,1),Wu(i.selfClosing,r,"selfClosing",n),r}function Yp(e){const t={type:"JSXSpreadAttribute",argument:e},n=Xu.JSXSpreadAttribute;return Wu(n.argument,t,"argument",e,1),t}function Gp(e){const t={type:"JSXText",value:e},n=Xu.JSXText;return Wu(n.value,t,"value",e),t}function Qp(e,t,n){const r={type:"JSXFragment",openingFragment:e,closingFragment:t,children:n},i=Xu.JSXFragment;return Wu(i.openingFragment,r,"openingFragment",e,1),Wu(i.closingFragment,r,"closingFragment",t,1),Wu(i.children,r,"children",n,1),r}function Zp(){return{type:"JSXOpeningFragment"}}function ed(){return{type:"JSXClosingFragment"}}function td(e,t){const n={type:"Placeholder",expectedNode:e,name:t},r=Xu.Placeholder;return Wu(r.expectedNode,n,"expectedNode",e),Wu(r.name,n,"name",t,1),n}function nd(e){const t={type:"V8IntrinsicIdentifier",name:e},n=Xu.V8IntrinsicIdentifier;return Wu(n.name,t,"name",e),t}function rd(){return{type:"ArgumentPlaceholder"}}function id(e,t){const n={type:"BindExpression",object:e,callee:t},r=Xu.BindExpression;return Wu(r.object,n,"object",e,1),Wu(r.callee,n,"callee",t,1),n}function sd(e){const t={type:"Decorator",expression:e},n=Xu.Decorator;return Wu(n.expression,t,"expression",e,1),t}function ad(e,t=!1){const n={type:"DoExpression",body:e,async:t},r=Xu.DoExpression;return Wu(r.body,n,"body",e,1),Wu(r.async,n,"async",t),n}function od(e){const t={type:"ExportDefaultSpecifier",exported:e},n=Xu.ExportDefaultSpecifier;return Wu(n.exported,t,"exported",e,1),t}function ud(e){const t={type:"RecordExpression",properties:e},n=Xu.RecordExpression;return Wu(n.properties,t,"properties",e,1),t}function cd(e=[]){const t={type:"TupleExpression",elements:e},n=Xu.TupleExpression;return Wu(n.elements,t,"elements",e,1),t}function ld(e){const t={type:"ModuleExpression",body:e},n=Xu.ModuleExpression;return Wu(n.body,t,"body",e,1),t}function pd(){return{type:"TopicReference"}}function dd(e){const t={type:"PipelineTopicExpression",expression:e},n=Xu.PipelineTopicExpression;return Wu(n.expression,t,"expression",e,1),t}function hd(e){const t={type:"PipelineBareFunction",callee:e},n=Xu.PipelineBareFunction;return Wu(n.callee,t,"callee",e,1),t}function fd(){return{type:"PipelinePrimaryTopicReference"}}function md(){return{type:"VoidPattern"}}function yd(e){const t={type:"TSParameterProperty",parameter:e},n=Xu.TSParameterProperty;return Wu(n.parameter,t,"parameter",e,1),t}function gd(e=null,t=null,n,r=null){const i={type:"TSDeclareFunction",id:e,typeParameters:t,params:n,returnType:r},s=Xu.TSDeclareFunction;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function bd(e=null,t,n=null,r,i=null){const s={type:"TSDeclareMethod",decorators:e,key:t,typeParameters:n,params:r,returnType:i},a=Xu.TSDeclareMethod;return Wu(a.decorators,s,"decorators",e,1),Wu(a.key,s,"key",t,1),Wu(a.typeParameters,s,"typeParameters",n,1),Wu(a.params,s,"params",r,1),Wu(a.returnType,s,"returnType",i,1),s}function xd(e,t){const n={type:"TSQualifiedName",left:e,right:t},r=Xu.TSQualifiedName;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Sd(e=null,t,n=null){const r={type:"TSCallSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSCallSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Td(e=null,t,n=null){const r={type:"TSConstructSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ed(e,t=null){const n={type:"TSPropertySignature",key:e,typeAnnotation:t},r=Xu.TSPropertySignature;return Wu(r.key,n,"key",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pd(e,t=null,n,r=null){const i={type:"TSMethodSignature",key:e,typeParameters:t,params:n,returnType:r,kind:null},s=Xu.TSMethodSignature;return Wu(s.key,i,"key",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function vd(e,t=null){const n={type:"TSIndexSignature",parameters:e,typeAnnotation:t},r=Xu.TSIndexSignature;return Wu(r.parameters,n,"parameters",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Ad(){return{type:"TSAnyKeyword"}}function wd(){return{type:"TSBooleanKeyword"}}function Cd(){return{type:"TSBigIntKeyword"}}function kd(){return{type:"TSIntrinsicKeyword"}}function Id(){return{type:"TSNeverKeyword"}}function _d(){return{type:"TSNullKeyword"}}function Nd(){return{type:"TSNumberKeyword"}}function Ld(){return{type:"TSObjectKeyword"}}function Od(){return{type:"TSStringKeyword"}}function Dd(){return{type:"TSSymbolKeyword"}}function Md(){return{type:"TSUndefinedKeyword"}}function Bd(){return{type:"TSUnknownKeyword"}}function Fd(){return{type:"TSVoidKeyword"}}function Rd(){return{type:"TSThisType"}}function jd(e=null,t,n=null){const r={type:"TSFunctionType",typeParameters:e,params:t,returnType:n},i=Xu.TSFunctionType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ud(e=null,t,n=null){const r={type:"TSConstructorType",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructorType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function qd(e,t=null){const n={type:"TSTypeReference",typeName:e,typeArguments:t},r=Xu.TSTypeReference;return Wu(r.typeName,n,"typeName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function $d(e,t=null,n=null){const r={type:"TSTypePredicate",parameterName:e,typeAnnotation:t,asserts:n},i=Xu.TSTypePredicate;return Wu(i.parameterName,r,"parameterName",e,1),Wu(i.typeAnnotation,r,"typeAnnotation",t,1),Wu(i.asserts,r,"asserts",n),r}function Jd(e,t=null){const n={type:"TSTypeQuery",exprName:e,typeArguments:t},r=Xu.TSTypeQuery;return Wu(r.exprName,n,"exprName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function Vd(e){const t={type:"TSTypeLiteral",members:e},n=Xu.TSTypeLiteral;return Wu(n.members,t,"members",e,1),t}function Kd(e){const t={type:"TSArrayType",elementType:e},n=Xu.TSArrayType;return Wu(n.elementType,t,"elementType",e,1),t}function Wd(e){const t={type:"TSTupleType",elementTypes:e},n=Xu.TSTupleType;return Wu(n.elementTypes,t,"elementTypes",e,1),t}function Xd(e){const t={type:"TSOptionalType",typeAnnotation:e},n=Xu.TSOptionalType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Hd(e){const t={type:"TSRestType",typeAnnotation:e},n=Xu.TSRestType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function zd(e,t,n=!1){const r={type:"TSNamedTupleMember",label:e,elementType:t,optional:n},i=Xu.TSNamedTupleMember;return Wu(i.label,r,"label",e,1),Wu(i.elementType,r,"elementType",t,1),Wu(i.optional,r,"optional",n),r}function Yd(e){const t={type:"TSUnionType",types:e},n=Xu.TSUnionType;return Wu(n.types,t,"types",e,1),t}function Gd(e){const t={type:"TSIntersectionType",types:e},n=Xu.TSIntersectionType;return Wu(n.types,t,"types",e,1),t}function Qd(e,t,n,r){const i={type:"TSConditionalType",checkType:e,extendsType:t,trueType:n,falseType:r},s=Xu.TSConditionalType;return Wu(s.checkType,i,"checkType",e,1),Wu(s.extendsType,i,"extendsType",t,1),Wu(s.trueType,i,"trueType",n,1),Wu(s.falseType,i,"falseType",r,1),i}function Zd(e){const t={type:"TSInferType",typeParameter:e},n=Xu.TSInferType;return Wu(n.typeParameter,t,"typeParameter",e,1),t}function eh(e){const t={type:"TSParenthesizedType",typeAnnotation:e},n=Xu.TSParenthesizedType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function th(e,t){const n={type:"TSTypeOperator",typeAnnotation:e,operator:t},r=Xu.TSTypeOperator;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.operator,n,"operator",t),n}function nh(e,t){const n={type:"TSIndexedAccessType",objectType:e,indexType:t},r=Xu.TSIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function rh(e,t,n=null,r=null){const i={type:"TSMappedType",key:e,constraint:t,nameType:n,typeAnnotation:r},s=Xu.TSMappedType;return Wu(s.key,i,"key",e,1),Wu(s.constraint,i,"constraint",t,1),Wu(s.nameType,i,"nameType",n,1),Wu(s.typeAnnotation,i,"typeAnnotation",r,1),i}function ih(e,t){const n={type:"TSTemplateLiteralType",quasis:e,types:t},r=Xu.TSTemplateLiteralType;return Wu(r.quasis,n,"quasis",e,1),Wu(r.types,n,"types",t,1),n}function sh(e){const t={type:"TSLiteralType",literal:e},n=Xu.TSLiteralType;return Wu(n.literal,t,"literal",e,1),t}function ah(e,t=null){const n={type:"TSClassImplements",expression:e,typeArguments:t},r=Xu.TSClassImplements;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function oh(e,t=null){const n={type:"TSInterfaceHeritage",expression:e,typeArguments:t},r=Xu.TSInterfaceHeritage;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function uh(e,t=null,n=null,r){const i={type:"TSInterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.TSInterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function ch(e){const t={type:"TSInterfaceBody",body:e},n=Xu.TSInterfaceBody;return Wu(n.body,t,"body",e,1),t}function lh(e,t=null,n){const r={type:"TSTypeAliasDeclaration",id:e,typeParameters:t,typeAnnotation:n},i=Xu.TSTypeAliasDeclaration;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.typeAnnotation,r,"typeAnnotation",n,1),r}function ph(e,t=null){const n={type:"TSInstantiationExpression",expression:e,typeArguments:t},r=Xu.TSInstantiationExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function dh(e,t){const n={type:"TSAsExpression",expression:e,typeAnnotation:t},r=Xu.TSAsExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function hh(e,t){const n={type:"TSSatisfiesExpression",expression:e,typeAnnotation:t},r=Xu.TSSatisfiesExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function fh(e,t){const n={type:"TSTypeAssertion",typeAnnotation:e,expression:t},r=Xu.TSTypeAssertion;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.expression,n,"expression",t,1),n}function mh(e){const t={type:"TSEnumBody",members:e},n=Xu.TSEnumBody;return Wu(n.members,t,"members",e,1),t}function yh(e,t){const n={type:"TSEnumDeclaration",id:e,body:t},r=Xu.TSEnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function gh(e,t=null){const n={type:"TSEnumMember",id:e,initializer:t},r=Xu.TSEnumMember;return Wu(r.id,n,"id",e,1),Wu(r.initializer,n,"initializer",t,1),n}function bh(e,t){const n={type:"TSModuleDeclaration",id:e,body:t,kind:null},r=Xu.TSModuleDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function xh(e){const t={type:"TSModuleBlock",body:e},n=Xu.TSModuleBlock;return Wu(n.body,t,"body",e,1),t}function Sh(e,t=null,n=null){const r={type:"TSImportType",argument:e,qualifier:t,typeArguments:n},i=Xu.TSImportType;return Wu(i.argument,r,"argument",e,1),Wu(i.qualifier,r,"qualifier",t,1),Wu(i.typeArguments,r,"typeArguments",n,1),r}function Th(e,t){const n={type:"TSImportEqualsDeclaration",id:e,moduleReference:t},r=Xu.TSImportEqualsDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.moduleReference,n,"moduleReference",t,1),n}function Eh(e){const t={type:"TSExternalModuleReference",expression:e},n=Xu.TSExternalModuleReference;return Wu(n.expression,t,"expression",e,1),t}function Ph(e){const t={type:"TSNonNullExpression",expression:e},n=Xu.TSNonNullExpression;return Wu(n.expression,t,"expression",e,1),t}function vh(e){const t={type:"TSExportAssignment",expression:e},n=Xu.TSExportAssignment;return Wu(n.expression,t,"expression",e,1),t}function Ah(e){const t={type:"TSNamespaceExportDeclaration",id:e},n=Xu.TSNamespaceExportDeclaration;return Wu(n.id,t,"id",e,1),t}function wh(e){const t={type:"TSTypeAnnotation",typeAnnotation:e},n=Xu.TSTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ch(e){const t={type:"TSTypeParameterInstantiation",params:e},n=Xu.TSTypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function kh(e){const t={type:"TSTypeParameterDeclaration",params:e},n=Xu.TSTypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ih(e=null,t=null,n){const r={type:"TSTypeParameter",constraint:e,default:t,name:n},i=Xu.TSTypeParameter;return Wu(i.constraint,r,"constraint",e,1),Wu(i.default,r,"default",t,1),Wu(i.name,r,"name",n,1),r}function _h(e){return It("NumberLiteral","NumericLiteral","The node type "),xc(e)}function Nh(e,t=""){return It("RegexLiteral","RegExpLiteral","The node type "),Ec(e,t)}function Lh(e){return It("RestProperty","RestElement","The node type "),_c(e)}function Oh(e){return It("SpreadProperty","SpreadElement","The node type "),ll(e)}var Dh=Object.freeze({__proto__:null,anyTypeAnnotation:Il,argumentPlaceholder:rd,arrayExpression:Hu,arrayPattern:Wc,arrayTypeAnnotation:_l,arrowFunctionExpression:Xc,assignmentExpression:zu,assignmentPattern:Kc,awaitExpression:yl,bigIntLiteral:bl,binaryExpression:Yu,bindExpression:id,blockStatement:ec,booleanLiteral:Tc,booleanLiteralTypeAnnotation:Ll,booleanTypeAnnotation:Nl,breakStatement:tc,callExpression:nc,catchClause:rc,classAccessorProperty:Pl,classBody:Hc,classDeclaration:Yc,classExpression:zc,classImplements:Dl,classMethod:ul,classPrivateMethod:Al,classPrivateProperty:vl,classProperty:El,conditionalExpression:ic,continueStatement:sc,debuggerStatement:ac,declareClass:Ml,declareExportAllDeclaration:Vl,declareExportDeclaration:Jl,declareFunction:Bl,declareInterface:Fl,declareModule:Rl,declareModuleExports:jl,declareOpaqueType:ql,declareTypeAlias:Ul,declareVariable:$l,declaredPredicate:Kl,decorator:sd,directive:Qu,directiveLiteral:Zu,doExpression:ad,doWhileStatement:oc,emptyStatement:uc,emptyTypeAnnotation:np,enumBooleanBody:_p,enumBooleanMember:Dp,enumDeclaration:Ip,enumDefaultedMember:Fp,enumNumberBody:Np,enumNumberMember:Mp,enumStringBody:Lp,enumStringMember:Bp,enumSymbolBody:Op,existsTypeAnnotation:Wl,exportAllDeclaration:Gc,exportDefaultDeclaration:Qc,exportDefaultSpecifier:od,exportNamedDeclaration:Zc,exportNamespaceSpecifier:xl,exportSpecifier:el,expressionStatement:cc,file:lc,forInStatement:pc,forOfStatement:tl,forStatement:dc,functionDeclaration:hc,functionExpression:fc,functionTypeAnnotation:Xl,functionTypeParam:Hl,genericTypeAnnotation:zl,identifier:mc,ifStatement:yc,import:gl,importAttribute:kl,importDeclaration:nl,importDefaultSpecifier:rl,importExpression:al,importNamespaceSpecifier:il,importSpecifier:sl,indexedAccessType:Rp,inferredPredicate:Yl,interfaceDeclaration:Ql,interfaceExtends:Gl,interfaceTypeAnnotation:Zl,interpreterDirective:Gu,intersectionTypeAnnotation:ep,jsxAttribute:Up,jsxClosingElement:qp,jsxClosingFragment:ed,jsxElement:$p,jsxEmptyExpression:Jp,jsxExpressionContainer:Vp,jsxFragment:Qp,jsxIdentifier:Wp,jsxMemberExpression:Xp,jsxNamespacedName:Hp,jsxOpeningElement:zp,jsxOpeningFragment:Zp,jsxSpreadAttribute:Yp,jsxSpreadChild:Kp,jsxText:Gp,labeledStatement:gc,logicalExpression:Pc,memberExpression:vc,metaProperty:ol,mixedTypeAnnotation:tp,moduleExpression:ld,newExpression:Ac,nullLiteral:Sc,nullLiteralTypeAnnotation:Ol,nullableTypeAnnotation:rp,numberLiteral:_h,numberLiteralTypeAnnotation:ip,numberTypeAnnotation:sp,numericLiteral:xc,objectExpression:Cc,objectMethod:kc,objectPattern:cl,objectProperty:Ic,objectTypeAnnotation:ap,objectTypeCallProperty:up,objectTypeIndexer:cp,objectTypeInternalSlot:op,objectTypeProperty:lp,objectTypeSpreadProperty:pp,opaqueType:dp,optionalCallExpression:Tl,optionalIndexedAccessType:jp,optionalMemberExpression:Sl,parenthesizedExpression:Oc,pipelineBareFunction:hd,pipelinePrimaryTopicReference:fd,pipelineTopicExpression:dd,placeholder:td,privateName:wl,program:wc,qualifiedTypeIdentifier:hp,recordExpression:ud,regExpLiteral:Ec,regexLiteral:Nh,restElement:_c,restProperty:Lh,returnStatement:Nc,sequenceExpression:Lc,spreadElement:ll,spreadProperty:Oh,staticBlock:Cl,stringLiteral:bc,stringLiteralTypeAnnotation:fp,stringTypeAnnotation:mp,super:pl,switchCase:Dc,switchStatement:Mc,symbolTypeAnnotation:yp,taggedTemplateExpression:dl,templateElement:hl,templateLiteral:fl,thisExpression:Bc,thisTypeAnnotation:gp,throwStatement:Fc,topicReference:pd,tryStatement:Rc,tsAnyKeyword:Ad,tsArrayType:Kd,tsAsExpression:dh,tsBigIntKeyword:Cd,tsBooleanKeyword:wd,tsCallSignatureDeclaration:Sd,tsClassImplements:ah,tsConditionalType:Qd,tsConstructSignatureDeclaration:Td,tsConstructorType:Ud,tsDeclareFunction:gd,tsDeclareMethod:bd,tsEnumBody:mh,tsEnumDeclaration:yh,tsEnumMember:gh,tsExportAssignment:vh,tsExternalModuleReference:Eh,tsFunctionType:jd,tsImportEqualsDeclaration:Th,tsImportType:Sh,tsIndexSignature:vd,tsIndexedAccessType:nh,tsInferType:Zd,tsInstantiationExpression:ph,tsInterfaceBody:ch,tsInterfaceDeclaration:uh,tsInterfaceHeritage:oh,tsIntersectionType:Gd,tsIntrinsicKeyword:kd,tsLiteralType:sh,tsMappedType:rh,tsMethodSignature:Pd,tsModuleBlock:xh,tsModuleDeclaration:bh,tsNamedTupleMember:zd,tsNamespaceExportDeclaration:Ah,tsNeverKeyword:Id,tsNonNullExpression:Ph,tsNullKeyword:_d,tsNumberKeyword:Nd,tsObjectKeyword:Ld,tsOptionalType:Xd,tsParameterProperty:yd,tsParenthesizedType:eh,tsPropertySignature:Ed,tsQualifiedName:xd,tsRestType:Hd,tsSatisfiesExpression:hh,tsStringKeyword:Od,tsSymbolKeyword:Dd,tsTemplateLiteralType:ih,tsThisType:Rd,tsTupleType:Wd,tsTypeAliasDeclaration:lh,tsTypeAnnotation:wh,tsTypeAssertion:fh,tsTypeLiteral:Vd,tsTypeOperator:th,tsTypeParameter:Ih,tsTypeParameterDeclaration:kh,tsTypeParameterInstantiation:Ch,tsTypePredicate:$d,tsTypeQuery:Jd,tsTypeReference:qd,tsUndefinedKeyword:Md,tsUnionType:Yd,tsUnknownKeyword:Bd,tsVoidKeyword:Fd,tupleExpression:cd,tupleTypeAnnotation:bp,typeAlias:Sp,typeAnnotation:Tp,typeCastExpression:Ep,typeParameter:Pp,typeParameterDeclaration:vp,typeParameterInstantiation:Ap,typeofTypeAnnotation:xp,unaryExpression:jc,unionTypeAnnotation:wp,updateExpression:Uc,v8IntrinsicIdentifier:nd,variableDeclaration:qc,variableDeclarator:$c,variance:Cp,voidPattern:md,voidTypeAnnotation:kp,whileStatement:Jc,withStatement:Vc,yieldExpression:ml});function Mh(e){return function(){return It(e.replace(/^(?:ts|jsx|[a-z])/,e=>e.toUpperCase()),e,"Usage of builders starting with an uppercase letter such as ","uppercase builders"),Dh[e](...arguments)}}var Bh=Mh("arrayExpression"),Fh=Mh("assignmentExpression"),Rh=Mh("binaryExpression"),jh=Mh("interpreterDirective"),Uh=Mh("directive"),qh=Mh("directiveLiteral"),$h=Mh("blockStatement"),Jh=Mh("breakStatement"),Vh=Mh("callExpression"),Kh=Mh("catchClause"),Wh=Mh("conditionalExpression"),Xh=Mh("continueStatement"),Hh=Mh("debuggerStatement"),zh=Mh("doWhileStatement"),Yh=Mh("emptyStatement"),Gh=Mh("expressionStatement"),Qh=Mh("file"),Zh=Mh("forInStatement"),ef=Mh("forStatement"),tf=Mh("functionDeclaration"),nf=Mh("functionExpression"),rf=Mh("identifier"),sf=Mh("ifStatement"),af=Mh("labeledStatement"),of=Mh("stringLiteral"),uf=Mh("numericLiteral"),cf=Mh("nullLiteral"),lf=Mh("booleanLiteral"),pf=Mh("regExpLiteral"),df=Mh("logicalExpression"),hf=Mh("memberExpression"),ff=Mh("newExpression"),mf=Mh("program"),yf=Mh("objectExpression"),gf=Mh("objectMethod"),bf=Mh("objectProperty"),xf=Mh("restElement"),Sf=Mh("returnStatement"),Tf=Mh("sequenceExpression"),Ef=Mh("parenthesizedExpression"),Pf=Mh("switchCase"),vf=Mh("switchStatement"),Af=Mh("thisExpression"),wf=Mh("throwStatement"),Cf=Mh("tryStatement"),kf=Mh("unaryExpression"),If=Mh("updateExpression"),_f=Mh("variableDeclaration"),Nf=Mh("variableDeclarator"),Lf=Mh("whileStatement"),Of=Mh("withStatement"),Df=Mh("assignmentPattern"),Mf=Mh("arrayPattern"),Bf=Mh("arrowFunctionExpression"),Ff=Mh("classBody"),Rf=Mh("classExpression"),jf=Mh("classDeclaration"),Uf=Mh("exportAllDeclaration"),qf=Mh("exportDefaultDeclaration"),$f=Mh("exportNamedDeclaration"),Jf=Mh("exportSpecifier"),Vf=Mh("forOfStatement"),Kf=Mh("importDeclaration"),Wf=Mh("importDefaultSpecifier"),Xf=Mh("importNamespaceSpecifier"),Hf=Mh("importSpecifier"),zf=Mh("importExpression"),Yf=Mh("metaProperty"),Gf=Mh("classMethod"),Qf=Mh("objectPattern"),Zf=Mh("spreadElement"),em=Mh("super"),tm=Mh("taggedTemplateExpression"),nm=Mh("templateElement"),rm=Mh("templateLiteral"),im=Mh("yieldExpression"),sm=Mh("awaitExpression"),am=Mh("import"),om=Mh("bigIntLiteral"),um=Mh("exportNamespaceSpecifier"),cm=Mh("optionalMemberExpression"),lm=Mh("optionalCallExpression"),pm=Mh("classProperty"),dm=Mh("classAccessorProperty"),hm=Mh("classPrivateProperty"),fm=Mh("classPrivateMethod"),mm=Mh("privateName"),ym=Mh("staticBlock"),gm=Mh("importAttribute"),bm=Mh("anyTypeAnnotation"),xm=Mh("arrayTypeAnnotation"),Sm=Mh("booleanTypeAnnotation"),Tm=Mh("booleanLiteralTypeAnnotation"),Em=Mh("nullLiteralTypeAnnotation"),Pm=Mh("classImplements"),vm=Mh("declareClass"),Am=Mh("declareFunction"),wm=Mh("declareInterface"),Cm=Mh("declareModule"),km=Mh("declareModuleExports"),Im=Mh("declareTypeAlias"),_m=Mh("declareOpaqueType"),Nm=Mh("declareVariable"),Lm=Mh("declareExportDeclaration"),Om=Mh("declareExportAllDeclaration"),Dm=Mh("declaredPredicate"),Mm=Mh("existsTypeAnnotation"),Bm=Mh("functionTypeAnnotation"),Fm=Mh("functionTypeParam"),Rm=Mh("genericTypeAnnotation"),jm=Mh("inferredPredicate"),Um=Mh("interfaceExtends"),qm=Mh("interfaceDeclaration"),$m=Mh("interfaceTypeAnnotation"),Jm=Mh("intersectionTypeAnnotation"),Vm=Mh("mixedTypeAnnotation"),Km=Mh("emptyTypeAnnotation"),Wm=Mh("nullableTypeAnnotation"),Xm=Mh("numberLiteralTypeAnnotation"),Hm=Mh("numberTypeAnnotation"),zm=Mh("objectTypeAnnotation"),Ym=Mh("objectTypeInternalSlot"),Gm=Mh("objectTypeCallProperty"),Qm=Mh("objectTypeIndexer"),Zm=Mh("objectTypeProperty"),ey=Mh("objectTypeSpreadProperty"),ty=Mh("opaqueType"),ny=Mh("qualifiedTypeIdentifier"),ry=Mh("stringLiteralTypeAnnotation"),iy=Mh("stringTypeAnnotation"),sy=Mh("symbolTypeAnnotation"),ay=Mh("thisTypeAnnotation"),oy=Mh("tupleTypeAnnotation"),uy=Mh("typeofTypeAnnotation"),cy=Mh("typeAlias"),ly=Mh("typeAnnotation"),py=Mh("typeCastExpression"),dy=Mh("typeParameter"),hy=Mh("typeParameterDeclaration"),fy=Mh("typeParameterInstantiation"),my=Mh("unionTypeAnnotation"),yy=Mh("variance"),gy=Mh("voidTypeAnnotation"),by=Mh("enumDeclaration"),xy=Mh("enumBooleanBody"),Sy=Mh("enumNumberBody"),Ty=Mh("enumStringBody"),Ey=Mh("enumSymbolBody"),Py=Mh("enumBooleanMember"),vy=Mh("enumNumberMember"),Ay=Mh("enumStringMember"),wy=Mh("enumDefaultedMember"),Cy=Mh("indexedAccessType"),ky=Mh("optionalIndexedAccessType"),Iy=Mh("jsxAttribute"),_y=Mh("jsxClosingElement"),Ny=Mh("jsxElement"),Ly=Mh("jsxEmptyExpression"),Oy=Mh("jsxExpressionContainer"),Dy=Mh("jsxSpreadChild"),My=Mh("jsxIdentifier"),By=Mh("jsxMemberExpression"),Fy=Mh("jsxNamespacedName"),Ry=Mh("jsxOpeningElement"),jy=Mh("jsxSpreadAttribute"),Uy=Mh("jsxText"),qy=Mh("jsxFragment"),$y=Mh("jsxOpeningFragment"),Jy=Mh("jsxClosingFragment"),Vy=Mh("placeholder"),Ky=Mh("v8IntrinsicIdentifier"),Wy=Mh("argumentPlaceholder"),Xy=Mh("bindExpression"),Hy=Mh("decorator"),zy=Mh("doExpression"),Yy=Mh("exportDefaultSpecifier"),Gy=Mh("recordExpression"),Qy=Mh("tupleExpression"),Zy=Mh("moduleExpression"),eg=Mh("topicReference"),tg=Mh("pipelineTopicExpression"),ng=Mh("pipelineBareFunction"),rg=Mh("pipelinePrimaryTopicReference"),ig=Mh("voidPattern"),sg=Mh("tsParameterProperty"),ag=Mh("tsDeclareFunction"),og=Mh("tsDeclareMethod"),ug=Mh("tsQualifiedName"),cg=Mh("tsCallSignatureDeclaration"),lg=Mh("tsConstructSignatureDeclaration"),pg=Mh("tsPropertySignature"),dg=Mh("tsMethodSignature"),hg=Mh("tsIndexSignature"),fg=Mh("tsAnyKeyword"),mg=Mh("tsBooleanKeyword"),yg=Mh("tsBigIntKeyword"),gg=Mh("tsIntrinsicKeyword"),bg=Mh("tsNeverKeyword"),xg=Mh("tsNullKeyword"),Sg=Mh("tsNumberKeyword"),Tg=Mh("tsObjectKeyword"),Eg=Mh("tsStringKeyword"),Pg=Mh("tsSymbolKeyword"),vg=Mh("tsUndefinedKeyword"),Ag=Mh("tsUnknownKeyword"),wg=Mh("tsVoidKeyword"),Cg=Mh("tsThisType"),kg=Mh("tsFunctionType"),Ig=Mh("tsConstructorType"),_g=Mh("tsTypeReference"),Ng=Mh("tsTypePredicate"),Lg=Mh("tsTypeQuery"),Og=Mh("tsTypeLiteral"),Dg=Mh("tsArrayType"),Mg=Mh("tsTupleType"),Bg=Mh("tsOptionalType"),Fg=Mh("tsRestType"),Rg=Mh("tsNamedTupleMember"),jg=Mh("tsUnionType"),Ug=Mh("tsIntersectionType"),qg=Mh("tsConditionalType"),$g=Mh("tsInferType"),Jg=Mh("tsParenthesizedType"),Vg=Mh("tsTypeOperator"),Kg=Mh("tsIndexedAccessType"),Wg=Mh("tsMappedType"),Xg=Mh("tsTemplateLiteralType"),Hg=Mh("tsLiteralType"),zg=Mh("tsClassImplements"),Yg=Mh("tsInterfaceHeritage"),Gg=Mh("tsInterfaceDeclaration"),Qg=Mh("tsInterfaceBody"),Zg=Mh("tsTypeAliasDeclaration"),eb=Mh("tsInstantiationExpression"),tb=Mh("tsAsExpression"),nb=Mh("tsSatisfiesExpression"),rb=Mh("tsTypeAssertion"),ib=Mh("tsEnumBody"),sb=Mh("tsEnumDeclaration"),ab=Mh("tsEnumMember"),ob=Mh("tsModuleDeclaration"),ub=Mh("tsModuleBlock"),cb=Mh("tsImportType"),lb=Mh("tsImportEqualsDeclaration"),pb=Mh("tsExternalModuleReference"),db=Mh("tsNonNullExpression"),hb=Mh("tsExportAssignment"),fb=Mh("tsNamespaceExportDeclaration"),mb=Mh("tsTypeAnnotation"),yb=Mh("tsTypeParameterInstantiation"),gb=Mh("tsTypeParameterDeclaration"),bb=Mh("tsTypeParameter");function xb(e,t){const n=e.value.split(/\r\n|\n|\r/);let r=0;for(let e=0;e<n.length;e++)/[^ \t]/.exec(n[e])&&(r=e);let i="";for(let e=0;e<n.length;e++){const t=n[e],s=0===e,a=e===n.length-1,o=e===r;let u=t.replace(/\t/g," ");s||(u=u.replace(/^ +/,"")),a||(u=u.replace(/ +$/,"")),u&&(o||(u+=" "),i+=u)}i&&t.push(XA(bc(i),e))}function Sb(e){return!(!e||!Uo[e.type])}function Tb(e){if(!Sb(e)){const t=e?.type??JSON.stringify(e);throw new TypeError(`Not a valid node of type "${t}"`)}}function Eb(e,t,n){if(!So(e,t,n))throw new Error(`Expected type "${e}" with option ${JSON.stringify(n)}, but instead got "${t.type}".`)}function Pb(e,t){Eb("ArrayExpression",e,t)}function vb(e,t){Eb("AssignmentExpression",e,t)}function Ab(e,t){Eb("BinaryExpression",e,t)}function wb(e,t){Eb("InterpreterDirective",e,t)}function Cb(e,t){Eb("Directive",e,t)}function kb(e,t){Eb("DirectiveLiteral",e,t)}function Ib(e,t){Eb("BlockStatement",e,t)}function _b(e,t){Eb("BreakStatement",e,t)}function Nb(e,t){Eb("CallExpression",e,t)}function Lb(e,t){Eb("CatchClause",e,t)}function Ob(e,t){Eb("ConditionalExpression",e,t)}function Db(e,t){Eb("ContinueStatement",e,t)}function Mb(e,t){Eb("DebuggerStatement",e,t)}function Bb(e,t){Eb("DoWhileStatement",e,t)}function Fb(e,t){Eb("EmptyStatement",e,t)}function Rb(e,t){Eb("ExpressionStatement",e,t)}function jb(e,t){Eb("File",e,t)}function Ub(e,t){Eb("ForInStatement",e,t)}function qb(e,t){Eb("ForStatement",e,t)}function $b(e,t){Eb("FunctionDeclaration",e,t)}function Jb(e,t){Eb("FunctionExpression",e,t)}function Vb(e,t){Eb("Identifier",e,t)}function Kb(e,t){Eb("IfStatement",e,t)}function Wb(e,t){Eb("LabeledStatement",e,t)}function Xb(e,t){Eb("StringLiteral",e,t)}function Hb(e,t){Eb("NumericLiteral",e,t)}function zb(e,t){Eb("NullLiteral",e,t)}function Yb(e,t){Eb("BooleanLiteral",e,t)}function Gb(e,t){Eb("RegExpLiteral",e,t)}function Qb(e,t){Eb("LogicalExpression",e,t)}function Zb(e,t){Eb("MemberExpression",e,t)}function ex(e,t){Eb("NewExpression",e,t)}function tx(e,t){Eb("Program",e,t)}function nx(e,t){Eb("ObjectExpression",e,t)}function rx(e,t){Eb("ObjectMethod",e,t)}function ix(e,t){Eb("ObjectProperty",e,t)}function sx(e,t){Eb("RestElement",e,t)}function ax(e,t){Eb("ReturnStatement",e,t)}function ox(e,t){Eb("SequenceExpression",e,t)}function ux(e,t){Eb("ParenthesizedExpression",e,t)}function cx(e,t){Eb("SwitchCase",e,t)}function lx(e,t){Eb("SwitchStatement",e,t)}function px(e,t){Eb("ThisExpression",e,t)}function dx(e,t){Eb("ThrowStatement",e,t)}function hx(e,t){Eb("TryStatement",e,t)}function fx(e,t){Eb("UnaryExpression",e,t)}function mx(e,t){Eb("UpdateExpression",e,t)}function yx(e,t){Eb("VariableDeclaration",e,t)}function gx(e,t){Eb("VariableDeclarator",e,t)}function bx(e,t){Eb("WhileStatement",e,t)}function xx(e,t){Eb("WithStatement",e,t)}function Sx(e,t){Eb("AssignmentPattern",e,t)}function Tx(e,t){Eb("ArrayPattern",e,t)}function Ex(e,t){Eb("ArrowFunctionExpression",e,t)}function Px(e,t){Eb("ClassBody",e,t)}function vx(e,t){Eb("ClassExpression",e,t)}function Ax(e,t){Eb("ClassDeclaration",e,t)}function wx(e,t){Eb("ExportAllDeclaration",e,t)}function Cx(e,t){Eb("ExportDefaultDeclaration",e,t)}function kx(e,t){Eb("ExportNamedDeclaration",e,t)}function Ix(e,t){Eb("ExportSpecifier",e,t)}function _x(e,t){Eb("ForOfStatement",e,t)}function Nx(e,t){Eb("ImportDeclaration",e,t)}function Lx(e,t){Eb("ImportDefaultSpecifier",e,t)}function Ox(e,t){Eb("ImportNamespaceSpecifier",e,t)}function Dx(e,t){Eb("ImportSpecifier",e,t)}function Mx(e,t){Eb("ImportExpression",e,t)}function Bx(e,t){Eb("MetaProperty",e,t)}function Fx(e,t){Eb("ClassMethod",e,t)}function Rx(e,t){Eb("ObjectPattern",e,t)}function jx(e,t){Eb("SpreadElement",e,t)}function Ux(e,t){Eb("Super",e,t)}function qx(e,t){Eb("TaggedTemplateExpression",e,t)}function $x(e,t){Eb("TemplateElement",e,t)}function Jx(e,t){Eb("TemplateLiteral",e,t)}function Vx(e,t){Eb("YieldExpression",e,t)}function Kx(e,t){Eb("AwaitExpression",e,t)}function Wx(e,t){Eb("Import",e,t)}function Xx(e,t){Eb("BigIntLiteral",e,t)}function Hx(e,t){Eb("ExportNamespaceSpecifier",e,t)}function zx(e,t){Eb("OptionalMemberExpression",e,t)}function Yx(e,t){Eb("OptionalCallExpression",e,t)}function Gx(e,t){Eb("ClassProperty",e,t)}function Qx(e,t){Eb("ClassAccessorProperty",e,t)}function Zx(e,t){Eb("ClassPrivateProperty",e,t)}function eS(e,t){Eb("ClassPrivateMethod",e,t)}function tS(e,t){Eb("PrivateName",e,t)}function nS(e,t){Eb("StaticBlock",e,t)}function rS(e,t){Eb("ImportAttribute",e,t)}function iS(e,t){Eb("AnyTypeAnnotation",e,t)}function sS(e,t){Eb("ArrayTypeAnnotation",e,t)}function aS(e,t){Eb("BooleanTypeAnnotation",e,t)}function oS(e,t){Eb("BooleanLiteralTypeAnnotation",e,t)}function uS(e,t){Eb("NullLiteralTypeAnnotation",e,t)}function cS(e,t){Eb("ClassImplements",e,t)}function lS(e,t){Eb("DeclareClass",e,t)}function pS(e,t){Eb("DeclareFunction",e,t)}function dS(e,t){Eb("DeclareInterface",e,t)}function hS(e,t){Eb("DeclareModule",e,t)}function fS(e,t){Eb("DeclareModuleExports",e,t)}function mS(e,t){Eb("DeclareTypeAlias",e,t)}function yS(e,t){Eb("DeclareOpaqueType",e,t)}function gS(e,t){Eb("DeclareVariable",e,t)}function bS(e,t){Eb("DeclareExportDeclaration",e,t)}function xS(e,t){Eb("DeclareExportAllDeclaration",e,t)}function SS(e,t){Eb("DeclaredPredicate",e,t)}function TS(e,t){Eb("ExistsTypeAnnotation",e,t)}function ES(e,t){Eb("FunctionTypeAnnotation",e,t)}function PS(e,t){Eb("FunctionTypeParam",e,t)}function vS(e,t){Eb("GenericTypeAnnotation",e,t)}function AS(e,t){Eb("InferredPredicate",e,t)}function wS(e,t){Eb("InterfaceExtends",e,t)}function CS(e,t){Eb("InterfaceDeclaration",e,t)}function kS(e,t){Eb("InterfaceTypeAnnotation",e,t)}function IS(e,t){Eb("IntersectionTypeAnnotation",e,t)}function _S(e,t){Eb("MixedTypeAnnotation",e,t)}function NS(e,t){Eb("EmptyTypeAnnotation",e,t)}function LS(e,t){Eb("NullableTypeAnnotation",e,t)}function OS(e,t){Eb("NumberLiteralTypeAnnotation",e,t)}function DS(e,t){Eb("NumberTypeAnnotation",e,t)}function MS(e,t){Eb("ObjectTypeAnnotation",e,t)}function BS(e,t){Eb("ObjectTypeInternalSlot",e,t)}function FS(e,t){Eb("ObjectTypeCallProperty",e,t)}function RS(e,t){Eb("ObjectTypeIndexer",e,t)}function jS(e,t){Eb("ObjectTypeProperty",e,t)}function US(e,t){Eb("ObjectTypeSpreadProperty",e,t)}function qS(e,t){Eb("OpaqueType",e,t)}function $S(e,t){Eb("QualifiedTypeIdentifier",e,t)}function JS(e,t){Eb("StringLiteralTypeAnnotation",e,t)}function VS(e,t){Eb("StringTypeAnnotation",e,t)}function KS(e,t){Eb("SymbolTypeAnnotation",e,t)}function WS(e,t){Eb("ThisTypeAnnotation",e,t)}function XS(e,t){Eb("TupleTypeAnnotation",e,t)}function HS(e,t){Eb("TypeofTypeAnnotation",e,t)}function zS(e,t){Eb("TypeAlias",e,t)}function YS(e,t){Eb("TypeAnnotation",e,t)}function GS(e,t){Eb("TypeCastExpression",e,t)}function QS(e,t){Eb("TypeParameter",e,t)}function ZS(e,t){Eb("TypeParameterDeclaration",e,t)}function eT(e,t){Eb("TypeParameterInstantiation",e,t)}function tT(e,t){Eb("UnionTypeAnnotation",e,t)}function nT(e,t){Eb("Variance",e,t)}function rT(e,t){Eb("VoidTypeAnnotation",e,t)}function iT(e,t){Eb("EnumDeclaration",e,t)}function sT(e,t){Eb("EnumBooleanBody",e,t)}function aT(e,t){Eb("EnumNumberBody",e,t)}function oT(e,t){Eb("EnumStringBody",e,t)}function uT(e,t){Eb("EnumSymbolBody",e,t)}function cT(e,t){Eb("EnumBooleanMember",e,t)}function lT(e,t){Eb("EnumNumberMember",e,t)}function pT(e,t){Eb("EnumStringMember",e,t)}function dT(e,t){Eb("EnumDefaultedMember",e,t)}function hT(e,t){Eb("IndexedAccessType",e,t)}function fT(e,t){Eb("OptionalIndexedAccessType",e,t)}function mT(e,t){Eb("JSXAttribute",e,t)}function yT(e,t){Eb("JSXClosingElement",e,t)}function gT(e,t){Eb("JSXElement",e,t)}function bT(e,t){Eb("JSXEmptyExpression",e,t)}function xT(e,t){Eb("JSXExpressionContainer",e,t)}function ST(e,t){Eb("JSXSpreadChild",e,t)}function TT(e,t){Eb("JSXIdentifier",e,t)}function ET(e,t){Eb("JSXMemberExpression",e,t)}function PT(e,t){Eb("JSXNamespacedName",e,t)}function vT(e,t){Eb("JSXOpeningElement",e,t)}function AT(e,t){Eb("JSXSpreadAttribute",e,t)}function wT(e,t){Eb("JSXText",e,t)}function CT(e,t){Eb("JSXFragment",e,t)}function kT(e,t){Eb("JSXOpeningFragment",e,t)}function IT(e,t){Eb("JSXClosingFragment",e,t)}function _T(e,t){Eb("Placeholder",e,t)}function NT(e,t){Eb("V8IntrinsicIdentifier",e,t)}function LT(e,t){Eb("ArgumentPlaceholder",e,t)}function OT(e,t){Eb("BindExpression",e,t)}function DT(e,t){Eb("Decorator",e,t)}function MT(e,t){Eb("DoExpression",e,t)}function BT(e,t){Eb("ExportDefaultSpecifier",e,t)}function FT(e,t){Eb("RecordExpression",e,t)}function RT(e,t){Eb("TupleExpression",e,t)}function jT(e,t){Eb("ModuleExpression",e,t)}function UT(e,t){Eb("TopicReference",e,t)}function qT(e,t){Eb("PipelineTopicExpression",e,t)}function $T(e,t){Eb("PipelineBareFunction",e,t)}function JT(e,t){Eb("PipelinePrimaryTopicReference",e,t)}function VT(e,t){Eb("VoidPattern",e,t)}function KT(e,t){Eb("TSParameterProperty",e,t)}function WT(e,t){Eb("TSDeclareFunction",e,t)}function XT(e,t){Eb("TSDeclareMethod",e,t)}function HT(e,t){Eb("TSQualifiedName",e,t)}function zT(e,t){Eb("TSCallSignatureDeclaration",e,t)}function YT(e,t){Eb("TSConstructSignatureDeclaration",e,t)}function GT(e,t){Eb("TSPropertySignature",e,t)}function QT(e,t){Eb("TSMethodSignature",e,t)}function ZT(e,t){Eb("TSIndexSignature",e,t)}function eE(e,t){Eb("TSAnyKeyword",e,t)}function tE(e,t){Eb("TSBooleanKeyword",e,t)}function nE(e,t){Eb("TSBigIntKeyword",e,t)}function rE(e,t){Eb("TSIntrinsicKeyword",e,t)}function iE(e,t){Eb("TSNeverKeyword",e,t)}function sE(e,t){Eb("TSNullKeyword",e,t)}function aE(e,t){Eb("TSNumberKeyword",e,t)}function oE(e,t){Eb("TSObjectKeyword",e,t)}function uE(e,t){Eb("TSStringKeyword",e,t)}function cE(e,t){Eb("TSSymbolKeyword",e,t)}function lE(e,t){Eb("TSUndefinedKeyword",e,t)}function pE(e,t){Eb("TSUnknownKeyword",e,t)}function dE(e,t){Eb("TSVoidKeyword",e,t)}function hE(e,t){Eb("TSThisType",e,t)}function fE(e,t){Eb("TSFunctionType",e,t)}function mE(e,t){Eb("TSConstructorType",e,t)}function yE(e,t){Eb("TSTypeReference",e,t)}function gE(e,t){Eb("TSTypePredicate",e,t)}function bE(e,t){Eb("TSTypeQuery",e,t)}function xE(e,t){Eb("TSTypeLiteral",e,t)}function SE(e,t){Eb("TSArrayType",e,t)}function TE(e,t){Eb("TSTupleType",e,t)}function EE(e,t){Eb("TSOptionalType",e,t)}function PE(e,t){Eb("TSRestType",e,t)}function vE(e,t){Eb("TSNamedTupleMember",e,t)}function AE(e,t){Eb("TSUnionType",e,t)}function wE(e,t){Eb("TSIntersectionType",e,t)}function CE(e,t){Eb("TSConditionalType",e,t)}function kE(e,t){Eb("TSInferType",e,t)}function IE(e,t){Eb("TSParenthesizedType",e,t)}function _E(e,t){Eb("TSTypeOperator",e,t)}function NE(e,t){Eb("TSIndexedAccessType",e,t)}function LE(e,t){Eb("TSMappedType",e,t)}function OE(e,t){Eb("TSTemplateLiteralType",e,t)}function DE(e,t){Eb("TSLiteralType",e,t)}function ME(e,t){Eb("TSClassImplements",e,t)}function BE(e,t){Eb("TSInterfaceHeritage",e,t)}function FE(e,t){Eb("TSInterfaceDeclaration",e,t)}function RE(e,t){Eb("TSInterfaceBody",e,t)}function jE(e,t){Eb("TSTypeAliasDeclaration",e,t)}function UE(e,t){Eb("TSInstantiationExpression",e,t)}function qE(e,t){Eb("TSAsExpression",e,t)}function $E(e,t){Eb("TSSatisfiesExpression",e,t)}function JE(e,t){Eb("TSTypeAssertion",e,t)}function VE(e,t){Eb("TSEnumBody",e,t)}function KE(e,t){Eb("TSEnumDeclaration",e,t)}function WE(e,t){Eb("TSEnumMember",e,t)}function XE(e,t){Eb("TSModuleDeclaration",e,t)}function HE(e,t){Eb("TSModuleBlock",e,t)}function zE(e,t){Eb("TSImportType",e,t)}function YE(e,t){Eb("TSImportEqualsDeclaration",e,t)}function GE(e,t){Eb("TSExternalModuleReference",e,t)}function QE(e,t){Eb("TSNonNullExpression",e,t)}function ZE(e,t){Eb("TSExportAssignment",e,t)}function eP(e,t){Eb("TSNamespaceExportDeclaration",e,t)}function tP(e,t){Eb("TSTypeAnnotation",e,t)}function nP(e,t){Eb("TSTypeParameterInstantiation",e,t)}function rP(e,t){Eb("TSTypeParameterDeclaration",e,t)}function iP(e,t){Eb("TSTypeParameter",e,t)}function sP(e,t){Eb("Standardized",e,t)}function aP(e,t){Eb("Expression",e,t)}function oP(e,t){Eb("Binary",e,t)}function uP(e,t){Eb("Scopable",e,t)}function cP(e,t){Eb("BlockParent",e,t)}function lP(e,t){Eb("Block",e,t)}function pP(e,t){Eb("Statement",e,t)}function dP(e,t){Eb("Terminatorless",e,t)}function hP(e,t){Eb("CompletionStatement",e,t)}function fP(e,t){Eb("Conditional",e,t)}function mP(e,t){Eb("Loop",e,t)}function yP(e,t){Eb("While",e,t)}function gP(e,t){Eb("ExpressionWrapper",e,t)}function bP(e,t){Eb("For",e,t)}function xP(e,t){Eb("ForXStatement",e,t)}function SP(e,t){Eb("Function",e,t)}function TP(e,t){Eb("FunctionParent",e,t)}function EP(e,t){Eb("Pureish",e,t)}function PP(e,t){Eb("Declaration",e,t)}function vP(e,t){Eb("FunctionParameter",e,t)}function AP(e,t){Eb("PatternLike",e,t)}function wP(e,t){Eb("LVal",e,t)}function CP(e,t){Eb("TSEntityName",e,t)}function kP(e,t){Eb("Literal",e,t)}function IP(e,t){Eb("Immutable",e,t)}function _P(e,t){Eb("UserWhitespacable",e,t)}function NP(e,t){Eb("Method",e,t)}function LP(e,t){Eb("ObjectMember",e,t)}function OP(e,t){Eb("Property",e,t)}function DP(e,t){Eb("UnaryLike",e,t)}function MP(e,t){Eb("Pattern",e,t)}function BP(e,t){Eb("Class",e,t)}function FP(e,t){Eb("ImportOrExportDeclaration",e,t)}function RP(e,t){Eb("ExportDeclaration",e,t)}function jP(e,t){Eb("ModuleSpecifier",e,t)}function UP(e,t){Eb("Accessor",e,t)}function qP(e,t){Eb("Private",e,t)}function $P(e,t){Eb("Flow",e,t)}function JP(e,t){Eb("FlowType",e,t)}function VP(e,t){Eb("FlowBaseAnnotation",e,t)}function KP(e,t){Eb("FlowDeclaration",e,t)}function WP(e,t){Eb("FlowPredicate",e,t)}function XP(e,t){Eb("EnumBody",e,t)}function HP(e,t){Eb("EnumMember",e,t)}function zP(e,t){Eb("JSX",e,t)}function YP(e,t){Eb("Miscellaneous",e,t)}function GP(e,t){Eb("TypeScript",e,t)}function QP(e,t){Eb("TSTypeElement",e,t)}function ZP(e,t){Eb("TSType",e,t)}function ev(e,t){Eb("TSBaseType",e,t)}function tv(e,t){It("assertNumberLiteral","assertNumericLiteral"),Eb("NumberLiteral",e,t)}function nv(e,t){It("assertRegexLiteral","assertRegExpLiteral"),Eb("RegexLiteral",e,t)}function rv(e,t){It("assertRestProperty","assertRestElement"),Eb("RestProperty",e,t)}function iv(e,t){It("assertSpreadProperty","assertSpreadElement"),Eb("SpreadProperty",e,t)}function sv(e,t){It("assertModuleDeclaration","assertImportOrExportDeclaration"),Eb("ModuleDeclaration",e,t)}function av(e){switch(e){case"string":return{type:"StringTypeAnnotation"};case"number":return{type:"NumberTypeAnnotation"};case"undefined":return{type:"VoidTypeAnnotation"};case"boolean":return{type:"BooleanTypeAnnotation"};case"function":return zl(mc("Function"));case"object":return zl(mc("Object"));case"symbol":return zl(mc("Symbol"));case"bigint":return{type:"AnyTypeAnnotation"}}throw new Error("Invalid typeof value: "+e)}function ov(e){return Gt(e)?e.name:`${e.id.name}.${ov(e.qualification)}`}function uv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(a&&!s.includes(a)){if(dr(a))return[a];if(Ga())r.set(a.type,a);else if(ci(a))i.has(a.types)||(t.push(...a.types),i.add(a.types));else{if(Lr(a)){const e=ov(a.id);if(n.has(e)){let t=n.get(e);t.typeParameters?a.typeParameters&&(t.typeParameters.params.push(...a.typeParameters.params),t.typeParameters.params=uv(t.typeParameters.params)):t=a.typeParameters}else n.set(e,a);continue}s.push(a)}}}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function cv(e){const t=uv(e);return 1===t.length?t[0]:wp(t)}function lv(e){return Gt(e)?e.name:xn(e)?"this":`${e.right.name}.${lv(e.left)}`}function pv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(!a)continue;if(s.includes(a))continue;if(us(a))return[a];if(oo(a)){r.set(a.type,a);continue}if(Os(a)){i.has(a.types)||(t.push(...a.types),i.add(a.types));continue}const o="typeArguments";if(vs(a)&&a[o]){const e=a[o],t=lv(a.typeName);if(n.has(t)){let r=n.get(t);const i=r[o];i?(i.params.push(...e.params),i.params=pv(i.params)):r=e}else n.set(t,a);continue}s.push(a)}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function dv(e){const t=pv(e.map(e=>ca(e)?e.typeAnnotation:e));return 1===t.length?t[0]:Yd(t)}function hv(){return jc("void",xc(0),!0)}var{hasOwn:fv}=Object;function mv(e,t,n,r){return e&&"string"==typeof e.type?bv(e,t,n,r):e}function yv(e,t,n,r){return Array.isArray(e)?e.map(e=>mv(e,t,n,r)):mv(e,t,n,r)}function gv(e,t=!0,n=!1){return bv(e,t,n,new Map)}function bv(e,t=!0,n=!1,r){if(!e)return e;const{type:i}=e,s={type:e.type};if(Gt(e))s.name=e.name,fv(e,"optional")&&"boolean"==typeof e.optional&&(s.optional=e.optional),fv(e,"typeAnnotation")&&(s.typeAnnotation=t?yv(e.typeAnnotation,!0,n,r):e.typeAnnotation),fv(e,"decorators")&&(s.decorators=t?yv(e.decorators,!0,n,r):e.decorators);else{if(!fv(Jo,i))throw new Error(`Unknown node type: "${i}"`);for(const a of Object.keys(Jo[i]))fv(e,a)&&(s[a]=t?Wt(e)&&"comments"===a?xv(e.comments,t,n,r):yv(e[a],!0,n,r):e[a])}return fv(e,"loc")&&(s.loc=n?null:e.loc),fv(e,"leadingComments")&&(s.leadingComments=xv(e.leadingComments,t,n,r)),fv(e,"innerComments")&&(s.innerComments=xv(e.innerComments,t,n,r)),fv(e,"trailingComments")&&(s.trailingComments=xv(e.trailingComments,t,n,r)),fv(e,"extra")&&(s.extra=Object.assign({},e.extra)),s}function xv(e,t,n,r){return e&&t?e.map(e=>{const t=r.get(e);if(t)return t;const{type:i,value:s,loc:a}=e,o={type:i,value:s,loc:a};return n&&(o.loc=null),r.set(e,o),o}):e}function Sv(e){return gv(e,!1)}function Tv(e){return gv(e)}function Ev(e){return gv(e,!0,!0)}function Pv(e){return gv(e,!1,!0)}function vv(e,t,n){if(!n||!e)return e;const r=`${t}Comments`;return e[r]?"leading"===t?e[r]=n.concat(e[r]):e[r].push(...n):e[r]=n,e}function Av(e,t,n,r){return vv(e,t,[{type:r?"CommentLine":"CommentBlock",value:n}])}function wv(e,t,n){t&&n&&(t[e]=Array.from(new Set([].concat(t[e],n[e]).filter(Boolean))))}function Cv(e,t){wv("innerComments",e,t)}function kv(e,t){wv("leadingComments",e,t)}function Iv(e,t){wv("trailingComments",e,t)}function _v(e,t){return Iv(e,t),kv(e,t),Cv(e,t),e}function Nv(e){return Ao.forEach(t=>{e[t]=null}),e}var Lv=$o.Standardized,Ov=$o.Expression,Dv=$o.Binary,Mv=$o.Scopable,Bv=$o.BlockParent,Fv=$o.Block,Rv=$o.Statement,jv=$o.Terminatorless,Uv=$o.CompletionStatement,qv=$o.Conditional,$v=$o.Loop,Jv=$o.While,Vv=$o.ExpressionWrapper,Kv=$o.For,Wv=$o.ForXStatement,Xv=$o.Function,Hv=$o.FunctionParent,zv=$o.Pureish,Yv=$o.Declaration,Gv=$o.FunctionParameter,Qv=$o.PatternLike,Zv=$o.LVal,eA=$o.TSEntityName,tA=$o.Literal,nA=$o.Immutable,rA=$o.UserWhitespacable,iA=$o.Method,sA=$o.ObjectMember,aA=$o.Property,oA=$o.UnaryLike,uA=$o.Pattern,cA=$o.Class,lA=$o.ImportOrExportDeclaration,pA=$o.ExportDeclaration,dA=$o.ModuleSpecifier,hA=$o.Accessor,fA=$o.Private,mA=$o.Flow,yA=$o.FlowType,gA=$o.FlowBaseAnnotation,bA=$o.FlowDeclaration,xA=$o.FlowPredicate,SA=$o.EnumBody,TA=$o.EnumMember,EA=$o.JSX,PA=$o.Miscellaneous,vA=$o.TypeScript,AA=$o.TSTypeElement,wA=$o.TSType,CA=$o.TSBaseType,kA=lA;function IA(e,t){if(Bt(e))return e;let n=[];return Vt(e)?n=[]:(xa(e)||(e=ka(t)?Nc(e):cc(e)),n=[e]),ec(n)}function _A(e,t="body"){const n=IA(e[t],e);return e[t]=n,n}function NA(e){e+="";let t="";for(const n of e)t+=mt(n.codePointAt(0))?n:"-";return t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),To(t)||(t=`_${t}`),t||"_"}function LA(e){return"eval"!==(e=NA(e))&&"arguments"!==e||(e="_"+e),e}function OA(e,t=e.key||e.property){return!e.computed&&Gt(t)&&(t=bc(t.name)),t}function DA(e){if(Kt(e)&&(e=e.expression),fa(e))return e;if(Ja(e)?(e.type="ClassExpression",e.abstract=!1):ka(e)&&(e.type="FunctionExpression"),!fa(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}var MA=Symbol(),BA=Symbol();function FA(e,t,n){if(!e)return!1;const r=Uo[e.type];if(!r)return!1;const i=t(e,n=n||{});if(void 0!==i)switch(i){case MA:return!1;case BA:return!0}for(const i of r){const r=e[i];if(r)if(Array.isArray(r)){for(const e of r)if(FA(e,t,n))return!0}else if(FA(r,t,n))return!0}return!1}FA.skip=MA,FA.stop=BA;var RA=["tokens","start","end","loc","raw","rawValue"],jA=[...Ao,"comments",...RA];function UA(e,t={}){const n=t.preserveComments?RA:jA;for(const t of n)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null}function qA(e,t){return FA(e,UA,t),e}function $A(e,t=e.key){let n;return"method"===e.kind?$A.increment()+"":(n=Gt(t)?t.name:en(t)?JSON.stringify(t.value):JSON.stringify(qA(gv(t))),e.computed&&(n=`[${n}]`),e.static&&(n=`static:${n}`),n)}function JA(e,t){if(xa(e))return e;let n,r=!1;if(Ja(e))r=!0,n="ClassDeclaration";else if(ka(e))r=!0,n="FunctionDeclaration";else if(Nt(e))return cc(e);if(r&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=n,e}$A.uid=0,$A.increment=function(){return $A.uid>=Number.MAX_SAFE_INTEGER?$A.uid=0:$A.uid++};var VA=Function.call.bind(Object.prototype.toString);function KA(e){if(void 0===e)return mc("undefined");if(!0===e||!1===e)return Tc(e);if(null===e)return{type:"NullLiteral"};if("string"==typeof e)return bc(e);if("number"==typeof e){let t;if(Number.isFinite(e))t=xc(Math.abs(e));else{let n;n=Number.isNaN(e)?xc(0):xc(1),t=Yu("/",n,xc(0))}return(e<0||Object.is(e,-0))&&(t=jc("-",t)),t}if("bigint"==typeof e)return e<0?jc("-",bl(-e)):bl(e);if(function(e){return"[object RegExp]"===VA(e)}(e)){return Ec(e.source,/\/([a-z]*)$/.exec(e.toString())[1])}if(Array.isArray(e))return Hu(e.map(KA));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(e)){const t=[];for(const n of Object.keys(e)){let r,i=!1;To(n)?"__proto__"===n?(i=!0,r=bc(n)):r=mc(n):r=bc(n),t.push(Ic(r,KA(e[n]),i))}return Cc(t)}throw new Error("don't know how to turn this value into a node")}function WA(e,t,n=!1){return e.object=vc(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e}function XA(e,t){if(!e||!t)return e;for(const n of jo.optional)null==e[n]&&(e[n]=t[n]);for(const n of Object.keys(t))"_"===n[0]&&"__clone"!==n&&(e[n]=t[n]);for(const n of jo.force)e[n]=t[n];return _v(e,t),e}function HA(e,t){if(Hn(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=vc(t,e.object),e}function zA(e){const t=[].concat(e),n=Object.create(null);for(;t.length;){const e=t.pop();if(e)switch(e.type){case"ArrayPattern":t.push(...e.elements);break;case"AssignmentExpression":case"AssignmentPattern":case"ForInStatement":case"ForOfStatement":t.push(e.left);break;case"ObjectPattern":t.push(...e.properties);break;case"ObjectProperty":t.push(e.value);break;case"RestElement":case"UpdateExpression":t.push(e.argument);break;case"UnaryExpression":"delete"===e.operator&&t.push(e.argument);break;case"Identifier":n[e.name]=e}}return n}function YA(e,t,n,r){const i=[].concat(e),s=Object.create(null);for(;i.length;){const e=i.shift();if(!e)continue;if(r&&(Nt(e)||En(e)||Pn(e)))continue;if(Gt(e)){if(t){(s[e.name]=s[e.name]||[]).push(e)}else s[e.name]=e;continue}if(Ka(e)&&!Dn(e)){Na(e.declaration)&&i.push(e.declaration);continue}if(n){if(zt(e)){i.push(e.id);continue}if(Yt(e)||Ln(e))continue}const a=YA.keys[e.type];if(a)for(let t=0;t<a.length;t++){const n=e[a[t]];n&&(Array.isArray(n)?i.push(...n):i.push(n))}}return s}function GA(e,t){return YA(e,t,!0)}function QA(e){if(!e.computed||Ba(e.key))return e.key}function ZA(e,t){if("id"in e&&e.id)return{name:e.id.name,originalNode:e.id};let n,r="";if(dn(t,{value:e})?n=QA(t):pn(e)||Kn(e)?(n=QA(e),"get"===e.kind?r="get ":"set"===e.kind&&(r="set ")):An(t,{init:e})?n=t.id:Nt(t,{operator:"=",right:e})&&(n=t.left),!n)return null;const i=Ba(n)?function(e){return nn(e)?"null":sn(e)?`/${e.pattern}/${e.flags}`:Gn(e)?e.quasis.map(e=>e.value.raw).join(""):void 0!==e.value?String(e.value):null}(n):Gt(n)?n.name:cr(n)?n.id.name:null;return null==i?null:{name:r+i,originalNode:n}}function ew(e,t,n){"function"==typeof t&&(t={enter:t});const{enter:r,exit:i}=t;tw(e,r,i,n,[])}function tw(e,t,n,r,i){const s=Uo[e.type];if(s){t&&t(e,i,r);for(const a of s){const s=e[a];if(Array.isArray(s))for(let o=0;o<s.length;o++){const u=s[o];u&&(i.push({node:e,key:a,index:o}),tw(u,t,n,r,i),i.pop())}else s&&(i.push({node:e,key:a}),tw(s,t,n,r,i),i.pop())}n&&n(e,i,r)}}function nw(e,t,n){if(n&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===n.type)return!1;const r=YA.keys[t.type];if(r)for(let n=0;n<r.length;n++){const i=t[r[n]];if(Array.isArray(i)){if(i.includes(e))return!0}else if(i===e)return!0}return!1}function rw(e){return vn(e)&&"var"!==e.kind}function iw(e){return zt(e)||On(e)||rw(e)}function sw(e){return!!bo(e.type,"Immutable")||!!Gt(e)&&"undefined"===e.name}function aw(e,t){if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return e===t;if(e.type!==t.type)return!1;const n=Object.keys(Jo[e.type]||e.type),r=Uo[e.type];for(const i of n){const n=e[i],s=t[i];if(typeof n!=typeof s)return!1;if(null!=n||null!=s){if(null==n||null==s)return!1;if(Array.isArray(n)){if(!Array.isArray(s))return!1;if(n.length!==s.length)return!1;for(let e=0;e<n.length;e++)if(!aw(n[e],s[e]))return!1}else if("object"!=typeof n||r?.includes(i)){if(!aw(n,s))return!1}else for(const e of Object.keys(n))if(n[e]!==s[e])return!1}}return!0}function ow(e,t,n){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!n||"ObjectPattern"!==n.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return!n?.source&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}function uw(e,t){return(!Bt(e)||!ka(t)&&!jt(t))&&(!(!$a(e)||!ka(t)&&!jt(t))||ya(e))}function cw(e){return Un(e)||Gt(e.imported||e.exported,{name:"default"})}YA.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],TSImportEqualsDeclaration:["id"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var lw=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function pw(e){return To(e)&&!lw.has(e)}function dw(e){return vn(e)&&"var"===e.kind}var hw={isReactComponent:go,isCompatTag:function(e){return!!e&&/^[a-z]/.test(e)},buildChildren:function(e){const t=[];for(let n=0;n<e.children.length;n++){let r=e.children[n];Di(r)?xb(r,t):(Ci(r)&&(r=r.expression),wi(r)||t.push(r))}return t}};function fw(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}var mw=class{constructor(e,t,n){Qe(this,"line"),Qe(this,"column"),Qe(this,"index"),this.line=e,this.column=t,this.index=n}},yw=class{constructor(e,t){Qe(this,"start"),Qe(this,"end"),Qe(this,"filename"),Qe(this,"identifierName"),this.start=e,this.end=t}};function gw(e,t){const{line:n,column:r,index:i}=e;return new mw(n,r+t,i+t)}var bw="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",xw={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:bw},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:bw}},Sw={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},Tw=e=>"UpdateExpression"===e.type?Sw.UpdateExpression[`${e.prefix}`]:Sw[e.type],Ew={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${"ForInStatement"===e?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${"BreakStatement"===e?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverDiscardElement:"'void' must be followed by an expression when not used in a binding position.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${Tw(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${Tw(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${Tw(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:"Unexpected void binding.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:"A void binding may not have an initializer.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",YieldNotInGeneratorFunction:"'yield' is only allowed within generator functions.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Pw={ParseExpressionEmptyInput:"Unexpected parseExpression() input: The input is empty or contains only comments.",ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},vw=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Aw=Object.assign({PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${Tw({type:e})}; please wrap it in parentheses.`},{}),ww=["message"];function Cw(e,t,n){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:n})}function kw({toMessage:e,code:t,reasonCode:n,syntaxPlugin:r}){const i="MissingPlugin"===n||"MissingOneOfPlugins"===n;return function s(a,o){const u=new SyntaxError;return u.code=t,u.reasonCode=n,u.loc=a,u.pos=a.index,u.syntaxPlugin=r,i&&(u.missingPlugin=o.missingPlugin),Cw(u,"clone",function(e={}){const{line:t,column:n,index:r}=e.loc??a;return s(new mw(t,n,r),Object.assign({},o,e.details))}),Cw(u,"details",o),Object.defineProperty(u,"message",{configurable:!0,get(){const t=`${e(o)} (${a.line}:${a.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),u}}function Iw(e,t){if(Array.isArray(e))return t=>Iw(t,e[0]);const n={};for(const r of Object.keys(e)){const i=e[r],s="string"==typeof i?{message:()=>i}:"function"==typeof i?{message:i}:i,{message:a}=s,o=fw(s,ww),u="string"==typeof a?()=>a:a;n[r]=kw(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:r,toMessage:u},t?{syntaxPlugin:t}:{},o))}return n}var _w=Object.assign({},Iw(xw),Iw(Ew),Iw({StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."}),Iw(Pw),Iw`pipelineOperator`(Aw));var{defineProperty:Nw}=Object,Lw=(e,t)=>{e&&Nw(e,t,{enumerable:!1,value:e[t]})};function Ow(e){return Lw(e.loc.start,"index"),Lw(e.loc.end,"index"),e}var Dw=class{constructor(e,t){Qe(this,"token"),Qe(this,"preserveSpace"),this.token=e,this.preserveSpace=!!t}},Mw={brace:new Dw("{"),j_oTag:new Dw("<tag"),j_cTag:new Dw("</tag"),j_expr:new Dw("<tag>...</tag>",!0)},Bw=!0,Fw=!0,Rw=!0,jw=!0,Uw=!0,qw=class{constructor(e,t={}){Qe(this,"label"),Qe(this,"keyword"),Qe(this,"beforeExpr"),Qe(this,"startsExpr"),Qe(this,"rightAssociative"),Qe(this,"isLoop"),Qe(this,"isAssign"),Qe(this,"prefix"),Qe(this,"postfix"),Qe(this,"binop"),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null}},$w=new Map;function Jw(e,t={}){t.keyword=e;const n=Qw(e,t);return $w.set(e,n),n}function Vw(e,t){return Qw(e,{beforeExpr:Bw,binop:t})}var Kw=-1,Ww=[],Xw=[],Hw=[],zw=[],Yw=[],Gw=[];function Qw(e,t={}){return++Kw,Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw(e,t)),Kw}function Zw(e,t={}){return++Kw,$w.set(e,Kw),Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw("name",t)),Kw}var eC={bracketL:Qw("[",{beforeExpr:Bw,startsExpr:Fw}),bracketHashL:Qw("#[",{beforeExpr:Bw,startsExpr:Fw}),bracketBarL:Qw("[|",{beforeExpr:Bw,startsExpr:Fw}),bracketR:Qw("]"),bracketBarR:Qw("|]"),braceL:Qw("{",{beforeExpr:Bw,startsExpr:Fw}),braceBarL:Qw("{|",{beforeExpr:Bw,startsExpr:Fw}),braceHashL:Qw("#{",{beforeExpr:Bw,startsExpr:Fw}),braceR:Qw("}"),braceBarR:Qw("|}"),parenL:Qw("(",{beforeExpr:Bw,startsExpr:Fw}),parenR:Qw(")"),comma:Qw(",",{beforeExpr:Bw}),semi:Qw(";",{beforeExpr:Bw}),colon:Qw(":",{beforeExpr:Bw}),doubleColon:Qw("::",{beforeExpr:Bw}),dot:Qw("."),question:Qw("?",{beforeExpr:Bw}),questionDot:Qw("?."),arrow:Qw("=>",{beforeExpr:Bw}),template:Qw("template"),ellipsis:Qw("...",{beforeExpr:Bw}),backQuote:Qw("`",{startsExpr:Fw}),dollarBraceL:Qw("${",{beforeExpr:Bw,startsExpr:Fw}),templateTail:Qw("...`",{startsExpr:Fw}),templateNonTail:Qw("...${",{beforeExpr:Bw,startsExpr:Fw}),at:Qw("@"),hash:Qw("#",{startsExpr:Fw}),interpreterDirective:Qw("#!..."),eq:Qw("=",{beforeExpr:Bw,isAssign:jw}),assign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),slashAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),xorAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),moduloAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),incDec:Qw("++/--",{prefix:Uw,postfix:!0,startsExpr:Fw}),bang:Qw("!",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),tilde:Qw("~",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),doubleCaret:Qw("^^",{startsExpr:Fw}),doubleAt:Qw("@@",{startsExpr:Fw}),pipeline:Vw("|>",0),nullishCoalescing:Vw("??",1),logicalOR:Vw("||",1),logicalAND:Vw("&&",2),bitwiseOR:Vw("|",3),bitwiseXOR:Vw("^",4),bitwiseAND:Vw("&",5),equality:Vw("==/!=/===/!==",6),lt:Vw("</>/<=/>=",7),gt:Vw("</>/<=/>=",7),relational:Vw("</>/<=/>=",7),bitShift:Vw("<</>>/>>>",8),bitShiftL:Vw("<</>>/>>>",8),bitShiftR:Vw("<</>>/>>>",8),plusMin:Qw("+/-",{beforeExpr:Bw,binop:9,prefix:Uw,startsExpr:Fw}),modulo:Qw("%",{binop:10,startsExpr:Fw}),star:Qw("*",{binop:10}),slash:Vw("/",10),exponent:Qw("**",{beforeExpr:Bw,binop:11,rightAssociative:!0}),_in:Jw("in",{beforeExpr:Bw,binop:7}),_instanceof:Jw("instanceof",{beforeExpr:Bw,binop:7}),_break:Jw("break"),_case:Jw("case",{beforeExpr:Bw}),_catch:Jw("catch"),_continue:Jw("continue"),_debugger:Jw("debugger"),_default:Jw("default",{beforeExpr:Bw}),_else:Jw("else",{beforeExpr:Bw}),_finally:Jw("finally"),_function:Jw("function",{startsExpr:Fw}),_if:Jw("if"),_return:Jw("return",{beforeExpr:Bw}),_switch:Jw("switch"),_throw:Jw("throw",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_try:Jw("try"),_var:Jw("var"),_const:Jw("const"),_with:Jw("with"),_new:Jw("new",{beforeExpr:Bw,startsExpr:Fw}),_this:Jw("this",{startsExpr:Fw}),_super:Jw("super",{startsExpr:Fw}),_class:Jw("class",{startsExpr:Fw}),_extends:Jw("extends",{beforeExpr:Bw}),_export:Jw("export"),_import:Jw("import",{startsExpr:Fw}),_null:Jw("null",{startsExpr:Fw}),_true:Jw("true",{startsExpr:Fw}),_false:Jw("false",{startsExpr:Fw}),_typeof:Jw("typeof",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_void:Jw("void",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_delete:Jw("delete",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_do:Jw("do",{isLoop:Rw,beforeExpr:Bw}),_for:Jw("for",{isLoop:Rw}),_while:Jw("while",{isLoop:Rw}),_as:Zw("as",{startsExpr:Fw}),_assert:Zw("assert",{startsExpr:Fw}),_async:Zw("async",{startsExpr:Fw}),_await:Zw("await",{startsExpr:Fw}),_defer:Zw("defer",{startsExpr:Fw}),_from:Zw("from",{startsExpr:Fw}),_get:Zw("get",{startsExpr:Fw}),_let:Zw("let",{startsExpr:Fw}),_meta:Zw("meta",{startsExpr:Fw}),_of:Zw("of",{startsExpr:Fw}),_sent:Zw("sent",{startsExpr:Fw}),_set:Zw("set",{startsExpr:Fw}),_source:Zw("source",{startsExpr:Fw}),_static:Zw("static",{startsExpr:Fw}),_using:Zw("using",{startsExpr:Fw}),_yield:Zw("yield",{startsExpr:Fw}),_asserts:Zw("asserts",{startsExpr:Fw}),_checks:Zw("checks",{startsExpr:Fw}),_exports:Zw("exports",{startsExpr:Fw}),_global:Zw("global",{startsExpr:Fw}),_implements:Zw("implements",{startsExpr:Fw}),_intrinsic:Zw("intrinsic",{startsExpr:Fw}),_infer:Zw("infer",{startsExpr:Fw}),_is:Zw("is",{startsExpr:Fw}),_mixins:Zw("mixins",{startsExpr:Fw}),_proto:Zw("proto",{startsExpr:Fw}),_require:Zw("require",{startsExpr:Fw}),_satisfies:Zw("satisfies",{startsExpr:Fw}),_keyof:Zw("keyof",{startsExpr:Fw}),_readonly:Zw("readonly",{startsExpr:Fw}),_unique:Zw("unique",{startsExpr:Fw}),_abstract:Zw("abstract",{startsExpr:Fw}),_declare:Zw("declare",{startsExpr:Fw}),_enum:Zw("enum",{startsExpr:Fw}),_module:Zw("module",{startsExpr:Fw}),_namespace:Zw("namespace",{startsExpr:Fw}),_interface:Zw("interface",{startsExpr:Fw}),_type:Zw("type",{startsExpr:Fw}),_opaque:Zw("opaque",{startsExpr:Fw}),name:Qw("name",{startsExpr:Fw}),placeholder:Qw("%%",{startsExpr:Fw}),string:Qw("string",{startsExpr:Fw}),num:Qw("num",{startsExpr:Fw}),bigint:Qw("bigint",{startsExpr:Fw}),decimal:Qw("decimal",{startsExpr:Fw}),regexp:Qw("regexp",{startsExpr:Fw}),privateName:Qw("#name",{startsExpr:Fw}),eof:Qw("eof"),jsxName:Qw("jsxName"),jsxText:Qw("jsxText",{beforeExpr:Bw}),jsxTagStart:Qw("jsxTagStart",{startsExpr:Fw}),jsxTagEnd:Qw("jsxTagEnd")};function tC(e){return e>=93&&e<=133}function nC(e){return e>=58&&e<=133}function rC(e){return Yw[e]}function iC(e){return e>=58&&e<=92}function sC(e){return 34===e}function aC(e){return Xw[e]}function oC(e){return Hw[e]}function uC(e){return e>=24&&e<=25}function cC(e){return Ww[e]}var lC="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",pC="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",dC=new RegExp("["+lC+"]"),hC=new RegExp("["+lC+pC+"]");lC=pC=null;var fC=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],mC=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function yC(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function gC(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&dC.test(String.fromCharCode(e)):yC(e,fC)))}function bC(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&hC.test(String.fromCharCode(e)):yC(e,fC)||yC(e,mC))))}var xC=["implements","interface","let","package","private","protected","public","static","yield"],SC=["eval","arguments"],TC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),EC=new Set(xC),PC=new Set(SC);function vC(e,t){return t&&"await"===e||"enum"===e}function AC(e,t){return vC(e,t)||EC.has(e)}function wC(e){return PC.has(e)}function CC(e,t){return AC(e,t)||wC(e)}var kC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);var IC=class{constructor(e){Qe(this,"flags",0),Qe(this,"names",new Map),Qe(this,"firstLexicalName",""),this.flags=e}},_C=class{constructor(e,t){Qe(this,"parser"),Qe(this,"scopeStack",[]),Qe(this,"inModule"),Qe(this,"undefinedExports",new Map),this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get allowNewTarget(){return(512&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const e=this.currentThisScopeFlags();return(64&e)>0&&!(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(128&t)return!0;if(1731&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get inBareCaseStatement(){return(256&this.currentScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new IC(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,n){let r=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(r,e,t,n);let i=r.names.get(e)||0;16&t?i|=4:(r.firstLexicalName||(r.firstLexicalName=e),i|=2),r.names.set(e,i),8&t&&this.maybeExportDefined(r,e)}else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.names.set(e,1|(r.names.get(e)||0)),this.maybeExportDefined(r,e),!(1667&r.flags));--i);this.parser.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.parser.raise(_w.VarRedeclaration,r,{identifierName:t})}isRedeclaredInScope(e,t,n){if(!(1&n))return!1;if(8&n)return e.names.has(t);const r=e.names.get(t);return 16&n?(2&r)>0||!this.treatFunctionsAsVarInScope(e)&&(1&r)>0:(2&r)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&r)>0}checkLocalExport(e){const{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1667&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1731&t&&!(4&t))return t}}},NC={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},LC=new RegExp(/\r\n|[\r\n\u2028\u2029]/.source,"g");function OC(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function DC(e,t,n){for(let r=t;r<n;r++)if(OC(e.charCodeAt(r)))return!0;return!1}var MC=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,BC=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;function FC(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}var RC=Iw`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"});function jC(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function UC(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return UC(e.object)+"."+UC(e.property);throw new Error("Node had unexpected type: "+e.type)}var qC=class extends IC{constructor(){super(...arguments),Qe(this,"tsNames",new Map)}},$C=class extends _C{constructor(){super(...arguments),Qe(this,"importsStack",[])}createScope(e){return this.importsStack.push(new Set),new qC(e)}enter(e){1024===e&&this.importsStack.push(new Set),super.enter(e)}exit(){const e=super.exit();return 1024===e&&this.importsStack.pop(),e}hasImport(e,t){const n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1)for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0;return!1}declareName(e,t,n){if(4096&t)return this.hasImport(e,!0)&&this.parser.raise(_w.VarRedeclaration,n,{identifierName:e}),void this.importsStack[this.importsStack.length-1].add(e);const r=this.currentScope();let i=r.tsNames.get(e)||0;if(1024&t)return this.maybeExportDefined(r,e),void r.tsNames.set(e,16|i);super.declareName(e,t,n),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),i|=1),256&t&&(i|=2),512&t&&(i|=4),128&t&&(i|=8),i&&r.tsNames.set(e,i)}isRedeclaredInScope(e,t,n){const r=e.tsNames.get(t);if((2&r)>0){if(256&n){return!!(512&n)!==(4&r)>0}return!0}return 128&n&&(8&r)>0?!!(2&e.names.get(t))&&!!(1&n):!!(2&n&&(1&r)>0)||super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){const{name:t}=e;if(this.hasImport(t))return;for(let e=this.scopeStack.length-1;e>=0;e--){const n=this.scopeStack[e].tsNames.get(t);if((1&n)>0||(16&n)>0)return}super.checkLocalExport(e)}},JC=class{constructor(){Qe(this,"stacks",[])}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}};function VC(e,t){return(e?2:0)|(t?1:0)}var KC=class{constructor(){Qe(this,"sawUnambiguousESM",!1),Qe(this,"ambiguousScriptDifferentAst",!1)}sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if("string"==typeof e)return this.plugins.has(e);{const[t,n]=e;if(!this.hasPlugin(t))return!1;const r=this.plugins.get(t);for(const e of Object.keys(n))if(r?.[e]!==n[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function WC(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function XC(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function HC(e,t,n){let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];null===r||r.start>n.start?XC(e,n.comments):WC(r,n.comments)}var zC=class extends KC{addComment(e){this.filename&&(e.loc.filename=this.filename);const{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){const{commentStack:t}=this.state,n=t.length;if(0===n)return;let r=n-1;const i=t[r];i.start===e.end&&(i.leadingNode=e,r--);const{start:s}=e;for(;r>=0;r--){const n=t[r],i=n.end;if(!(i>s)){i===s&&(n.trailingNode=e);break}n.containingNode=e,this.finalizeComment(n),t.splice(r,1)}}finalizeComment(e){const{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&WC(e.leadingNode,t),null!==e.trailingNode&&function(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}(e.trailingNode,t);else{const{containingNode:n,start:r}=e;if(44===this.input.charCodeAt(this.offsetToSourcePos(r)-1))switch(n.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":HC(n,n.properties,e);break;case"CallExpression":case"OptionalCallExpression":HC(n,n.arguments,e);break;case"ImportExpression":HC(n,[n.source,n.options??null],e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":HC(n,n.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":HC(n,n.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":HC(n,n.specifiers,e);break;case"TSEnumDeclaration":default:XC(n,t);break;case"TSEnumBody":HC(n,n.members,e)}else XC(n,t)}}finalizeRemainingComments(){const{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){const{commentStack:t}=this.state,{length:n}=t;if(0===n)return;const r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}takeSurroundingComments(e,t,n){const{commentStack:r}=this.state,i=r.length;if(0===i)return;let s=i-1;for(;s>=0;s--){const i=r[s],a=i.end;if(i.start===n)i.leadingNode=e;else if(a===t)i.trailingNode=e;else if(a<t)break}}},YC=class e{constructor(){Qe(this,"flags",1024),Qe(this,"startIndex"),Qe(this,"curLine"),Qe(this,"lineStart"),Qe(this,"startLoc"),Qe(this,"endLoc"),Qe(this,"errors",[]),Qe(this,"potentialArrowAt",-1),Qe(this,"noArrowAt",[]),Qe(this,"noArrowParamsConversionAt",[]),Qe(this,"topicContext",{maxNumOfResolvableTopics:0,maxTopicIndex:null}),Qe(this,"labels",[]),Qe(this,"commentsLen",0),Qe(this,"commentStack",[]),Qe(this,"pos",0),Qe(this,"type",140),Qe(this,"value",null),Qe(this,"start",0),Qe(this,"end",0),Qe(this,"lastTokEndLoc",null),Qe(this,"lastTokStartLoc",null),Qe(this,"context",[Mw.brace]),Qe(this,"firstInvalidTemplateEscapePos",null),Qe(this,"strictErrors",new Map),Qe(this,"tokensLength",0)}get strict(){return(1&this.flags)>0}set strict(e){e?this.flags|=1:this.flags&=-2}init({strictMode:e,sourceType:t,startIndex:n,startLine:r,startColumn:i}){this.strict=!1!==e&&(!0===e||"module"===t),this.startIndex=n,this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new mw(r,i,n)}get maybeInArrowParameters(){return(2&this.flags)>0}set maybeInArrowParameters(e){e?this.flags|=2:this.flags&=-3}get inType(){return(4&this.flags)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(8&this.flags)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(16&this.flags)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(32&this.flags)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(64&this.flags)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(128&this.flags)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get soloAwait(){return(256&this.flags)>0}set soloAwait(e){e?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(512&this.flags)>0}set inFSharpPipelineDirectBody(e){e?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(1024&this.flags)>0}set canStartJSXElement(e){e?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(2048&this.flags)>0}set containsEsc(e){e?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(4096&this.flags)>0}set hasTopLevelAwait(e){e?this.flags|=4096:this.flags&=-4097}curPosition(){return new mw(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){const t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},GC=function(e){return e>=48&&e<=57},QC={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},ZC={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function ek(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const h=t.charCodeAt(n);if(tk(e,h,t,n)){c+=t.slice(p,n);break}if(92===h){c+=t.slice(p,n);const a=nk(t,n,r,i,"template"===e,s);null!==a.ch||l?c+=a.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=a),p=n}else 8232===h||8233===h?(++i,r=++n):10===h||13===h?"template"===e?(c+=t.slice(p,n)+"\n",++n,13===h&&10===t.charCodeAt(n)&&++n,++i,p=r=n):s.unterminated(a,o,u):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}function tk(e,t,n,r){return"template"===e?96===t||36===t&&123===n.charCodeAt(r+1):t===("double"===e?34:39)}function nk(e,t,n,r,i,s){const a=!i;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=rk(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=sk(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);s.strictNumericEscape(t-1,n,r);default:if(u>=48&&u<=55){const a=t-1;let u=/^[0-7]+/.exec(e.slice(a,t+2))[0],c=parseInt(u,8);c>255&&(u=u.slice(0,-1),c=parseInt(u,8)),t+=u.length-1;const l=e.charCodeAt(t);if("0"!==u||56===l||57===l){if(i)return o(null);s.strictNumericEscape(a,n,r)}return o(String.fromCharCode(c))}return o(String.fromCharCode(u))}}function rk(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=ik(e,t,n,r,16,i,s,!1,o,!a)),null===c&&(a?o.invalidEscapeSequence(u,n,r):t=u-1),{code:c,pos:t}}function ik(e,t,n,r,i,s,a,o,u,c){const l=t,p=16===i?QC.hex:QC.decBinOct,d=16===i?ZC.hex:10===i?ZC.dec:8===i?ZC.oct:ZC.bin;let h=!1,f=0;for(let l=0,m=null==s?1/0:s;l<m;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o){const i=e.charCodeAt(t-1),s=e.charCodeAt(t+1);if(o){if(Number.isNaN(s)||!d(s)||p.has(i)||p.has(s)){if(c)return{n:null,pos:t};u.unexpectedNumericSeparator(t,n,r)}}else{if(c)return{n:null,pos:t};u.numericSeparatorInEscapeSequence(t,n,r)}++t;continue}if(l=s>=97?s-97+10:s>=65?s-65+10:GC(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,h=!0}}++t,f=f*i+l}return t===l||null!=s&&t-l!==s||h?{n:null,pos:t}:{n:f,pos:t}}function sk(e,t,n,r,i,s){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=rk(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==a&&a>1114111){if(!i)return{code:null,pos:t};s.invalidCodePoint(t,n,r)}}else({code:a,pos:t}=rk(e,t,n,r,4,!1,i,s));return{code:a,pos:t}}function ak(e,t,n){return new mw(n,e-t,e)}var ok=new Set([103,109,115,105,121,117,100,118]),uk=class{constructor(e){const t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new yw(e.startLoc,e.endLoc)}},ck=class extends zC{constructor(e,t){super(),Qe(this,"isLookahead"),Qe(this,"tokens",[]),Qe(this,"errorHandlers_readInt",{invalidDigit:(e,t,n,r)=>!!(2048&this.optionFlags)&&(this.raise(_w.InvalidDigit,ak(e,t,n),{radix:r}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(_w.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(_w.UnexpectedNumericSeparator)}),Qe(this,"errorHandlers_readCodePoint",Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(_w.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(_w.InvalidCodePoint)})),Qe(this,"errorHandlers_readStringContents_string",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(_w.StrictNumericEscape,ak(e,t,n))},unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedString,ak(e-1,t,n))}})),Qe(this,"errorHandlers_readStringContents_template",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(_w.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedTemplate,ak(e,t,n))}})),this.state=new YC,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),256&this.optionFlags&&this.pushToken(new uk(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){const e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return MC.lastIndex=e,MC.test(this.input)?MC.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return BC.lastIndex=e,BC.test(this.input)?BC.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++e<this.input.length){const n=this.input.charCodeAt(e);56320==(64512&n)&&(t=65536+((1023&t)<<10)+(1023&n))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(([e,t])=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(140):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());const n=this.state.pos,r=this.input.indexOf(e,n+2);if(-1===r)throw this.raise(_w.UnterminatedComment,this.state.curPosition());for(this.state.pos=r+e.length,LC.lastIndex=n+2;LC.test(this.input)&&LC.lastIndex<=r;)++this.state.curLine,this.state.lineStart=LC.lastIndex;if(this.isLookahead)return;const i={type:"CommentBlock",value:this.input.slice(n+2,r),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(r+e.length),loc:new yw(t,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(i),i}skipLineComment(e){const t=this.state.pos;let n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!OC(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;const i=this.state.pos,s={type:"CommentLine",value:this.input.slice(t+e,i),start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(i),loc:new yw(n,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(s),s}skipSpace(){const e=this.state.pos,t=4096&this.optionFlags?[]:null;e:for(;this.state.pos<this.length;){const n=this.input.charCodeAt(this.state.pos);switch(n){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{const e=this.skipBlockComment("*/");void 0!==e&&(this.addComment(e),t?.push(e));break}case 47:{const e=this.skipLineComment(2);void 0!==e&&(this.addComment(e),t?.push(e));break}default:break e}break;default:if(FC(n))++this.state.pos;else if(45===n&&!this.inModule&&8192&this.optionFlags){const n=this.state.pos;if(45!==this.input.charCodeAt(n+1)||62!==this.input.charCodeAt(n+2)||!(0===e||this.state.lineStart>e))break e;{const e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),t?.push(e))}}else{if(60!==n||this.inModule||!(8192&this.optionFlags))break e;{const e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{const e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),t?.push(e))}}}}}if(t?.length>0){const n=this.state.pos,r={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(n),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(_w.UnexpectedDigitAfterHash,this.state.curPosition());gC(t)?(++this.state.pos,this.finishToken(139,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!OC(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);const n=this.input.slice(t+2,this.state.pos);return this.finishToken(28,n),!0}readToken_mult_modulo(e){let t=42===e?55:54,n=1,r=this.input.charCodeAt(this.state.pos+1);42===e&&42===r&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=57),61!==r||this.state.inType||(n++,t=37===e?33:30),this.finishOp(t,n)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?124!==e||62!==t?61!==t?this.finishOp(124===e?43:45,1):this.finishOp(30,2):this.finishOp(39,2):61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(30,3):this.finishOp(124===e?41:42,2)}readToken_caret(){const e=this.input.charCodeAt(this.state.pos+1);if(61!==e||this.state.inType)if(94===e&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"^^"}])){this.finishOp(37,2);94===this.input.codePointAt(this.state.pos)&&this.unexpected()}else this.finishOp(44,1);else this.finishOp(32,2)}readToken_atSign(){64===this.input.charCodeAt(this.state.pos+1)&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"@@"}])?this.finishOp(38,2):this.finishOp(26,1)}readToken_plus_min(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?61===t?this.finishOp(30,2):this.finishOp(53,1):this.finishOp(34,2)}readToken_lt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(60===t)return 61===this.input.charCodeAt(e+2)?void this.finishOp(30,3):void this.finishOp(51,2);61!==t?this.finishOp(47,1):this.finishOp(49,2)}readToken_gt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(62===t){const t=62===this.input.charCodeAt(e+2)?3:2;return 61===this.input.charCodeAt(e+t)?void this.finishOp(30,t+1):void this.finishOp(52,t)}61!==t?this.finishOp(48,1):this.finishOp(49,2)}readToken_eq_excl(e){const t=this.input.charCodeAt(this.state.pos+1);if(61!==t)return 61===e&&62===t?(this.state.pos+=2,void this.finishToken(19)):void this.finishOp(61===e?29:35,1);this.finishOp(46,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);63===e?61===t?this.finishOp(30,3):this.finishOp(40,2):46!==e||t>=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:return++this.state.pos,void this.finishToken(0);case 93:return++this.state.pos,void this.finishToken(3);case 123:return++this.state.pos,void this.finishToken(5);case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(gC(e))return void this.readWord(e)}throw this.raise(_w.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){const n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){const e=this.state.startLoc,t=this.state.start+1;let n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(_w.UnterminatedRegExp,gw(e,1));const t=this.input.charCodeAt(i);if(OC(t))throw this.raise(_w.UnterminatedRegExp,gw(e,1));if(n)n=!1;else{if(91===t)r=!0;else if(93===t&&r)r=!1;else if(47===t&&!r)break;n=92===t}}const s=this.input.slice(t,i);++i;let a="";const o=()=>gw(e,i+2-t);for(;i<this.length;){const e=this.codePointAtPos(i),t=String.fromCharCode(e);if(ok.has(e))118===e?a.includes("u")&&this.raise(_w.IncompatibleRegExpUVFlags,o()):117===e&&a.includes("v")&&this.raise(_w.IncompatibleRegExpUVFlags,o()),a.includes(t)&&this.raise(_w.DuplicateRegExpFlags,o());else{if(!bC(e)&&92!==e)break;this.raise(_w.MalformedRegExpFlags,o())}++i,a+=t}this.state.pos=i,this.finishToken(138,{pattern:s,flags:a})}readInt(e,t,n=!1,r=!0){const{n:i,pos:s}=ik(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=s,i}readRadixNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1;this.state.pos+=2;const i=this.readInt(e);null==i&&this.raise(_w.InvalidDigit,gw(n,2),{radix:e});const s=this.input.charCodeAt(this.state.pos);if(110===s)++this.state.pos,r=!0;else if(109===s)throw this.raise(_w.InvalidDecimal,n);if(gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");return void this.finishToken(136,e)}this.finishToken(135,i)}readNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1,i=!1,s=!1;e||null!==this.readInt(10)||this.raise(_w.InvalidNumber,this.state.curPosition());const a=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(a){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(_w.StrictOctalLiteral,n),!this.state.strict){const t=e.indexOf("_");t>0&&this.raise(_w.ZeroDigitNumericSeparator,gw(n,t))}s=a&&!/[89]/.test(e)}let o=this.input.charCodeAt(this.state.pos);if(46!==o||s||(++this.state.pos,this.readInt(10),r=!0,o=this.input.charCodeAt(this.state.pos)),69!==o&&101!==o||s||(o=this.input.charCodeAt(++this.state.pos),43!==o&&45!==o||++this.state.pos,null===this.readInt(10)&&this.raise(_w.InvalidOrMissingExponent,n),r=!0,o=this.input.charCodeAt(this.state.pos)),110===o&&((r||a)&&this.raise(_w.InvalidBigIntLiteral,n),++this.state.pos,i=!0),gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());const u=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(i)return void this.finishToken(136,u);const c=s?parseInt(u,8):parseFloat(u);this.finishToken(135,c)}readCodePoint(e){const{code:t,pos:n}=sk(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){const{str:t,pos:n,curLine:r,lineStart:i}=ek(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(134,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){const e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:r,curLine:i,lineStart:s}=ek("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=r+1,this.state.lineStart=s,this.state.curLine=i,n&&(this.state.firstInvalidTemplateEscapePos=new mw(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),96===this.input.codePointAt(r)?this.finishToken(24,n?null:e+t+"`"):(this.state.pos++,this.finishToken(25,n?null:e+t+"${"))}recordStrictModeErrors(e,t){const n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,t):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t="";const n=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){const e=this.codePointAtPos(this.state.pos);if(bC(e))this.state.pos+=e<=65535?1:2;else{if(92!==e)break;{this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);const e=this.state.curPosition(),i=this.state.pos===n?gC:bC;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(_w.MissingUnicodeEscape,this.state.curPosition()),r=this.state.pos-1;continue}++this.state.pos;const s=this.readCodePoint(!0);null!==s&&(i(s)||this.raise(_w.EscapedCharNotAnIdentifier,e),t+=String.fromCodePoint(s)),r=this.state.pos}}}return t+this.input.slice(r,this.state.pos)}readWord(e){const t=this.readWord1(e),n=$w.get(t);void 0!==n?this.finishToken(n,aC(n)):this.finishToken(132,t)}checkKeywordEscapes(){const{type:e}=this.state;iC(e)&&this.state.containsEsc&&this.raise(_w.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:aC(e)})}raise(e,t,n={}){const r=e(t instanceof mw?t:t.loc.start,n);if(!(2048&this.optionFlags))throw r;return this.isLookahead||this.state.errors.push(r),r}raiseOverwrite(e,t,n={}){const r=t instanceof mw?t:t.loc.start,i=r.index,s=this.state.errors;for(let t=s.length-1;t>=0;t--){const a=s[t];if(a.loc.index===i)return s[t]=e(r,n);if(a.loc.index<i)break}return this.raise(e,t,n)}updateContext(e){}unexpected(e,t){throw this.raise(_w.UnexpectedToken,null!=e?e:this.state.startLoc,{expected:t?aC(t):null})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(_w.MissingPlugin,null!=t?t:this.state.startLoc,{missingPlugin:[e]})}expectOnePlugin(e){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(_w.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,ak(t,n,r))}}},lk=class{constructor(){Qe(this,"privateNames",new Set),Qe(this,"loneAccessors",new Map),Qe(this,"undefinedPrivateNames",new Map)}},pk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[]),Qe(this,"undefinedPrivateNames",new Map),this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new lk)}exit(){const e=this.stack.pop(),t=this.current();for(const[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(_w.InvalidPrivateFieldResolution,r,{identifierName:n})}declarePrivateName(e,t,n){const{privateNames:r,loneAccessors:i,undefinedPrivateNames:s}=this.current();let a=r.has(e);if(3&t){const n=a&&i.get(e);if(n){a=(3&n)===(3&t)||(4&n)!==(4&t),a||i.delete(e)}else a||i.set(e,t)}a&&this.parser.raise(_w.PrivateNameRedeclaration,n,{identifierName:e}),r.add(e),s.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(_w.InvalidPrivateFieldResolution,t,{identifierName:e})}},dk=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}},hk=class extends dk{constructor(e){super(e),Qe(this,"declarationErrors",new Map)}recordDeclarationError(e,t){const n=t.index;this.declarationErrors.set(n,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},fk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[new dk]),this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const n=t.loc.start,{stack:r}=this;let i=r.length-1,s=r[i];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,n),s=r[--i]}this.parser.raise(e,n)}recordArrowParameterBindingError(e,t){const{stack:n}=this,r=n[n.length-1],i=t.loc.start;if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,i)}}recordAsyncArrowParametersError(e){const{stack:t}=this;let n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)2===r.type&&r.recordDeclarationError(_w.AwaitBindingIdentifier,e),r=t[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(([t,n])=>{this.parser.raise(t,n);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n.index),i=e[--r]})}};function mk(){return new dk}var yk=class extends ck{addExtra(e,t,n,r=!0){if(!e)return;let{extra:i}=e;null==i&&(i={},e.extra=i),r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){const n=this.input.charCodeAt(e+t.length);return!(bC(n)||55296==(64512&n))}return!1}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return DC(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return DC(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(_w.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){const n={node:null};try{const r=e((e=null)=>{throw n.node=e,n});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:s,voidPatternLoc:a}=e;if(!t)return!!(n||r||s||i||a);null!=n&&this.raise(_w.InvalidCoverInitializedName,n),null!=r&&this.raise(_w.DuplicateProto,r),null!=i&&this.raise(_w.UnexpectedPrivateField,i),null!=s&&this.unexpected(s),null!=a&&this.raise(_w.InvalidCoverDiscardElement,a)}isLiteralPropertyName(){return(e=this.state.type)>=58&&e<=137;var e}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);const a=this.prodParam;this.prodParam=new JC;const o=this.classScope;this.classScope=new pk(this);const u=this.expressionScope;return this.expressionScope=new fk(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let e=0;(this.inModule||1&this.optionFlags)&&(e|=2),32&this.optionFlags&&(e|=1);const t=!this.inModule&&"commonjs"===this.options.sourceType;(t||2&this.optionFlags)&&(e|=4),this.prodParam.enter(e);let n=t?514:1;4&this.optionFlags&&(n|=512),this.scope.enter(n)}checkDestructuringPrivate(e){const{privateKeyLoc:t}=e;null!==t&&this.expectPlugin("destructuringPrivate",t)}},gk=class{constructor(){Qe(this,"shorthandAssignLoc",null),Qe(this,"doubleProtoLoc",null),Qe(this,"privateKeyLoc",null),Qe(this,"optionalParametersLoc",null),Qe(this,"voidPatternLoc",null)}},bk=class{constructor(e,t,n){Qe(this,"type",""),this.start=t,this.end=0,this.loc=new yw(n),128&e?.optionFlags&&(this.range=[t,0]),e?.filename&&(this.loc.filename=e.filename)}},xk=bk.prototype,Sk=class extends yk{startNode(){const e=this.state.startLoc;return new bk(this,e.index,e)}startNodeAt(e){return new bk(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){return e.type=t,e.end=n.index,e.loc.end=n,128&this.optionFlags&&(e.range[1]=n.index),4096&this.optionFlags&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,128&this.optionFlags&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,128&this.optionFlags&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){const{type:t,start:n,end:r,loc:i,range:s,name:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.name=a,e.extra&&(o.extra=e.extra),o}cloneStringLiteral(e){const{type:t,start:n,end:r,loc:i,range:s,extra:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.extra=a,o.value=e.value,o}},Tk=e=>"ParenthesizedExpression"===e.type?Tk(e.expression):e,Ek=class extends Sk{toAssignable(e,t=!1){let n;switch(("ParenthesizedExpression"===e.type||e.extra?.parenthesized)&&(n=Tk(e),t?"Identifier"===n.type?this.expressionScope.recordArrowParameterBindingError(_w.InvalidParenthesizedAssignment,e):"MemberExpression"===n.type||this.isOptionalMemberExpression(n)||this.raise(_w.InvalidParenthesizedAssignment,e):this.raise(_w.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":break;case"ObjectExpression":this.castNodeTo(e,"ObjectPattern");for(let n=0,r=e.properties.length,i=r-1;n<r;n++){const r=e.properties[n],s=n===i;this.toAssignableObjectExpressionProp(r,s,t),s&&"RestElement"===r.type&&e.extra?.trailingCommaLoc&&this.raise(_w.RestTrailingComma,e.extra.trailingCommaLoc)}break;case"ObjectProperty":{const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t);break}case"SpreadElement":throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.");case"ArrayExpression":this.castNodeTo(e,"ArrayPattern"),this.toAssignableList(e.elements,e.extra?.trailingCommaLoc,t);break;case"AssignmentExpression":"="!==e.operator&&this.raise(_w.MissingEqInAssignment,e.left.loc.end),this.castNodeTo(e,"AssignmentPattern"),delete e.operator,"VoidPattern"===e.left.type&&this.raise(_w.VoidPatternInitializer,e.left),this.toAssignable(e.left,t);break;case"ParenthesizedExpression":this.toAssignable(n,t)}}toAssignableObjectExpressionProp(e,t,n){if("ObjectMethod"===e.type)this.raise("get"===e.kind||"set"===e.kind?_w.PatternHasAccessor:_w.PatternHasMethod,e.key);else if("SpreadElement"===e.type){this.castNodeTo(e,"RestElement");const r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(_w.RestTrailingComma,e)}else this.toAssignable(e,n)}toAssignableList(e,t,n){const r=e.length-1;for(let i=0;i<=r;i++){const s=e[i];s&&(this.toAssignableListItem(e,i,n),"RestElement"===s.type&&(i<r?this.raise(_w.RestTrailingComma,s):t&&this.raise(_w.RestTrailingComma,t)))}}toAssignableListItem(e,t,n){const r=e[t];if("SpreadElement"===r.type){this.castNodeTo(r,"RestElement");const e=r.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(r,n)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,n)=>"ObjectMethod"!==e.type&&(n===t||"SpreadElement"!==e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>null===e||this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(const t of e)"ArrayExpression"===t?.type&&this.toReferencedListDeep(t.elements)}parseSpread(e){const t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}parseRestBinding(){const e=this.startNode();this.next();const t=this.parseBindingAtom();return"VoidPattern"===t.type&&this.raise(_w.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{const e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0);case 88:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,n){const r=1&n,i=[];let s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),r&&this.match(12))i.push(null);else{if(this.eat(e))break;if(this.match(21)){let r=this.parseRestBinding();if(2&n&&(r=this.parseFunctionParamType(r)),i.push(r),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{const e=[];if(2&n)for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(_w.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)e.push(this.parseDecorator());i.push(this.parseBindingElement(n,e))}}return i}parseBindingRestProperty(e){return this.next(),this.hasPlugin("discardBinding")&&this.match(88)?(e.argument=this.parseVoidPattern(null),this.raise(_w.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}parseBindingProperty(){const{type:e,startLoc:t}=this.state;if(21===e)return this.parseBindingRestProperty(this.startNode());const n=this.startNode();return 139===e?(this.expectPlugin("destructuringPrivate",t),this.classScope.usePrivateName(this.state.value,t),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,t,!1,!1,!0,!1)}parseBindingElement(e,t){const n=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(n),t.length&&(n.decorators=t,this.resetStartLocationFromNode(n,t[0]));return this.parseMaybeDefault(n.loc.start,n)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??(e=this.state.startLoc),t=t??this.parseBindingAtom(),!this.eat(29))return t;const n=this.startNodeAt(e);return"VoidPattern"===t.type&&this.raise(_w.VoidPatternInitializer,t),n.left=t,n.right=this.parseMaybeAssignAllowIn(),this.finishNode(n,"AssignmentPattern")}isValidLVal(e,t,n){switch(e){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties";case"VoidPattern":return!0}return!1}isOptionalMemberExpression(e){return"OptionalMemberExpression"===e.type}checkLVal(e,t,n=64,r=!1,i=!1,s=!1){const a=e.type;if(this.isObjectMethod(e))return;const o=this.isOptionalMemberExpression(e);if(o||"MemberExpression"===a)return o&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==t.type&&this.raise(_w.InvalidLhsOptionalChaining,e,{ancestor:t})),void(64!==n&&this.raise(_w.InvalidPropertyBindingPattern,e));if("Identifier"===a){this.checkIdentifier(e,n,i);const{name:t}=e;return void(r&&(r.has(t)?this.raise(_w.ParamDupe,e):r.add(t)))}"VoidPattern"===a&&"CatchClause"===t.type&&this.raise(_w.VoidPatternCatchClauseParam,e);const u=this.isValidLVal(a,!(s||e.extra?.parenthesized)&&"AssignmentExpression"===t.type,n);if(!0===u)return;if(!1===u){const r=64===n?_w.InvalidLhs:_w.InvalidLhsBinding;return void this.raise(r,e,{ancestor:t})}let c,l;"string"==typeof u?(c=u,l="ParenthesizedExpression"===a):[c,l]=u;const p="ArrayPattern"===a||"ObjectPattern"===a?{type:a}:t,d=e[c];if(Array.isArray(d))for(const e of d)e&&this.checkLVal(e,p,n,r,i,l);else d&&this.checkLVal(d,p,n,r,i,l)}checkIdentifier(e,t,n=!1){this.state.strict&&(n?CC(e.name,this.inModule):wC(e.name))&&(64===t?this.raise(_w.StrictEvalArguments,e,{referenceName:e.name}):this.raise(_w.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(_w.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(_w.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?_w.RestTrailingComma:_w.ElementAfterRest,this.state.startLoc),!0)}};function Pk(e){if(!e)throw new Error("Assert fail")}var vk=Iw`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifier:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Ak(e){return"private"===e||"public"===e||"protected"===e}function wk(e){return"in"===e||"out"===e}function Ck(e){if(e.extra?.parenthesized)return!1;switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&Ck(e.object);case"TSInstantiationExpression":return Ck(e.expression);default:return!1}}function kk(e){if("MemberExpression"!==e.type)return!1;const{computed:t,property:n}=e;return(!t||"StringLiteral"===n.type||!("TemplateLiteral"!==n.type||n.expressions.length>0))&&Nk(e.object)}function Ik(e,t){const{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if("Literal"===n){const{value:t}=e;if("string"==typeof t||"boolean"==typeof t)return!0}}else if("StringLiteral"===n||"BooleanLiteral"===n)return!0;return!(!_k(e,t)&&!function(e,t){if("UnaryExpression"===e.type){const{operator:n,argument:r}=e;if("-"===n&&_k(r,t))return!0}return!1}(e,t))||("TemplateLiteral"===n&&0===e.expressions.length||!!kk(e))}function _k(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function Nk(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&Nk(e.object)}var Lk=Iw`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),Ok=["fsharp","hack"],Dk=["^^","@@","^","%","#"];var Mk={estree:e=>class extends e{parse(){const e=Ow(super.parse());return 256&this.optionFlags&&(e.tokens=e.tokens.map(Ow)),e}parseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}const n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}parseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){const n=this.startNodeAtNode(e);return n.expression=e,this.finishNodeAt(n,"ChainExpression",t)}directiveToStmt(e){const t=e.value;delete e.value,this.castNodeTo(t,"Literal"),t.raw=t.extra.raw,t.value=t.extra.expressionValue;const n=this.castNodeTo(e,"ExpressionStatement");return n.expression=t,n.directive=t.extra.rawValue,delete t.extra,n}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){const{start:t,end:n,loc:r,range:i,raw:s,value:a}=e,o=Object.create(e.constructor.prototype);return o.type="Literal",o.start=t,o.end=n,o.loc=r,o.range=i,o.raw=s,o.value=a,o}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,n,r,i){super.parseBlockBody(e,t,n,r,i);const s=e.directives.map(e=>this.directiveToStmt(e));e.body=s.concat(e.body),delete e.directives}parsePrivateName(){const e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,"PrivateIdentifier")}isPrivateName(e){return"PrivateIdentifier"===e.type}getPrivateNameSV(e){return e.name}parseLiteral(e,t){const n=super.parseLiteral(e,t);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,n,r,i,s,a=!1){let o=this.startNode();o.kind=e.kind,o=super.parseMethod(o,t,n,r,i,s,a),delete o.kind;const{typeParameters:u}=e;u&&(delete e.typeParameters,o.typeParameters=u,this.resetStartLocationFromNode(o,u));const c=this.castNodeTo(o,this.hasPlugin("typescript")&&!o.body?"TSEmptyBodyFunctionExpression":"FunctionExpression");return e.value=c,"ClassPrivateMethod"===s&&(e.computed=!1),this.hasPlugin("typescript")&&e.abstract?(delete e.abstract,this.finishNode(e,"TSAbstractMethodDefinition")):"ObjectMethod"===s?("method"===e.kind&&(e.kind="init"),e.shorthand=!1,this.finishNode(e,"Property")):this.finishNode(e,"MethodDefinition")}nameIsConstructor(e){return"Literal"===e.type?"constructor"===e.value:super.nameIsConstructor(e)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractPropertyDefinition")):this.castNodeTo(t,"PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin("typescript")?this.castNodeTo(t,"TSAbstractPropertyDefinition"):this.castNodeTo(t,"PropertyDefinition"),t.computed=!1,t}parseClassAccessorProperty(e){const t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractAccessorProperty")):this.castNodeTo(t,"AccessorProperty"),t}parseObjectProperty(e,t,n,r){const i=super.parseObjectProperty(e,t,n,r);return i&&(i.kind="init",this.castNodeTo(i,"Property")),i}finishObjectProperty(e){return e.kind="init",this.finishNode(e,"Property")}isValidLVal(e,t,n){return"Property"===e?"value":super.isValidLVal(e,t,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,n){"Property"!==e.type||"get"!==e.kind&&"set"!==e.kind?"Property"===e.type&&e.method?this.raise(_w.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,n):this.raise(_w.PatternHasAccessor,e.key)}finishCallExpression(e,t){const n=super.finishCallExpression(e,t);return"Import"===n.callee.type?(this.castNodeTo(n,"ImportExpression"),n.source=n.arguments[0],n.options=n.arguments[1]??null,delete n.arguments,delete n.callee):"OptionalCallExpression"===n.type?this.castNodeTo(n,"CallExpression"):n.optional=!1,n}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){const n=this.state.lastTokStartLoc,r=super.parseExport(e,t);switch(r.type){case"ExportAllDeclaration":r.exported=null;break;case"ExportNamedDeclaration":1===r.specifiers.length&&"ExportNamespaceSpecifier"===r.specifiers[0].type&&(this.castNodeTo(r,"ExportAllDeclaration"),r.exported=r.specifiers[0].exported,delete r.specifiers);case"ExportDefaultDeclaration":{const{declaration:e}=r;"ClassDeclaration"===e?.type&&e.decorators?.length>0&&e.start===r.start&&this.resetStartLocation(r,n)}}return r}stopParseSubscript(e,t){const n=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(n,e.loc.end):n}parseMember(e,t,n,r,i){const s=super.parseMember(e,t,n,r,i);return"OptionalMemberExpression"===s.type?this.castNodeTo(s,"MemberExpression"):s.optional=!1,s}isOptionalMemberExpression(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return"Property"===e.type&&(e.method||"get"===e.kind||"set"===e.kind)}castNodeTo(e,t){const n=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}cloneIdentifier(e){const t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return"Literal"===e.type?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,n){return Ow(super.finishNodeAt(e,t,n))}finishNode(e,t){const n=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}resetStartLocation(e,t){super.resetStartLocation(e,t),Ow(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),Ow(e)}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(RC.UnterminatedJsxContent,this.state.startLoc);const n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?void(60===n&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(n)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(142,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(RC.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===n?"&rbrace;":"&gt;"});default:OC(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let n;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?"\n":"\r\n"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(_w.UnterminatedString,this.state.startLoc);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):OC(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(134,t)}jsxReadEntity(){const e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);const t=this.readInt(e,void 0,!1,"bail");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=59===this.codePointAtPos(this.state.pos));)++this.state.pos;if(n){const t=this.input.slice(e,this.state.pos),n=NC[t];if(++this.state.pos,n)return n}}return this.state.pos=e,"&"}jsxReadWord(){let e;const t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(bC(e)||45===e);this.finishToken(141,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){const e=this.startNode();return this.match(141)?e.name=this.state.value:iC(this.state.type)?e.name=aC(this.state.type):this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")}jsxParseNamespacedName(){const e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(14))return t;const n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,"JSXNamespacedName")}jsxParseElementName(){const e=this.state.startLoc;let t=this.jsxParseNamespacedName();if("JSXNamespacedName"===t.type)return t;for(;this.eat(16);){const n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,"JSXMemberExpression")}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 5:return e=this.startNode(),this.setContext(Mw.brace),this.next(),e=this.jsxParseExpressionContainer(e,Mw.j_oTag),"JSXEmptyExpression"===e.expression.type&&this.raise(RC.AttributeIsEmpty,e),e;case 143:case 134:return this.parseExprAtom();default:throw this.raise(RC.UnsupportedJsxValue,this.state.startLoc)}}jsxParseEmptyExpression(){const e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadChild")}jsxParseExpressionContainer(e,t){if(this.match(8))e.expression=this.jsxParseEmptyExpression();else{const t=this.parseExpression();"SequenceExpression"!==t.type||t.extra?.parenthesized||this.raise(RC.UnexpectedSequenceExpression,t.expressions[1]),e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXExpressionContainer")}jsxParseAttribute(){const e=this.startNode();return this.match(5)?(this.setContext(Mw.brace),this.next(),this.expect(21),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(Mw.j_oTag),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(29)?this.jsxParseAttributeValue():null,this.finishNode(e,"JSXAttribute"))}jsxParseOpeningElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXOpeningFragment"):(t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t))}jsxParseOpeningElementAfterName(e){const t=[];for(;!this.match(56)&&!this.match(144);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(56),this.expect(144),this.finishNode(e,"JSXOpeningElement")}jsxParseClosingElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXClosingFragment"):(t.name=this.jsxParseElementName(),this.expect(144),this.finishNode(t,"JSXClosingElement"))}jsxParseElementAt(e){const t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e);let i=null;if(!r.selfClosing){e:for(;;)switch(this.state.type){case 143:if(e=this.state.startLoc,this.next(),this.eat(56)){i=this.jsxParseClosingElementAt(e);break e}n.push(this.jsxParseElementAt(e));break;case 142:n.push(this.parseLiteral(this.state.value,"JSXText"));break;case 5:{const e=this.startNode();this.setContext(Mw.brace),this.next(),this.match(21)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,Mw.j_expr));break}default:this.unexpected()}jC(r)&&!jC(i)&&null!==i?this.raise(RC.MissingClosingTagFragment,i):!jC(r)&&jC(i)?this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)}):jC(r)||jC(i)||UC(i.name)!==UC(r.name)&&this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)})}if(jC(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(47))throw this.raise(RC.UnwrappedAdjacentJSXElements,this.state.startLoc);return jC(r)?this.finishNode(t,"JSXFragment"):this.finishNode(t,"JSXElement")}jsxParseElement(){const e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){const{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(143)?this.jsxParseElement():this.match(47)&&33!==this.input.charCodeAt(this.state.pos)?(this.replaceToken(143),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){const t=this.curContext();if(t!==Mw.j_expr){if(t===Mw.j_oTag||t===Mw.j_cTag){if(gC(e))return void this.jsxReadWord();if(62===e)return++this.state.pos,void this.finishToken(144);if((34===e||39===e)&&t===Mw.j_oTag)return void this.jsxReadString(e)}if(60===e&&this.state.canStartJSXElement&&33!==this.input.charCodeAt(this.state.pos+1))return++this.state.pos,void this.finishToken(143);super.getTokenFromCode(e)}else this.jsxReadToken()}updateContext(e){const{context:t,type:n}=this.state;if(56===n&&143===e)t.splice(-2,2,Mw.j_cTag),this.state.canStartJSXElement=!1;else if(143===n)t.push(Mw.j_oTag);else if(144===n){const n=t[t.length-1];n===Mw.j_oTag&&56===e||n===Mw.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===Mw.j_expr):(this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=zw[n]}},typescript:e=>class extends e{constructor(){super(...arguments),Qe(this,"tsParseInOutModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter})),Qe(this,"tsParseConstModifier",this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:vk.InvalidModifierOnTypeParameterPositions})),Qe(this,"tsParseInOutConstModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter}))}getScopeHandler(){return $C}tsIsIdentifier(){return tC(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!tC(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;const r=this.state.value;if(e.includes(r)){if(n&&this.match(106))return;if(t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:n,errorTemplate:r=vk.InvalidModifierOnTypeMember},i){const s=(e,t,n,r)=>{t===n&&i[r]&&this.raise(vk.InvalidModifiersOrder,e,{orderedModifiers:[n,r]})},a=(e,t,n,r)=>{(i[n]&&t===r||i[r]&&t===n)&&this.raise(vk.IncompatibleModifiers,e,{modifiers:[n,r]})};for(;;){const{startLoc:o}=this.state,u=this.tsParseModifier(e.concat(t??[]),n,i.static);if(!u)break;Ak(u)?i.accessibility?this.raise(vk.DuplicateAccessibilityModifier,o,{modifier:u}):(s(o,u,u,"override"),s(o,u,u,"static"),s(o,u,u,"readonly"),i.accessibility=u):wk(u)?(i[u]&&this.raise(vk.DuplicateModifier,o,{modifier:u}),i[u]=!0,s(o,u,"in","out")):(Object.hasOwn(i,u)?this.raise(vk.DuplicateModifier,o,{modifier:u}):(s(o,u,"static","readonly"),s(o,u,"static","override"),s(o,u,"override","readonly"),s(o,u,"abstract","override"),a(o,u,"declare","override"),a(o,u,"static","abstract")),i[u]=!0),t?.includes(u)&&this.raise(r,o,{modifier:u})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,t){const n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return function(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){const i=[];let s=-1;for(;!this.tsIsListTerminator(e);){s=-1;const r=t();if(null==r)return;if(i.push(r),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(n&&this.expect(12))}s=this.state.lastTokStartLoc.index}return r&&(r.value=s),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(47));const s=this.tsParseDelimitedList(e,t,i);return n?this.expect(3):this.expect(48),s}tsParseImportType(){const e=this.startNode();return this.expect(83),this.expect(10),this.match(134)?e.argument=this.tsParseLiteralTypeNode():(this.raise(vk.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=this.tsParseNonConditionalType()),this.eat(12)?e.options=this.tsParseImportTypeOptions():e.options=null,this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName(3)),this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseImportTypeOptions(){const e=this.startNode();this.expect(5);const t=this.startNode();return this.isContextual(76)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,76),this.expect(14),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(12),this.expect(8),this.finishNode(e,"ObjectExpression")}tsParseImportTypeWithPropertyValue(){const e=this.startNode(),t=[];for(this.expect(5);!this.match(8);){const e=this.state.type;tC(e)||134===e?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(12)}return e.properties=t,this.next(),this.finishNode(e,"ObjectExpression")}tsParseEntityName(e){let t;if(1&e&&this.match(78))if(2&e)t=this.parseIdentifier(!0);else{const e=this.startNode();this.next(),t=this.finishNode(e,"ThisExpression")}else t=this.parseIdentifier(!!(1&e));for(;this.eat(16);){const n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(1&e)),t=this.finishNode(n,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){const t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){const t=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();const n={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,n),0===t.params.length&&this.raise(vk.EmptyTypeParameters,t),-1!==n.value&&this.addExtra(t,"trailingComma",n.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsFillSignature(e,t){const n=19===e,r="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t[r]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){const e=super.parseBindingList(11,41,2);for(const t of e){const{type:e}=t;"AssignmentPattern"!==e&&"TSParameterProperty"!==e||this.raise(vk.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){this.eat(12)||this.isLineTerminator()||this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!tC(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){if(this.eat(17)&&(e.optional=!0),this.match(10)||this.match(47)){t&&this.raise(vk.ReadonlyForMethodSignature,e);const n=e;n.kind&&this.match(47)&&this.raise(vk.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,n),this.tsParseTypeMemberSemicolon();const r="params",i="returnType";if("get"===n.kind)n[r].length>0&&(this.raise(_w.BadGetterArity,this.state.curPosition()),this.isThisParam(n[r][0])&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===n.kind){if(1!==n[r].length)this.raise(_w.BadSetterArity,this.state.curPosition());else{const e=n[r][0];this.isThisParam(e)&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===e.type&&e.optional&&this.raise(vk.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===e.type&&this.raise(vk.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n[i]&&this.raise(vk.SetAccessorCannotHaveReturnType,n[i])}else n.kind="method";return this.finishNode(n,"TSMethodSignature")}{const n=e;t&&(n.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){const t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);const t=this.tsTryParseIndexSignature(e);return t||(super.parsePropertyName(e),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,super.parsePropertyName(e),this.match(10)||this.match(47)||this.unexpected(null,10)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(58))))}tsParseMappedType(){const e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{const{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(vk.OptionalTypeBeforeRequired,e),t||(t="TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const e=this.state.startLoc,t=this.eat(21),{startLoc:n}=this.state;let r,i,s,a;const o=nC(this.state.type)?this.lookaheadCharCode():null;if(58===o)r=!0,s=!1,i=this.parseIdentifier(!0),this.expect(14),a=this.tsParseType();else if(63===o){s=!0;const e=this.state.value,t=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(17),this.expect(14),a=this.tsParseType()):(r=!1,a=t,this.expect(17))}else a=this.tsParseType(),s=this.eat(17),r=this.eat(14);if(r){let e;i?(e=this.startNodeAt(n),e.optional=s,e.label=i,e.elementType=a,this.eat(17)&&(e.optional=!0,this.raise(vk.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=s,this.raise(vk.InvalidTupleMemberLabel,a),e.label=a,e.elementType=this.tsParseType()),a=this.finishNode(e,"TSNamedTupleMember")}else if(s){const e=this.startNodeAt(n);e.typeAnnotation=a,a=this.finishNode(e,"TSOptionalType")}if(t){const t=this.startNodeAt(e);t.typeAnnotation=a,a=this.finishNode(t,"TSRestType")}return a}tsParseParenthesizedType(){const e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const n=this.startNode();return"TSConstructorType"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){const e=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){{const e=this.state.startLoc;let t=this.parseTemplateElement(!1);const n=[t];if(t.tail){const t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,"TemplateLiteral"),this.finishNode(t,"TSLiteralType")}{const r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));const i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,"TSTemplateLiteralType")}}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();return 135!==t.type&&136!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!(1024&this.optionFlags)){const e=this.state.startLoc;this.next();const t=this.tsParseType();return this.expect(11),this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),t}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{const{type:e}=this.state;if(tC(e)||88===e||84===e){const t=88===e?"TSVoidKeyword":84===e?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){const{startLoc:e}=this.state;let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){const n=this.startNodeAt(e);n.elementType=t,this.expect(3),t=this.finishNode(n,"TSArrayType")}else{const n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(n,"TSIndexedAccessType")}return t}tsParseTypeOperator(){const e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(vk.UnexpectedReadonly,e)}}tsParseInferType(){const e=this.startNode();this.expectContextual(115);const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){const e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){var e;return(e=this.state.type)>=121&&e<=123&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){const r=this.startNode(),i=this.eat(n),s=[];do{s.push(t())}while(this.eat(n));return 1!==s.length||i?(r.types=s,this.finishNode(r,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(tC(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){const{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();const{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,"TSTypePredicate")):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=s,n.asserts=r,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(109!==this.state.type)return!1;const e=this.state.containsEsc;return this.next(),!(!tC(this.state.type)&&!this.match(78))&&(e&&this.raise(_w.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){Pk(this.state.inType);const e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.isLookaheadContextual("new")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(vk.ReservedTypeAssertion,this.state.startLoc);const e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.startLoc,n=this.tsParseDelimitedList("HeritageClauseElement",()=>{{const t=super.parseExprSubscripts();Ck(t)||this.raise(vk.InvalidHeritageClauseType,t.loc.start,{token:e});const n="extends"===e?"TSInterfaceHeritage":"TSClassImplements";if("TSInstantiationExpression"===t.type)return t.type=n,t;const r=this.startNodeAtNode(t);return r.expression=t,(this.match(47)||this.match(51))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)}});return n.length||this.raise(vk.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),tC(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(vk.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));const n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInTopLevelContext(e){if(this.curContext()===Mw.brace)return e();{const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,"TSEnumDeclaration")}tsParseEnumBody(){const e=this.startNode();return this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumBody")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){return e.id=this.tsParseEntityName(1),"Identifier"===e.id.type&&this.checkIdentifier(e.id,1024),this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(112)?(e.kind="global",e.id=this.parseIdentifier()):this.match(134)?(e.kind="module",e.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t,n){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);const r=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==r.type&&this.raise(vk.ImportAliasHasImportType,r),e.moduleReference=r,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){const e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),n=e();if(void 0!==n&&!1!==n)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;const t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 126:return this.tsParseEnumDeclaration(e,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(e);case 100:if(this.state.containsEsc)return;case 75:case 74:return this.match(75)&&this.isLookaheadContextual("enum")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,this.state.value,!0));case 107:if(this.isUsing())return this.raise(vk.InvalidModifierOnUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.parseVarStatement(e,"using",!0);break;case 96:if(this.isAwaitUsing())return this.raise(vk.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.next(),this.parseVarStatement(e,"await using",!0);break;case 129:{const t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(tC(t))return this.tsParseDeclaration(e,this.state.value,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,t,n){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);return t&&(t.declare=!0),t}case"global":if(this.match(5)){this.scope.enter(1024),this.prodParam.enter(0);const n=e;return n.kind="global",n.id=t,n.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(n,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1,n)}}tsParseDeclaration(e,t,n,r){switch(t){case"abstract":if(this.tsCheckLineTerminator(n)&&(this.match(80)||tC(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case"module":if(this.tsCheckLineTerminator(n)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(e);if(tC(this.state.type))return e.kind="module",this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return e.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;const t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch(()=>{const t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t});return this.state.maybeInArrowParameters=t,n?super.parseArrowExpression(n,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length?this.raise(vk.EmptyTypeArguments,e):this.state.inType||this.curContext()!==Mw.brace||this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return(e=this.state.type)>=124&&e<=130;var e}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){const n=t.length?t[0].loc.start:this.state.startLoc,r={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},r);const i=r.accessibility,s=r.override,a=r.readonly;4&e||!(i||a||s)||this.raise(vk.UnexpectedParameterModifier,n);const o=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(o);const u=this.parseMaybeDefault(o.loc.start,o);if(i||a||s){const e=this.startNodeAt(n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),s&&(e.override=s),"Identifier"!==u.type&&"AssignmentPattern"!==u.type&&this.raise(vk.UnsupportedParameterPropertyKind,e),e.parameter=u,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),u}isSimpleParameter(e){return"TSParameterProperty"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(const t of e.params)"Identifier"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(vk.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return r&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(vk.DeclareFunctionHasImplementation,e),e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===e?.type&&this.raise(vk.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);return"ArrayExpression"===i.type&&this.tsCheckForInvalidTypeCasts(i.elements),i}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();const n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}let i=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(47)||this.match(51)){let s;const a=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}const a=this.tsParseTypeArgumentsInExpression();if(!a)return;if(i&&!this.match(10))return void(s=this.state.curPosition());if(uC(this.state.type)){const n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=a,n}if(!n&&this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=a,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}const o=this.state.type;if(48===o||52===o||10!==o&&rC(o)&&!this.hasPrecedingLineBreak())return;const u=this.startNodeAt(t);return u.expression=e,u.typeArguments=a,this.finishNode(u,"TSInstantiationExpression")});if(s&&this.unexpected(s,10),a)return"TSInstantiationExpression"===a.type&&((this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(vk.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),this.match(16)||this.match(18)||(a.expression=super.stopParseSubscript(e,r))),a}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);const{callee:t}=e;"TSInstantiationExpression"!==t.type||t.extra?.parenthesized||(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(oC(58)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(r=this.isContextual(120)))){const i=this.startNodeAt(t);return i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(r&&this.raise(_w.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(i,r?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkImportReflection(e){super.checkImportReflection(e),e.module&&"value"!==e.importKind&&this.raise(vk.ImportReflectionHasImportType,e.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(130)){const t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind="type"===n?"type":"value":e.importKind="type"===n||"typeof"===n?n:"value"}parseImport(e){if(this.match(134))return e.importKind="value",super.parseImport(e);let t;if(tC(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){const n=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(vk.TypeImportCannotSpecifyDefaultAndNamed,t),t}parseExport(e,t){if(this.match(83)){const t=this.startNode();this.next();let n=null;this.isContextual(130)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind="value";const r=this.tsParseImportEqualsDeclaration(t,n,!0);return e.attributes=[],e.declaration=r,e.exportKind="value",e.source=null,e.specifiers=[],this.finishNode(e,"ExportNamedDeclaration")}if(this.eat(29)){const t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,"TSExportAssignment")}if(this.eatContextual(93)){const t=e;return this.expectContextual(128),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(124)&&this.isLookaheadContextual("class")}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){const{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(!r)return i;if(!e.declare&&("using"===t||"await using"===t))return this.raiseOverwrite(vk.UsingDeclarationInAmbientContext,e,t),i;for(const{id:e,init:n}of i.declarations)n&&("var"===t||"let"===t||e.typeAnnotation?this.raise(vk.InitializerNotAllowedInAmbientContext,n):Ik(n,this.hasPlugin("estree"))||this.raise(vk.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,n));return i}parseStatementContent(e,t){if(this.match(75)&&this.isLookaheadContextual("enum")){const e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>Ak(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&123===this.lookaheadCharCode()}parseClassMember(e,t,n){const r=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:r,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:vk.InvalidModifierOnTypeParameterPositions},t);const i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,r)&&this.raise(vk.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,n,r){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(vk.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(vk.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(vk.IndexSignatureHasDeclare,t),void(t.override&&this.raise(vk.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(vk.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(vk.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(vk.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(vk.ClassMethodHasDeclare,e)}parseExpressionStatement(e,t,n){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t,n):void 0)||super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){const t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(n),e}return super.parseConditional(e,t,n)}parseParenItem(e,t){const n=super.parseParenItem(e,t);if(this.eat(17)&&(n.optional=!0,this.resetEndLocation(e)),this.match(14)){const n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));const t=this.state.startLoc,n=this.eatContextual(125);if(n&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(vk.ExpectedAmbientAfterExportDeclare,this.state.startLoc);const r=tC(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?(("TSInterfaceDeclaration"===r.type||"TSTypeAliasDeclaration"===r.type||n)&&(e.exportKind="type"),n&&"TSImportEqualsDeclaration"!==r.type&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(113))return;super.parseClassId(e,t,n,e.declare?1024:8331);const i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(29)&&this.raise(vk.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){const{key:t}=e;this.raise(vk.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(vk.PrivateElementHasAbstract,e),e.accessibility&&this.raise(vk.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(vk.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,s){const a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&i&&this.raise(vk.ConstructorHasTypeParameters,a);const{declare:o=!1,kind:u}=t;!o||"get"!==u&&"set"!==u||this.raise(vk.DeclareAccessor,t,{kind:u}),a&&(t.typeParameters=a),super.pushClassMethod(e,t,n,r,i,s)}pushClassPrivateMethod(e,t,n,r){const i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"===e.type&&null==e.value.body||super.declareClassPrivateMethodInScope(e,t))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,t,n,r,i,s,a){const o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,n,r,i,s,a)}parseFunctionParams(e,t){const n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);const n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i,s;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;const{context:i}=this.state,s=i[i.length-1];s!==Mw.j_oTag&&s!==Mw.j_expr||i.pop()}if(!r?.error&&!this.match(47))return super.parseMaybeAssign(e,t);n&&n!==this.state||(n=this.state.clone());const a=this.tryParse(n=>{s=this.tsParseTypeParameters(this.tsParseConstModifier);const r=super.parseMaybeAssign(e,t);if(("ArrowFunctionExpression"!==r.type||r.extra?.parenthesized)&&n(),0!==s?.params.length&&this.resetStartLocationFromNode(r,s),r.typeParameters=s,this.hasPlugin("jsx")&&1===r.typeParameters.params.length&&!r.typeParameters.extra?.trailingComma){const e=r.typeParameters.params[0];e.constraint||this.raise(vk.SingleTypeParameterWithoutTrailingComma,gw(e.loc.end,1),{typeParameterName:e.name.name})}return r},n);if(!a.error&&!a.aborted)return s&&this.reportReservedArrowTypeParam(s),a.node;if(!r&&(Pk(!this.hasPlugin("jsx")),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(a.node)return this.state=a.failState,s&&this.reportReservedArrowTypeParam(s),a.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||a.error||i?.error}reportReservedArrowTypeParam(e){1!==e.params.length||e.params[0].constraint||e.extra?.trailingComma||!this.getPluginOption("typescript","disallowAmbiguousJSXLike")||this.raise(vk.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(14);return!this.canInsertSemicolon()&&this.match(19)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(17)&&(e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(vk.UnexpectedTypeCastInParameter,e):this.raise(vk.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":t||"TSTypeCastExpression"!==e.left.type||(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n){switch(e){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(64!==n||!t)&&["expression",!0];default:return super.isValidLVal(e,t,n)}}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(47)||this.match(51)){const n=this.tsParseTypeArgumentsInExpression();if(this.match(10)){const r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){const n=super.parseMaybeDefault(e,t);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(vk.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(62===e)return void this.finishOp(48,1);if(60===e)return void this.finishOp(47,1)}super.getTokenFromCode(e)}reScan_lt_gt(){const{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){const{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}toAssignableListItem(e,t,n){const r=e[t];"TSTypeCastExpression"===r.type&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}shouldParseArrow(e){return this.match(14)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){const t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(vk.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,t,n,r,i,s,a){const o=super.parseMethod(e,t,n,r,i,s,a);if(o.abstract||"TSAbstractMethodDefinition"===o.type){if((this.hasPlugin("estree")?o.value:o).body){const{key:e}=o;this.raise(vk.AbstractMethodHasImplementation,o,{methodName:"Identifier"!==e.type||o.computed?`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`:e.name})}}return o}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,n){const r=t?"imported":"local",i=t?"local":"exported";let s,a=e[r],o=!1,u=!0;const c=a.loc.start;if(this.isContextual(93)){const e=this.parseIdentifier();if(this.isContextual(93)){const n=this.parseIdentifier();nC(this.state.type)?(o=!0,a=e,s=t?this.parseIdentifier():this.parseModuleExportName(),u=!1):(s=n,u=!1)}else nC(this.state.type)?(u=!1,s=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,a=e)}else nC(this.state.type)&&(o=!0,t?(a=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(a.name,a.loc.start,!0,!0)):a=this.parseModuleExportName());o&&n&&this.raise(t?vk.TypeModifierIsUsedInTypeImports:vk.TypeModifierIsUsedInTypeExports,c),e[r]=a,e[i]=s;e[t?"importKind":"exportKind"]=o?"type":"value",u&&this.eatContextual(93)&&(e[i]=t?this.parseIdentifier():this.parseModuleExportName()),e[i]||(e[i]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[i],o?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case"ExpressionStatement":return void(e.directive??(e.directive=void 0));case"RestElement":e.value=void 0;case"Identifier":case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":return e.decorators??(e.decorators=[]),e.optional??(e.optional=!1),void(e.typeAnnotation??(e.typeAnnotation=void 0));case"TSParameterProperty":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSEmptyBodyFunctionExpression":e.body=null;case"TSDeclareFunction":case"FunctionDeclaration":case"FunctionExpression":case"ClassMethod":case"ClassPrivateMethod":return e.declare??(e.declare=!1),e.returnType??(e.returnType=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"Property":return void(e.optional??(e.optional=!1));case"TSMethodSignature":case"TSPropertySignature":e.optional??(e.optional=!1);case"TSIndexSignature":return e.accessibility??(e.accessibility=void 0),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSAbstractPropertyDefinition":case"PropertyDefinition":case"TSAbstractAccessorProperty":case"AccessorProperty":e.declare??(e.declare=!1),e.definite??(e.definite=!1),e.readonly??(e.readonly=!1),e.typeAnnotation??(e.typeAnnotation=void 0);case"TSAbstractMethodDefinition":case"MethodDefinition":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),void(e.optional??(e.optional=!1));case"ClassExpression":e.id??(e.id=null);case"ClassDeclaration":return e.abstract??(e.abstract=!1),e.declare??(e.declare=!1),e.decorators??(e.decorators=[]),e.implements??(e.implements=[]),e.superTypeArguments??(e.superTypeArguments=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"TSTypeAliasDeclaration":case"VariableDeclaration":return void(e.declare??(e.declare=!1));case"VariableDeclarator":return void(e.definite??(e.definite=!1));case"TSEnumDeclaration":return e.const??(e.const=!1),void(e.declare??(e.declare=!1));case"TSEnumMember":return void(e.computed??(e.computed=!1));case"TSImportType":return e.qualifier??(e.qualifier=null),e.options??(e.options=null),void(e.typeArguments??(e.typeArguments=null));case"TSInterfaceDeclaration":return e.declare??(e.declare=!1),void(e.extends??(e.extends=[]));case"TSMappedType":return e.optional??(e.optional=!1),void(e.readonly??(e.readonly=void 0));case"TSModuleDeclaration":return e.declare??(e.declare=!1),void(e.global??(e.global="global"===e.kind));case"TSTypeParameter":return e.const??(e.const=!1),e.in??(e.in=!1),void(e.out??(e.out=!1))}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(54)){const e=this.state.startLoc,t=this.startNode();if(this.next(),tC(this.state.type)){const e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,"V8IntrinsicIdentifier"),this.match(10))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(133)){const t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return n.expectedNode&&n.type||(n=this.finishNode(n,"Placeholder")),n.expectedNode=t,n}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(133,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){void 0!==e&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){const t=super.cloneIdentifier(e);return"Placeholder"===t.type&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return"Placeholder"===e.type?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,t,n){return"Placeholder"===e||super.isValidLVal(e,t,n)}toAssignable(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;const n=this.nextTokenStart();return 37===this.input.charCodeAt(n)&&37===this.input.charCodeAt(n+1)}verifyBreakContinue(e,t){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){const n=e;return n.label=this.finishPlaceholder(t,"Identifier"),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,"LabeledStatement")}this.semicolon();const n=e;return n.name=t.name,this.finishPlaceholder(n,"Statement")}parseBlock(e,t,n){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,t,n){const r=t?"ClassDeclaration":"ClassExpression";this.next();const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(133)||this.match(5))){if(n||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,r);throw this.raise(Lk.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){const n=this.parsePlaceholder("Identifier");if(!n)return super.parseExport(e,t);const r=e;if(!this.isContextual(98)&&!this.match(12))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,"Declaration"),this.finishNode(r,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,"ExportDefaultSpecifier")],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(65)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(aC(133),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return!!e.specifiers?.length||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){const{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const n=this.startNodeAtNode(t);if(n.local=t,e.specifiers.push(this.finishNode(n,"ImportDefaultSpecifier")),this.eat(12)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Lk.UnexpectedSpace,this.state.lastTokEndLoc)}}},Bk=Object.keys(Mk),Fk=class extends Ek{checkProto(e,t,n,r){if("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return n;const i=e.key;return"__proto__"===("Identifier"===i.type?i.name:i.value)?t?(this.raise(_w.RecordNoProto,i),!0):(n&&(r?null===r.doubleProtoLoc&&(r.doubleProtoLoc=i.loc.start):this.raise(_w.DuplicateProto,i)),!0):n}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&this.offsetToSourcePos(e.start)===t}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(140))throw this.raise(_w.ParseExpressionEmptyInput,this.state.startLoc);const e=this.parseExpression();if(!this.match(140))throw this.raise(_w.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,256&this.optionFlags&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){const t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(12)){const r=this.startNodeAt(t);for(r.expressions=[n];this.eat(12);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){const n=this.state.startLoc,r=this.isContextual(108);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}let i;e?i=!1:(e=new gk,i=!0);const{type:s}=this.state;(10===s||tC(s))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e);if(t&&(a=t.call(this,a,n)),(o=this.state.type)>=29&&o<=33){const t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(29)){this.toAssignable(a,!0),t.left=a;const r=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),null!=e.voidPatternLoc&&e.voidPatternLoc.index>=r&&(e.voidPatternLoc=null)}else t.left=a;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(a,this.finishNode(t,"AssignmentExpression")),t}var o;if(i&&this.checkExpressionErrors(e,!0),r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.YieldNotInGeneratorFunction,n),this.parseYield(n)}return a}parseMaybeConditional(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprOps(e);return this.shouldExitDescending(r,n)?r:this.parseConditional(r,t,e)}parseConditional(e,t,n){if(this.eat(17)){const n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseMaybeUnaryOrPrivate(e){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(r,n)?r:this.parseExprOp(r,t,-1)}parseExprOp(e,t,n){if(this.isPrivateName(e)){const t=this.getPrivateNameSV(e);(n>=oC(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(_w.PrivateInExpectedIn,e,{identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}const r=this.state.type;if((i=r)>=39&&i<=59&&(this.prodParam.hasIn||!this.match(58))){let i=oC(r);if(i>n){if(39===r){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}const s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;const a=41===r||42===r,o=40===r;o&&(i=oC(42)),this.next(),s.right=this.parseExprOpRightExpr(r,i);const u=this.finishNode(s,a||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(41===c||42===c)||a&&40===c)throw this.raise(_w.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(u,t,n)}}var i;return e}parseExprOpRightExpr(e,t){if(this.state.startLoc,39===e)switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,57===e?t-1:t)}parseHackPipeBody(){const{startLoc:e}=this.state,t=this.parseMaybeAssign();return vw.has(t.type)&&!t.extra?.parenthesized&&this.raise(_w.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(57)&&this.raise(_w.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){const n=this.state.startLoc,r=this.isContextual(96);if(r&&this.recordAwaitIfAllowed()){this.next();const e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}const i=this.match(34),s=this.startNode();if(a=this.state.type,Gw[a]){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");const n=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){const e=s.argument;"Identifier"===e.type?this.raise(_w.StrictDelete,s):this.hasPropertyAsPrivateName(e)&&this.raise(_w.DeletePrivateField,s)}if(!i)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}var a;const o=this.parseUpdate(s,i,e);if(r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.AwaitNotInAsyncContext,n),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){const t=e;return this.checkLVal(t.argument,this.finishNode(t,"UpdateExpression")),e}const r=this.state.startLoc;let i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;sC(this.state.type)&&!this.canInsertSemicolon();){const e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,i=this.finishNode(e,"UpdateExpression"))}return i}parseExprSubscripts(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprAtom(e);return this.shouldExitDescending(r,n)?r:this.parseSubscripts(r,t)}parseSubscripts(e,t,n){const r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1}while(!r.stop);return e}parseSubscript(e,t,n,r){const{type:i}=this.state;if(!n&&15===i)return this.parseBind(e,t,n,r);if(uC(i))return this.parseTaggedTemplateExpression(e,t,r);let s=!1;if(18===i){if(n&&(this.raise(_w.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return this.stopParseSubscript(e,r);r.optionalChainMember=s=!0,this.next()}if(!n&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,r,s);{const n=this.eat(0);return n||s||this.eat(16)?this.parseMember(e,t,r,n,s):this.stopParseSubscript(e,r)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,n,r,i){const s=this.startNodeAt(t);return s.object=e,s.computed=r,r?(s.property=this.parseExpression(),this.expect(3)):this.match(139)?("Super"===e.type&&this.raise(_w.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,n,r){const i=this.startNodeAt(t);return i.object=e,this.next(),i.callee=this.parseNoCallExpr(),r.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,n)}parseCoverCallAndAsyncArrowHead(e,t,n,r){const i=this.state.maybeInArrowParameters;let s=null;this.state.maybeInArrowParameters=!0,this.next();const a=this.startNodeAt(t);a.callee=e;const{maybeAsyncArrow:o,optionalChainMember:u}=n;o&&(this.expressionScope.enter(new hk(2)),s=new gk),u&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments():this.parseCallExpressionArguments("Super"!==e.type,a,s);let c=this.finishCallExpression(a,u);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,n){const r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(_w.OptionalChainingNoTemplate,t),this.finishNode(r,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.offsetToSourcePos(e.start)===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(0===e.arguments.length||e.arguments.length>2)this.raise(_w.ImportCallArity,e);else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(_w.ImportCallSpreadArgument,t);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,n){const r=[];let i=!0;const s=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(11);){if(i)i=!1;else if(this.expect(12),this.match(11)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}r.push(this.parseExprListItem(11,!1,n,e))}return this.state.inFSharpPipelineDirectBody=s,r}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&XC(e,t.innerComments),t.callee.trailingComments&&XC(e,t.callee.trailingComments),e}parseNoCallExpr(){const e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,n=null;const{type:r}=this.state;switch(r){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(10)?512&this.optionFlags?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(_w.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{const e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 0:return this.parseArrayLike(3,!0,!1,e);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:n=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;const e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(_w.UnsupportedBind,e)}case 139:return this.raise(_w.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{const e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.parseTopicReference(e);this.unexpected();break}case 47:{const e=this.input.codePointAt(this.nextTokenStart());gC(e)||62===e?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(tC(r)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();const e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,n=this.parseIdentifier();if(!t&&"async"===n.name&&!this.canInsertSemicolon()){const{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(tC(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(90===e)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){const n=this.getPluginOption("pipelineOperator","proposal");if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=gw(this.state.endLoc,-1),this.parseTopicReference(n);this.unexpected()}parseTopicReference(e){const t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(_w.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,"TopicReference");throw this.raise(_w.PipeTopicUnconfiguredToken,t,{token:aC(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:aC(n)}]);case"smart":return 27===n;default:throw this.raise(_w.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(VC(!0,this.prodParam.hasYield));const t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(_w.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();const n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||16&this.optionFlags?this.scope.allowSuper||16&this.optionFlags||this.raise(_w.UnexpectedSuper,e):this.raise(_w.SuperNotAllowed,e),this.match(10)||this.match(0)||this.match(16)||this.raise(_w.UnsupportedSuper,e),this.finishNode(e,"Super")}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(gw(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(_w.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:n}),this.finishNode(e,"MetaProperty")}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(105)||this.isContextual(97)){const t=this.isContextual(105);return this.expectPlugin(t?"sourcePhaseImports":"deferredImportEvaluation"),this.next(),e.phase=t?"source":"defer",this.parseImportCall(e)}{const t=this.createIdentifierAt(this.startNodeAtNode(e),"import",this.state.lastTokStartLoc);return this.isContextual(101)&&(this.inModule||this.raise(_w.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}}parseLiteralAtNode(e,t,n){return this.addExtra(n,"rawValue",e),this.addExtra(n,"raw",this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){const n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){{let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,"BigIntLiteral")}}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){const t=this.startNode();return this.addExtra(t,"raw",this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,"RegExpLiteral")}parseBooleanLiteral(e){const t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){const e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){const t=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new hk(1));const r=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const s=this.state.startLoc,a=[],o=new gk;let u,c,l=!0;for(;!this.match(11);){if(l)l=!1;else if(this.expect(12,null===o.optionalParametersLoc?null:o.optionalParametersLoc),this.match(11)){c=this.state.startLoc;break}if(this.match(21)){const e=this.state.startLoc;if(u=this.state.startLoc,a.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else a.push(this.parseMaybeAssignAllowInOrVoidPattern(11,o,this.parseParenItem))}const p=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=r,this.state.inFSharpPipelineDirectBody=i;let d=this.startNodeAt(t);return e&&this.shouldParseArrow(a)&&(d=this.parseArrow(d))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(d,a,!1),d):(this.expressionScope.exit(),a.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),u&&this.unexpected(u),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(a,!0),a.length>1?(n=this.startNodeAt(s),n.expressions=a,this.finishNode(n,"SequenceExpression"),this.resetEndLocation(n,p)):n=a[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!(1024&this.optionFlags))return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;const n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,"ParenthesizedExpression")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const n=this.parseMetaProperty(e,t,"target");return this.scope.allowNewTarget||this.raise(_w.UnexpectedNewTarget,n),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){const t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}parseNewCallee(e){const t=this.match(83),n=this.parseNoCallExpr();e.callee=n,!t||"Import"!==n.type&&"ImportExpression"!==n.type||this.raise(_w.ImportCallNotNewExpression,n)}parseTemplateElement(e){const{start:t,startLoc:n,end:r,value:i}=this.state,s=t+1,a=this.startNodeAt(gw(n,1));null===i&&(e||this.raise(_w.InvalidEscapeSequenceTemplate,gw(this.state.firstInvalidTemplateEscapePos,1)));const o=this.match(24),u=o?-1:-2,c=r+u;a.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===i?null:i.slice(1,u)},a.tail=o,this.next();const l=this.finishNode(a,"TemplateElement");return this.resetEndLocation(l,gw(this.state.lastTokEndLoc,u)),l}parseTemplate(e){const t=this.startNode();let n=this.parseTemplateElement(e);const r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let s=!1,a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let i;t?i=this.parseBindingProperty():(i=this.parsePropertyDefinition(r),s=this.checkProto(i,n,s,r)),n&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(_w.InvalidRecordProperty,i),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return t?u="ObjectPattern":n&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(_w.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());const n=this.startNode();let r,i=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(r=this.state.startLoc);let a=this.eat(55);this.parsePropertyNamePrefixOperator(n);const o=this.state.containsEsc;if(this.parsePropertyName(n,e),!a&&!o&&this.maybeAsyncOrAccessorProp(n)){const{key:e}=n,t=e.name;"async"!==t||this.hasPrecedingLineBreak()||(i=!0,this.resetPreviousNodeTrailingComments(e),a=this.eat(55),this.parsePropertyName(n)),"get"!==t&&"set"!==t||(s=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(55)&&(a=!0,this.raise(_w.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,r,a,i,!1,s,e)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){const t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise("get"===e.kind?_w.BadGetterArity:_w.BadSetterArity,e),"set"===e.kind&&"RestElement"===n[n.length-1]?.type&&this.raise(_w.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){const n=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(n),n}if(n||t||this.match(10))return r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,n,!1,!1,"ObjectMethod")}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(14))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(8,r),this.finishObjectProperty(e);if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(29)){const n=this.state.startLoc;null!=r?null===r.shorthandAssignLoc&&(r.shorthandAssignLoc=n):this.raise(_w.InvalidCoverInitializedName,n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,"ObjectProperty")}parseObjPropValue(e,t,n,r,i,s,a){const o=this.parseObjectMethod(e,n,r,i,s)||this.parseObjectProperty(e,t,i,a);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{const{type:n,value:r}=this.state;let i;if(nC(n))i=this.parseIdentifier(!0);else switch(n){case 135:i=this.parseNumericLiteral(r);break;case 134:i=this.parseStringLiteral(r);break;case 136:i=this.parseBigIntLiteral(r);break;case 139:{const e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(_w.UnexpectedPrivateField,e),i=this.parsePrivateName();break}default:this.unexpected()}e.key=i,139!==n&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,s,a=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(a?576:0)|(i?32:0)),this.prodParam.enter(VC(n,e.generator)),this.parseFunctionParams(e,r);const o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!n,r,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,n?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=VC(n,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,n);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){const r=t&&!this.match(5);if(this.expressionScope.enter(mk()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,i=>{const s=!this.isSimpleParamList(e.params);i&&s&&this.raise(_w.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||n||s),t,a),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,a)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return"Identifier"===e.type}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){const i=!t&&new Set,s={type:"FormalParameters"};for(const t of e.params)this.checkLVal(t,s,5,i,r)}parseExprList(e,t,n,r){const i=[];let s=!0;for(;!this.eat(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(12))t||this.raise(_w.UnexpectedToken,this.state.curPosition(),{unexpected:","}),i=null;else if(this.match(21)){const e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(17)){this.expectPlugin("partialApplication"),r||this.raise(_w.UnexpectedArgumentPlaceholder,this.state.startLoc);const e=this.startNode();this.next(),i=this.finishNode(e,"ArgumentPlaceholder")}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,this.parseParenItem);return i}parseIdentifier(e){const t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,e.loc.identifierName=t,this.finishNode(e,"Identifier")}createIdentifierAt(e,t,n){return e.name=t,e.loc.identifierName=t,this.finishNodeAt(e,"Identifier",n)}parseIdentifierName(e){let t;const{startLoc:n,type:r}=this.state;nC(r)?t=this.state.value:this.unexpected();const i=r<=92;return e?i&&this.replaceToken(132):this.checkReservedWord(t,n,i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(e.length>10)return;if(!function(e){return kC.has(e)}(e))return;if(n&&function(e){return TC.has(e)}(e))return void this.raise(_w.UnexpectedKeyword,t,{keyword:e});if((this.state.strict?r?CC:AC:vC)(e,this.inModule))this.raise(_w.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(_w.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(_w.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(_w.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(_w.ArgumentsInClass,t)}recordAwaitIfAllowed(){const e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e){const t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(_w.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(_w.ObsoleteAwaitStar,t),this.scope.inFunction||1&this.optionFlags||(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;const{type:e}=this.state;return 53===e||10===e||0===e||uC(e)||102===e&&!this.state.containsEsc||138===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}parseYield(e){const t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(_w.YieldInParameter,t);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,"YieldExpression")}parseImportCall(e){if(this.next(),e.source=this.parseMaybeAssignAllowIn(),e.options=null,this.eat(12))if(this.match(11))this.addTrailingCommaExtraToNode(e.source);else if(e.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&(this.addTrailingCommaExtraToNode(e.options),!this.match(11))){do{this.parseMaybeAssignAllowIn()}while(this.eat(12)&&!this.match(11));this.raise(_w.ImportCallArity,e)}return this.expect(11),this.finishNode(e,"ImportExpression")}checkPipelineAtInfixOperator(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(_w.PipelineHeadSequenceExpression,t)}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){const n=this.startNodeAt(t);return n.callee=e,this.finishNode(n,"PipelineBareFunction")}{const n=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),n.expression=e,this.finishNode(n,"PipelineTopicExpression")}}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(_w.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipelineTopicUnused,e)}withTopicBindingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){return e()}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){const t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){const t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const r=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=n,r}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);const t=this.startNodeAt(this.state.endLoc);this.next();const n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{n()}return this.finishNode(e,"ModuleExpression")}parseVoidPattern(e){this.expectPlugin("discardBinding");const t=this.startNode();return null!=e&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,"VoidPattern")}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(null!=t&&this.match(88)){const n=this.lookaheadCharCode();if(44===n||n===(3===e?93:8===e?125:41)||61===n)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},Rk={kind:1},jk={kind:2},Uk=/[\uD800-\uDFFF]/u,qk=/in(?:stanceof)?/y;var $k=class extends Fk{parseTopLevel(e,t){return e.program=this.parseProgram(t,140,"module"===this.options.sourceType?"module":"script"),e.comments=this.comments,256&this.optionFlags&&(e.tokens=function(e){for(let t=0;t<e.length;t++){const n=e[t],{type:r}=n;"number"==typeof r&&(n.type=cC(r))}return e}(this.tokens,this.input,this.startIndex)),this.finishNode(e,"File")}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(64&this.optionFlags)&&this.scope.undefinedExports.size>0)for(const[e,t]of Array.from(this.scope.undefinedExports))this.raise(_w.ModuleExportUndefined,t,{localName:e});this.addExtra(e,"topLevelAwait",this.state.hasTopLevelAwait)}let r;return r=140===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",gw(this.state.startLoc,-1)),r}stmtToDirective(e){const t=this.castNodeTo(e,"Directive"),n=this.castNodeTo(e.expression,"DirectiveLiteral"),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),s=n.value=i.slice(1,-1);return this.addExtra(n,"raw",i),this.addExtra(n,"rawValue",s),this.addExtra(n,"expressionValue",r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(28))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}isUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isForUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,"of")){const t=this.lookaheadCharCodeSince(e+2);if(61!==t&&58!==t&&59!==t)return!1}return!(!this.chStartsBindingIdentifier(t,e)&&!this.isUnparsedContextual(e,"void"))}isAwaitUsing(){if(!this.isContextual(96))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);const t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(gC(e)){if(qk.lastIndex=t,qk.test(this.input)){const e=this.codePointAtPos(qk.lastIndex);if(!bC(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){const e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return 123===t||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){const n=this.state.type,r=this.startNode(),i=!!(2&e),s=!!(4&e),a=1&e;switch(n){case 60:return this.parseBreakContinueStatement(r,!0);case 63:return this.parseBreakContinueStatement(r,!1);case 64:return this.parseDebuggerStatement(r);case 90:return this.parseDoWhileStatement(r);case 91:return this.parseForStatement(r);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?_w.StrictFunction:this.options.annexB?_w.SloppyFunctionAnnexB:_w.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&s);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 69:return this.parseIfStatement(r);case 70:return this.parseReturnStatement(r);case 71:return this.parseSwitchStatement(r);case 72:return this.parseThrowStatement(r);case 73:return this.parseTryStatement(r);case 96:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,r):this.raise(_w.UnexpectedLexicalDeclaration,r):this.raise(_w.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(_w.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,"using");case 100:{if(this.state.containsEsc)break;const e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t){if(!i&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(t,e)&&123!==t)break}}case 75:i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{const e=this.state.value;return this.parseVarStatement(r,e)}case 92:return this.parseWhileStatement(r);case 76:return this.parseWithStatement(r);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(r);case 83:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return 8&this.optionFlags||a||this.raise(_w.UnexpectedImportExport,this.state.startLoc),this.next(),e=83===n?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(_w.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&s)}const o=this.state.value,u=this.parseExpression();return tC(n)&&"Identifier"===u.type&&this.eat(14)?this.parseLabeledStatement(r,o,u,e):this.parseExpressionStatement(r,u,t)}assertModuleNodeAllowed(e){8&this.optionFlags||this.inModule||this.raise(_w.ImportOutsideModule,e)}decoratorsEnabledBeforeExport(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?("boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){const t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(_w.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(_w.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){const t=this.state.startLoc;let n;if(this.match(10)){const t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(11),n=this.wrapParenthesis(t,n);const r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==n&&this.raise(_w.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(16);){const e=this.startNodeAt(t);e.object=n,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e,t){if(this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,"CallExpression")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){let n;for(n=0;n<this.state.labels.length;++n){const r=this.state.labels[n];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(t||1===r.kind))break;if(e.label&&t)break}}if(n===this.state.labels.length){const n=t?"BreakStatement":"ContinueStatement";this.raise(_w.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")}parseHeaderExpression(){this.expect(10);const e=this.parseExpression();return this.expect(11),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Rk);let t=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);const n=this.isContextual(100);{const r=this.isAwaitUsing(),i=r||this.isForUsing(),s=n&&this.hasFollowingBindingAtom()||i;if(this.match(74)||this.match(75)||s){const n=this.startNode();let s;r?(s="await using",this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):s=this.state.value,this.next(),this.parseVar(n,!0,s);const a=this.finishNode(n,"VariableDeclaration"),o=this.match(58);return o&&i&&this.raise(_w.ForInUsing,a),(o||this.isContextual(102))&&1===a.declarations.length?this.parseForIn(e,a,t):(null!==t&&this.unexpected(t),this.parseFor(e,a))}}const r=this.isContextual(95),i=new gk,s=this.parseExpression(!0,i),a=this.isContextual(102);if(a&&(n&&this.raise(_w.ForOfLet,s),null===t&&r&&"Identifier"===s.type&&this.raise(_w.ForOfAsync,s)),a||this.match(58)){this.checkDestructuringPrivate(i),this.toAssignable(s,!0);const n=a?"ForOfStatement":"ForInStatement";return this.checkLVal(s,{type:n}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(i,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(_w.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let n;this.expect(5),this.state.labels.push(jk),this.scope.enter(256);for(let e;!this.match(8);)if(this.match(61)||this.match(65)){const r=this.match(61);n&&this.finishNode(n,"SwitchCase"),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(_w.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(14)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(_w.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{type:"CatchClause"},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){const t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,e.handler||e.finalizer||this.raise(_w.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(_w.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,n,r){for(const e of this.state.labels)e.name===t&&this.raise(_w.LabelRedeclaration,n,{labelName:t});const i=(s=this.state.type)>=90&&s<=92?1:this.match(71)?2:null;var s;for(let t=this.state.labels.length-1;t>=0;t--){const n=this.state.labels[t];if(n.statementStart!==e.start)break;n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=8&r?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t,n){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,n){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,8,n),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,n){const r=this.match(58);return this.next(),r?null!==n&&this.unexpected(n):e.await=null!==n,"VariableDeclaration"!==t.type||null==t.declarations[0].init||r&&this.options.annexB&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type||this.raise(_w.ForInOfLoopInitializer,t,{type:r?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(_w.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,n,r=!1){const i=e.declarations=[];for(e.kind=n;;){const e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null!==e.init||r||("Identifier"===e.id.type||t&&(this.match(58)||this.isContextual(102))?"const"!==n&&"using"!==n&&"await using"!==n||this.match(58)||this.isContextual(102)||this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n}):this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),i.push(this.finishNode(e,"VariableDeclarator")),!this.eat(12))break}return e}parseVarId(e,t){const n=this.parseBindingAtom();"using"===t||"await using"===t?"ArrayPattern"!==n.type&&"ObjectPattern"!==n.type||this.raise(_w.UsingDeclarationHasBindingPattern,n.loc.start):"VoidPattern"===n.type&&this.raise(_w.UnexpectedVoidPattern,n.loc.start),this.checkLVal(n,{type:"VariableDeclarator"},"var"===t?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){const n=2&t,r=!!(1&t),i=r&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(n&&this.raise(_w.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(514),this.prodParam.enter(VC(s,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,r?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||tC(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(new dk(3)),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,n){this.next();const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(e){return"Identifier"===e.type&&"constructor"===e.name||"StringLiteral"===e.type&&"constructor"===e.value}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();const n={hadConstructor:!1,hadSuperClass:e};let r=[];const i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(r.length>0)throw this.raise(_w.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(_w.DecoratorConstructor,e)}}),this.state.strict=t,this.next(),r.length)throw this.raise(_w.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const n=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){const r=this.isContextual(106);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){const i=t,s=t,a=t,o=t,u=t,c=i,l=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind="method";const t=this.match(139);return this.parseClassElementName(c),this.parsePostMemberNameModifiers(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsGenerator,i.key),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const p=!this.state.containsEsc&&tC(this.state.type),d=this.parseClassElementName(t),h=p?d.name:null,f=this.isPrivateName(d),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(c.kind="method",f)return void this.pushClassPrivateMethod(e,s,!1,!1);const r=this.isNonstaticConstructor(i);let a=!1;r&&(i.kind="constructor",n.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(_w.DuplicateConstructor,d),r&&this.hasPlugin("typescript")&&t.override&&this.raise(_w.OverrideOnConstructor,d),n.hadConstructor=!0,a=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,a)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if("async"!==h||this.isLineTerminator())if("get"!==h&&"set"!==h||this.match(55)&&this.isLineTerminator())if("accessor"!==h||this.isLineTerminator())this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(d);const t=this.match(139);this.parseClassElementName(a),this.pushClassAccessorProperty(e,u,t)}else{this.resetPreviousNodeTrailingComments(d),c.kind=h;const t=this.match(139);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else{this.resetPreviousNodeTrailingComments(d);const t=this.eat(55);l.optional&&this.unexpected(m),c.kind="method";const n=this.match(139);this.parseClassElementName(c),this.parsePostMemberNameModifiers(l),n?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:n}=this.state;if(132!==t&&134!==t||!e.static||"prototype"!==n||this.raise(_w.StaticPrototype,this.state.startLoc),139===t){"constructor"===n&&this.raise(_w.ConstructorClassPrivateField,this.state.startLoc);const t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),t.decorators?.length&&this.raise(_w.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(_w.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassAccessorProperty(e,t,n){n||t.computed||!this.nameIsConstructor(t.key)||this.raise(_w.ConstructorClassField,t.key);const r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.loc.start)}pushClassMethod(e,t,n,r,i,s){e.body.push(this.parseMethod(t,n,r,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,n,r){const i=this.parseMethod(t,n,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const s="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(mk()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(tC(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else{if(!n&&t)throw this.raise(_w.MissingClassName,this.state.startLoc);e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){const n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(12),s=i&&this.eatExportStar(e),a=s&&this.maybeParseExportNamespaceSpecifier(e),o=i&&(!a||this.eat(12)),u=r||s;if(s&&!a){if(r&&this.unexpected(),t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,"ExportAllDeclaration")}const c=this.maybeParseExportNamedSpecifiers(e);let l;if(r&&i&&!s&&!c&&this.unexpected(null,5),a&&o&&this.unexpected(null,98),u||c){if(l=!1,t)throw this.raise(_w.UnsupportedDecoratorExport,e);this.parseExportFrom(e,u)}else l=this.maybeParseExportDeclaration(e);if(u||c||l){const n=e;if(this.checkExport(n,!0,!1,!!n.source),"ClassDeclaration"===n.declaration?.type)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,"ExportNamedDeclaration")}if(this.eat(65)){const n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,"ClassDeclaration"===r.type)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.checkExport(n,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(n,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",t?.loc.start);const n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers??(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){const t=e;t.specifiers||(t.specifiers=[]);const n="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;const e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(_w.UnsupportedDefaultExport,this.state.startLoc);const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){if(this.match(80)){return this.parseClass(this.startNode(),!0,!1)}return this.parseStatementListItem()}isExportDefaultSpecifier(){const{type:e}=this.state;if(tC(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){const e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(123===t||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith("from",e))return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;const t=this.nextTokenStart(),n=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||tC(this.state.type)&&n)return!0;if(this.match(65)&&n){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){const{type:e}=this.state;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),!0):this.isUsing()||this.isAwaitUsing()?(this.raise(_w.UsingDeclarationExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,n,r){if(t)if(n){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!==4||t.extra?.parenthesized||this.raise(_w.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(const t of e.specifiers){const{exported:e}=t,n="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){const{local:e}=t;"Identifier"!==e.type?this.raise(_w.ExportBindingIsString,t,{localName:e.value,exportName:n}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration){const t=e.declaration;if("FunctionDeclaration"===t.type||"ClassDeclaration"===t.type){const{id:n}=t;if(!n)throw new Error("Assertion failure");this.checkDuplicateExports(e,n.name)}else if("VariableDeclaration"===t.type)for(const e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(_w.DuplicateDefaultExport,e):this.raise(_w.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){const t=[];let n=!0;for(this.expect(5);!this.eat(8);){if(n)n=!1;else if(this.expect(12),this.eat(8))break;const r=this.isContextual(130),i=this.match(134),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||(e.exported=this.cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){const e=this.parseStringLiteral(this.state.value),t=Uk.exec(e.value);return t&&this.raise(_w.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some(({key:e,value:t})=>"json"===t.value&&("Identifier"===e.type?"type"===e.name:"type"===e.value))}checkImportReflection(e){const{specifiers:t}=e,n=1===t.length?t[0].type:null;"source"===e.phase?"ImportDefaultSpecifier"!==n&&this.raise(_w.SourcePhaseImportRequiresDefault,t[0].loc.start):"defer"===e.phase?"ImportNamespaceSpecifier"!==n&&this.raise(_w.DeferImportRequiresNamespace,t[0].loc.start):e.module&&("ImportDefaultSpecifier"!==n&&this.raise(_w.ImportReflectionNotBinding,t[0].loc.start),e.assertions?.length>0&&this.raise(_w.ImportReflectionHasAssertion,t[0].loc.start))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){const{specifiers:t}=e;if(null!=t){const e=t.find(e=>{let t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value});void 0!==e&&this.raise(_w.ImportJSONBindingNotDefault,e.loc.start)}}}isPotentialImportPhase(e){return!e&&(this.isContextual(105)||this.isContextual(97))}applyImportPhase(e,t,n,r){t||(this.hasPlugin("importReflection")&&(e.module=!1),"source"===n?(this.expectPlugin("sourcePhaseImports",r),e.phase="source"):"defer"===n?(this.expectPlugin("deferredImportEvaluation",r),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;const n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(nC(i)?98!==i||102===this.lookaheadCharCode():12!==i)?(this.applyImportPhase(e,t,r,n.loc.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){const{type:t}=this.state;return tC(t)?98!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(134)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];const n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);const e=[],t=new Set;do{if(this.match(8))break;const n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),this.match(134)?n.key=this.parseStringLiteral(r):n.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){const e=[],t=new Set;do{const n=this.startNode();if(n.key=this.parseIdentifier(!0),"type"!==n.key.name&&this.raise(_w.ModuleAttributeDifferentFromType,n.key),t.has(n.key.name)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,n.key,{key:n.key.name}),t.add(n.key.name),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),t=this.parseImportAttributes()}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(this.hasPlugin("deprecatedImportAssert")||this.raise(_w.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0),this.next(),t=this.parseImportAttributes()):t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){const n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,"ImportDefaultSpecifier")),!0}return!!nC(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){const t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(_w.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}const n=this.startNode(),r=this.match(134),i=this.isContextual(130);n.imported=this.parseModuleExportName();const s=this.parseImportSpecifier(n,r,"type"===e.importKind||"typeof"===e.importKind,i,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(93))e.local=this.parseIdentifier();else{const{imported:n}=e;if(t)throw this.raise(_w.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.loc.start,!0,!0),e.local||(e.local=this.cloneIdentifier(n))}return this.finishImportSpecifier(e,"ImportSpecifier",i)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}},Jk=class extends $k{constructor(e,t,n){super(e=function(e){const t={sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};if(null==e)return t;if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");for(const n of Object.keys(t))null!=e[n]&&(t[n]=e[n]);if(1===t.startLine)null==e.startIndex&&t.startColumn>0?t.startIndex=t.startColumn:null==e.startColumn&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(null==e.startColumn||null==e.startIndex)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if("commonjs"===t.sourceType){if(null!=e.allowAwaitOutsideFunction)throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(null!=e.allowReturnOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(null!=e.allowNewTargetOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=n,this.filename=e.sourceFilename,this.startIndex=e.startIndex;let r=0;e.allowAwaitOutsideFunction&&(r|=1),e.allowReturnOutsideFunction&&(r|=2),e.allowImportExportEverywhere&&(r|=8),e.allowSuperOutsideMethod&&(r|=16),e.allowUndeclaredExports&&(r|=64),e.allowNewTargetOutsideFunction&&(r|=4),e.allowYieldOutsideFunction&&(r|=32),e.ranges&&(r|=128),e.tokens&&(r|=256),e.createImportExpressions&&(r|=512),e.createParenthesizedExpressions&&(r|=1024),e.errorRecovery&&(r|=2048),e.attachComment&&(r|=4096),e.annexB&&(r|=8192),this.optionFlags=r}getScopeHandler(){return _C}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e.comments.length=this.state.commentsLen,e}};function Vk(e,t){if("unambiguous"!==t?.sourceType)return Xk(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const n=Xk(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType="script",Xk(t,e).parse()}catch{}else r.program.sourceType="script";return r}catch(n){try{return t.sourceType="script",Xk(t,e).parse()}catch{}throw n}}function Kk(e,t){const n=Xk(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()}var Wk=function(e){const t={};for(const n of Object.keys(e))t[n]=cC(e[n]);return t}(eC);function Xk(e,t){let n=Jk;const r=new Map;if(e?.plugins){for(const t of e.plugins){let e,n;"string"==typeof t?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}!function(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=e.get("decorators").decoratorsBeforeExport;if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");const n=e.get("decorators").allowCallParenthesized;if(null!=n&&"boolean"!=typeof n)throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){const t=e.get("pipelineOperator").proposal;if(!Ok.includes(t)){const e=Ok.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if("hack"===t){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");const t=e.get("pipelineOperator").topicToken;if(!Dk.includes(t)){const e=Dk.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has("moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has("importAssertions"))throw new Error("`importAssertions` has been removed in Babel 8, please use import attributes instead. To use the non-standard `assert` syntax you can enable the `deprecatedImportAssert` parser plugin.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax)throw new Error("The 'importAttributes' plugin has been removed in Babel 8. If you need to enable support for the deprecated `assert` syntax, you can enable the `deprecatedImportAssert` parser plugin.");if(e.has("recordAndTuple"))throw new Error("The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){const e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}if(e.has("optionalChainingAssign")&&"2023-07"!==e.get("optionalChainingAssign").version)throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.");if(e.has("discardBinding")&&"void"!==e.get("discardBinding").syntaxType)throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.");if(e.has("decimal"))throw new Error("The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("importReflection"))throw new Error("The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.")}(r),n=function(e){const t=[];for(const n of Bk)e.has(n)&&t.push(n);const n=t.join("|");let r=Hk.get(n);if(!r){r=Jk;for(const e of t)r=Mk[e](r);Hk.set(n,r)}return r}(r)}return new n(e,t,r)}var Hk=new Map;var zk=Ge(Ze()),Yk=Ge(et());var Gk=(e,t)=>n=>e(t(n));function Qk(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:Gk(Gk(e.white,e.bgRed),e.bold),gutter:e.gray,marker:Gk(e.red,e.bold),message:Gk(e.red,e.bold),reset:e.reset}}var Zk=Qk((0,zk.createColors)(!0)),eI=Qk((0,zk.createColors)(!1));function tI(e){return e?Zk:eI}var nI,rI=new Set(["as","async","from","get","of","set"]),iI=/\r\n|[\n\r\u2028\u2029]/,sI=/^[()[\]{}]$/;{const e=function(e){if("IdentifierName"===e.type){if(Et(e.value)||Tt(e.value,!0)||rI.has(e.value))return"keyword";if(e.value[0]!==e.value[0].toLowerCase())return"capitalized"}if("Punctuator"===e.type&&sI.test(e.value))return"uncolored";if("Invalid"===e.type&&"@"===e.value)return"punctuator";switch(e.type){case"NumericLiteral":return"number";case"StringLiteral":case"JSXString":case"NoSubstitutionTemplate":return"string";case"RegularExpressionLiteral":return"regex";case"Punctuator":case"JSXPunctuator":return"punctuator";case"MultiLineComment":case"SingleLineComment":return"comment";case"Invalid":case"JSXInvalid":return"invalid";case"JSXIdentifier":return"jsxIdentifier";default:return"uncolored"}};nI=function*(t){for(const n of(0,Yk.default)(t,{jsx:!0}))switch(n.type){case"TemplateHead":yield{type:"string",value:n.value.slice(0,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateMiddle":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateTail":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1)};break;default:yield{type:e(n),value:n.value}}}}var aI=/\r\n|[\n\r\u2028\u2029]/;function oI(e,t,n={}){const r=n.forceColor||"0"!==$.env.FORCE_COLOR&&"false"!==$.env.FORCE_COLOR&&zk.default.isColorSupported&&n.highlightCode,i=tI(r),s=e.split(aI),{start:a,end:o,markerLines:u}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:a=3}=n||{},o=r.line,u=r.column,c=i.line,l=i.column;let p=Math.max(o-(s+1),0),d=Math.min(t.length,c+a);-1===o&&(p=0),-1===c&&(d=t.length);const h=c-o,f={};if(h)for(let e=0;e<=h;e++){const n=e+o;if(u)if(0===e){const e=t[n-1].length;f[n]=[u,e-u+1]}else if(e===h)f[n]=[0,l];else{const r=t[n-e].length;f[n]=[0,r]}else f[n]=!0}else f[o]=u===l?!u||[u,0]:[u,l-u];return{start:p,end:d,markerLines:f}}(t,s,n),c=t.start&&"number"==typeof t.start.column,l=String(o).length,p=r?function(e){if(""===e)return"";const t=tI(!0);let n="";for(const{type:r,value:i}of nI(e))n+=r in t?i.split(iI).map(e=>t[r](e)).join("\n"):i;return n}(e):e;let d=p.split(aI,o).slice(a,o).map((e,t)=>{const r=a+1+t,s=` ${` ${r}`.slice(-l)} |`,o=u[r],c=!u[r+1];if(o){let t="";if(Array.isArray(o)){const r=e.slice(0,Math.max(o[0]-1,0)).replace(/[^\t]/g," "),a=o[1]||1;t=["\n ",i.gutter(s.replace(/\d/g," "))," ",r,i.marker("^").repeat(a)].join(""),c&&n.message&&(t+=" "+i.message(n.message))}return[i.marker(">"),i.gutter(s),e.length>0?` ${e}`:"",t].join("")}return` ${i.gutter(s)}${e.length>0?` ${e}`:""}`}).join("\n");return n.message&&!c&&(d=`${" ".repeat(l+1)}${n.message}\n${d}`),r?i.reset(d):d}var{assertExpressionStatement:uI}=at;function cI(e){return{code:e=>`/* @babel/template */;\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}var lI=cI(e=>e.length>1?e:e[0]),pI=cI(e=>e),dI=cI(e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]}),hI={code:e=>`(\n${e}\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===hI.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return uI(t),t.expression}};var fI=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function mI(e,t){const{placeholderWhitelist:n=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:s=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}}function yI(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}=t,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(t,fI);if(null!=n&&!(n instanceof Set))throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");if(null!=r&&!(r instanceof RegExp)&&!1!==r)throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("'.preserveComments' must be a boolean, null, or undefined");if(null!=s&&"boolean"!=typeof s)throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");if(!0===s&&(null!=n||null!=r))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");return{parser:a,placeholderWhitelist:n||void 0,placeholderPattern:null==r?void 0:r,preserveComments:null==i?void 0:i,syntacticPlaceholders:null==s?void 0:s}}function gI(e){if(Array.isArray(e))return e.reduce((e,t,n)=>(e["$"+n]=t,e),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}var{isCallExpression:bI,isExpressionStatement:xI,isFunction:SI,isIdentifier:TI,isJSXIdentifier:EI,isNewExpression:PI,isPlaceholder:vI,isStatement:AI,isStringLiteral:wI,removePropertiesDeep:CI,traverse:kI}=at,II=/^[_$A-Z0-9]+$/;function _I(e,t,n){const{placeholderWhitelist:r,placeholderPattern:i,preserveComments:s,syntacticPlaceholders:a}=n,o=function(e,t,n){const r=(t.plugins||[]).slice();!1!==n&&r.push("placeholders");t=Object.assign({allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowYieldOutsideFunction:!0,sourceType:"module"},t,{plugins:r});try{return Vk(e,t)}catch(t){const n=t.loc;throw n&&(t.message+="\n"+oI(e,{start:n}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,n.parser,a);CI(o,{preserveComments:s}),e.validate(o);const u={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderWhitelist:r,placeholderPattern:i,syntacticPlaceholders:a};return kI(o,NI,u),Object.assign({ast:o},u.syntactic.placeholders.length?u.syntactic:u.legacy)}function NI(e,t,n){let r,i=n.syntactic.placeholders.length>0;if(vI(e)){if(!1===n.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.");r=e.name.name,i=!0}else{if(i||n.syntacticPlaceholders)return;if(TI(e)||EI(e))r=e.name;else{if(!wI(e))return;r=e.value}}if(i&&(null!=n.placeholderPattern||null!=n.placeholderWhitelist))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");if(!(i||!1!==n.placeholderPattern&&(n.placeholderPattern||II).test(r)||n.placeholderWhitelist?.has(r)))return;t=t.slice();const{node:s,key:a}=t[t.length-1];let o;wI(e)||vI(e,{expectedNode:"StringLiteral"})?o="string":PI(s)&&"arguments"===a||bI(s)&&"arguments"===a||SI(s)&&"params"===a?o="param":xI(s)&&!vI(e)?(o="statement",t=t.slice(0,-1)):o=AI(e)&&vI(e)?"statement":"other";const{placeholders:u,placeholderNames:c}=i?n.syntactic:n.legacy;u.push({name:r,type:o,resolve:e=>function(e,t){let n=e;for(let e=0;e<t.length-1;e++){const{key:r,index:i}=t[e];n=void 0===i?n[r]:n[r][i]}const{key:r,index:i}=t[t.length-1];return{parent:n,key:r,index:i}}(e,t),isDuplicate:c.has(r)}),c.add(r)}var{blockStatement:LI,cloneNode:OI,emptyStatement:DI,expressionStatement:MI,identifier:BI,isStatement:FI,isStringLiteral:RI,stringLiteral:jI,validate:UI}=at;function qI(e,t){const n=OI(e.ast);return t&&(e.placeholders.forEach(e=>{if(!Object.hasOwn(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['${t}'])}\n - { placeholderPattern: /^${t}$/ }`)}}),Object.keys(t).forEach(t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)})),e.placeholders.slice().reverse().forEach(e=>{try{!function(e,t,n){e.isDuplicate&&(Array.isArray(n)?n=n.map(e=>OI(e)):"object"==typeof n&&(n=OI(n)));const{parent:r,key:i,index:s}=e.resolve(t);if("string"===e.type){if("string"==typeof n&&(n=jI(n)),!n||!RI(n))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===s?n?Array.isArray(n)?n=LI(n):"string"==typeof n?n=MI(BI(n)):FI(n)||(n=MI(n)):n=DI():n&&!Array.isArray(n)&&("string"==typeof n&&(n=BI(n)),FI(n)||(n=MI(n)));else if("param"===e.type){if("string"==typeof n&&(n=BI(n)),void 0===s)throw new Error("Assertion failure.")}else if("string"==typeof n&&(n=BI(n)),Array.isArray(n))throw new Error("Cannot replace single expression with an array.");function a(e,t,n){const r=e[t];e[t]=n,"Identifier"!==r.type&&"Placeholder"!==r.type||(r.typeAnnotation&&(n.typeAnnotation=r.typeAnnotation),r.optional&&(n.optional=r.optional),r.decorators&&(n.decorators=r.decorators))}if(void 0===s)UI(r,i,n),a(r,i,n);else{const t=r[i].slice();"statement"===e.type||"param"===e.type?null==n?t.splice(s,1):Array.isArray(n)?t.splice(s,1,...n):a(t,s,n):a(t,s,n),UI(r,i,t),r[i]=t}}(e,n,(t&&t[e.name])??null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}}),n}function $I(e,t,n){let r;return t=e.code(t),i=>{const s=gI(i);return r||(r=_I(e,t,n)),e.unwrap(qI(r,s))}}function JI(e,t,n){const{metadata:r,names:i}=function(e,t,n){let r="BABEL_TPL$";const i=t.join("");do{r="$$"+r}while(i.includes(r));const{names:s,code:a}=function(e,t){const n=[];let r=e[0];for(let i=1;i<e.length;i++){const s=`${t}${i-1}`;n.push(s),r+=s+e[i]}return{names:n,code:r}}(t,r),o=_I(e,e.code(a),{parser:n.parser,placeholderWhitelist:new Set(s.concat(n.placeholderWhitelist?Array.from(n.placeholderWhitelist):[])),placeholderPattern:n.placeholderPattern,preserveComments:n.preserveComments,syntacticPlaceholders:n.syntacticPlaceholders});return{metadata:o,names:s}}(e,t,n);return t=>{const n={};return t.forEach((e,t)=>{n[i[t]]=e}),t=>{const i=gI(t);return i&&Object.keys(i).forEach(e=>{if(Object.hasOwn(n,e))throw new Error("Unexpected replacement overlap.")}),e.unwrap(qI(r,i?Object.assign(i,n):n))}}}var VI=yI({placeholderPattern:!1});function KI(e,t){const n=new WeakMap,r=new WeakMap,i=t||yI(null);return Object.assign((t,...r)=>{if("string"==typeof t){if(r.length>1)throw new Error("Unexpected extra params.");return WI($I(e,t,mI(i,yI(r[0]))))}if(Array.isArray(t)){let s=n.get(t);return s||(s=JI(e,t,i),n.set(t,s)),WI(s(r))}if("object"==typeof t&&t){if(r.length>0)throw new Error("Unexpected extra params.");return KI(e,mI(i,yI(t)))}throw new Error("Unexpected template param "+typeof t)},{ast:(t,...n)=>{if("string"==typeof t){if(n.length>1)throw new Error("Unexpected extra params.");return $I(e,t,mI(mI(i,yI(n[0])),VI))()}if(Array.isArray(t)){let s=r.get(t);return s||(s=JI(e,t,mI(i,VI)),r.set(t,s)),s(n)()}throw new Error("Unexpected template param "+typeof t)}})}function WI(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\n").slice(3).join("\n"))}return n=>{try{return e(n)}catch(e){throw e.stack+=`\n =============\n${t}`,e}}}var XI=KI(lI),HI=KI(dI),zI=KI(pI),YI=KI(hI),GI=KI({code:e=>e,validate:()=>{},unwrap:e=>e.program}),QI=Object.assign(XI.bind(void 0),{smart:XI,statement:HI,statements:zI,expression:YI,program:GI,ast:XI.ast}),ZI=",".charCodeAt(0),e_=";".charCodeAt(0),t_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n_=new Uint8Array(64),r_=new Uint8Array(128);for(let e=0;e<64;e++){const t=t_.charCodeAt(e);n_[e]=t,r_[t]=e}function i_(e,t){let n=0,r=0,i=0;do{const t=e.next();i=r_[t],n|=(31&i)<<r,r+=5}while(32&i);const s=1&n;return n>>>=1,s&&(n=-2147483648|-n),t+n}function s_(e,t,n){let r=t-n;r=r<0?-r<<1|1:r<<1;do{let t=31&r;r>>>=5,r>0&&(t|=32),e.write(n_[t])}while(r>0);return t}function a_(e,t){return!(e.pos>=t)&&e.peek()!==ZI}var o_="undefined"!=typeof TextDecoder?new TextDecoder:void 0!==ie?{decode:e=>ie.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},u_=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(16384)}write(e){const{buffer:t}=this;t[this.pos++]=e,16384===this.pos&&(this.out+=o_.decode(t),this.pos=0)}flush(){const{buffer:e,out:t,pos:n}=this;return n>0?t+o_.decode(e.subarray(0,n)):t}},c_=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){const{buffer:t,pos:n}=this,r=t.indexOf(e,n);return-1===r?t.length:r}};function l_(e){e.sort(p_)}function p_(e,t){return e[0]-t[0]}function d_(e){const t=new u_;let n=0,r=0,i=0,s=0;for(let a=0;a<e.length;a++){const o=e[a];if(a>0&&t.write(e_),0===o.length)continue;let u=0;for(let e=0;e<o.length;e++){const a=o[e];e>0&&t.write(ZI),u=s_(t,a[0],u),1!==a.length&&(n=s_(t,a[1],n),r=s_(t,a[2],r),i=s_(t,a[3],i),4!==a.length&&(s=s_(t,a[4],s)))}}return t.flush()}var h_=/^[\w+.-]+:\/\//,f_=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,m_=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function y_(e){return e.startsWith("/")}function g_(e){return/^[.?#]/.test(e)}function b_(e){const t=f_.exec(e);return x_(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function x_(e,t,n,r,i,s,a){return{scheme:e,user:t,host:n,port:r,path:i,query:s,hash:a,type:7}}function S_(e){if(function(e){return e.startsWith("//")}(e)){const t=b_("http:"+e);return t.scheme="",t.type=6,t}if(y_(e)){const t=b_("http://foo.com"+e);return t.scheme="",t.host="",t.type=5,t}if(function(e){return e.startsWith("file:")}(e))return function(e){const t=m_.exec(e),n=t[2];return x_("file:","",t[1]||"","",y_(n)?n:"/"+n,t[3]||"",t[4]||"")}(e);if(function(e){return h_.test(e)}(e))return b_(e);const t=b_("http://foo.com/"+e);return t.scheme="",t.host="",t.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,t}function T_(e,t){const n=t<=4,r=e.path.split("/");let i=1,s=0,a=!1;for(let e=1;e<r.length;e++){const t=r[e];t?(a=!1,"."!==t&&(".."!==t?(r[i++]=t,s++):s?(a=!0,s--,i--):n&&(r[i++]=t))):a=!0}let o="";for(let e=1;e<i;e++)o+="/"+r[e];(!o||a&&!o.endsWith("/.."))&&(o+="/"),e.path=o}function E_(e,t){if(!e&&!t)return"";const n=S_(e);let r=n.type;if(t&&7!==r){const e=S_(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:!function(e,t){T_(t,t.type),"/"===e.path?e.path=t.path:e.path=function(e){if(e.endsWith("/.."))return e;const t=e.lastIndexOf("/");return e.slice(0,t+1)}(t.path)+e.path}(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}T_(n,r);const i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{const r=n.path.slice(1);return r?g_(t||e)&&!g_(r)?"./"+r+i:r+i:i||"."}case 5:return n.path+i;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+i}}function P_(e,t){for(let n=t;n<e.length;n++)if(!v_(e[n]))return n;return e.length}function v_(e){for(let t=1;t<e.length;t++)if(e[t][0]<e[t-1][0])return!1;return!0}function A_(e,t){return t||(e=e.slice()),e.sort(w_)}function w_(e,t){return e[0]-t[0]}var C_=!1;function k_(e,t,n){for(let r=n+1;r<e.length&&e[r][0]===t;n=r++);return n}function I_(e,t,n){for(let r=n-1;r>=0&&e[r][0]===t;n=r--);return n}function __(e,t,n,r){const{lastKey:i,lastNeedle:s,lastIndex:a}=n;let o=0,u=e.length-1;if(r===i){if(t===s)return C_=-1!==a&&e[a][0]===t,a;t>=s?o=-1===a?0:a:u=a}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){const i=n+(r-n>>1),s=e[i][0]-t;if(0===s)return C_=!0,i;s<0?n=i+1:r=i-1}return C_=!1,n-1}(e,t,o,u)}var N_=class{constructor(e,t){const n="string"==typeof e;if(!n&&e._decodedMemo)return e;const r=function(e){return"string"==typeof e?JSON.parse(e):e}(e),{version:i,file:s,names:a,sourceRoot:o,sources:u,sourcesContent:c}=r;this.version=i,this.file=s,this.names=a||[],this.sourceRoot=o,this.sources=u,this.sourcesContent=c,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;const l=function(e,t){const n=function(e){if(!e)return"";const t=e.lastIndexOf("/");return e.slice(0,t+1)}(e),r=t?t+"/":"";return e=>E_(r+(e||""),n)}(t,o);this.resolvedSources=u.map(l);const{mappings:p}=r;if("string"==typeof p)this._encoded=p,this._decoded=void 0;else{if(!Array.isArray(p))throw r.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(r)}`);this._encoded=void 0,this._decoded=function(e,t){const n=P_(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=P_(e,r+1))e[r]=A_(e[r],t);return e}(p,n)}this._decodedMemo={lastKey:-1,lastNeedle:-1,lastIndex:-1},this._bySources=void 0,this._bySourceMemos=void 0}};function L_(e){var t;return(t=e)._decoded||(t._decoded=function(e){const{length:t}=e,n=new c_(e),r=[];let i=0,s=0,a=0,o=0,u=0;do{const e=n.indexOf(";"),t=[];let c=!0,l=0;for(i=0;n.pos<e;){let r;i=i_(n,i),i<l&&(c=!1),l=i,a_(n,e)?(s=i_(n,s),a=i_(n,a),o=i_(n,o),a_(n,e)?(u=i_(n,u),r=[i,s,a,o,u]):r=[i,s,a,o]):r=[i],t.push(r),n.pos++}c||l_(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}(e._encoded))}function O_(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw new Error("`line` must be greater than 0 (lines start at line 1)");if(r<0)throw new Error("`column` must be greater than or equal to 0 (columns start at column 0)");const s=L_(e);if(n>=s.length)return D_(null,null,null,null);const a=s[n],o=function(e,t,n,r,i){let s=__(e,r,t,n);C_?s=(-1===i?k_:I_)(e,r,s):-1===i&&s++;return-1===s||s===e.length?-1:s}(a,e._decodedMemo,n,r,i||1);if(-1===o)return D_(null,null,null,null);const u=a[o];if(1===u.length)return D_(null,null,null,null);const{names:c,resolvedSources:l}=e;return D_(l[u[1]],u[2]+1,u[3],5===u.length?c[u[4]]:null)}function D_(e,t,n,r){return{source:e,line:t,column:n,name:r}}var M_=class{constructor(){this._indexes={__proto__:null},this.array=[]}};function B_(e,t){const n=function(e,t){return e._indexes[t]}(e,t);if(void 0!==n)return n;const{array:r,_indexes:i}=e,s=r.push(t);return i[t]=s-1}var F_=class{constructor({file:e,sourceRoot:t}={}){this._names=new M_,this._sources=new M_,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=t,this._ignoreList=new M_}};var R_=(e,t)=>function(e,t,n){const{generated:r,source:i,original:s,name:a,content:o}=n;if(!i)return q_(e,t,r.line-1,r.column,null,null,null,null,null);return q_(e,t,r.line-1,r.column,i,s.line-1,s.column,a,o)}(!0,e,t);function j_(e,t,n){const{_sources:r,_sourcesContent:i}=e;i[B_(r,t)]=n}function U_(e){const{_mappings:t,_sources:n,_sourcesContent:r,_names:i,_ignoreList:s}=e;return function(e){const{length:t}=e;let n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}(t),{version:3,file:e.file||void 0,names:i.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:r,mappings:t,ignoreList:s.array}}function q_(e,t,n,r,i,s,a,o,u){const{_mappings:c,_sources:l,_sourcesContent:p,_names:d}=t,h=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(c,n),f=function(e,t){let n=e.length;for(let r=n-1;r>=0;n=r--){if(t>=e[r][0])break}return n}(h,r);if(!i){if(function(e,t){if(0===t)return!0;const n=e[t-1];return 1===n.length}(h,f))return;return $_(h,f,[r])}const m=B_(l,i),y=o?B_(d,o):-1;if(m===p.length&&(p[m]=null!=u?u:null),!function(e,t,n,r,i,s){if(0===t)return!1;const a=e[t-1];return 1!==a.length&&(n===a[1]&&r===a[2]&&i===a[3]&&s===(5===a.length?a[4]:-1))}(h,f,m,s,a,y))return $_(h,f,o?[r,m,s,a,y]:[r,m,s,a])}function $_(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}var J_=Ge(tt()),V_=class{constructor(e,t){Qe(this,"_map"),Qe(this,"_rawMappings"),Qe(this,"_sourceFileName"),Qe(this,"_lastGenLine",0),Qe(this,"_lastSourceLine",0),Qe(this,"_lastSourceColumn",0),Qe(this,"_inputMap");const n=this._map=new F_({sourceRoot:e.sourceRoot});if(this._sourceFileName=e.sourceFileName?.replace(/\\/g,"/"),this._rawMappings=void 0,e.inputSourceMap){this._inputMap=new N_(e.inputSourceMap);const t=this._inputMap.resolvedSources;if(t.length)for(let e=0;e<t.length;e++)j_(n,t[e],this._inputMap.sourcesContent?.[e])}if("string"!=typeof t||e.inputSourceMap){if("object"==typeof t)for(const e of Object.keys(t))j_(n,e.replace(/\\/g,"/"),t[e])}else j_(n,this._sourceFileName,t)}get(){return function(e){const t=U_(e);return Object.assign({},t,{mappings:d_(t.mappings)})}(this._map)}getDecoded(){return U_(this._map)}getRawMappings(){return this._rawMappings||(this._rawMappings=function(e){const t=[],{_mappings:n,_sources:r,_names:i}=e;for(let e=0;e<n.length;e++){const s=n[e];for(let n=0;n<s.length;n++){const a=s[n],o={line:e+1,column:a[0]};let u,c,l;1!==a.length&&(u=r.array[a[1]],c={line:a[2]+1,column:a[3]},5===a.length&&(l=i.array[a[4]])),t.push({generated:o,source:u,original:c,name:l})}}return t}(this._map))}mark(e,t,n,r,i,s){let a;if(this._rawMappings=void 0,null!=t)if(this._inputMap){if(a=O_(this._inputMap,{line:t,column:n}),!a.name&&i){const e=O_(this._inputMap,i);e.name&&(r=e.name)}}else a={source:s?.replace(/\\/g,"/")||this._sourceFileName,line:t,column:n};R_(this._map,{name:r,generated:e,source:a?.source,original:a})}},K_=class{constructor(e,t){Qe(this,"_map",null),Qe(this,"_buf",""),Qe(this,"_str",""),Qe(this,"_appendCount",0),Qe(this,"_last",0),Qe(this,"_queue",[]),Qe(this,"_queueCursor",0),Qe(this,"_canMarkIdName",!0),Qe(this,"_indentChar",""),Qe(this,"_fastIndentations",[]),Qe(this,"_position",{line:1,column:0}),Qe(this,"_sourcePosition",{identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0}),this._map=e,this._indentChar=t;for(let e=0;e<64;e++)this._fastIndentations.push(t.repeat(e));this._allocQueue()}_allocQueue(){const e=this._queue;for(let t=0;t<16;t++)e.push({char:0,repeat:1,line:void 0,column:void 0,identifierName:void 0,identifierNamePos:void 0,filename:""})}_pushQueue(e,t,n,r,i){const s=this._queueCursor;s===this._queue.length&&this._allocQueue();const a=this._queue[s];a.char=e,a.repeat=t,a.line=n,a.column=r,a.filename=i,this._queueCursor++}_popQueue(){if(0===this._queueCursor)throw new Error("Cannot pop from empty queue");return this._queue[--this._queueCursor]}get(){this._flush();const e=this._map,t={code:(this._buf+this._str).trimRight(),decodedMap:e?.getDecoded(),get __mergedMap(){return this.map},get map(){const n=e?e.get():null;return t.map=n,n},set map(e){Object.defineProperty(t,"map",{value:e,writable:!0})},get rawMappings(){const n=e?.getRawMappings();return t.rawMappings=n,n},set rawMappings(e){Object.defineProperty(t,"rawMappings",{value:e,writable:!0})}};return t}append(e,t){this._flush(),this._append(e,this._sourcePosition,t)}appendChar(e){this._flush(),this._appendChar(e,1,this._sourcePosition)}queue(e){if(10===e)for(;0!==this._queueCursor;){const e=this._queue[this._queueCursor-1].char;if(32!==e&&9!==e)break;this._queueCursor--}const t=this._sourcePosition;this._pushQueue(e,1,t.line,t.column,t.filename)}queueIndentation(e){0!==e&&this._pushQueue(-1,e,void 0,void 0,void 0)}_flush(){const e=this._queueCursor,t=this._queue;for(let n=0;n<e;n++){const e=t[n];this._appendChar(e.char,e.repeat,e)}this._queueCursor=0}_appendChar(e,t,n){if(this._last=e,-1===e){const e=this._fastIndentations[t];this._str+=void 0!==e?e:t>1?this._indentChar.repeat(t):this._indentChar}else this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e);10!==e?(this._mark(n.line,n.column,n.identifierName,n.identifierNamePos,n.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(n.identifierName=void 0,n.identifierNamePos=void 0)}_append(e,t,n){const r=e.length,i=this._position;if(this._last=e.charCodeAt(r-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,!n&&!this._map)return void(i.column+=r);const{column:s,identifierName:a,identifierNamePos:o,filename:u}=t;let c=t.line;null==a&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);let l=e.indexOf("\n"),p=0;for(0!==l&&this._mark(c,s,a,o,u);-1!==l;)i.line++,i.column=0,p=l+1,p<r&&void 0!==c&&this._mark(++c,0,null,null,u),l=e.indexOf("\n",p);i.column+=r-p}_mark(e,t,n,r,i){this._map?.mark(this._position,e,t,n,r,i)}removeTrailingNewline(){const e=this._queueCursor;0!==e&&10===this._queue[e-1].char&&this._queueCursor--}removeLastSemicolon(){const e=this._queueCursor;0!==e&&59===this._queue[e-1].char&&this._queueCursor--}getLastChar(){const e=this._queueCursor;return 0!==e?this._queue[e-1].char:this._last}getNewlineCount(){const e=this._queueCursor;let t=0;if(0===e)return 10===this._last?1:0;for(let n=e-1;n>=0&&10===this._queue[n].char;n--)t++;return t===e&&10===this._last?t+1:t}endsWithCharAndNewline(){const e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}}hasContent(){return 0!==this._queueCursor||!!this._last}exactSource(e,t){if(!this._map)return void t();this.source("start",e);const n=e.identifierName,r=this._sourcePosition;n&&(this._canMarkIdName=!1,r.identifierName=n),t(),n&&(this._canMarkIdName=!0,r.identifierName=void 0,r.identifierNamePos=void 0),this.source("end",e)}source(e,t){this._map&&this._normalizePosition(e,t,0)}sourceWithOffset(e,t,n){this._map&&this._normalizePosition(e,t,n)}_normalizePosition(e,t,n){const r=t[e],i=this._sourcePosition;r&&(i.line=r.line,i.column=Math.max(r.column+n,0),i.filename=t.filename)}getCurrentColumn(){const e=this._queue,t=this._queueCursor;let n=-1,r=0;for(let i=0;i<t;i++){const t=e[i];10===t.char&&(n=r),r+=t.repeat}return-1===n?this._position.column+r:r-1-n}getCurrentLine(){let e=0;const t=this._queue;for(let n=0;n<this._queueCursor;n++)10===t[n].char&&e++;return this._position.line+e}},{FLIPPED_ALIAS_KEYS:W_,isArrayExpression:X_,isAssignmentExpression:H_,isBinary:z_,isBlockStatement:Y_,isCallExpression:G_,isFunction:Q_,isIdentifier:Z_,isLiteral:eN,isMemberExpression:tN,isObjectExpression:nN,isOptionalCallExpression:rN,isOptionalMemberExpression:iN,isStringLiteral:sN}=at;function aN(e,t){return e?(tN(e)||iN(e)?(aN(e.object,t),e.computed&&aN(e.property,t)):z_(e)||H_(e)?(aN(e.left,t),aN(e.right,t)):G_(e)||rN(e)?(t.hasCall=!0,aN(e.callee,t)):Q_(e)?t.hasFunction=!0:Z_(e)&&(t.hasHelper=t.hasHelper||e.callee&&uN(e.callee)),t):t}function oN(e){return aN(e,{hasCall:!1,hasFunction:!1,hasHelper:!1})}function uN(e){return!!e&&(tN(e)?uN(e.object)||uN(e.property):Z_(e)?"require"===e.name||95===e.name.charCodeAt(0):G_(e)?uN(e.callee):!(!z_(e)&&!H_(e))&&(Z_(e.left)&&uN(e.left)||uN(e.right)))}function cN(e){return eN(e)||nN(e)||X_(e)||Z_(e)||tN(e)}var lN={AssignmentExpression(e){const t=oN(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return t.hasFunction?3:2},SwitchCase:(e,t)=>(e.consequent.length||t.cases[0]===e?1:0)|(e.consequent.length||t.cases[t.cases.length-1]!==e?0:2),LogicalExpression(e){if(Q_(e.left)||Q_(e.right))return 2},Literal(e){if(sN(e)&&"use strict"===e.value)return 2},CallExpression(e){if(Q_(e.callee)||uN(e))return 3},OptionalCallExpression(e){if(Q_(e.callee))return 3},VariableDeclaration(e){for(let t=0;t<e.declarations.length;t++){const n=e.declarations[t];let r=uN(n.id)&&!cN(n.init);if(!r&&n.init){const e=oN(n.init);r=uN(n.init)&&e.hasCall||e.hasFunction}if(r)return 3}},IfStatement(e){if(Y_(e.consequent))return 3}};lN.ObjectProperty=lN.ObjectTypeProperty=lN.ObjectMethod=function(e,t){if(t.properties[0]===e)return 1},lN.ObjectTypeCallProperty=function(e,t){if(t.callProperties[0]===e&&!t.properties?.length)return 1},lN.ObjectTypeIndexer=function(e,t){if(t.indexers[0]===e&&!t.properties?.length&&!t.callProperties?.length)return 1},lN.ObjectTypeInternalSlot=function(e,t){if(t.internalSlots[0]===e&&!t.properties?.length&&!t.callProperties?.length&&!t.indexers?.length)return 1},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach(function([e,t]){[e].concat(W_[e]||[]).forEach(function(e){const n=t?3:0;lN[e]=()=>n})});var{isArrayTypeAnnotation:pN,isBinaryExpression:dN,isCallExpression:hN,isForOfStatement:fN,isIndexedAccessType:mN,isMemberExpression:yN,isObjectPattern:gN,isOptionalMemberExpression:bN,isYieldExpression:xN,isStatement:SN}=at,TN=new Map([["||",0],["??",0],["|>",0],["&&",1],["|",2],["^",3],["&",4],["==",5],["===",5],["!=",5],["!==",5],["<",6],[">",6],["<=",6],[">=",6],["in",6],["instanceof",6],[">>",7],["<<",7],[">>>",7],["+",8],["-",8],["*",9],["/",9],["%",9],["**",10]]);function EN(e,t){return"BinaryExpression"===t||"LogicalExpression"===t?TN.get(e.operator):"TSAsExpression"===t||"TSSatisfiesExpression"===t?TN.get("in"):void 0}function PN(e){return"TSAsExpression"===e||"TSSatisfiesExpression"===e||"TSTypeAssertion"===e}var vN=(e,t)=>{const n=t.type;return("ClassDeclaration"===n||"ClassExpression"===n)&&t.superClass===e},AN=(e,t)=>{const n=t.type;return("MemberExpression"===n||"OptionalMemberExpression"===n)&&t.object===e||("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n)&&t.callee===e||"TaggedTemplateExpression"===n&&t.tag===e||"TSNonNullExpression"===n};function wN(e){return Boolean(e&(VN.expressionStatement|VN.arrowBody))}function CN(e,t){const n=t.type;if("BinaryExpression"===e.type&&"**"===e.operator&&"BinaryExpression"===n&&"**"===t.operator)return t.left===e;if(vN(e,t))return!0;if(AN(e,t)||"UnaryExpression"===n||"SpreadElement"===n||"AwaitExpression"===n)return!0;const r=EN(t,n);if(null!=r){const i=EN(e,e.type);if(r===i&&"BinaryExpression"===n&&t.right===e||r>i)return!0}}function kN(e,t){const n=t.type;return"ArrayTypeAnnotation"===n||"NullableTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"UnionTypeAnnotation"===n}function IN(e,t){return("AssignmentExpression"===t.type||"AssignmentPattern"===t.type)&&t.left===e||("BinaryExpression"===t.type&&("|"===t.operator||"&"===t.operator)&&e===t.left||CN(e,t))}function _N(e,t){const n=t.type;return"TSIntersectionType"===n||"TSUnionType"===n||"TSTypeOperator"===n||"TSOptionalType"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e)}function NN(e,t){const n=t.type;return"BinaryExpression"===n||"LogicalExpression"===n||"UnaryExpression"===n||"SpreadElement"===n||AN(e,t)||"AwaitExpression"===n&&xN(e)||"ConditionalExpression"===n&&e===t.test||vN(e,t)||PN(n)}function LN(e,t){return AN(e,t)||dN(t)&&"**"===t.operator&&t.left===e||vN(e,t)}function ON(e,t){const n=t.type;return!!("UnaryExpression"===n||"SpreadElement"===n||"BinaryExpression"===n||"LogicalExpression"===n||"ConditionalExpression"===n&&t.test===e||"AwaitExpression"===n||PN(n))||LN(e,t)}function DN(e,t){return hN(t)&&t.callee===e||yN(t)&&t.object===e}var MN=Object.freeze({__proto__:null,ArrowFunctionExpression:ON,AssignmentExpression:function(e,t,n){return!(!wN(n)||!gN(e.left))||ON(e,t)},AwaitExpression:NN,Binary:CN,BinaryExpression:function(e,t,n){return"in"===e.operator&&Boolean(n&VN.forInOrInitHeadAccumulate)},ClassExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},ConditionalExpression:ON,DoExpression:function(e,t,n){return!e.async&&Boolean(n&VN.expressionStatement)},FunctionExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},FunctionTypeAnnotation:function(e,t,n){const r=t.type;return"UnionTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"ArrayTypeAnnotation"===r||Boolean(n&VN.arrowFlowReturnType)},Identifier:function(e,t,n,r){const i=t.type;if(e.extra?.parenthesized&&"AssignmentExpression"===i&&t.left===e){const e=t.right.type;if(("FunctionExpression"===e||"ClassExpression"===e)&&null==t.right.id)return!0}if(r&&r(e)!==e.name)return!1;if("let"===e.name){return!!((yN(t,{object:e,computed:!0})||bN(t,{object:e,computed:!0,optional:!1}))&&n&(VN.expressionStatement|VN.forInitHead|VN.forInHead))||Boolean(n&VN.forOfHead)}return"async"===e.name&&fN(t,{left:e,await:!1})},IntersectionTypeAnnotation:kN,LogicalExpression:function(e,t){const n=t.type;if(PN(n))return!0;if("LogicalExpression"!==n)return!1;switch(e.operator){case"||":return"??"===t.operator||"&&"===t.operator;case"&&":return"??"===t.operator;case"??":return"??"!==t.operator}},NullableTypeAnnotation:function(e,t){return pN(t)},ObjectExpression:function(e,t,n){return wN(n)},OptionalCallExpression:DN,OptionalIndexedAccessType:function(e,t){return mN(t)&&t.objectType===e},OptionalMemberExpression:DN,SequenceExpression:function(e,t){const n=t.type;return!("SequenceExpression"===n||"ParenthesizedExpression"===n||"MemberExpression"===n&&t.property===e||"OptionalMemberExpression"===n&&t.property===e||"TemplateLiteral"===n)&&("ClassDeclaration"===n||("ForOfStatement"===n?t.right===e:"ExportDefaultDeclaration"===n||!SN(t)))},TSAsExpression:IN,TSConditionalType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||"TSTypeOperator"===n||"TSTypeParameter"===n||(("TSIntersectionType"===n||"TSUnionType"===n)&&t.types[0]===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e))},TSConstructorType:_N,TSFunctionType:_N,TSInferType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||!(!e.typeParameter.constraint||"TSIntersectionType"!==n&&"TSUnionType"!==n||t.types[0]!==e)},TSInstantiationExpression:function(e,t){const n=t.type;return("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n||"TSInstantiationExpression"===n)&&!!t.typeArguments},TSIntersectionType:function(e,t){const n=t.type;return"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSSatisfiesExpression:IN,TSTypeAssertion:LN,TSTypeOperator:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSUnionType:function(e,t){const n=t.type;return"TSIntersectionType"===n||"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},UnaryLike:LN,UnionTypeAnnotation:kN,UpdateExpression:function(e,t){return AN(e,t)||vN(e,t)},YieldExpression:NN}),{FLIPPED_ALIAS_KEYS:BN,VISITOR_KEYS:FN,isCallExpression:RN,isDecorator:jN,isExpressionStatement:UN,isMemberExpression:qN,isNewExpression:$N,isParenthesizedExpression:JN}=at,VN={normal:0,expressionStatement:1,arrowBody:2,exportDefault:4,arrowFlowReturnType:8,forInitHead:16,forInHead:32,forOfHead:64,forInOrInitHeadAccumulate:128,forInOrInitHeadAccumulatePassThroughMask:128};function KN(e){const t=new Map;function n(e,n){const r=t.get(e);t.set(e,r?function(e,t,i,s){return r(e,t,i,s)??n(e,t,i,s)}:n)}for(const t of Object.keys(e)){const r=BN[t];if(r)for(const i of r)n(i,e[t]);else n(t,e[t])}return t}var WN=KN(MN),XN=KN(lN);function HN(e){return!!RN(e)||qN(e)&&HN(e.object)}function zN(e,t,n){if(!e)return!1;UN(e)&&(e=e.expression);const r=XN.get(e.type)?.(e,t);return"number"==typeof r&&0!==(r&n)}function YN(e){switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&"Identifier"===e.property.type&&YN(e.object);default:return!1}}function GN(e,t){const n=FN[e.type];for(let r=n.length-1;r>=0;r--){const i=e[n[r]];if(i===t)return!0;if(Array.isArray(i)){let e=i.length-1;for(;e>=0&&null===i[e];)e--;return e>=0&&i[e]===t}if(i)return!1}return!1}var QN=Object.freeze({__proto__:null,TokenContext:VN,isLastChild:GN,needsParens:function(e,t,n,r){return!!t&&(!(!$N(t)||t.callee!==e||!HN(e))||(jN(t)?!(YN(e)||RN(e)&&YN(e.callee)||JN(e)):WN.get(e.type)?.(e,t,n,r)))},needsWhitespace:zN,needsWhitespaceAfter:function(e,t){return zN(e,t,2)},needsWhitespaceBefore:function(e,t){return zN(e,t,1)}}),{traverseFast:ZN,VISITOR_KEYS:eL}=at,tL=class{constructor(e,t,n){Qe(this,"_tokens"),Qe(this,"_source"),Qe(this,"_nodesToTokenIndexes",new Map),Qe(this,"_nodesOccurrencesCountCache",new Map),Qe(this,"_tokensCache",new Map),this._tokens=t,this._source=n,ZN(e,e=>{const t=this._getTokensIndexesOfNode(e);t.length>0&&this._nodesToTokenIndexes.set(e,t)}),this._tokensCache=null}has(e){return this._nodesToTokenIndexes.has(e)}getIndexes(e){return this._nodesToTokenIndexes.get(e)}find(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=0;e<n.length;e++){const r=n[e],i=this._tokens[r];if(t(i,r))return i}return null}findLastIndex(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(this._tokens[r],r))return r}return-1}findMatching(e,t,n=0){const r=this._nodesToTokenIndexes.get(e);if(r){let i=0;const s=n;if(s>1){const r=this._nodesOccurrencesCountCache.get(e);r&&r.test===t&&r.count<s&&(i=r.i+1,n-=r.count+1)}for(;i<r.length;i++){const a=this._tokens[r[i]];if(this.matchesOriginal(a,t)){if(0===n)return s>0&&this._nodesOccurrencesCountCache.set(e,{test:t,count:s,i:i}),a;n--}}}return null}matchesOriginal(e,t){return e.end-e.start===t.length&&(null!=e.value?e.value===t:this._source.startsWith(t,e.start))}startMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[0]];return r.start===e.start&&this.matchesOriginal(r,t)}endMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[n.length-1]];return r.end===e.end&&this.matchesOriginal(r,t)}_getTokensIndexesOfNode(e){if(null==e.start||null==e.end)return[];const{first:t,last:n}=this._findTokensOfNode(e,0,this._tokens.length-1);let r=t;const i=function*(e){if("TemplateLiteral"===e.type){yield e.quasis[0];for(let t=1;t<e.quasis.length;t++)yield e.expressions[t-1],yield e.quasis[t];return}const t=eL[e.type];for(const n of t){const t=e[n];t&&(Array.isArray(t)?yield*t:yield t)}}(e);"ExportNamedDeclaration"!==e.type&&"ExportDefaultDeclaration"!==e.type||!e.declaration||"ClassDeclaration"!==e.declaration.type||i.next();const s=[];for(const e of i){if(null==e)continue;if(null==e.start||null==e.end)continue;const t=this._findTokensOfNode(e,r,n),i=t.first;for(let e=r;e<i;e++)s.push(e);r=t.last+1}for(let e=r;e<=n;e++)s.push(e);return s}_findTokensOfNode(e,t,n){const r=this._tokensCache.get(e);if(r)return r;const i=this._findFirstTokenOfNode(e.start,t,n),s=this._findLastTokenOfNode(e.end,i,n);return this._tokensCache.set(e,{first:i,last:s}),{first:i,last:s}}_findFirstTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].start)n=r-1;else{if(!(e>this._tokens[r].start))return r;t=r+1}}return t}_findLastTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].end)n=r-1;else{if(!(e>this._tokens[r].end))return r;t=r+1}}return n}};var{isCallExpression:nL,isLiteral:rL,isMemberExpression:iL,isNewExpression:sL,isPattern:aL}=at;function oL(e){this.print(e.left),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):(this.token(e.operator),this._endsWithDiv="/"===e.operator),this.space(),this.print(e.right)}var{isFor:uL,isForStatement:cL,isIfStatement:lL,isStatement:pL}=at;function dL(e){const{body:t}=e;return!1===pL(t)?e:dL(t)}function hL(e){this.word("for"),this.space();const t="ForOfStatement"===e.type;t&&e.await&&(this.word("await"),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40);{const n=this.enterForXStatementInit(t);this.print(e.left),n?.()}this.space(),this.word(t?"of":"in"),this.space(),this.print(e.right),this.tokenChar(41),this.printBlock(e)}var fL=hL,mL=hL;function yL(e,t){t&&(e.space(),e.printTerminatorless(t)),e.semicolon()}var{isExportDefaultDeclaration:gL,isExportNamedDeclaration:bL}=at;function xL(e,t){(gL(t)||bL(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id)),this.print(e.typeParameters),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass),this.print(e.superTypeArguments)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements)),this.space(),this.print(e.body)}var{isIdentifier:SL}=at;function TL(e,t){this._functionHead(e,t),this.space(),this.print(e.body)}function EL(e,t){let n,r=e;if(!r&&t){const e=t.type;"VariableDeclarator"===e?r=t.id:"AssignmentExpression"===e||"AssignmentPattern"===e?r=t.left:"ObjectProperty"===e||"ClassProperty"===e?t.computed&&"StringLiteral"!==t.key.type||(r=t.key):"ClassPrivateProperty"!==e&&"ClassAccessorProperty"!==e||(r=t.key)}if(r)return"Identifier"===r.type?n={pos:r.loc?.start,name:r.loc?.identifierName||r.name}:"PrivateName"===r.type?n={pos:r.loc?.start,name:"#"+r.id.name}:"StringLiteral"===r.type&&(n={pos:r.loc?.start,name:r.value}),n}var{isClassDeclaration:PL,isExportDefaultSpecifier:vL,isExportNamespaceSpecifier:AL,isImportDefaultSpecifier:wL,isImportNamespaceSpecifier:CL,isStatement:kL}=at;function IL(e){this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.tokenChar(42),this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,!1)):this.print(e.source),this.semicolon()}function _L(e,t){PL(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators)}var{isAssignmentPattern:NL,isIdentifier:LL}=at,OL=null,DL="";function ML(e){this.token("..."),this.print(e.argument)}function BL(e){const t=e.properties;if(this.tokenChar(123),t.length){const e=this.enterDelimited();this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space(),e()}this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}function FL(e){const t=e.elements,n=t.length;this.tokenChar(91);const r=this.enterDelimited();for(let e=0;e<t.length;e++){const r=t[e];r?(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e)):this.token(",",!1,e)}r(),this.tokenChar(93)}function RL(e){const t=this.getPossibleRaw(e),n=this.format.jsescOption,r=e.value,i=r+"";n.numbers?this.number((0,J_.default)(r,n),r):null==t?this.number(i,r):this.format.minified?this.number(t.length<i.length?t:i,r):this.number(t,r)}function jL(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const n=(0,J_.default)(e.value,this.format.jsescOption);this.token(n)}var UL=new Set(["^^","@@","^","%","#"]);var{isDeclareExportDeclaration:qL,isStatement:$L}=at;function JL(e,t,n){n&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function VL(e,t){const{members:n}=t;e.token("{"),e.indent(),e.newline();for(const t of n)e.print(t),e.newline();t.hasUnknownMembers&&(e.token("..."),e.newline()),e.dedent(),e.token("}")}function KL(e,t){e.print(t.id),e.space(),e.token("="),e.space(),e.print(t.init),e.token(",")}function WL(e){if(e.declaration){const t=e.declaration;this.print(t),$L(t)||this.semicolon()}else this.tokenChar(123),e.specifiers.length&&(this.space(),this.printList(e.specifiers),this.space()),this.tokenChar(125),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source)),this.semicolon()}function XL(e){this.print(e.id),this.print(e.typeParameters,!0)}function HL(e){this.space(),this.token("&",!1,e),this.space()}function zL(e){this.tokenChar(60),this.printList(e.params),this.tokenChar(62)}function YL(e){this.space(),this.token("|",!1,e),this.space()}var GL=/(?:^|[^\\])(?:\\\\)*'/,QL=/(?:^|[^\\])(?:\\\\)*"/;function ZL(){this.space()}function eO(e,t){this.tokenChar(60);let n="ArrowFunctionExpression"===t.type&&1===e.params.length;this.tokenMap&&null!=e.start&&null!=e.end&&(n&&(n=!!this.tokenMap.find(e,e=>this.tokenMap.matchesOriginal(e,","))),n||(n=this.shouldPrintTrailingComma(">"))),this.printList(e.params,n),this.tokenChar(62)}function tO(e,t){e.tokenMap&&t.start&&t.end?e.tokenMap.endMatches(t,",")?e.token(","):e.tokenMap.endMatches(t,";")&&e.semicolon():e.semicolon()}function nO(e,t,n){let r=0;e.tokenMap?.startMatches(t,n)&&(r=1,e.token(n)),e.printJoin(t.types,void 0,void 0,function(e){this.space(),this.token(n,null,e+r),this.space()})}function rO(e,t){!0!==t&&e.token(t)}function iO(e){this.print(e.expression),this.print(e.typeArguments)}function sO(e){const{type:t,expression:n,typeAnnotation:r}=e;this.print(n,!0),this.space(),this.word("TSAsExpression"===t?"as":"satisfies"),this.space(),this.print(r)}function aO(e,t,n){e.token("{");const r=e.enterDelimited();n(),r(),e.rightBrace(t)}function oO(e,t,n){const r=new Set;for(const e of n)e&&r.add(e);e.tokenMap?.find(t,t=>{if(r.has(t.value))return e.token(t.value),e.space(),r.delete(t.value),0===r.size});for(const t of r)e.word(t),e.space()}var uO=Object.freeze({__proto__:null,AnyTypeAnnotation:function(){this.word("any")},ArgumentPlaceholder:function(){this.tokenChar(63)},ArrayExpression:FL,ArrayPattern:FL,ArrayTypeAnnotation:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},ArrowFunctionExpression:function(e,t){e.async&&(this.word("async",!0),this.space()),this._shouldPrintArrowParamsParens(e)?this._params(e,void 0,t):this.print(e.params[0],!0),this._predicate(e,!0),this.space(),this.printInnerComments(),this.token("=>"),this.space(),this.tokenContext|=VN.arrowBody,this.print(e.body)},AssignmentExpression:oL,AssignmentPattern:function(e){this.print(e.left),("Identifier"===e.left.type||aL(e.left))&&(e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation)),this.space(),this.tokenChar(61),this.space(),this.print(e.right)},AwaitExpression:function(e){this.word("await"),this.space(),this.print(e.argument)},BigIntLiteral:function(e){const t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+"n"):this.word(t)},BinaryExpression:oL,BindExpression:function(e){this.print(e.object),this.token("::"),this.print(e.callee)},BlockStatement:function(e){this.tokenChar(123);const t=this.enterDelimited(),n=e.directives?.length;if(n){const t=e.body.length?2:1;this.printSequence(e.directives,!0,t),e.directives[n-1].trailingComments?.length||this.newline(t)}this.printSequence(e.body,!0),t(),this.rightBrace(e)},BooleanLiteral:function(e){this.word(e.value?"true":"false")},BooleanLiteralTypeAnnotation:function(e){this.word(e.value?"true":"false")},BooleanTypeAnnotation:function(){this.word("boolean")},BreakStatement:function(e){this.word("break"),yL(this,e.label)},CallExpression:function(e){this.print(e.callee),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),t(),this.rightParens(e)},CatchClause:function(e){this.word("catch"),this.space(),e.param&&(this.tokenChar(40),this.print(e.param),this.print(e.param.typeAnnotation),this.tokenChar(41),this.space()),this.print(e.body)},ClassAccessorProperty:function(e){this.printJoin(e.decorators);const t=e.key.loc?.end?.line;t&&this.catchUp(t),this.tsPrintClassMemberModifiers(e),this.word("accessor",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassBody:function(e){if(this.tokenChar(123),0===e.body.length)this.tokenChar(125);else{this.newline();const t=function(e,t){if(!e.tokenMap||null==t.start||null==t.end)return null;const n=e.tokenMap.getIndexes(t);if(!n)return null;let r=1,i=0,s=0;const a=()=>{for(;s<t.body.length&&null==t.body[s].start;)s++};return a(),o=>{s<=o&&(s=o+1,a());const u=s===t.body.length?t.end:t.body[s].start;let c;for(;r<n.length&&e.tokenMap.matchesOriginal(c=e._tokens[n[r]],";")&&c.start<u;)e.token(";",void 0,i++),r++}}(this,e);t?.(-1);const n=this.enterDelimited();this.printJoin(e.body,!0,!0,t,!0),n(),this.endsWith(10)||this.newline(),this.rightBrace(e)}},ClassDeclaration:xL,ClassExpression:xL,ClassImplements:XL,ClassMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateProperty:function(e){this.printJoin(e.decorators),this.tsPrintClassMemberModifiers(e),this.print(e.key),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassProperty:function(e){if(this.printJoin(e.decorators),!e.static&&!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ConditionalExpression:function(e){this.print(e.test),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate)},ContinueStatement:function(e){this.word("continue"),yL(this,e.label)},DebuggerStatement:function(){this.word("debugger"),this.semicolon()},DeclareClass:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},DeclareExportAllDeclaration:function(e){this.word("declare"),this.space(),IL.call(this,e)},DeclareExportDeclaration:function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),WL.call(this,e)},DeclareFunction:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation.typeAnnotation),e.predicate&&(this.space(),this.print(e.predicate)),this.semicolon()},DeclareInterface:function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},DeclareModule:function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id),this.space(),this.print(e.body)},DeclareModuleExports:function(e){this.word("declare"),this.space(),this.word("module"),this.tokenChar(46),this.word("exports"),this.print(e.typeAnnotation)},DeclareOpaqueType:function(e,t){qL(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},DeclareTypeAlias:function(e){this.word("declare"),this.space(),this.TypeAlias(e)},DeclareVariable:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation),this.semicolon()},DeclaredPredicate:function(e){this.tokenChar(37),this.word("checks"),this.tokenChar(40),this.print(e.value),this.tokenChar(41)},Decorator:function(e){this.tokenChar(64),this.print(e.expression),this.newline()},Directive:function(e){this.print(e.value),this.semicolon()},DirectiveLiteral:function(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const{value:n}=e;if(QL.test(n)){if(GL.test(n))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`'${n}'`)}else this.token(`"${n}"`)},DoExpression:function(e){e.async&&(this.word("async",!0),this.space()),this.word("do"),this.space(),this.print(e.body)},DoWhileStatement:function(e){this.word("do"),this.space(),this.print(e.body),this.space(),this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.semicolon()},EmptyStatement:function(){this.semicolon(!0)},EmptyTypeAnnotation:function(){this.word("empty")},EnumBooleanBody:function(e){const{explicitType:t}=e;JL(this,"boolean",t),VL(this,e)},EnumBooleanMember:function(e){KL(this,e)},EnumDeclaration:function(e){const{id:t,body:n}=e;this.word("enum"),this.space(),this.print(t),this.print(n)},EnumDefaultedMember:function(e){const{id:t}=e;this.print(t),this.tokenChar(44)},EnumNumberBody:function(e){const{explicitType:t}=e;JL(this,"number",t),VL(this,e)},EnumNumberMember:function(e){KL(this,e)},EnumStringBody:function(e){const{explicitType:t}=e;JL(this,"string",t),VL(this,e)},EnumStringMember:function(e){KL(this,e)},EnumSymbolBody:function(e){JL(this,"symbol",!0),VL(this,e)},ExistsTypeAnnotation:function(){this.tokenChar(42)},ExportAllDeclaration:IL,ExportDefaultDeclaration:function(e){_L(this,e),this.word("export"),this.noIndentInnerCommentsHere(),this.space(),this.word("default"),this.space(),this.tokenContext|=VN.exportDefault;const t=e.declaration;this.print(t),kL(t)||this.semicolon()},ExportDefaultSpecifier:function(e){this.print(e.exported)},ExportNamedDeclaration:function(e){if(_L(this,e),this.word("export"),this.space(),e.declaration){const t=e.declaration;this.print(t),kL(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());const t=e.specifiers.slice(0);let n=!1;for(;;){const e=t[0];if(!vL(e)&&!AL(e))break;n=!0,this.print(t.shift()),t.length&&(this.tokenChar(44),this.space())}let r=!1;(t.length||!t.length&&!n)&&(r=!0,this.tokenChar(123),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}")),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,r)):this.print(e.source)),this.semicolon()}},ExportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.exported)},ExportSpecifier:function(e){"type"===e.exportKind&&(this.word("type"),this.space()),this.print(e.local),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported))},ExpressionStatement:function(e){this.tokenContext|=VN.expressionStatement,this.print(e.expression),this.semicolon()},File:function(e){e.program&&this.print(e.program.interpreter),this.print(e.program)},ForInStatement:fL,ForOfStatement:mL,ForStatement:function(e){this.word("for"),this.space(),this.tokenChar(40);{const t=this.enterForStatementInit();this.print(e.init),t()}this.tokenChar(59),e.test&&(this.space(),this.print(e.test)),this.token(";",!1,1),e.update&&(this.space(),this.print(e.update)),this.tokenChar(41),this.printBlock(e)},FunctionDeclaration:TL,FunctionExpression:TL,FunctionTypeAnnotation:function(e,t){this.print(e.typeParameters),this.tokenChar(40),e.this&&(this.word("this"),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token("..."),this.print(e.rest)),this.tokenChar(41);const n=t?.type;null!=n&&("ObjectTypeCallProperty"===n||"ObjectTypeInternalSlot"===n||"DeclareFunction"===n||"ObjectTypeProperty"===n&&t.method)?this.tokenChar(58):(this.space(),this.token("=>")),this.space(),this.print(e.returnType)},FunctionTypeParam:function(e){this.print(e.name),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation)},GenericTypeAnnotation:XL,Identifier:function(e){this.sourceIdentifierName(e.loc?.identifierName||e.name),this.word(this.tokenMap?this._getRawIdentifier(e):e.name)},IfStatement:function(e){this.word("if"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.space();const t=e.alternate&&lL(dL(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate))},Import:function(){this.word("import")},ImportAttribute:function(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)},ImportDeclaration:function(e){this.word("import"),this.space();const t="type"===e.importKind||"typeof"===e.importKind;t?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word("module"),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());const n=e.specifiers.slice(0),r=!!n.length;for(;r;){const e=n[0];if(!wL(e)&&!CL(e))break;this.print(n.shift()),n.length&&(this.tokenChar(44),this.space())}let i=!1;n.length?(i=!0,this.tokenChar(123),this.space(),this.printList(n,this.shouldPrintTrailingComma("}")),this.space(),this.tokenChar(125)):t&&!r&&(i=!0,this.tokenChar(123),this.tokenChar(125)),(r||t)&&(this.space(),this.word("from"),this.space()),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,i)):this.print(e.source),this.semicolon()},ImportDefaultSpecifier:function(e){this.print(e.local)},ImportExpression:function(e){this.word("import"),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40);const t=this.shouldPrintTrailingComma(")");this.print(e.source),null!=e.options&&(this.tokenChar(44),this.space(),this.print(e.options)),t&&this.tokenChar(44),this.rightParens(e)},ImportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.local)},ImportSpecifier:function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local))},IndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},InferredPredicate:function(){this.tokenChar(37),this.word("checks")},InterfaceDeclaration:function(e){this.word("interface"),this.space(),this._interfaceish(e)},InterfaceExtends:XL,InterfaceTypeAnnotation:function(e){this.word("interface"),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),this.space(),this.print(e.body)},InterpreterDirective:function(e){this.token(`#!${e.value}`),this.newline(1,!0)},IntersectionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,HL)},JSXAttribute:function(e){this.print(e.name),e.value&&(this.tokenChar(61),this.print(e.value))},JSXClosingElement:function(e){this.tokenChar(60),this.tokenChar(47),this.print(e.name),this.tokenChar(62)},JSXClosingFragment:function(){this.token("</"),this.tokenChar(62)},JSXElement:function(e){const t=e.openingElement;if(this.print(t),!t.selfClosing){this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingElement)}},JSXEmptyExpression:function(){this.printInnerComments()},JSXExpressionContainer:function(e){this.tokenChar(123),this.print(e.expression),this.rightBrace(e)},JSXFragment:function(e){this.print(e.openingFragment),this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingFragment)},JSXIdentifier:function(e){this.word(e.name)},JSXMemberExpression:function(e){this.print(e.object),this.tokenChar(46),this.print(e.property)},JSXNamespacedName:function(e){this.print(e.namespace),this.tokenChar(58),this.print(e.name)},JSXOpeningElement:function(e){this.tokenChar(60),this.print(e.name),this.print(e.typeArguments),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,void 0,void 0,ZL)),e.selfClosing&&(this.space(),this.tokenChar(47)),this.tokenChar(62)},JSXOpeningFragment:function(){this.tokenChar(60),this.tokenChar(62)},JSXSpreadAttribute:function(e){this.tokenChar(123),this.token("..."),this.print(e.argument),this.rightBrace(e)},JSXSpreadChild:function(e){this.tokenChar(123),this.token("..."),this.print(e.expression),this.rightBrace(e)},JSXText:function(e){const t=this.getPossibleRaw(e);void 0!==t?this.token(t,!0):this.token(e.value,!0)},LabeledStatement:function(e){this.print(e.label),this.tokenChar(58),this.space(),this.print(e.body)},LogicalExpression:oL,MemberExpression:function(e){if(this.print(e.object),!e.computed&&iL(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;if(rL(e.property)&&"number"==typeof e.property.value&&(t=!0),t){const t=this.enterDelimited();this.tokenChar(91),this.print(e.property),this.tokenChar(93),t()}else this.tokenChar(46),this.print(e.property)},MetaProperty:function(e){this.print(e.meta),this.tokenChar(46),this.print(e.property)},MixedTypeAnnotation:function(){this.word("mixed")},ModuleExpression:function(e){this.word("module",!0),this.space(),this.tokenChar(123),this.indent();const{body:t}=e;(t.body.length||t.directives.length)&&this.newline(),this.print(t),this.dedent(),this.rightBrace(e)},NewExpression:function(e,t){if(this.word("new"),this.space(),this.print(e.callee),this.format.minified&&0===e.arguments.length&&!e.optional&&!nL(t,{callee:e})&&!iL(t)&&!sL(t))return;if(this.print(e.typeArguments),0===e.arguments.length&&this.tokenMap&&!this.tokenMap.endMatches(e,")"))return;this.tokenChar(40);const n=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),n(),this.rightParens(e)},NullLiteral:function(){this.word("null")},NullLiteralTypeAnnotation:function(){this.word("null")},NullableTypeAnnotation:function(e){this.tokenChar(63),this.print(e.typeAnnotation)},NumberLiteralTypeAnnotation:RL,NumberTypeAnnotation:function(){this.word("number")},NumericLiteral:RL,ObjectExpression:BL,ObjectMethod:function(e){this.printJoin(e.decorators),this._methodHead(e),this.space(),this.print(e.body)},ObjectPattern:BL,ObjectProperty:function(e){if(this.printJoin(e.decorators),e.computed)this.tokenChar(91),this.print(e.key),this.tokenChar(93);else{if(NL(e.value)&&LL(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value);if(this.print(e.key),e.shorthand&&LL(e.key)&&LL(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeAnnotation:function(e){e.exact?this.token("{|"):this.tokenChar(123);const t=[...e.properties,...e.callProperties||[],...e.indexers||[],...e.internalSlots||[]];t.length&&(this.newline(),this.space(),this.printJoin(t,!0,!0,void 0,void 0,function(e){if(e&&!t[0])return 1},()=>{(1!==t.length||e.inexact)&&(this.tokenChar(44),this.space())}),this.space()),e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.tokenChar(125)},ObjectTypeCallProperty:function(e){e.static&&(this.word("static"),this.space()),this.print(e.value)},ObjectTypeIndexer:function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.tokenChar(91),e.id&&(this.print(e.id),this.tokenChar(58),this.space()),this.print(e.key),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeInternalSlot:function(e){e.static&&(this.word("static"),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeProperty:function(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeSpreadProperty:function(e){this.token("..."),this.print(e.argument)},OpaqueType:function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype)),this.semicolon()},OptionalCallExpression:function(e){this.print(e.callee),e.optional&&this.token("?."),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments),t(),this.rightParens(e)},OptionalIndexedAccessType:function(e){this.print(e.objectType),e.optional&&this.token("?."),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},OptionalMemberExpression:function(e){let{computed:t}=e;const{optional:n,property:r}=e;if(this.print(e.object),!t&&iL(r))throw new TypeError("Got a MemberExpression for MemberExpression property");rL(r)&&"number"==typeof r.value&&(t=!0),n&&this.token("?."),t?(this.tokenChar(91),this.print(r),this.tokenChar(93)):(n||this.tokenChar(46),this.print(r))},ParenthesizedExpression:function(e){this.tokenChar(40);const t=this.enterDelimited();this.print(e.expression),t(),this.rightParens(e)},PipelineBareFunction:function(e){this.print(e.callee)},PipelinePrimaryTopicReference:function(){this.tokenChar(35)},PipelineTopicExpression:function(e){this.print(e.expression)},Placeholder:function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()},PrivateName:function(e){this.tokenChar(35),this.print(e.id)},Program:function(e){this.noIndentInnerCommentsHere(),this.printInnerComments();const t=e.directives?.length;if(t){const n=e.body.length?2:1;this.printSequence(e.directives,void 0,n),e.directives[t-1].trailingComments?.length||this.newline(n)}this.printSequence(e.body)},QualifiedTypeIdentifier:function(e){this.print(e.qualification),this.tokenChar(46),this.print(e.id)},RecordExpression:function(e){const t=e.properties;let n,r;n="#{",r="}",this.token("#{"),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space()),this.token("}")},RegExpLiteral:function(e){this.word(`/${e.pattern}/${e.flags}`)},RestElement:ML,ReturnStatement:function(e){this.word("return"),yL(this,e.argument)},SequenceExpression:function(e){this.printList(e.expressions)},SpreadElement:ML,StaticBlock:function(e){this.word("static"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,!0),this.rightBrace(e))},StringLiteral:jL,StringLiteralTypeAnnotation:jL,StringTypeAnnotation:function(){this.word("string")},Super:function(){this.word("super")},SwitchCase:function(e){e.test?(this.word("case"),this.space(),this.print(e.test),this.tokenChar(58)):(this.word("default"),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,!0))},SwitchStatement:function(e){this.word("switch"),this.space(),this.tokenChar(40),this.print(e.discriminant),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,!0,void 0,function(t,n){if(!t&&e.cases[e.cases.length-1]===n)return-1}),this.rightBrace(e)},SymbolTypeAnnotation:function(){this.word("symbol")},TSAnyKeyword:function(){this.word("any")},TSArrayType:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},TSAsExpression:sO,TSBigIntKeyword:function(){this.word("bigint")},TSBooleanKeyword:function(){this.word("boolean")},TSCallSignatureDeclaration:function(e){this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSClassImplements:iO,TSConditionalType:function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)},TSConstructSignatureDeclaration:function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSConstructorType:function(e){e.abstract&&(this.word("abstract"),this.space()),this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},TSDeclareFunction:function(e,t){e.declare&&(this.word("declare"),this.space()),this._functionHead(e,t),this.semicolon()},TSDeclareMethod:function(e){this._classMethodHead(e),this.semicolon()},TSEnumBody:function(e){aO(this,e,()=>this.printList(e.members,this.shouldPrintTrailingComma("}")??!1,!0,!0))},TSEnumDeclaration:function(e){const{declare:t,const:n,id:r}=e;t&&(this.word("declare"),this.space()),n&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(r),this.space(),this.print(e.body)},TSEnumMember:function(e){const{id:t,initializer:n}=e;this.print(t),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n))},TSExportAssignment:function(e){this.word("export"),this.space(),this.tokenChar(61),this.space(),this.print(e.expression),this.semicolon()},TSExternalModuleReference:function(e){this.token("require("),this.print(e.expression),this.tokenChar(41)},TSFunctionType:function(e){this.tsPrintFunctionOrConstructorType(e)},TSImportEqualsDeclaration:function(e){const{id:t,moduleReference:n}=e;this.word("import"),this.space(),this.print(t),this.space(),this.tokenChar(61),this.space(),this.print(n),this.semicolon()},TSImportType:function(e){const{argument:t,qualifier:n,options:r}=e;this.word("import"),this.tokenChar(40),this.print(t),r&&(this.tokenChar(44),this.print(r)),this.tokenChar(41),n&&(this.tokenChar(46),this.print(n));const i=e.typeArguments;i&&this.print(i)},TSIndexSignature:function(e){const{readonly:t,static:n}=e;n&&(this.word("static"),this.space()),t&&(this.word("readonly"),this.space()),this.tokenChar(91),this._parameters(e.parameters,"]"),this.print(e.typeAnnotation),tO(this,e)},TSIndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},TSInferType:function(e){this.word("infer"),this.print(e.typeParameter)},TSInstantiationExpression:function(e){this.print(e.expression),this.print(e.typeArguments)},TSInterfaceBody:function(e){aO(this,e,()=>this.printJoin(e.body,!0,!0))},TSInterfaceDeclaration:function(e){const{declare:t,id:n,typeParameters:r,extends:i,body:s}=e;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(n),this.print(r),i?.length&&(this.space(),this.word("extends"),this.space(),this.printList(i)),this.space(),this.print(s)},TSInterfaceHeritage:iO,TSIntersectionType:function(e){nO(this,e,"&")},TSIntrinsicKeyword:function(){this.word("intrinsic")},TSLiteralType:function(e){this.print(e.literal)},TSMappedType:function(e){const{nameType:t,optional:n,readonly:r,typeAnnotation:i}=e;this.tokenChar(123);const s=this.enterDelimited();this.space(),r&&(rO(this,r),this.word("readonly"),this.space()),this.tokenChar(91),this.word(e.key.name),this.space(),this.word("in"),this.space(),this.print(e.constraint),t&&(this.space(),this.word("as"),this.space(),this.print(t)),this.tokenChar(93),n&&(rO(this,n),this.tokenChar(63)),i&&(this.tokenChar(58),this.space(),this.print(i)),this.space(),s(),this.tokenChar(125)},TSMethodSignature:function(e){const{kind:t}=e;"set"!==t&&"get"!==t||(this.word(t),this.space()),this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSModuleBlock:function(e){aO(this,e,()=>this.printSequence(e.body,!0))},TSModuleDeclaration:function(e){const{declare:t,id:n,kind:r}=e;t&&(this.word("declare"),this.space()),"global"!==r&&(this.word(r),this.space()),this.print(e.id),e.body?(this.space(),this.print(e.body)):this.semicolon()},TSNamedTupleMember:function(e){this.print(e.label),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType)},TSNamespaceExportDeclaration:function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id),this.semicolon()},TSNeverKeyword:function(){this.word("never")},TSNonNullExpression:function(e){this.print(e.expression),this.tokenChar(33)},TSNullKeyword:function(){this.word("null")},TSNumberKeyword:function(){this.word("number")},TSObjectKeyword:function(){this.word("object")},TSOptionalType:function(e){this.print(e.typeAnnotation),this.tokenChar(63)},TSParameterProperty:function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)},TSParenthesizedType:function(e){this.tokenChar(40),this.print(e.typeAnnotation),this.tokenChar(41)},TSPropertySignature:function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation),tO(this,e)},TSQualifiedName:function(e){this.print(e.left),this.tokenChar(46),this.print(e.right)},TSRestType:function(e){this.token("..."),this.print(e.typeAnnotation)},TSSatisfiesExpression:sO,TSStringKeyword:function(){this.word("string")},TSSymbolKeyword:function(){this.word("symbol")},TSTemplateLiteralType:function(e){this._printTemplate(e,e.types)},TSThisType:function(){this.word("this")},TSTupleType:function(e){this.tokenChar(91),this.printList(e.elementTypes,this.shouldPrintTrailingComma("]")),this.tokenChar(93)},TSTypeAliasDeclaration:function(e){const{declare:t,id:n,typeParameters:r,typeAnnotation:i}=e;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(n),this.print(r),this.space(),this.tokenChar(61),this.space(),this.print(i),this.semicolon()},TSTypeAnnotation:function(e,t){this.token("TSFunctionType"!==t.type&&"TSConstructorType"!==t.type||t.returnType!==e?":":"=>"),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TSTypeAssertion:function(e){const{typeAnnotation:t,expression:n}=e;this.tokenChar(60),this.print(t),this.tokenChar(62),this.space(),this.print(n)},TSTypeLiteral:function(e){aO(this,e,()=>this.printJoin(e.members,!0,!0))},TSTypeOperator:function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation)},TSTypeParameter:function(e){e.const&&(this.word("const"),this.space()),e.in&&(this.word("in"),this.space()),e.out&&(this.word("out"),this.space()),this.word(e.name.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TSTypeParameterDeclaration:eO,TSTypeParameterInstantiation:eO,TSTypePredicate:function(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},TSTypeQuery:function(e){this.word("typeof"),this.space(),this.print(e.exprName);const t=e.typeArguments;t&&this.print(t)},TSTypeReference:function(e){const t=e.typeArguments;this.print(e.typeName,!!t),this.print(t)},TSUndefinedKeyword:function(){this.word("undefined")},TSUnionType:function(e){nO(this,e,"|")},TSUnknownKeyword:function(){this.word("unknown")},TSVoidKeyword:function(){this.word("void")},TaggedTemplateExpression:function(e){this.print(e.tag),this.print(e.typeArguments),this.print(e.quasi)},TemplateElement:function(){throw new Error("TemplateElement printing is handled in TemplateLiteral")},TemplateLiteral:function(e){this._printTemplate(e,e.expressions)},ThisExpression:function(){this.word("this")},ThisTypeAnnotation:function(){this.word("this")},ThrowStatement:function(e){this.word("throw"),yL(this,e.argument)},TopicReference:function(){const{topicToken:e}=this.format;if(!UL.has(e)){const t=JSON.stringify(e),n=Array.from(UL,e=>JSON.stringify(e));throw new Error(`The "topicToken" generator option must be one of ${n.join(", ")} (${t} received instead).`)}this.token(e)},TryStatement:function(e){this.word("try"),this.space(),this.print(e.block),this.space(),e.handlers?this.print(e.handlers[0]):this.print(e.handler),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer))},TupleExpression:function(e){const t=e.elements,n=t.length;let r,i;r="#[",i="]",this.token("#[");for(let e=0;e<t.length;e++){const r=t[e];r&&(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e))}this.token("]")},TupleTypeAnnotation:function(e){this.tokenChar(91),this.printList(e.types),this.tokenChar(93)},TypeAlias:function(e){this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),this.space(),this.tokenChar(61),this.space(),this.print(e.right),this.semicolon()},TypeAnnotation:function(e,t){this.tokenChar(58),this.space(),"ArrowFunctionExpression"===t.type?this.tokenContext|=VN.arrowFlowReturnType:e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TypeCastExpression:function(e){this.tokenChar(40),this.print(e.expression),this.print(e.typeAnnotation),this.tokenChar(41)},TypeParameter:function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TypeParameterDeclaration:zL,TypeParameterInstantiation:zL,TypeofTypeAnnotation:function(e){this.word("typeof"),this.space(),this.print(e.argument)},UnaryExpression:function(e){const{operator:t}=e;"void"===t||"delete"===t||"typeof"===t||"throw"===t?(this.word(t),this.space()):this.token(t),this.print(e.argument)},UnionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,YL)},UpdateExpression:function(e){e.prefix?(this.token(e.operator),this.print(e.argument)):(this.print(e.argument,!0),this.token(e.operator))},V8IntrinsicIdentifier:function(e){this.tokenChar(37),this.word(e.name)},VariableDeclaration:function(e,t){e.declare&&(this.word("declare"),this.space());const{kind:n}=e;"await using"===n?(this.word("await"),this.space(),this.word("using",!0)):this.word(n,"using"===n),this.space();let r=!1;if(!uL(t))for(const t of e.declarations)t.init&&(r=!0);if(this.printList(e.declarations,void 0,void 0,e.declarations.length>1,r?function(e){this.token(",",!1,e),this.newline()}:void 0),uL(t))if(cL(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()},VariableDeclarator:function(e){this.print(e.id),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init))},Variance:function(e){"plus"===e.kind?this.tokenChar(43):this.tokenChar(45)},VoidPattern:function(){this.word("void")},VoidTypeAnnotation:function(){this.word("void")},WhileStatement:function(e){this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.printBlock(e)},WithStatement:function(e){this.word("with"),this.space(),this.tokenChar(40),this.print(e.object),this.tokenChar(41),this.printBlock(e)},YieldExpression:function(e){e.delegate?(this.word("yield",!0),this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument))):e.argument?(this.word("yield",!0),this.space(),this.print(e.argument)):this.word("yield")},_classMethodHead:function(e){if(this.printJoin(e.decorators),!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),this._methodHead(e)},_functionHead:function(e,t){e.async&&(this.word("async"),this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.space()),this.word("function"),e.generator&&(this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.tokenChar(42)),this.space(),e.id&&this.print(e.id),this._params(e,e.id,t),"TSDeclareFunction"!==e.type&&this._predicate(e)},_getRawIdentifier:function(e){if(e===OL)return DL;OL=e;const{name:t}=e,n=this.tokenMap.find(e,e=>e.value===t);return DL=n?this._originalCode.slice(n.start,n.end):e.name},_interfaceish:function(e){this.print(e.id),this.print(e.typeParameters),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),"DeclareClass"===e.type&&(e.mixins?.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins)),e.implements?.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements))),this.space(),this.print(e.body)},_methodHead:function(e){const t=e.kind,n=e.key;"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async",!0),this.space()),"method"!==t&&"init"!==t||e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(n),this.tokenChar(93)):this.print(n),e.optional&&this.tokenChar(63),this._params(e,e.computed&&"StringLiteral"!==e.key.type?void 0:e.key,void 0)},_param:function(e){this.printJoin(e.decorators),this.print(e),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},_parameters:function(e,t){const n=this.enterDelimited(),r=this.shouldPrintTrailingComma(t),i=e.length;for(let t=0;t<i;t++)this._param(e[t]),(r||t<i-1)&&(this.token(",",null,t),this.space());this.token(t),n()},_params:function(e,t,n){this.print(e.typeParameters);const r=EL.call(this,t,n);r&&this.sourceIdentifierName(r.name,r.pos),this.tokenChar(40),this._parameters(e.params,")");const i="ArrowFunctionExpression"===e.type;this.print(e.returnType,i),this._noLineTerminator=i},_predicate:function(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,t))},_printAttributes:function(e,t){const{importAttributesKeyword:n}=this.format,{attributes:r,assertions:i}=e,s="assert"===n||!n&&i;this.word(s?"assert":"with"),this.space();const a=t?1:0;this.token("{",null,a),this.space(),this.printList(r||i,this.shouldPrintTrailingComma("}")),this.space(),this.token("}",null,a)},_printTemplate:function(e,t){const n=e.quasis;let r="`";for(let e=0;e<n.length-1;e++)r+=n[e].value.raw,this.token(r+"${",!0),this.print(t[e]),r="}";r+=n[n.length-1].value.raw,this.token(r+"`",!0)},_shouldPrintArrowParamsParens:function(e){if(1!==e.params.length)return!0;if(e.typeParameters||e.returnType||e.predicate)return!0;const t=e.params[0];if(!SL(t)||t.typeAnnotation||t.optional||t.leadingComments?.length||t.trailingComments?.length)return!0;if(this.tokenMap){if(null==e.loc)return!0;if(null!==this.tokenMap.findMatching(e,"("))return!0;const t=this.tokenMap.findMatching(e,"=>");return null==t?.loc||t.loc.start.line!==e.loc.start.line}return!!this.format.retainLines},_shouldPrintDecoratorsBeforeExport:function(e){return"boolean"==typeof this.format.decoratorsBeforeExport?this.format.decoratorsBeforeExport:"number"==typeof e.start&&e.start===e.declaration.start},_variance:function(e){const t=e.variance?.kind;null!=t&&("plus"===t?this.tokenChar(43):"minus"===t&&this.tokenChar(45))},tsPrintClassMemberModifiers:function(e){const t="ClassPrivateProperty"===e.type,n="ClassAccessorProperty"===e.type||"ClassProperty"===e.type;oO(this,e,[n&&e.declare&&"declare",!t&&e.accessibility]),e.static&&(this.word("static"),this.space()),oO(this,e,[!t&&e.abstract&&"abstract",!t&&e.override&&"override",(n||t)&&e.readonly&&"readonly"])},tsPrintFunctionOrConstructorType:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")"),this.space();const r=e.returnType;this.print(r)},tsPrintPropertyOrMethodName:function(e){e.computed&&this.tokenChar(91),this.print(e.key),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)},tsPrintSignatureDeclarationBase:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")");const r=e.returnType;this.print(r)}}),{isExpression:cO,isFunction:lO,isStatement:pO,isClassBody:dO,isTSInterfaceBody:hO,isTSEnumMember:fO}=at,mO=/e/i,yO=/\.0+$/,gO=/[\n\r\u2028\u2029]/,bO=/[\n\r\u2028\u2029]|\*\//;function xO(e){return"CommentLine"===e.type||gO.test(e.value)}var{needsParens:SO}=QN,TO=class{constructor(e,t,n,r){Qe(this,"tokenContext",VN.normal),Qe(this,"_tokens",null),Qe(this,"_originalCode",null),Qe(this,"_currentNode",null),Qe(this,"_indent",0),Qe(this,"_indentRepeat",0),Qe(this,"_insideAux",!1),Qe(this,"_noLineTerminator",!1),Qe(this,"_noLineTerminatorAfterNode",null),Qe(this,"_printAuxAfterOnNextUserNode",!1),Qe(this,"_printedComments",new Set),Qe(this,"_endsWithInteger",!1),Qe(this,"_endsWithWord",!1),Qe(this,"_endsWithDiv",!1),Qe(this,"_lastCommentLine",0),Qe(this,"_endsWithInnerRaw",!1),Qe(this,"_indentInnerComments",!0),Qe(this,"tokenMap",null),Qe(this,"_boundGetRawIdentifier",this._getRawIdentifier.bind(this)),Qe(this,"_printSemicolonBeforeNextNode",-1),Qe(this,"_printSemicolonBeforeNextToken",-1),this.format=e,this._tokens=n,this._originalCode=r,this._indentRepeat=e.indent.style.length,this._inputMap=t?._inputMap,this._buf=new K_(t,e.indent.style[0])}enterForStatementInit(){return this.tokenContext|=VN.forInitHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal}enterForXStatementInit(e){return e?(this.tokenContext|=VN.forOfHead,null):(this.tokenContext|=VN.forInHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal)}enterDelimited(){const e=this.tokenContext,t=this._noLineTerminatorAfterNode;return e&VN.forInOrInitHeadAccumulate||null!==t?(this._noLineTerminatorAfterNode=null,this.tokenContext=VN.normal,()=>{this._noLineTerminatorAfterNode=t,this.tokenContext=e}):()=>{}}generate(e){return this.format.preserveFormat&&(this.tokenMap=new tL(e,this._tokens,this._originalCode)),this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent++}dedent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent--}semicolon(e=!1){if(this._maybeAddAuxComment(),e)return this._appendChar(59),void(this._noLineTerminator=!1);if(this.tokenMap){const e=this._currentNode;if(null!=e.start&&null!=e.end){if(!this.tokenMap.endMatches(e,";"))return void(this._printSemicolonBeforeNextNode=this._buf.getCurrentLine());const t=this.tokenMap.getIndexes(this._currentNode);this._catchUpTo(this._tokens[t[t.length-1]].loc.start)}}this._queue(59),this._noLineTerminator=!1}rightBrace(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}rightParens(e){this.sourceWithOffset("end",e.loc,-1),this.tokenChar(41)}space(e=!1){const{format:t}=this;if(!t.compact&&!t.preserveFormat)if(e)this._space();else if(this._buf.hasContent()){const e=this.getLastChar();32!==e&&10!==e&&this._space()}}word(e,t=!1){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e),(this._endsWithWord||this._endsWithDiv&&47===e.charCodeAt(0))&&this._space(),this._append(e,!1),this._endsWithWord=!0,this._noLineTerminator=t}number(e,t){this.word(e),this._endsWithInteger=Number.isInteger(t)&&!function(e){if(e.length>2&&48===e.charCodeAt(0)){const t=e.charCodeAt(1);return 98===t||111===t||120===t}return!1}(e)&&!mO.test(e)&&!yO.test(e)&&46!==e.charCodeAt(e.length-1)}token(e,t=!1,n=0){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e,n),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e,n);const r=this.getLastChar(),i=e.charCodeAt(0);(33===r&&("--"===e||61===i)||43===i&&43===r||45===i&&45===r||46===i&&this._endsWithInteger)&&this._space(),this._append(e,t),this._noLineTerminator=!1}tokenChar(e){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask;const t=String.fromCharCode(e);this._maybePrintInnerComments(t),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(t);const n=this.getLastChar();(43===e&&43===n||45===e&&45===n||46===e&&this._endsWithInteger)&&this._space(),this._appendChar(e),this._noLineTerminator=!1}newline(e=1,t){if(!(e<=0)){if(!t){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space()}e>2&&(e=2),e-=this._buf.getNewlineCount();for(let t=0;t<e;t++)this._newline()}}endsWith(e){return this.getLastChar()===e}getLastChar(){return this._buf.getLastChar()}endsWithCharAndNewline(){return this._buf.endsWithCharAndNewline()}removeTrailingNewline(){this._buf.removeTrailingNewline()}exactSource(e,t){e?(this._catchUp("start",e),this._buf.exactSource(e,t)):t()}source(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}sourceWithOffset(e,t,n){t&&!this.format.preserveFormat&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,n))}sourceIdentifierName(e,t){if(!this._buf._canMarkIdName)return;const n=this._buf._sourcePosition;n.identifierNamePos=t,n.identifierName=e}_space(){this._queue(32)}_newline(){this._queue(10)}_catchUpToCurrentToken(e,t=0){const n=this.tokenMap.findMatching(this._currentNode,e,t);n&&this._catchUpTo(n.loc.start),-1!==this._printSemicolonBeforeNextToken&&this._printSemicolonBeforeNextToken===this._buf.getCurrentLine()&&(this._buf.appendChar(59),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1),this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1}_append(e,t){this._maybeIndent(e.charCodeAt(0)),this._buf.append(e,t),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_appendChar(e){this._maybeIndent(e),this._buf.appendChar(e),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_queue(e){this._maybeIndent(e),this._buf.queue(e),this._endsWithWord=!1,this._endsWithInteger=!1}_maybeIndent(e){this._indent&&10!==e&&this.endsWith(10)&&this._buf.queueIndentation(this._getIndent())}_shouldIndent(e){if(this._indent&&10!==e&&this.endsWith(10))return!0}catchUp(e){if(!this.format.retainLines)return;const t=e-this._buf.getCurrentLine();for(let e=0;e<t;e++)this._newline()}_catchUp(e,t){const{format:n}=this;if(!n.preserveFormat)return void(n.retainLines&&t?.[e]&&this.catchUp(t[e].line));const r=t?.[e];null!=r&&this._catchUpTo(r)}_catchUpTo({line:e,column:t,index:n}){const r=e-this._buf.getCurrentLine();if(r>0&&this._noLineTerminator)return;for(let e=0;e<r;e++)this._newline();const i=r>0?t:t-this._buf.getCurrentColumn();if(i>0){const e=this._originalCode?this._originalCode.slice(n-i,n).replace(/[^\t\v\f\uFEFF\p{Space_Separator}]/gu," "):" ".repeat(i);this._append(e,!1)}}_getIndent(){return this._indentRepeat*this._indent}printTerminatorless(e){this._noLineTerminator=!0,this.print(e)}print(e,t,n){if(!e)return;this._endsWithInnerRaw=!1;const r=e.type,i=this.format,s=i.concise;e._compact&&(i.concise=!0);const a=this[r];if(void 0===a)throw new ReferenceError(`unknown node of type ${JSON.stringify(r)} with constructor ${JSON.stringify(e.constructor.name)}`);const o=this._currentNode;this._currentNode=e,this.tokenMap&&(this._printSemicolonBeforeNextToken=this._printSemicolonBeforeNextNode);const u=this._insideAux;this._insideAux=null==e.loc,this._maybeAddAuxComment(this._insideAux&&!u);const c=e.extra?.parenthesized;let l=c&&i.preserveFormat||c&&i.retainFunctionParens&&"FunctionExpression"===r||SO(e,o,this.tokenContext,i.preserveFormat?this._boundGetRawIdentifier:void 0);if(!l&&c&&e.leadingComments?.length&&"CommentBlock"===e.leadingComments[0].type){const t=o?.type;switch(t){case"ExpressionStatement":case"VariableDeclarator":case"AssignmentExpression":case"ReturnStatement":break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":if(o.callee!==e)break;default:l=!0}}let p,d,h=!1;!l&&this._noLineTerminator&&(e.leadingComments?.some(xO)||this.format.retainLines&&e.loc&&e.loc.start.line>this._buf.getCurrentLine())&&(l=!0,h=!0),l||(t||(t=o&&this._noLineTerminatorAfterNode===o&&GN(o,e)),t&&(e.trailingComments?.some(xO)?cO(e)&&(l=!0):(p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=e))),l&&(this.tokenChar(40),h&&this.indent(),this._endsWithInnerRaw=!1,this.tokenContext&VN.forInOrInitHeadAccumulate&&(d=this.tokenContext,this.tokenContext=VN.normal),p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=null),this._lastCommentLine=0,this._printLeadingComments(e,o);const f="Program"===r||"File"===r?null:e.loc;this.exactSource(f,a.bind(this,e,o)),l?(this._printTrailingComments(e,o),h&&(this.dedent(),this.newline()),this.tokenChar(41),this._noLineTerminator=t,d&&(this.tokenContext=d)):t&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,o)):this._printTrailingComments(e,o,n),this._currentNode=o,i.concise=s,this._insideAux=u,void 0!==p&&(this._noLineTerminatorAfterNode=p),this._endsWithInnerRaw=!1}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e},0)}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e},0)}getPossibleRaw(e){const t=e.extra;if(null!=t?.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,n,r,i,s,a,o){if(!e?.length)return;if(null==n&&this.format.retainLines){const t=e[0].loc?.start.line;null!=t&&t!==this._buf.getCurrentLine()&&(n=!0)}n&&this.indent();const u={addNewlines:s,nextNodeStartLine:0},c=r?.bind(this),l=e.length;for(let n=0;n<l;n++){const r=e[n];if(r&&(t&&this._printNewline(0===n,u),this.print(r,void 0,o||0),a?.(r,n),null!=c&&(n<l-1?c(n,!1):i&&c(n,!0)),t))if(r.trailingComments?.length||(this._lastCommentLine=0),n+1===l)this.newline(1);else{const t=e[n+1];u.nextNodeStartLine=t.loc?.start.line||0,this._printNewline(!0,u)}}n&&this.dedent()}printAndIndentOnComments(e){const t=e.leadingComments&&e.leadingComments.length>0;t&&this.indent(),this.print(e),t&&this.dedent()}printBlock(e){const t=e.body;"EmptyStatement"!==t.type&&this.space(),this.print(t)}_printTrailingComments(e,t,n){const{innerComments:r,trailingComments:i}=e;r?.length&&this._printComments(2,r,e,t,n),i?.length&&this._printComments(2,i,e,t,n)}_printLeadingComments(e,t){const n=e.leadingComments;n?.length&&this._printComments(0,n,e,t)}_maybePrintInnerComments(e,t){this._endsWithInnerRaw&&this.printInnerComments(this.tokenMap?.findMatching(this._currentNode,e,t)),this._endsWithInnerRaw=!0,this._indentInnerComments=!0}printInnerComments(e){const t=this._currentNode,n=t.innerComments;if(!n?.length)return;const r=this.endsWith(32),i=this._indentInnerComments,s=this._printedComments.size;i&&this.indent(),this._printComments(1,n,t,void 0,void 0,e),r&&s!==this._printedComments.size&&this.space(),i&&this.dedent()}noIndentInnerCommentsHere(){this._indentInnerComments=!1}printSequence(e,t,n,r){this.printJoin(e,!0,t??!1,void 0,void 0,r,void 0,n)}printList(e,t,n,r,i,s){this.printJoin(e,n,r,i??EO,t,void 0,s)}shouldPrintTrailingComma(e){if(!this.tokenMap)return null;const t=this.tokenMap.findLastIndex(this._currentNode,t=>this.tokenMap.matchesOriginal(t,e));return t<=0?null:this.tokenMap.matchesOriginal(this._tokens[t-1],",")}_printNewline(e,t){const n=this.format;if(n.retainLines||n.compact)return;if(n.concise)return void this.space();if(!e)return;const r=t.nextNodeStartLine,i=this._lastCommentLine;if(r>0&&i>0){const e=r-i;if(e>=0)return void this.newline(e||1)}this._buf.hasContent()&&this.newline(1)}_shouldPrintComment(e,t){if(e.ignore)return 0;if(this._printedComments.has(e))return 0;if(this._noLineTerminator&&bO.test(e.value))return 2;if(t&&this.tokenMap){const n=this.tokenMap.find(this._currentNode,t=>t.value===e.value);if(n&&n.start>t.start)return 2}return this._printedComments.add(e),this.format.shouldPrintComment(e.value)?1:0}_printComment(e,t){const n=this._noLineTerminator,r="CommentBlock"===e.type,i=r&&1!==t&&!this._noLineTerminator;i&&this._buf.hasContent()&&2!==t&&this.newline(1);const s=this.getLastChar();let a;if(91!==s&&123!==s&&40!==s&&this.space(),r){if(a=`/*${e.value}*/`,this.format.indent.adjustMultilineComment){const t=e.loc?.start.column;if(t){const e=new RegExp("\\n\\s{1,"+t+"}","g");a=a.replace(e,"\n")}if(this.format.concise)a=a.replace(/\n(?!$)/g,"\n");else{let e=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent(47)||this.format.retainLines)&&(e+=this._getIndent()),a=a.replace(/\n(?!$)/g,`\n${" ".repeat(e)}`)}}}else a=n?`/*${e.value}*/`:`//${e.value}`;if(this._endsWithDiv&&this._space(),this.tokenMap){const{_printSemicolonBeforeNextToken:t,_printSemicolonBeforeNextNode:n}=this;this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1,this.source("start",e.loc),this._append(a,r),this._printSemicolonBeforeNextNode=n,this._printSemicolonBeforeNextToken=t}else this.source("start",e.loc),this._append(a,r);r||n||this.newline(1,!0),i&&3!==t&&this.newline(1)}_printComments(e,t,n,r,i=0,s){const a=n.loc,o=t.length;let u=!!a;const c=u?a.start.line:0,l=u?a.end.line:0;let p=0,d=0;const h=this._noLineTerminator?function(){}:this.newline.bind(this);for(let a=0;a<o;a++){const f=t[a],m=this._shouldPrintComment(f,s);if(2===m){u=!1;break}if(u&&f.loc&&1===m){const t=f.loc.start.line,n=f.loc.end.line;if(0===e){let e=0;0===a?!this._buf.hasContent()||"CommentLine"!==f.type&&t===n||(e=d=1):e=t-p,p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.max(c-p,d)),p=c)}else if(1===e){const e=t-(0===a?c:p);p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.min(1,l-p)),p=l)}else{const e=t-(0===a?l-i:p);p=n,h(e),this._printComment(f,1)}}else{if(u=!1,1!==m)continue;if(1===o){const t=f.loc?f.loc.start.line===f.loc.end.line:!gO.test(f.value),i=t&&!pO(n)&&!dO(r)&&!hO(r)&&!fO(n);0===e?this._printComment(f,i&&"ObjectExpression"!==n.type||t&&lO(r,{body:n})?1:0):i&&2===e?this._printComment(f,1):this._printComment(f,0)}else 1!==e||"ObjectExpression"===n.type&&n.properties.length>1||"ClassBody"===n.type||"TSInterfaceBody"===n.type?this._printComment(f,0):this._printComment(f,0===a?2:a===o-1?3:0)}}2===e&&u&&p&&(this._lastCommentLine=p)}};function EO(e,t){this.token(",",!1,e),t||this.space()}function PO(e,t={},n){const r=function(e,t,n){if(t.experimental_preserveFormat){if("string"!=typeof e)throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");if(!t.retainLines)throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");if(t.compact&&"auto"!==t.compact)throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");if(t.minified)throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");if(t.jsescOption)throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");if(!Array.isArray(n.tokens))throw new Error("`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option.")}const r={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,preserveFormat:t.experimental_preserveFormat,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:" "},jsescOption:Object.assign({quotes:"double",wrap:!0,minimal:!0},t.jsescOption),topicToken:t.topicToken,importAttributesKeyword:t.importAttributesKeyword};r.minified?(r.compact=!0,r.shouldPrintComment=r.shouldPrintComment||(()=>r.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.includes("@license")||e.includes("@preserve")),"auto"===r.compact&&(r.compact="string"==typeof e&&e.length>5e5,r.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),(r.compact||r.preserveFormat)&&(r.indent.adjustMultilineComment=!1);const{auxiliaryCommentBefore:i,auxiliaryCommentAfter:s,shouldPrintComment:a}=r;return i&&!a(i)&&(r.auxiliaryCommentBefore=void 0),s&&!a(s)&&(r.auxiliaryCommentAfter=void 0),r}(n,t,e),i=t.sourceMaps?new V_(t,n):null;return new TO(r,i,e.tokens,"string"==typeof n?n:null).generate(e)}Object.assign(TO.prototype,uO);var vO=Ge(nt()),AO=Object.freeze({__proto__:null,BindingIdentifier:["Identifier"],BlockScoped:null,ExistentialTypeParam:["ExistsTypeAnnotation"],Expression:["Expression"],Flow:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],ForAwaitStatement:["ForOfStatement"],Generated:null,NumericLiteralTypeAnnotation:["NumberLiteralTypeAnnotation"],Pure:null,Referenced:null,ReferencedIdentifier:["Identifier","JSXIdentifier"],ReferencedMemberExpression:["MemberExpression"],RestProperty:["RestElement"],Scope:["Scopable","Pattern"],SpreadProperty:["RestElement"],Statement:["Statement"],User:null,Var:["VariableDeclaration"]}),{isBinding:wO,isBlockScoped:CO,isExportDeclaration:kO,isExpression:IO,isFlow:_O,isForStatement:NO,isForXStatement:LO,isIdentifier:OO,isImportDeclaration:DO,isImportSpecifier:MO,isJSXIdentifier:BO,isJSXMemberExpression:FO,isMemberExpression:RO,isRestElement:jO,isReferenced:UO,isScope:qO,isStatement:$O,isVar:JO,isVariableDeclaration:VO,react:KO,isForOfStatement:WO}=at,{isCompatTag:XO}=KO;var HO=Object.freeze({__proto__:null,isBindingIdentifier:function(){const{node:e,parent:t}=this,n=this.parentPath.parent;return OO(e)&&wO(e,t,n)},isBlockScoped:function(){return CO(this.node)},isExpression:function(){return this.isIdentifier()?this.isReferencedIdentifier():IO(this.node)},isFlow:function(){const{node:e}=this;return!!_O(e)||(DO(e)?"type"===e.importKind||"typeof"===e.importKind:kO(e)?"type"===e.exportKind:!!MO(e)&&("type"===e.importKind||"typeof"===e.importKind))},isForAwaitStatement:function(){return WO(this.node,{await:!0})},isGenerated:function(){return!this.isUser()},isPure:function(e){return this.scope.isPure(this.node,e)},isReferenced:function(){return UO(this.node,this.parent)},isReferencedIdentifier:function(e){const{node:t,parent:n}=this;if(!OO(t,e)&&!FO(n,e)){if(!BO(t,e))return!1;if(XO(t.name))return!1}return UO(t,n,this.parentPath.parent)},isReferencedMemberExpression:function(){const{node:e,parent:t}=this;return RO(e)&&UO(e,t)},isRestProperty:function(){return jO(this.node)&&this.parentPath?.isObjectPattern()},isScope:function(){return qO(this.node,this.parent)},isSpreadProperty:function(){return jO(this.node)&&this.parentPath?.isObjectExpression()},isStatement:function(){const{node:e,parent:t}=this;if($O(e)){if(VO(e)){if(LO(t,{left:e}))return!1;if(NO(t,{init:e}))return!1}return!0}return!1},isUser:function(){return this.node&&!!this.node.loc},isVar:function(){return JO(this.node)}}),{DEPRECATED_KEYS:zO,DEPRECATED_ALIASES:YO,FLIPPED_ALIAS_KEYS:GO,TYPES:QO,__internal__deprecationWarning:ZO}=at;function eD(e){return e in AO}function tD(e){return e?._exploded}function nD(e){if(tD(e))return e;e._exploded=!0;for(const t of Object.keys(e)){if(cD(t))continue;const n=t.split("|");if(1===n.length)continue;const r=e[t];delete e[t];for(const t of n)e[t]=r}rD(e),delete e.__esModule,function(e){for(const t of Object.keys(e)){if(cD(t))continue;const n=e[t];"function"==typeof n&&(e[t]={enter:n})}}(e),oD(e);for(const t of Object.keys(e)){if(cD(t))continue;if(!eD(t))continue;const n=e[t];for(const e of Object.keys(n))n[e]=uD(t,n[e]);delete e[t];const r=AO[t];if(null!==r)for(const t of r)e[t]?lD(e[t],n):e[t]=n;else lD(e,n)}for(const t of Object.keys(e)){if(cD(t))continue;let n=GO[t];if(t in zO){const e=zO[t];ZO(t,e,"Visitor "),n=[e]}else if(t in YO){const e=YO[t];ZO(t,e,"Visitor "),n=GO[e]}if(!n)continue;const r=e[t];delete e[t];for(const t of n){const n=e[t];n?lD(n,r):e[t]=Object.assign({},r)}}for(const t of Object.keys(e))cD(t)||oD(e[t]);return e}function rD(e){if(!e._verified){if("function"==typeof e)throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");for(const t of Object.keys(e)){if("enter"!==t&&"exit"!==t||iD(t,e[t]),cD(t))continue;if(!QO.includes(t))throw new Error(`You gave us a visitor for the node type ${t} but it's not a valid type in @babel/traverse 8.0.0-beta.2`);const n=e[t];if("object"==typeof n)for(const e of Object.keys(n)){if("enter"!==e&&"exit"!==e)throw new Error(`You passed \`traverse()\` a visitor object with the property ${t} that has the invalid property ${e}`);iD(`${t}.${e}`,n[e])}}e._verified=!0}}function iD(e,t){const n=[].concat(t);for(const t of n)if("function"!=typeof t)throw new TypeError(`Non-function found defined in ${e} with type ${typeof t}`)}function sD(e,t=[],n){const r={_verified:!0,_exploded:!0};for(let i=0;i<e.length;i++){const s=nD(e[i]),a=t[i];let o=s;(a||n)&&(o=aD(o,a,n)),lD(r,o);for(const e of Object.keys(s)){if(cD(e))continue;let t=s[e];(a||n)&&(t=aD(t,a,n));lD(r[e]||(r[e]={}),t)}}return r}function aD(e,t,n){const r={};for(const i of["enter","exit"]){let s=e[i];Array.isArray(s)&&(s=s.map(function(e){let r=e;return t&&(r=function(n){e.call(t,n,t)}),n&&(r=n(t?.key,i,r)),r!==e&&(r.toString=()=>e.toString()),r}),r[i]=s)}return r}function oD(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function uD(e,t){const n=HO[`is${e}`],r=function(e){if(n.call(e))return t.apply(this,arguments)};return r.toString=()=>t.toString(),r}function cD(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("denylist"===e||"noScope"===e||"skipKeys"===e))}function lD(e,t){for(const n of["enter","exit"])t[n]&&(e[n]=[].concat(e[n]||[],t[n]))}var pD={FunctionParent(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},Property(e){e.isObjectProperty()||(e.skip(),e.requeueComputedKeyAndDecorators())}};function dD(e){return sD([pD,e])}var hD=Object.freeze({__proto__:null,environmentVisitor:dD,explode:nD,isExplodedVisitor:tD,merge:sD,verify:rD}),{getAssignmentIdentifiers:fD}=at,mD={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},ObjectProperty({node:e,scope:t},n){const{name:r}=e.key;!e.shorthand||r!==n.oldName&&r!==n.newName||t.getBindingIdentifier(r)!==n.binding.identifier||(e.shorthand=!1)},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const n=e.isAssignmentExpression()?fD(e.node):e.getOuterBindingIdentifiers();for(const e in n)e===t.oldName&&(n[e].name=t.newName)}},yD=class{constructor(e,t,n){this.newName=n,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){const{declaration:e}=t.node;if(Na(e)&&!e.id)return}t.isExportAllDeclaration()||t.splitExportDeclaration()}}maybeConvertFromClassFunctionDeclaration(e){return e}maybeConvertFromClassFunctionExpression(e){return e}rename(){const{binding:e,oldName:t,newName:n}=this,{scope:r,path:i}=e,s=i.find(e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression());if(s){s.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(s)}const a=r.block,o={discriminant:!0};Ra(a)&&(a.computed&&(o.key=!0),pn(a)||(o.decorators=!0)),kj(a,nD(mD),r,this,r.path,o),r.removeOwnBinding(t),r.bindings[n]=e,this.binding.identifier.name=n,s&&(this.maybeConvertFromClassFunctionDeclaration(i),this.maybeConvertFromClassFunctionExpression(i))}},gD=class{constructor({identifier:e,scope:t,path:n,kind:r}){Qe(this,"identifier"),Qe(this,"scope"),Qe(this,"path"),Qe(this,"kind"),Qe(this,"constantViolations",[]),Qe(this,"constant",!0),Qe(this,"referencePaths",[]),Qe(this,"referenced",!1),Qe(this,"references",0),this.identifier=e,this.scope=t,this.path=n,this.kind=r,"var"!==r&&"hoisted"!==r||!function(e){const t=!e.isVariableDeclarator()||e.node.init;for(let{parentPath:n,key:r}=e;n;({parentPath:n,key:r}=n)){if(n.isFunctionParent())return!1;if("left"===r&&n.isForXStatement()||t&&"body"===r&&n.isLoop())return!0}return!1}(n)||this.reassign(n),this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,this.constantViolations.includes(e)||this.constantViolations.push(e)}reference(e){this.referencePaths.includes(e)||(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}};var bD=new WeakMap,xD=new WeakMap;function SD(){bD=new WeakMap}function TD(){xD=new WeakMap}function ED(e){const{parent:t,parentPath:n}=e;return n?n._store:bD.get(t)}function PD(e,t){if(t)return t._store||(t._store=new Map);let n=bD.get(e);return n||bD.set(e,n=new Map),n}var vD=Object.freeze({__proto__:null,clear:function(){SD(),TD()},clearPath:SD,clearScope:TD,getCachedPaths:ED,getOrCreateCachedPaths:PD,get path(){return bD},get scope(){return xD}}),{assignmentExpression:AD,callExpression:wD,cloneNode:CD,getBindingIdentifiers:kD,identifier:ID,isArrayExpression:_D,isBinary:ND,isCallExpression:LD,isClass:OD,isClassBody:DD,isClassDeclaration:MD,isExportAllDeclaration:BD,isExportDefaultDeclaration:FD,isExportNamedDeclaration:RD,isFunctionDeclaration:jD,isIdentifier:UD,isImportDeclaration:qD,isLiteral:$D,isMemberExpression:JD,isMethod:VD,isModuleSpecifier:KD,isNullLiteral:WD,isObjectExpression:XD,isProperty:HD,isPureish:zD,isRegExpLiteral:YD,isSuper:GD,isTaggedTemplateExpression:QD,isTemplateLiteral:ZD,isThisExpression:eM,isUnaryExpression:tM,isVariableDeclaration:nM,expressionStatement:rM,matchesPattern:iM,memberExpression:sM,numericLiteral:aM,toIdentifier:oM,variableDeclaration:uM,variableDeclarator:cM,isRecordExpression:lM,isTupleExpression:pM,isObjectProperty:dM,isTopicReference:hM,isMetaProperty:fM,isPrivateName:mM,isExportDeclaration:yM,buildUndefinedNode:gM,sequenceExpression:bM}=at;function xM(e,t){switch(e?.type){default:if(qD(e)||yM(e))if((BD(e)||RD(e)||qD(e))&&e.source)xM(e.source,t);else if((RD(e)||qD(e))&&e.specifiers?.length)for(const n of e.specifiers)xM(n,t);else(FD(e)||RD(e))&&e.declaration&&xM(e.declaration,t);else KD(e)?xM(e.local,t):!$D(e)||WD(e)||YD(e)||ZD(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":xM(e.object,t),xM(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":xM(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(const n of e.properties)xM(n,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":xM(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":xM(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":case"ImportExpression":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),xM(e.argument,t);break;case"AwaitExpression":t.push("await"),xM(e.argument,t);break;case"AssignmentExpression":xM(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":xM(e.id,t);break;case"ParenthesizedExpression":xM(e.expression,t);break;case"MetaProperty":xM(e.meta,t),xM(e.property,t);break;case"JSXElement":xM(e.openingElement,t);break;case"JSXOpeningElement":xM(e.name,t);break;case"JSXFragment":xM(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":xM(e.namespace,t),xM(e.name,t)}}function SM(e){"Program"===e.path.type&&(e.referencesSet=new Set,e.uidsSet=new Set),e.bindings=Object.create(null),e.globals=Object.create(null)}var TM,EM={ForStatement(e){const t=e.get("init");if(t.isVar()){const{scope:n}=e;(n.getFunctionParent()||n.getProgramParent()).registerBinding("var",t)}},Declaration(e){if(e.isBlockScoped())return;if(e.isImportDeclaration())return;if(e.isExportDeclaration())return;(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},TSImportEqualsDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier(e,t){ns(e.parent)&&e.parent.right===e.node||e.parentPath.isTSImportEqualsDeclaration()||t.references.push(e)},ForXStatement(e,t){const n=e.get("left");if(n.isPattern()||n.isIdentifier())t.constantViolations.push(e);else if(n.isVar()){const{scope:t}=e;(t.getFunctionParent()||t.getProgramParent()).registerBinding("var",n)}},ExportDeclaration:{exit(e){const{node:t,scope:n}=e;if(BD(t))return;const r=t.declaration;if(MD(r)||jD(r)){const t=r.id;if(!t)return;const i=n.getBinding(t.name);i?.reference(e)}else if(nM(r))for(const t of r.declarations)for(const r of Object.keys(kD(t))){const t=n.getBinding(r);t?.reference(e)}}},LabeledStatement(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;t.path===e&&(t=t.parent);if(t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},CatchClause(e){e.scope.registerBinding("let",e)},Function(e){const t=e.get("params");for(const n of t)e.scope.registerBinding("param",n);e.isFunctionExpression()&&e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},ClassExpression(e){e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},TSTypeAnnotation(e){e.skip()}},PM=0,vM=class e{constructor(e){Qe(this,"uid"),Qe(this,"path"),Qe(this,"block"),Qe(this,"inited"),Qe(this,"labels"),Qe(this,"bindings"),Qe(this,"referencesSet"),Qe(this,"globals"),Qe(this,"uidsSet"),Qe(this,"data"),Qe(this,"crawling");const{node:t}=e,n=xD.get(t);if(n?.path===e)return n;xD.set(t,this),this.uid=PM++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){let e,t=this.path;do{const n="key"===t.key||"decorators"===t.listKey;t=t.parentPath,n&&t.isMethod()&&(t=t.parentPath),t?.isScope()&&(e=t)}while(t&&!e);return e?.scope}get references(){throw new Error("Scope#references is not available in Babel 8. Use Scope#referencesSet instead.")}get uids(){throw new Error("Scope#uids is not available in Babel 8. Use Scope#uidsSet instead.")}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),CD(t)}generateUidIdentifier(e){return ID(this.generateUid(e))}generateUid(e="temp"){let t;e=oM(e).replace(/^_+/,"").replace(/\d+$/g,"");let n=0;do{t=`_${e}`,n>=11?t+=n-1:n>=9?t+=n-9:n>=1&&(t+=n+1),n++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.referencesSet.add(t),r.uidsSet.add(t),t}generateUidBasedOnNode(e,t){const n=[];xM(e,n);let r=n.join("$");return r=r.replace(/^_/,"")||t||"ref",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return ID(this.generateUidBasedOnNode(e,t))}isStatic(e){if(eM(e)||GD(e)||hM(e))return!0;if(UD(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const n=this.generateUidIdentifierBasedOnNode(e);return t?n:(this.push({id:n}),CD(n))}}checkBlockScopedCollisions(e,t,n,r){if("param"===t)return;if("local"===e.kind)return;if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t)throw this.path.hub.buildError(r,`Duplicate declaration "${n}"`,TypeError)}rename(e,t){const n=this.getBinding(e);if(n){t||(t=this.generateUidIdentifier(e).name);new yD(n,e,t).rename()}}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const n=t.bindings[e];console.log(" -",e,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations"),{kind:n}=e.node;for(const e of t)this.registerBinding("using"===n||"await using"===n?"const":n,e)}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding("let",e)}else if(e.isImportDeclaration()){const t="type"===e.node.importKind||"typeof"===e.node.importKind,n=e.get("specifiers");for(const e of n){const n=t||e.isImportSpecifier()&&("type"===e.node.importKind||"typeof"===e.node.importKind);this.registerBinding(n?"unknown":"module",e)}}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return gM()}registerConstantViolation(e){const t=e.getAssignmentIdentifiers();for(const n of Object.keys(t))this.getBinding(n)?.reassign(e)}registerBinding(e,t,n=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const n=t.get("declarations");for(const t of n)this.registerBinding(e,t);return}const r=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(i)){r.referencesSet.add(t);for(const r of i[t]){const i=this.getOwnBinding(t);if(i){if(i.identifier===r)continue;this.checkBlockScopedCollisions(i,e,t,r)}i?i.reassign(n):this.bindings[t]=new gD({identifier:r,scope:this,path:n,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){return this.getProgramParent().uidsSet.has(e)}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return this.getProgramParent().referencesSet.has(e)}isPure(e,t){if(UD(e)){const n=this.getBinding(e.name);return!!n&&(!t||n.constant)}if(eM(e)||fM(e)||hM(e)||mM(e))return!0;if(OD(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&(!(e.decorators?.length>0)&&this.isPure(e.body,t));if(DD(e)){for(const n of e.body)if(!this.isPure(n,t))return!1;return!0}if(ND(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(_D(e)||pM(e)){for(const n of e.elements)if(null!==n&&!this.isPure(n,t))return!1;return!0}if(XD(e)||lM(e)){for(const n of e.properties)if(!this.isPure(n,t))return!1;return!0}if(VD(e))return!(e.computed&&!this.isPure(e.key,t))&&!(e.decorators?.length>0);if(HD(e))return!(e.computed&&!this.isPure(e.key,t))&&(!(e.decorators?.length>0)&&!((dM(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t)));if(tM(e))return this.isPure(e.argument,t);if(ZD(e)){for(const n of e.expressions)if(!this.isPure(n,t))return!1;return!0}return QD(e)?iM(e.tag,"String.raw")&&!this.hasBinding("String",{noGlobals:!0})&&this.isPure(e.quasi,t):JD(e)?!e.computed&&UD(e.object)&&"Symbol"===e.object.name&&UD(e.property)&&"for"!==e.property.name&&!this.hasBinding("Symbol",{noGlobals:!0}):LD(e)?iM(e.callee,"Symbol.for")&&!this.hasBinding("Symbol",{noGlobals:!0})&&1===e.arguments.length&&en(e.arguments[0]):zD(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const n=t.data[e];if(null!=n)return n}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;SM(this),this.data=Object.create(null);let t=this;do{if(t.crawling)return;if(t.path.isProgram())break}while(t=t.parent);const n=t,r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,TM||(TM=Kj.visitors.merge([{Scope(e){SM(e.scope)}},EM])),"Program"!==e.type){for(const t of TM.enter)t.call(r,e,r);const t=TM[e.type];if(t)for(const n of t.enter)n.call(r,e,r)}e.traverse(TM,r),this.crawling=!1;for(const e of r.assignments){const t=e.getAssignmentIdentifiers();for(const r of Object.keys(t))e.scope.getBinding(r)||n.addGlobal(t[r]);e.scope.registerConstantViolation(e)}for(const e of r.references){const t=e.scope.getBinding(e.node.name);t?t.reference(e):n.addGlobal(e.node)}for(const e of r.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isPattern()?t=this.getPatternParent().path:t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);const{init:n,unique:r,kind:i="var",id:s}=e;if(!n&&!r&&("var"===i||"let"===i)&&t.isFunction()&&!t.node.name&&LD(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&UD(s))return t.pushContainer("params",s),void t.scope.registerBinding("param",t.get("params")[t.node.params.length-1]);(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const a=null==e._blockHoist?2:e._blockHoist,o=`declaration:${i}:${a}`;let u=!r&&t.getData(o);if(!u){const e=uM(i,[]);e._blockHoist=a,[u]=t.unshiftContainer("body",[e]),r||t.setData(o,u)}const c=cM(s,n),l=u.node.declarations.push(c);t.scope.registerBinding(i,u.get("declarations")[l-1])}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn't find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getPatternParent(){let e=this;do{if(!e.path.isPattern())return e.getBlockParent()}while(e=e.parent.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const n of Object.keys(t.bindings))n in e==!1&&(e[n]=t.bindings[n]);t=t.parent}while(t);return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,n=this;do{const r=n.getOwnBinding(e);if(r){if(!t?.isPattern()||"param"===r.kind||"local"===r.kind)return r}else if(!r&&"arguments"===e&&n.path.isFunction()&&!n.path.isArrowFunctionExpression())break;t=n.path}while(n=n.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){return this.getBinding(e)?.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return t?.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(t,n){if(!t)return!1;let r,i,s;"object"==typeof n?(r=n.noGlobals,i=n.noUids,s=n.upToScope):"boolean"==typeof n&&(r=n);let a=this;do{if(s===a)break;if(a.hasOwnBinding(t))return!0}while(a=a.parent);return!(i||!this.hasUid(t))||(!(r||!e.globals.includes(t))||!(r||!e.contextVariables.includes(t)))}parentHasBinding(e,t){return this.parent?.hasBinding(e,t)}moveBindingTo(e,t){const n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){this.getBinding(e)?.scope.removeOwnBinding(e),this.getProgramParent().uidsSet.delete(e)}hoistVariables(e=e=>this.push({id:e})){this.crawl();const t=new Set;for(const n of Object.keys(this.bindings)){const r=this.bindings[n];if(!r)continue;const{path:i}=r;if(!i.isVariableDeclarator())continue;const{parent:s,parentPath:a}=i;if("var"!==s.kind||t.has(s))continue;let o;t.add(i.parent);const u=[];for(const t of s.declarations){o??(o=t.id),t.init&&u.push(AD("=",t.id,t.init));const n=Object.keys(kD(t,!1,!0,!0));for(const r of n)e(ID(r),null!=t.init)}if(a.parentPath.isFor({left:s}))a.replaceWith(o);else if(0===u.length)a.remove();else{const e=1===u.length?u[0]:bM(u);a.parentPath.isForStatement({init:s})?a.replaceWith(e):a.replaceWith(rM(e))}}}};Qe(vM,"globals",["decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","globalThis","isFinite","isNaN","parseFloat","parseInt","undefined","unescape","AggregateError","Array","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float16Array","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","Intl","Iterator","JSON","Map","Math","NaN","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Symbol","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError","WeakMap","WeakRef","WeakSet"]),Qe(vM,"contextVariables",["arguments","undefined","Infinity","NaN"]);var AM=vM,{VISITOR_KEYS:wM}=at;var{createFlowUnionType:CM,createTSUnionType:kM,createUnionTypeAnnotation:IM,isFlowType:_M,isTSType:NM}=at;function LM(e){return e.every(e=>_M(e))?CM(e):e.every(e=>NM(e))?kM(e):void 0}var{BOOLEAN_NUMBER_BINARY_OPERATORS:OM,createTypeAnnotationBasedOnTypeof:DM,numberTypeAnnotation:MM,voidTypeAnnotation:BM}=at;function FM(e,t,n){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter(e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return n&&"unknown"===r&&n.push(e),"before"===r})}function RM(e,t){const n=t.node.operator,r=t.get("right").resolve(),i=t.get("left").resolve();let s,a,o;if(i.isIdentifier({name:e})?s=r:r.isIdentifier({name:e})&&(s=i),s)return"==="===n?s.getTypeAnnotation():OM.includes(n)?MM():void 0;if("==="!==n&&"=="!==n)return;if(i.isUnaryExpression({operator:"typeof"})?(a=i,o=r):r.isUnaryExpression({operator:"typeof"})&&(a=r,o=i),!a)return;if(!a.get("argument").isIdentifier({name:e}))return;if(o=o.resolve(),!o.isLiteral())return;const u=o.node.value;return"string"==typeof u?DM(u):void 0}function jM(e,t,n){const r=function(e,t,n){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if("test"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(n)!==e)return;t=r}}(e,t,n);if(!r)return;const i=[r.get("test")],s=[];for(let e=0;e<i.length;e++){const t=i[e];if(t.isLogicalExpression())"&&"===t.node.operator&&(i.push(t.get("left")),i.push(t.get("right")));else if(t.isBinaryExpression()){const e=RM(n,t);e&&s.push(e)}}return s.length?{typeAnnotation:LM(s),ifStatement:r}:jM(e,r,n)}var{BOOLEAN_BINARY_OPERATORS:UM,BOOLEAN_UNARY_OPERATORS:qM,NUMBER_BINARY_OPERATORS:$M,NUMBER_UNARY_OPERATORS:JM,STRING_UNARY_OPERATORS:VM,anyTypeAnnotation:KM,arrayTypeAnnotation:WM,booleanTypeAnnotation:XM,buildMatchMemberExpression:HM,genericTypeAnnotation:zM,identifier:YM,nullLiteralTypeAnnotation:GM,numberTypeAnnotation:QM,stringTypeAnnotation:ZM,tupleTypeAnnotation:eB,unionTypeAnnotation:tB,voidTypeAnnotation:nB,isIdentifier:rB}=at;function iB(e){return e.typeAnnotation}function sB(e){return e.typeAnnotation}function aB(){return zM(YM("Array"))}function oB(){return aB()}function uB(){return zM(YM("Function"))}iB.validParent=!0,sB.validParent=!0,oB.validParent=!0;var cB=HM("Array.from"),lB=HM("Object.keys"),pB=HM("Object.values"),dB=HM("Object.entries");function hB(e){if((e=e.resolve()).isFunction()){const{node:t}=e;if(t.async)return t.generator?zM(YM("AsyncIterator")):zM(YM("Promise"));if(t.generator)return zM(YM("Iterator"));if(e.node.returnType)return e.node.returnType}}var fB=Object.freeze({__proto__:null,ArrayExpression:aB,ArrowFunctionExpression:uB,AssignmentExpression:function(){return this.get("right").getTypeAnnotation()},BinaryExpression:function(e){const t=e.operator;if($M.includes(t))return QM();if(UM.includes(t))return XM();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?QM():t.isBaseType("string")||e.isBaseType("string")?ZM():tB([ZM(),QM()])}},BooleanLiteral:function(){return XM()},CallExpression:function(){const{callee:e}=this.node;return lB(e)?WM(ZM()):cB(e)||pB(e)||rB(e,{name:"Array"})?WM(KM()):dB(e)?WM(eB([ZM(),KM()])):hB(this.get("callee"))},ClassDeclaration:uB,ClassExpression:uB,ConditionalExpression:function(){return LM([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])},FunctionDeclaration:uB,FunctionExpression:uB,Identifier:function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,n){const r=[],i=[];let s=FM(e,t,i);const a=jM(e,t,n);if(a){const t=FM(e,a.ifStatement);s=s.filter(e=>!t.includes(e)),r.push(a.typeAnnotation)}if(s.length){s.push(...i);for(const e of s)r.push(e.getTypeAnnotation())}if(!r.length)return;return LM(r)}(t,this,e.name):"undefined"===e.name?BM():"NaN"===e.name||"Infinity"===e.name?MM():void e.name},LogicalExpression:function(){return LM([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])},NewExpression:function(e){if("Identifier"===e.callee.type)return zM(e.callee)},NullLiteral:function(){return GM()},NumericLiteral:function(){return QM()},ObjectExpression:function(){return zM(YM("Object"))},ParenthesizedExpression:function(){return this.get("expression").getTypeAnnotation()},RegExpLiteral:function(){return zM(YM("RegExp"))},RestElement:oB,SequenceExpression:function(){return this.get("expressions").pop().getTypeAnnotation()},StringLiteral:function(){return ZM()},TSAsExpression:sB,TSNonNullExpression:function(){return this.get("expression").getTypeAnnotation()},TaggedTemplateExpression:function(){return hB(this.get("tag"))},TemplateLiteral:function(){return ZM()},TypeCastExpression:iB,UnaryExpression:function(e){const t=e.operator;return"void"===t?nB():JM.includes(t)?QM():VM.includes(t)?ZM():qM.includes(t)?XM():void 0},UpdateExpression:function(e){const t=e.operator;if("++"===t||"--"===t)return QM()},VariableDeclarator:function(){if(this.get("id").isIdentifier())return this.get("init").getTypeAnnotation()}}),{anyTypeAnnotation:mB,isAnyTypeAnnotation:yB,isArrayTypeAnnotation:gB,isBooleanTypeAnnotation:bB,isEmptyTypeAnnotation:xB,isFlowBaseAnnotation:SB,isGenericTypeAnnotation:TB,isIdentifier:EB,isMixedTypeAnnotation:PB,isNumberTypeAnnotation:vB,isStringTypeAnnotation:AB,isTSArrayType:wB,isTSTypeAnnotation:CB,isTSTypeReference:kB,isTupleTypeAnnotation:IB,isTypeAnnotation:_B,isUnionTypeAnnotation:NB,isVoidTypeAnnotation:LB,stringTypeAnnotation:OB,voidTypeAnnotation:DB}=at;var MB=new WeakSet;function BB(){const e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;if(!MB.has(e)){MB.add(e);try{let t=fB[e.type];if(t)return t.call(this,e);if(t=fB[this.parentPath.type],t?.validParent)return this.parentPath.getTypeAnnotation()}finally{MB.delete(e)}}}else if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?OB():"left"===e.key&&t.isForOfStatement()?mB():DB()}}function FB(e,t,n){if("string"===e)return AB(t);if("number"===e)return vB(t);if("boolean"===e)return bB(t);if("any"===e)return yB(t);if("mixed"===e)return PB(t);if("empty"===e)return xB(t);if("void"===e)return LB(t);if(n)return!1;throw new Error(`Unknown base type ${e}`)}var RB=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&"consequent"===e.key||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}],{getBindingIdentifiers:jB}=at;function UB(){const e=jB(this.node,!1,!1,!0);Object.keys(e).forEach(e=>this.scope.removeBinding(e))}function qB(){if(this.parentPath)for(const e of RB)if(e(this,this.parentPath))return!0}function $B(){Array.isArray(this.container)?(this.container.splice(this.key,1),pF.call(this,this.key,-1)):qF.call(this,null)}function JB(){this._traverseFlags|=xj|bj,this.parent&&ED(this)?.delete(this.node),this.node=null}function VB(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")}var{arrowFunctionExpression:KB,assertExpression:WB,assignmentExpression:XB,blockStatement:HB,callExpression:zB,cloneNode:YB,expressionStatement:GB,isAssignmentExpression:QB,isCallExpression:ZB,isExportNamedDeclaration:eF,isExpression:tF,isIdentifier:nF,isSequenceExpression:rF,isSuper:iF,thisExpression:sF}=at;function aF(e,t){pF.call(this,e,t.length);const n=[];this.container.splice(e,0,...t);for(let r=0;r<t.length;r++){const t=e+r,i=this.getSibling(t);n.push(i),this.context?.queue&&Rj.call(i,this.context)}const r=qj.call(this);for(const e of n){Lj.call(e),e.debug("Inserted.");for(const t of r)t.maybeQueue(e,!0)}return n}function oF(e){return aF.call(this,this.key,e)}function uF(e){return aF.call(this,this.key+1,e)}var cF=e=>e[e.length-1];function lF(e){return rF(e.parent)&&(cF(e.parent.expressions)!==e.node||lF(e.parentPath))}function pF(e,t){if(!this.parent)return;const n=ED(this);if(n)for(const[,r]of n)"number"==typeof r.key&&r.container===this.container&&r.key>=e&&(r.key+=t)}function dF(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(let t=0;t<e.length;t++){const n=e[t];let r;if(n?"object"!=typeof n?r="contains a non-object node":n.type?n instanceof Sj&&(r="has a NodePath when it expected a raw object"):r="without a type":r="has falsy node",r){const e=Array.isArray(n)?"array":typeof n;throw new Error(`Node list ${r} with the index of ${t} and type of ${e}`)}}return e}var{FUNCTION_TYPES:hF,arrowFunctionExpression:fF,assignmentExpression:mF,awaitExpression:yF,blockStatement:gF,buildUndefinedNode:bF,callExpression:xF,cloneNode:SF,conditionalExpression:TF,expressionStatement:EF,getBindingIdentifiers:PF,identifier:vF,inheritLeadingComments:AF,inheritTrailingComments:wF,inheritsComments:CF,isBlockStatement:kF,isEmptyStatement:IF,isExpression:_F,isExpressionStatement:NF,isIfStatement:LF,isProgram:OF,isStatement:DF,isVariableDeclaration:MF,removeComments:BF,returnStatement:FF,sequenceExpression:RF,validate:jF,yieldExpression:UF}=at;function qF(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?jF(this.parent,this.key,[e]):jF(this.parent,this.key,e),this.debug(`Replace with ${e?.type}`),ED(this)?.set(e,this).delete(this.node),this.node=this.container[this.key]=e}function $F(e,t){const n=[];let r=!0;for(const i of e)if(IF(i)||(r=!1),_F(i))n.push(i);else if(NF(i))n.push(i.expression);else if(MF(i)){if("var"!==i.kind)return;for(const e of i.declarations){const r=PF(e);for(const e of Object.keys(r))t.push(SF(r[e]));e.init&&n.push(mF("=",e.id,e.init))}r=!0}else if(LF(i)){const e=i.consequent?$F([i.consequent],t):bF(),r=i.alternate?$F([i.alternate],t):bF();if(!e||!r)return;n.push(TF(i.test,e,r))}else if(kF(i)){const e=$F(i.body,t);if(!e)return;n.push(e)}else{if(!IF(i))return;0===e.indexOf(i)&&(r=!0)}return r&&n.push(bF()),1===n.length?n[0]:RF(n)}var JF=["Number","String","Math"],VF=["isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","btoa","atob"],KF=["random"];function WF(e){return JF.includes(e)}function XF(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}var HF=new Map([["undefined",void 0],["Infinity",1/0],["NaN",NaN]]);function zF(t,n){const{node:r}=t,{seen:i}=n;if(i.has(r)){const e=i.get(r);return e.resolved?e.value:void XF(t,n)}{const s={resolved:!1};i.set(r,s);const a=function(t,n){if(!n.confident)return;if(t.isSequenceExpression()){const e=t.get("expressions");return zF(e[e.length-1],n)}if(t.isStringLiteral()||t.isNumericLiteral()||t.isBooleanLiteral())return t.node.value;if(t.isNullLiteral())return null;if(t.isTemplateLiteral())return YF(t,t.node.quasis,n);if(t.isTaggedTemplateExpression()&&t.get("tag").isMemberExpression()){const e=t.get("tag.object"),{node:{name:r}}=e,i=t.get("tag.property");if(e.isIdentifier()&&"String"===r&&!t.scope.getBinding(r)&&i.isIdentifier()&&"raw"===i.node.name)return YF(t,t.node.quasi.quasis,n,!0)}if(t.isConditionalExpression()){const e=zF(t.get("test"),n);if(!n.confident)return;return zF(e?t.get("consequent"):t.get("alternate"),n)}if(t.isExpressionWrapper())return zF(t.get("expression"),n);if(t.isMemberExpression()&&!t.parentPath.isCallExpression({callee:t.node})){const e=t.get("property"),r=t.get("object");if(r.isLiteral()){const i=r.node.value,s=typeof i;let a=null;if(t.node.computed){if(a=zF(e,n),!n.confident)return}else e.isIdentifier()&&(a=e.node.name);if(!("number"!==s&&"string"!==s||null==a||"number"!=typeof a&&"string"!=typeof a))return i[a]}}if(t.isReferencedIdentifier()){const e=t.scope.getBinding(t.node.name);if(e){if(e.constantViolations.length>0||t.node.start<e.path.node.end)return void XF(e.path,n);const r=e.path.scope;if("var"===e.kind&&r!==e.scope){let i=!r.path.parentPath.isBlockStatement();for(let s=r.parent;s;s=s.parent){if(s===t.scope){if(i)return void XF(e.path,n);break}s.path.parentPath?.isBlockStatement()&&(i=!0)}}if(e.hasValue)return e.value}const r=t.node.name;if(HF.has(r))return e?void XF(e.path,n):HF.get(r);const i=t.resolve();if(i===t)return void XF(t,n);const s=zF(i,n);return"object"==typeof s&&null!==s&&e.references>1?void XF(i,n):s}if(t.isUnaryExpression({prefix:!0})){if("void"===t.node.operator)return;const e=t.get("argument");if("typeof"===t.node.operator&&(e.isFunction()||e.isClass()))return"function";const r=zF(e,n);if(!n.confident)return;switch(t.node.operator){case"!":return!r;case"+":return+r;case"-":return-r;case"~":return~r;case"typeof":return typeof r}}if(t.isArrayExpression()){const e=[],r=t.get("elements");for(const t of r){const r=t.evaluate();if(!r.confident)return void XF(r.deopt,n);e.push(r.value)}return e}if(t.isObjectExpression()){const e={},r=t.get("properties");for(const t of r){if(t.isObjectMethod()||t.isSpreadElement())return void XF(t,n);const r=t.get("key");let i;if(t.node.computed){if(i=r.evaluate(),!i.confident)return void XF(i.deopt,n);i=i.value}else i=r.isIdentifier()?r.node.name:r.node.value;let s=t.get("value").evaluate();if(!s.confident)return void XF(s.deopt,n);s=s.value,e[i]=s}return e}if(t.isLogicalExpression()){const e=n.confident,r=zF(t.get("left"),n),i=n.confident;n.confident=e;const s=zF(t.get("right"),n),a=n.confident;switch(t.node.operator){case"||":if(n.confident=i&&(!!r||a),!n.confident)return;return r||s;case"&&":if(n.confident=i&&(!r||a),!n.confident)return;return r&&s;case"??":if(n.confident=i&&(null!=r||a),!n.confident)return;return r??s}}if(t.isBinaryExpression()){const e=zF(t.get("left"),n);if(!n.confident)return;const r=zF(t.get("right"),n);if(!n.confident)return;switch(t.node.operator){case"-":return e-r;case"+":return e+r;case"/":return e/r;case"*":return e*r;case"%":return e%r;case"**":return e**r;case"<":return e<r;case">":return e>r;case"<=":return e<=r;case">=":return e>=r;case"==":return e==r;case"!=":return e!=r;case"===":return e===r;case"!==":return e!==r;case"|":return e|r;case"&":return e&r;case"^":return e^r;case"<<":return e<<r;case">>":return e>>r;case">>>":return e>>>r}}if(t.isCallExpression()){const r=t.get("callee");let i,s;if(r.isIdentifier()&&!t.scope.getBinding(r.node.name)&&(WF(r.node.name)||function(e){return VF.includes(e)}(r.node.name))&&(s=e[r.node.name]),r.isMemberExpression()){const t=r.get("object"),n=r.get("property");if(t.isIdentifier()&&n.isIdentifier()&&WF(t.node.name)&&!function(e){return KF.includes(e)}(n.node.name)){i=e[t.node.name];const r=n.node.name;Object.hasOwn(i,r)&&(s=i[r])}if(t.isLiteral()&&n.isIdentifier()){const e=typeof t.node.value;"string"!==e&&"number"!==e||(i=t.node.value,s=i[n.node.name])}}if(s){const e=t.get("arguments").map(e=>zF(e,n));if(!n.confident)return;return s.apply(i,e)}}XF(t,n)}(t,n);return n.confident&&(s.resolved=!0,s.value=a),a}}function YF(e,t,n,r=!1){let i="",s=0;const a=e.isTemplateLiteral()?e.get("expressions"):e.get("quasi.expressions");for(const e of t){if(!n.confident)break;i+=r?e.value.raw:e.value.cooked;const t=a[s++];t&&(i+=String(zF(t,n)))}if(n.confident)return i}var{arrowFunctionExpression:GF,assignmentExpression:QF,binaryExpression:ZF,blockStatement:eR,callExpression:tR,conditionalExpression:nR,expressionStatement:rR,identifier:iR,isIdentifier:sR,jsxIdentifier:aR,logicalExpression:oR,LOGICAL_OPERATORS:uR,memberExpression:cR,metaProperty:lR,numericLiteral:pR,objectExpression:dR,restElement:hR,returnStatement:fR,sequenceExpression:mR,spreadElement:yR,stringLiteral:gR,super:bR,thisExpression:xR,toExpression:SR,unaryExpression:TR,toBindingIdentifierName:ER,isFunction:PR,isAssignmentPattern:vR,isRestElement:AR,getFunctionName:wR,cloneNode:CR,variableDeclaration:kR,variableDeclarator:IR,exportNamedDeclaration:_R,exportSpecifier:NR,inherits:LR}=at;var OR=dD({CallExpression(e,{allSuperCalls:t}){e.get("callee").isSuper()&&t.push(e)}});function DR(e,t=!0,n=!0,r=!0){let i,s=e.findParent(e=>e.isArrowFunctionExpression()?(i??(i=e),!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1}));const a=s.isClassMethod({kind:"constructor"});if(s.isClassProperty()||s.isClassPrivateProperty())if(i)s=i;else{if(!n)throw e.buildCodeFrameError("Unable to transform arrow inside class property");e.replaceWith(tR(GF([],SR(e.node)),[])),s=e.get("callee"),e=s.get("body")}const{thisPaths:o,argumentsPaths:u,newTargetPaths:c,superProps:l,superCalls:p}=function(e){const t=[],n=[],r=[],i=[],s=[];return e.traverse(RR,{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}),{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}}(e);if(a&&p.length>0){if(!n)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");if(!r)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=[];s.traverse(OR,{allSuperCalls:e});const t=function(e){return FR(e,"supercall",()=>{const t=e.scope.generateUidIdentifier("args");return GF([hR(t)],tR(bR(),[yR(iR(t.name))]))})}(s);e.forEach(e=>{const n=iR(t);n.loc=e.node.callee.loc,e.get("callee").replaceWith(n)})}if(u.length>0){const e=FR(s,"arguments",()=>{const e=()=>iR("arguments");return s.scope.path.isProgram()?nR(ZF("===",TR("typeof",e()),gR("undefined")),s.scope.buildUndefinedNode(),e()):e()});u.forEach(t=>{const n=iR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(c.length>0){const e=FR(s,"newtarget",()=>lR(iR("new"),iR("target")));c.forEach(t=>{const n=iR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(l.length>0){if(!n)throw l[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=l.reduce((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const n=e.parentPath,r=n.node.operator.slice(0,-1),i=n.node.right,s=function(e){return uR.includes(e)}(r);if(e.node.computed){const a=e.scope.generateDeclaredUidIdentifier("tmp"),o=e.node.object,u=e.node.property;n.get("left").replaceWith(cR(o,QF("=",a,u),!0)),n.get("right").replaceWith(t(s?"=":r,cR(o,iR(a.name),!0),i))}else{const a=e.node.object,o=e.node.property;n.get("left").replaceWith(cR(a,o)),n.get("right").replaceWith(t(s?"=":r,cR(a,iR(o.name)),i))}return s?n.replaceWith(oR(r,n.node.left,n.node.right)):n.node.operator="=",[n.get("left"),n.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,n=e.scope.generateDeclaredUidIdentifier("tmp"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,i=[QF("=",n,cR(e.node.object,r?QF("=",r,e.node.property):e.node.property,e.node.computed)),QF("=",cR(e.node.object,r?iR(r.name):e.node.property,e.node.computed),ZF(e.parentPath.node.operator[0],iR(n.name),pR(1)))];e.parentPath.node.prefix||i.push(iR(n.name)),t.replaceWith(mR(i));return[t.get("expressions.0.right"),t.get("expressions.1.left")]}return[e];function t(e,t,n){return"="===e?QF("=",t,n):ZF(e,t,n)}}(t)),[]);e.forEach(e=>{const t=e.node.computed?"":e.get("property").node.name,n=e.parentPath,r=n.isAssignmentExpression({left:e.node}),i=n.isCallExpression({callee:e.node}),a=n.isTaggedTemplateExpression({tag:e.node}),u=function(e,t,n){const r=t?"set":"get";return FR(e,`superprop_${r}:${n||""}`,()=>{const r=[];let i;if(n)i=cR(bR(),iR(n));else{const t=e.scope.generateUidIdentifier("prop");r.unshift(t),i=cR(bR(),iR(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");r.push(t),i=QF("=",i,iR(t.name))}return GF(r,i)})}(s,r,t),c=[];if(e.node.computed&&c.push(e.get("property").node),r){const e=n.node.right;c.push(e)}const l=tR(iR(u),c);i?(n.unshiftContainer("arguments",xR()),e.replaceWith(cR(l,iR("call"))),o.push(n.get("arguments.0"))):r?n.replaceWith(l):a?(e.replaceWith(tR(cR(l,iR("bind"),!1),[xR()])),o.push(e.get("arguments.0"))):e.replaceWith(l)})}let d;return(o.length>0||!t)&&(d=function(e,t){return FR(e,"this",n=>{if(!t||!MR(e))return xR();e.traverse(BR,{supers:new WeakSet,thisBinding:n})})}(s,a),(t||a&&MR(s))&&(o.forEach(e=>{const t=e.isJSX()?aR(d):iR(d);t.loc=e.node.loc,e.replaceWith(t)}),t||(d=null))),{thisBinding:d,fnPath:e}}function MR(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}var BR=dD({CallExpression(e,{supers:t,thisBinding:n}){e.get("callee").isSuper()&&(t.has(e.node)||(t.add(e.node),e.replaceWithMultiple([e.node,QF("=",iR(n),iR("this"))])))}});function FR(e,t,n){const r="binding:"+t;let i=e.getData(r);if(!i){const s=e.scope.generateUidIdentifier(t);i=s.name,e.setData(r,i),e.scope.push({id:s,init:n(i)})}return i}var RR=dD({ThisExpression(e,{thisPaths:t}){t.push(e)},JSXIdentifier(e,{thisPaths:t}){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e,{superCalls:t}){e.get("callee").isSuper()&&t.push(e)},MemberExpression(e,{superProps:t}){e.get("object").isSuper()&&t.push(e)},Identifier(e,{argumentsPaths:t}){if(!e.isReferencedIdentifier({name:"arguments"}))return;let n=e.scope;do{if(n.hasOwnBinding("arguments"))return void n.rename("arguments");if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);t.push(e)},MetaProperty(e,{newTargetPaths:t}){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&t.push(e)}});var jR={"ReferencedIdentifier|BindingIdentifier"(e,t){e.node.name===t.name&&(t.needsRename=!0,e.stop())},Scope(e,t){e.scope.hasOwnBinding(t.name)&&e.skip()}};var{STATEMENT_OR_BLOCK_KEYS:UR,VISITOR_KEYS:qR,isBlockStatement:$R,isExpression:JR,isIdentifier:VR,isLiteral:KR,isStringLiteral:WR,isType:XR,matchesPattern:HR}=at;function zR(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function YR(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function GR(e,t){for(let n=0;n<t;n++){const t=e[n];if(YR(t.parent.type,t.parentKey))return!0}return!1}var QR=Symbol();function ZR(e,t,n){const r={this:zR(e),target:zR(t)};if(r.target.node!==r.this.node)return function(e,t,n){let r,i=n.get(e.node);if(i){if(r=i.get(t.node))return r===QR?"unknown":r}else n.set(e.node,i=new Map);i.set(t.node,QR);const s=function(e,t,n){if(!t.isFunctionDeclaration())return"before"===ZR(e,t,n)?"before":"unknown";if(t.parentPath.isExportDeclaration())return"unknown";const r=t.scope.getBinding(t.node.id.name);if(!r.references)return"before";const i=r.referencePaths;let s;for(const r of i){if(!!r.find(e=>e.node===t.node))continue;if("callee"!==r.key||!r.parentPath.isCallExpression())return"unknown";const i=ZR(e,r,n);if(s&&s!==i)return"unknown";s=i}return s}(e,t,n);return i.set(t.node,s),s}(e,r.target,n);const i={target:t.getAncestry(),this:e.getAncestry()};if(i.target.includes(e))return"after";if(i.this.includes(t))return"before";let s;const a={target:0,this:0};for(;!s&&a.this<i.this.length;){const e=i.this[a.this];a.target=i.target.indexOf(e),a.target>=0?s=e:a.this++}if(!s)throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");if(GR(i.this,a.this-1)||GR(i.target,a.target-1))return"unknown";const o={this:i.this[a.this-1],target:i.target[a.target-1]};if(o.target.listKey&&o.this.listKey&&o.target.container===o.this.container)return o.target.key>o.this.key?"before":"after";const u=qR[s.type],c=u.indexOf(o.this.parentKey);return u.indexOf(o.target.parentKey)>c?"before":"after"}function ej(e,t){if(!t?.includes(this))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const n=this.scope.getBinding(this.node.name);if(!n)return;if(!n.constant)return;if("module"===n.kind)return;if(n.path!==this){const r=n.path.resolve(e,t);if(this.find(e=>e.node===r.node))return;return r}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const n=this.toComputedKey();if(!KR(n))return;const r=n.value,i=this.get("object").resolve(e,t);if(i.isObjectExpression()){const n=i.get("properties");for(const i of n){if(!i.isProperty())continue;const n=i.get("key");let s=i.isnt("computed")&&n.isIdentifier({name:r});if(s=s||n.isLiteral({value:r}),s)return i.get("value").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+r)){const n=i.get("elements")[r];if(n)return n.resolve(e,t)}}}}var{getAssignmentIdentifiers:tj,getBindingIdentifiers:nj,getOuterBindingIdentifiers:rj,numericLiteral:ij,unaryExpression:sj}=at;function aj(e,t,n){return e&&t.push(...lj(e,n)),t}function oj(e){e.forEach(e=>{e.type=1})}function uj(e,t){e.forEach(e=>{e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(sj("void",ij(0))):e.path.remove())})}function cj(e,t){const n=[];if(t.canHaveBreak){let r=[];for(let i=0;i<e.length;i++){const s=e[i],a=Object.assign({},t,{inCaseClause:!1});s.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak)?a.shouldPopulateBreak=!0:a.shouldPopulateBreak=!1;const o=lj(s,a);if(o.length>0&&o.every(e=>1===e.type)){r.length>0&&o.every(e=>e.path.isBreakStatement({label:null}))?(oj(r),n.push(...r),r.some(e=>e.path.isDeclaration())&&(n.push(...o),t.shouldPreserveBreak||uj(o,!0)),t.shouldPreserveBreak||uj(o,!1)):(n.push(...o),t.shouldPopulateBreak||t.shouldPreserveBreak||uj(o,!0));break}if(i===e.length-1)n.push(...o);else{r=[];for(let e=0;e<o.length;e++){const t=o[e];1===t.type&&n.push(t),0===t.type&&r.push(t)}}}}else if(e.length)for(let r=e.length-1;r>=0;r--){const i=lj(e[r],t);if(i.length>1||1===i.length&&!i[0].path.isVariableDeclaration()&&!i[0].path.isEmptyStatement()){n.push(...i);break}}return n}function lj(e,t){let n=[];if(e.isIfStatement())n=aj(e.get("consequent"),n,t),n=aj(e.get("alternate"),n,t);else{if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return aj(e.get("body"),n,t);if(e.isProgram()||e.isBlockStatement())return cj(e.get("body"),t);if(e.isFunction())return lj(e.get("body"),t);if(e.isTryStatement())n=aj(e.get("block"),n,t),n=aj(e.get("handler"),n,t);else{if(e.isCatchClause())return aj(e.get("body"),n,t);if(e.isSwitchStatement())return function(e,t,n){let r=[];for(let i=0;i<e.length;i++){const s=lj(e[i],n),a=[],o=[];for(const e of s)0===e.type&&a.push(e),1===e.type&&o.push(e);a.length&&(r=a),t.push(...o)}return t.push(...r),t}(e.get("cases"),n,t);if(e.isSwitchCase())return cj(e.get("consequent"),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0,shouldPreserveBreak:t.shouldPreserveBreak});e.isBreakStatement()?n.push(function(e){return{type:1,path:e}}(e)):n.push(function(e){return{type:0,path:e}}(e))}}return n}function pj(e,t){const n=this.node,r=n[e];return Array.isArray(r)?r.map((i,s)=>Sj.get({listKey:e,parentPath:this,parent:n,container:r,key:s}).setContext(t)):Sj.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function dj(e,t){let n=this;for(const r of e)n="."===r?n.parentPath:Array.isArray(n)?n[r]:n.get(r,t);return n}var{addComment:hj,addComments:fj}=at;function mj(e,t){if(!t?.length)return e;const n=new Set(t);return e.filter(e=>!n.has(e))}var{validate:yj}=at,gj=(0,vO.default)("babel"),bj=1,xj=4,Sj=class e{constructor(e,t){Qe(this,"contexts",[]),Qe(this,"state",null),Qe(this,"opts",null),Qe(this,"_traverseFlags",0),Qe(this,"skipKeys",null),Qe(this,"parentPath",null),Qe(this,"container",null),Qe(this,"listKey",null),Qe(this,"key",null),Qe(this,"node",null),Qe(this,"type",null),Qe(this,"_store",null),this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}get removed(){return(1&this._traverseFlags)>0}set removed(e){e?this._traverseFlags|=1:this._traverseFlags&=-2}get shouldStop(){return(2&this._traverseFlags)>0}set shouldStop(e){e?this._traverseFlags|=2:this._traverseFlags&=-3}get shouldSkip(){return(4&this._traverseFlags)>0}set shouldSkip(e){e?this._traverseFlags|=4:this._traverseFlags&=-5}static get({hub:t,parentPath:n,parent:r,container:i,listKey:s,key:a}){if(!t&&n&&(t=n.hub),!r)throw new Error("To get a node path the parent needs to exist");const o=i[a],u=PD(r,n);let c=u.get(o);return c||(c=new e(t,r),o&&u.set(o,c)),jj.call(c,n,i,s,a),c}getScope(e){return this.isScope()?new AM(this):e}setData(e,t){return null==this.data&&(this.data=Object.create(null)),this.data[e]=t}getData(e,t){null==this.data&&(this.data=Object.create(null));let n=this.data[e];return void 0===n&&void 0!==t&&(n=this.data[e]=t),n}hasNode(){return null!=this.node}buildCodeFrameError(e,t=SyntaxError){return this.hub.buildError(this.node,e,t)}traverse(e,t){Kj(this.node,e,this.scope,t,this)}set(e,t){yj(this.node,e,t),this.node[e]=t}getPathLocation(){const e=[];let t=this;do{let n=t.key;t.inList&&(n=`${t.listKey}[${n}]`),e.unshift(n)}while(t=t.parentPath);return e.join(".")}debug(e){gj.enabled&&gj(`${this.getPathLocation()} ${this.type}: ${e}`)}toString(){return PO(this.node).code}get inList(){return!!this.listKey}set inList(e){e||(this.listKey=null)}get parentKey(){return this.listKey||this.key}},Tj={findParent:function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},find:function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},getFunctionParent:function(){return this.findParent(e=>e.isFunction())},getStatementParent:function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e},getEarliestCommonAncestorFrom:function(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,n){let r;const i=wM[e.type];for(const e of n){const n=e[t+1];if(!r){r=n;continue}if(n.listKey&&r.listKey===n.listKey&&n.key<r.key){r=n;continue}i.indexOf(r.parentKey)>i.indexOf(n.parentKey)&&(r=n)}return r})},getDeepestCommonAncestorFrom:function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let n,r,i=1/0;const s=e.map(e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.length<i&&(i=t.length),t}),a=s[0];e:for(let e=0;e<i;e++){const t=a[e];for(const n of s)if(n[e]!==t)break e;n=e,r=t}if(r)return t?t(r,n,s):r;throw new Error("Couldn't find intersection")},getAncestry:function(){let e=this;const t=[];do{t.push(e)}while(e=e.parentPath);return t},isAncestor:function(e){return e.isDescendant(this)},isDescendant:function(e){return!!this.findParent(t=>t===e)},inType:function(...e){let t=this;for(;t;){if(e.includes(t.node.type))return!0;t=t.parentPath}return!1},getTypeAnnotation:function(){let e=this.getData("typeAnnotation");return null!=e||(e=BB.call(this)||mB(),(_B(e)||CB(e))&&(e=e.typeAnnotation),this.setData("typeAnnotation",e)),e},isBaseType:function(e,t){return FB(e,this.getTypeAnnotation(),t)},couldBeBaseType:function(e){const t=this.getTypeAnnotation();if(yB(t))return!0;if(NB(t)){for(const n of t.types)if(yB(n)||FB(e,n,!0))return!0;return!1}return FB(e,t,!0)},baseTypeStrictlyMatches:function(e){const t=this.getTypeAnnotation(),n=e.getTypeAnnotation();return!(yB(t)||!SB(t))&&n.type===t.type},isGenericType:function(e){const t=this.getTypeAnnotation();return!("Array"!==e||!(wB(t)||gB(t)||IB(t)))||(TB(t)&&EB(t.id,{name:e})||kB(t)&&EB(t.typeName,{name:e}))},replaceWithMultiple:function(e){Oj.call(this);const t=dF.call(this,e);AF(t[0],this.node),wF(t[t.length-1],this.node),ED(this)?.delete(this.node),this.node=this.container[this.key]=null;const n=this.insertAfter(e);return this.node?this.requeue():this.remove(),n},replaceWithSourceString:function(e){let t;Oj.call(this);try{t=Vk(e=`(${e})`)}catch(t){const n=t.loc;throw n&&(t.message+=" - make sure this is an expression.\n"+oI(e,{start:{line:n.line,column:n.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}const n=t.program.body[0].expression;return Kj.removeProperties(n),this.replaceWith(n)},replaceWith:function(e){if(Oj.call(this),this.removed)throw new Error("You can't replace this node, we've already removed it");let t=e instanceof Sj?e.node:e;if(!t)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===t)return[this];if(this.isProgram()&&!OF(t))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(t))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof t)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let n="";if(this.isNodeType("Statement")&&_F(t)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(t)||this.parentPath.isExportDefaultDeclaration()||(t=EF(t),n="expression")),this.isNodeType("Expression")&&DF(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);const r=this.node;return r&&(CF(t,r),BF(r)),qF.call(this,t),this.type=t.type,Lj.call(this),this.requeue(),[n?this.get(n):this]},replaceExpressionWithStatements:function(e){Oj.call(this);const t=[],n=$F(e,t);if(n){for(const e of t)this.scope.push({id:e});return this.replaceWith(n)[0].get("expressions")}const r=this.getFunctionParent(),i=r?.node.async,s=r?.node.generator,a=fF([],gF(e));this.replaceWith(xF(a,[]));const o=this.get("callee");o.get("body").scope.hoistVariables(e=>this.scope.push({id:e}));const u=o.getCompletionRecords();for(const e of u){if(!e.isExpressionStatement())continue;const t=e.findParent(e=>e.isLoop());if(t){let n=t.getData("expressionReplacementReturnUid");n?n=vF(n.name):(n=o.scope.generateDeclaredUidIdentifier("ret"),o.get("body").pushContainer("body",FF(SF(n))),t.setData("expressionReplacementReturnUid",n)),e.get("expression").replaceWith(mF("=",SF(n),e.node.expression))}else e.replaceWith(FF(e.node.expression))}o.arrowFunctionToExpression();const c=o,l=i&&Kj.hasType(this.get("callee.body").node,"AwaitExpression",hF),p=s&&Kj.hasType(this.get("callee.body").node,"YieldExpression",hF);return l&&(c.set("async",!0),p||this.replaceWith(yF(this.node))),p&&(c.set("generator",!0),this.replaceWith(UF(this.node,!0))),c.get("body.body")},replaceInline:function(e){if(Oj.call(this),Array.isArray(e)){if(Array.isArray(this.container)){e=dF.call(this,e);const t=uF.call(this,e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)},evaluateTruthy:function(){const e=this.evaluate();if(e.confident)return!!e.value},evaluate:function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=zF(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}},toComputedKey:function(){let e;if(this.isMemberExpression())e=this.node.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");e=this.node.key}return this.node.computed||sR(e)&&(e=gR(e.name)),e},ensureBlock:function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can't convert array path to a block statement");if(!t)throw new Error("Can't convert node without a body");if(e.isBlockStatement())return t;const n=[];let r,i,s="body";e.isStatement()?(i="body",r=0,n.push(e.node)):(s+=".body.0",this.isFunction()?(r="argument",n.push(fR(e.node))):(r="expression",n.push(rR(e.node)))),this.node.body=eR(n);const a=this.get(s);return jj.call(e,a,i?a.node[i]:a.node,i,r),this.node},unwrapFunctionEnvironment:function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");DR(this)},arrowFunctionToExpression:function({allowInsertArrow:e=!0,allowInsertArrowWithRest:t=e,noNewArrows:n=!0}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");let r=this;n||(r=r.ensureFunctionName(!1)??r);const{thisBinding:i,fnPath:s}=DR(r,n,e,t);if(s.ensureBlock(),function(e,t){e.node.type=t}(s,"FunctionExpression"),!n){const e=i?null:s.scope.generateUidIdentifier("arrowCheckId");return e&&s.parentPath.scope.push({id:e,init:dR([])}),s.get("body").unshiftContainer("body",rR(tR(this.hub.addHelper("newArrowCheck"),[xR(),iR(e?e.name:i)]))),s.replaceWith(tR(cR(s.node,iR("bind")),[e?iR(e.name):xR()])),s.get("callee.object")}return s},splitExportDeclaration:function(){if(!this.isExportDeclaration()||this.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(this.isExportNamedDeclaration()&&this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const e=this.get("declaration");if(this.isExportDefaultDeclaration()){const t=e.isFunctionDeclaration()||e.isClassDeclaration(),n=e.isFunctionExpression()||e.isClassExpression(),r=e.isScope()?e.scope.parent:e.scope;let i=e.node.id,s=!1;i?n&&r.hasBinding(i.name)&&(s=!0,i=r.generateUidIdentifier(i.name)):(s=!0,i=r.generateUidIdentifier("default"),(t||n)&&(e.node.id=CR(i)));const a=t?e.node:kR("var",[IR(CR(i),e.node)]),o=_R(null,[NR(CR(i),iR("default"))]);return this.insertAfter(o),this.replaceWith(a),s&&r.registerDeclaration(this),this}if(this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const t=e.getOuterBindingIdentifiers(),n=Object.keys(t).map(e=>NR(iR(e),iR(e))),r=_R(null,n);return this.insertAfter(r),this.replaceWith(e.node),this},ensureFunctionName:function(e){if(this.node.id)return this;const t=wR(this.node,this.parent);if(null==t)return this;let{name:n}=t;if(!e&&/[\uD800-\uDFFF]/.test(n))return null;if(n.startsWith("get ")||n.startsWith("set "))return null;n=ER(n.replace(/[/ ]/g,"_"));const r=iR(n);LR(r,t.originalNode);const i={needsRename:!1,name:n},{scope:s}=this,a=s.getOwnBinding(n);if(a?"param"===a.kind&&(i.needsRename=!0):(s.parent.hasBinding(n)||s.hasGlobal(n))&&this.traverse(jR,i),!i.needsRename)return this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(s.hasBinding(r.name)&&!s.hasGlobal(r.name))return s.rename(r.name),this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(!PR(this.node))return null;const o=s.generateUidIdentifier(r.name),u=[];for(let e=0,t=function(e){const t=e.params.findIndex(e=>vR(e)||AR(e));return-1===t?e.params.length:t}(this.node);e<t;e++)u.push(s.generateUidIdentifier("x"));const c=QI.expression.ast`
1
+ var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var n=function e(){var n=!1;try{n=this instanceof e}catch{}return n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),n}var n={exports:{}},r="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}var a=i,o=s;function u(e){if(a===setTimeout)return setTimeout(e,0);if((a===i||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}"function"==typeof r.setTimeout&&(a=setTimeout),"function"==typeof r.clearTimeout&&(o=clearTimeout);var c,l=[],p=!1,d=-1;function h(){p&&c&&(p=!1,c.length?l=c.concat(l):d=-1,l.length&&f())}function f(){if(!p){var e=u(h);p=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,p=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new y(e,t)),1!==l.length||p||u(f)}function y(e,t){this.fun=e,this.array=t}y.prototype.run=function(){this.fun.apply(null,this.array)};var g="browser",b="browser",x=!0,S={},T=[],E={},P={},v={};function A(){}var w=A,C=A,k=A,I=A,_=A,N=A,L=A;function O(e){throw new Error("process.binding is not supported")}function D(){return"/"}function M(e){throw new Error("process.chdir is not supported")}function B(){return 0}var F=r.performance||{},R=F.now||F.mozNow||F.msNow||F.oNow||F.webkitNow||function(){return(new Date).getTime()};function j(e){var t=.001*R.call(F),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]}var U=new Date;function q(){return(new Date-U)/1e3}var $={nextTick:m,title:g,browser:x,env:S,argv:T,version:"",versions:E,on:w,addListener:C,once:k,off:I,removeListener:_,removeAllListeners:N,emit:L,binding:O,cwd:D,chdir:M,umask:B,hrtime:j,platform:b,release:P,config:v,uptime:q},J=Object.freeze({__proto__:null,addListener:C,argv:T,binding:O,browser:x,chdir:M,config:v,cwd:D,default:$,emit:L,env:S,hrtime:j,nextTick:m,off:I,on:w,once:k,platform:b,release:P,removeAllListeners:N,removeListener:_,title:g,umask:B,uptime:q,version:"",versions:E}),V=[],K=[],W="undefined"!=typeof Uint8Array?Uint8Array:Array,X=!1;function H(){X=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)V[t]=e[t],K[e.charCodeAt(t)]=t;K["-".charCodeAt(0)]=62,K["_".charCodeAt(0)]=63}function z(e){return V[e>>18&63]+V[e>>12&63]+V[e>>6&63]+V[63&e]}function Y(e,t,n){for(var r,i=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],i.push(z(r));return i.join("")}function G(e){var t;X||H();for(var n=e.length,r=n%3,i="",s=[],a=16383,o=0,u=n-r;o<u;o+=a)s.push(Y(e,o,o+a>u?u:o+a));return 1===r?(t=e[n-1],i+=V[t>>2],i+=V[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=V[t>>10],i+=V[t>>4&63],i+=V[t<<2&63],i+="="),s.push(i),s.join("")}function Q(e,t,n,r,i){var s,a,o=8*i-r-1,u=(1<<o)-1,c=u>>1,l=-7,p=n?i-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-l)-1,h>>=-l,l+=o;l>0;s=256*s+e[t+p],p+=d,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=d,l-=8);if(0===s)s=1-c;else{if(s===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),s-=c}return(h?-1:1)*a*Math.pow(2,s-r)}function Z(e,t,n,r,i,s){var a,o,u,c=8*s-i-1,l=(1<<c)-1,p=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:s-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?d/u:d*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(t*u-1)*Math.pow(2,i),a+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+h]=255&o,h+=f,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;e[n+h]=255&a,h+=f,a/=256,c-=8);e[n+h-f]|=128*m}var ee={}.toString,te=Array.isArray||function(e){return"[object Array]"==ee.call(e)};function ne(){return ie.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function re(e,t){if(ne()<t)throw new RangeError("Invalid typed array length");return ie.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=ie.prototype:(null===e&&(e=new ie(t)),e.length=t),e}function ie(e,t,n){if(!(ie.TYPED_ARRAY_SUPPORT||this instanceof ie))return new ie(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return oe(this,e)}return se(this,e,t,n)}function se(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);ie.TYPED_ARRAY_SUPPORT?(e=t).__proto__=ie.prototype:e=ue(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!ie.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|pe(t,n);e=re(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(le(t)){var n=0|ce(t.length);return 0===(e=re(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?re(e,0):ue(e,t);if("Buffer"===t.type&&te(t.data))return ue(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function ae(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function oe(e,t){if(ae(t),e=re(e,t<0?0:0|ce(t)),!ie.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ue(e,t){var n=t.length<0?0:0|ce(t.length);e=re(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function ce(e){if(e>=ne())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ne().toString(16)+" bytes");return 0|e}function le(e){return!(null==e||!e._isBuffer)}function pe(e,t){if(le(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Re(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return je(e).length;default:if(r)return Re(e).length;t=(""+t).toLowerCase(),r=!0}}function de(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ce(this,t,n);case"utf8":case"utf-8":return Pe(this,t,n);case"ascii":return Ae(this,t,n);case"latin1":case"binary":return we(this,t,n);case"base64":return Ee(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function he(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function fe(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=ie.from(t,r)),le(t))return 0===t.length?-1:me(e,t,n,r,i);if("number"==typeof t)return t&=255,ie.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):me(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function me(e,t,n,r,i){var s,a=1,o=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(s=n;s<o;s++)if(c(e,s)===c(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===u)return l*a}else-1!==l&&(s-=s-l),l=-1}else for(n+u>o&&(n=o-u),s=n;s>=0;s--){for(var p=!0,d=0;d<u;d++)if(c(e,s+d)!==c(t,d)){p=!1;break}if(p)return s}return-1}function ye(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a<r;++a){var o=parseInt(t.substr(2*a,2),16);if(isNaN(o))return a;e[n+a]=o}return a}function ge(e,t,n,r){return Ue(Re(t,e.length-n),e,n,r)}function be(e,t,n,r){return Ue(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function xe(e,t,n,r){return be(e,t,n,r)}function Se(e,t,n,r){return Ue(je(t),e,n,r)}function Te(e,t,n,r){return Ue(function(e,t){for(var n,r,i,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function Ee(e,t,n){return 0===t&&n===e.length?G(e):G(e.slice(t,n))}function Pe(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,a,o,u,c=e[i],l=null,p=c>239?4:c>223?3:c>191?2:1;if(i+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(l=u);break;case 3:s=e[i+1],a=e[i+2],128==(192&s)&&128==(192&a)&&(u=(15&c)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=e[i+1],a=e[i+2],o=e[i+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(u=(15&c)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=ve)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ve));return n}(r)}ie.TYPED_ARRAY_SUPPORT=void 0===r.TYPED_ARRAY_SUPPORT||r.TYPED_ARRAY_SUPPORT,ne(),ie.poolSize=8192,ie._augment=function(e){return e.__proto__=ie.prototype,e},ie.from=function(e,t,n){return se(null,e,t,n)},ie.TYPED_ARRAY_SUPPORT&&(ie.prototype.__proto__=Uint8Array.prototype,ie.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&ie[Symbol.species]),ie.alloc=function(e,t,n){return function(e,t,n,r){return ae(t),t<=0?re(e,t):void 0!==n?"string"==typeof r?re(e,t).fill(n,r):re(e,t).fill(n):re(e,t)}(null,e,t,n)},ie.allocUnsafe=function(e){return oe(null,e)},ie.allocUnsafeSlow=function(e){return oe(null,e)},ie.isBuffer=function(e){return null!=e&&(!!e._isBuffer||qe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&qe(e.slice(0,0))}(e))},ie.compare=function(e,t){if(!le(e)||!le(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},ie.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ie.concat=function(e,t){if(!te(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return ie.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=ie.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!le(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},ie.byteLength=pe,ie.prototype._isBuffer=!0,ie.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)he(this,t,t+1);return this},ie.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)he(this,t,t+3),he(this,t+1,t+2);return this},ie.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)he(this,t,t+7),he(this,t+1,t+6),he(this,t+2,t+5),he(this,t+3,t+4);return this},ie.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?Pe(this,0,e):de.apply(this,arguments)},ie.prototype.equals=function(e){if(!le(e))throw new TypeError("Argument must be a Buffer");return this===e||0===ie.compare(this,e)},ie.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},ie.prototype.compare=function(e,t,n,r,i){if(!le(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),o=Math.min(s,a),u=this.slice(r,i),c=e.slice(t,n),l=0;l<o;++l)if(u[l]!==c[l]){s=u[l],a=c[l];break}return s<a?-1:a<s?1:0},ie.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},ie.prototype.indexOf=function(e,t,n){return fe(this,e,t,n,!0)},ie.prototype.lastIndexOf=function(e,t,n){return fe(this,e,t,n,!1)},ie.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return ye(this,e,t,n);case"utf8":case"utf-8":return ge(this,e,t,n);case"ascii":return be(this,e,t,n);case"latin1":case"binary":return xe(this,e,t,n);case"base64":return Se(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Te(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},ie.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ve=4096;function Ae(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function we(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function Ce(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s<n;++s)i+=Fe(e[s]);return i}function ke(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function Ie(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function _e(e,t,n,r,i,s){if(!le(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function Ne(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Le(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function Oe(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function De(e,t,n,r,i){return i||Oe(e,0,n,4),Z(e,t,n,r,23,4),n+4}function Me(e,t,n,r,i){return i||Oe(e,0,n,8),Z(e,t,n,r,52,8),n+8}ie.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),ie.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=ie.prototype;else{var i=t-e;n=new ie(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},ie.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},ie.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},ie.prototype.readUInt8=function(e,t){return t||Ie(e,1,this.length),this[e]},ie.prototype.readUInt16LE=function(e,t){return t||Ie(e,2,this.length),this[e]|this[e+1]<<8},ie.prototype.readUInt16BE=function(e,t){return t||Ie(e,2,this.length),this[e]<<8|this[e+1]},ie.prototype.readUInt32LE=function(e,t){return t||Ie(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},ie.prototype.readUInt32BE=function(e,t){return t||Ie(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},ie.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},ie.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},ie.prototype.readInt8=function(e,t){return t||Ie(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},ie.prototype.readInt16LE=function(e,t){t||Ie(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt16BE=function(e,t){t||Ie(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt32LE=function(e,t){return t||Ie(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},ie.prototype.readInt32BE=function(e,t){return t||Ie(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},ie.prototype.readFloatLE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!0,23,4)},ie.prototype.readFloatBE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!1,23,4)},ie.prototype.readDoubleLE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!0,52,8)},ie.prototype.readDoubleBE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!1,52,8)},ie.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},ie.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},ie.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,255,0),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},ie.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Le(this,e,t,!0),t+4},ie.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=n-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,127,-128),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},ie.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Le(this,e,t,!0),t+4},ie.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeFloatLE=function(e,t,n){return De(this,e,t,!0,n)},ie.prototype.writeFloatBE=function(e,t,n){return De(this,e,t,!1,n)},ie.prototype.writeDoubleLE=function(e,t,n){return Me(this,e,t,!0,n)},ie.prototype.writeDoubleBE=function(e,t,n){return Me(this,e,t,!1,n)},ie.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!ie.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},ie.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!ie.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var a=le(e)?e:Re(new ie(e,r).toString()),o=a.length;for(s=0;s<n-t;++s)this[s+t]=a[s%o]}return this};var Be=/[^+\/0-9A-Za-z-_]/g;function Fe(e){return e<16?"0"+e.toString(16):e.toString(16)}function Re(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function je(e){return function(e){var t,n,r,i,s,a;X||H();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[o-2]?2:"="===e[o-1]?1:0,a=new W(3*o/4-s),r=s>0?o-4:o;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)i=K[e.charCodeAt(t)]<<18|K[e.charCodeAt(t+1)]<<12|K[e.charCodeAt(t+2)]<<6|K[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=K[e.charCodeAt(t)]<<2|K[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=K[e.charCodeAt(t)]<<10|K[e.charCodeAt(t+1)]<<4|K[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Be,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Ue(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function qe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var $e=Object.create,Je=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Ke=Object.getOwnPropertyNames,We=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty,He=(e,t)=>function(){return t||(0,e[Ke(e)[0]])((t={exports:{}}).exports,t),t.exports},ze=(e,t)=>{for(var n in t)Je(e,n,{get:t[n],enumerable:!0})},Ye=(e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of Ke(t))Xe.call(e,i)||i===n||Je(e,i,{get:()=>t[i],enumerable:!(r=Ve(t,i))||r.enumerable});return e},Ge=(e,t,n)=>(n=null!=e?$e(We(e)):{},Ye(Je(n,"default",{value:e,enumerable:!0}),e)),Qe=(e,t,n)=>((e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n),Ze=He({"node_modules/picocolors/picocolors.js"(e,t){var n=$||{},r=n.argv||[],i=n.env||{},s=!(i.NO_COLOR||r.includes("--no-color"))&&(!!i.FORCE_COLOR||r.includes("--color")||"win32"===n.platform||(n.stdout||{}).isTTY&&"dumb"!==i.TERM||!!i.CI),a=(e,t,n=e)=>r=>{let i=""+r,s=i.indexOf(t,e.length);return~s?e+o(i,t,n,s)+t:e+i+t},o=(e,t,n,r)=>{let i="",s=0;do{i+=e.substring(s,r)+n,s=r+t.length,r=e.indexOf(t,s)}while(~r);return i+e.substring(s)},u=(e=s)=>{let t=e?a:()=>String;return{isColorSupported:e,reset:t("",""),bold:t("","",""),dim:t("","",""),italic:t("",""),underline:t("",""),inverse:t("",""),hidden:t("",""),strikethrough:t("",""),black:t("",""),red:t("",""),green:t("",""),yellow:t("",""),blue:t("",""),magenta:t("",""),cyan:t("",""),white:t("",""),gray:t("",""),bgBlack:t("",""),bgRed:t("",""),bgGreen:t("",""),bgYellow:t("",""),bgBlue:t("",""),bgMagenta:t("",""),bgCyan:t("",""),bgWhite:t("",""),blackBright:t("",""),redBright:t("",""),greenBright:t("",""),yellowBright:t("",""),blueBright:t("",""),magentaBright:t("",""),cyanBright:t("",""),whiteBright:t("",""),bgBlackBright:t("",""),bgRedBright:t("",""),bgGreenBright:t("",""),bgYellowBright:t("",""),bgBlueBright:t("",""),bgMagentaBright:t("",""),bgCyanBright:t("",""),bgWhiteBright:t("","")}};t.exports=u(),t.exports.createColors=u}}),et=He({"node_modules/js-tokens/index.js"(e,t){var n,r,i,s,a,o,u,c,l,p,d,h,f,m,y,g,b,x,S;f=/\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,h=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,n=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,y=/(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y,d=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,g=/[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y,S=/[\t\v\f\ufeff\p{Zs}]+/uy,c=/\r?\n|[\r\u2028\u2029]/y,l=/\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y,m=/\/\/.*/y,i=/[<>.:={}]|\/(?![\/*])/y,r=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,s=/(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y,a=/[^<>{}]+/y,x=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,b=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,u=/^(?:return|throw|yield)$/,p=RegExp(c.source),t.exports=function*(e,{jsx:t=!1}={}){var T,E,P,v,A,w,C,k,I,_,N,L,O,D;for(({length:w}=e),v=0,A="",D=[{tag:"JS"}],T=[],N=0,L=!1;v<w;){switch((k=D[D.length-1]).tag){case"JS":case"JSNonExpressionParen":case"InterpolationInTemplate":case"InterpolationInJSX":if("/"===e[v]&&(x.test(A)||o.test(A))&&(f.lastIndex=v,C=f.exec(e))){v=f.lastIndex,A=C[0],L=!0,yield{type:"RegularExpressionLiteral",value:C[0],closed:void 0!==C[1]&&"\\"!==C[1]};continue}if(h.lastIndex=v,C=h.exec(e)){switch(O=C[0],I=h.lastIndex,_=O,O){case"(":"?NonExpressionParenKeyword"===A&&D.push({tag:"JSNonExpressionParen",nesting:N}),N++,L=!1;break;case")":N--,L=!0,"JSNonExpressionParen"===k.tag&&N===k.nesting&&(D.pop(),_="?NonExpressionParenEnd",L=!1);break;case"{":h.lastIndex=0,P=!b.test(A)&&(x.test(A)||o.test(A)),T.push(P),L=!1;break;case"}":switch(k.tag){case"InterpolationInTemplate":if(T.length===k.nesting){g.lastIndex=v,C=g.exec(e),v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",L=!1,yield{type:"TemplateMiddle",value:C[0]}):(D.pop(),L=!0,yield{type:"TemplateTail",value:C[0],closed:"`"===C[1]});continue}break;case"InterpolationInJSX":if(T.length===k.nesting){D.pop(),v+=1,A="}",yield{type:"JSXPunctuator",value:"}"};continue}}_=(L=T.pop())?"?ExpressionBraceEnd":"}";break;case"]":L=!0;break;case"++":case"--":_=L?"?PostfixIncDec":"?UnaryIncDec";break;case"<":if(t&&(x.test(A)||o.test(A))){D.push({tag:"JSXTag"}),v+=1,A="<",yield{type:"JSXPunctuator",value:O};continue}L=!1;break;default:L=!1}v=I,A=_,yield{type:"Punctuator",value:O};continue}if(n.lastIndex=v,C=n.exec(e)){switch(v=n.lastIndex,_=C[0],C[0]){case"for":case"if":case"while":case"with":"."!==A&&"?."!==A&&(_="?NonExpressionParenKeyword")}A=_,L=!o.test(C[0]),yield{type:"#"===C[1]?"PrivateIdentifier":"IdentifierName",value:C[0]};continue}if(y.lastIndex=v,C=y.exec(e)){v=y.lastIndex,A=C[0],L=!0,yield{type:"StringLiteral",value:C[0],closed:void 0!==C[2]};continue}if(d.lastIndex=v,C=d.exec(e)){v=d.lastIndex,A=C[0],L=!0,yield{type:"NumericLiteral",value:C[0]};continue}if(g.lastIndex=v,C=g.exec(e)){v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",D.push({tag:"InterpolationInTemplate",nesting:T.length}),L=!1,yield{type:"TemplateHead",value:C[0]}):(L=!0,yield{type:"NoSubstitutionTemplate",value:C[0],closed:"`"===C[1]});continue}break;case"JSXTag":case"JSXTagEnd":if(i.lastIndex=v,C=i.exec(e)){switch(v=i.lastIndex,_=C[0],C[0]){case"<":D.push({tag:"JSXTag"});break;case">":D.pop(),"/"===A||"JSXTagEnd"===k.tag?(_="?JSX",L=!0):D.push({tag:"JSXChildren"});break;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),_="?InterpolationInJSX",L=!1;break;case"/":"<"===A&&(D.pop(),"JSXChildren"===D[D.length-1].tag&&D.pop(),D.push({tag:"JSXTagEnd"}))}A=_,yield{type:"JSXPunctuator",value:C[0]};continue}if(r.lastIndex=v,C=r.exec(e)){v=r.lastIndex,A=C[0],yield{type:"JSXIdentifier",value:C[0]};continue}if(s.lastIndex=v,C=s.exec(e)){v=s.lastIndex,A=C[0],yield{type:"JSXString",value:C[0],closed:void 0!==C[2]};continue}break;case"JSXChildren":if(a.lastIndex=v,C=a.exec(e)){v=a.lastIndex,A=C[0],yield{type:"JSXText",value:C[0]};continue}switch(e[v]){case"<":D.push({tag:"JSXTag"}),v++,A="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),v++,A="?InterpolationInJSX",L=!1,yield{type:"JSXPunctuator",value:"{"};continue}}S.lastIndex=v,(C=S.exec(e))?(v=S.lastIndex,yield{type:"WhiteSpace",value:C[0]}):(c.lastIndex=v,(C=c.exec(e))?(v=c.lastIndex,L=!1,u.test(A)&&(A="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:C[0]}):(l.lastIndex=v,(C=l.exec(e))?(v=l.lastIndex,p.test(C[0])&&(L=!1,u.test(A)&&(A="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:C[0],closed:void 0!==C[1]}):(m.lastIndex=v,(C=m.exec(e))?(v=m.lastIndex,L=!1,yield{type:"SingleLineComment",value:C[0]}):(v+=(E=String.fromCodePoint(e.codePointAt(v))).length,A=E,L=!1,yield{type:k.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:E}))))}}}}),tt=He({"node_modules/jsesc/jsesc.js"(e,t){var n={},r=n.hasOwnProperty,i=(e,t)=>{for(const n in e)r.call(e,n)&&t(n,e[n])},s=e=>"\\u"+("0000"+e).slice(-4),a=(e,t)=>{let n=e.toString(16);return t?n:n.toUpperCase()},o=n.toString,u=Array.isArray,c=e=>"bigint"==typeof e,l={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},p=/[\\\b\f\n\r\t]/,d=/[0-9]/,h=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,f=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,m=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,y=(e,t)=>{const n=()=>{v=P,++t.indentLevel,P=t.indent.repeat(t.indentLevel)},r={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",indentLevel:0,__inline1__:!1,__inline2__:!1},g=t&&t.json;var b,x;g&&(r.quotes="double",r.wrap=!0),b=r,t=(x=t)?(i(x,(e,t)=>{b[e]=t}),b):b,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const S="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",T=t.compact,E=t.lowercaseHex;let P=t.indent.repeat(t.indentLevel),v="";const A=t.__inline1__,w=t.__inline2__,C=T?"":"\n";let k,I=!0;const _="binary"==t.numbers,N="octal"==t.numbers,L="decimal"==t.numbers,O="hexadecimal"==t.numbers;if(g&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!(e=>"string"==typeof e||"[object String]"==o.call(e))(e)){if((e=>"[object Map]"==o.call(e))(e))return 0==e.size?"new Map()":(T||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+y(Array.from(e),t)+")");if((e=>"[object Set]"==o.call(e))(e))return 0==e.size?"new Set()":"new Set("+y(Array.from(e),t)+")";if((e=>Array.isArray(e))(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+y(Array.from(e),t)+")";if(u(e))return k=[],t.wrap=!0,A&&(t.__inline1__=!1,t.__inline2__=!0),w||n(),((e,t)=>{const n=e.length;let r=-1;for(;++r<n;)t(e[r])})(e,e=>{I=!1,w&&(t.__inline2__=!1),k.push((T||w?"":P)+y(e,t))}),I?"[]":w?"["+k.join(", ")+"]":"["+C+k.join(","+C)+C+(T?"":v)+"]";if((e=>"number"==typeof e||"[object Number]"==o.call(e))(e)||c(e)){if(g)return JSON.stringify(Number(e));let t;if(L)t=String(e);else if(O){let n=e.toString(16);E||(n=n.toUpperCase()),t="0x"+n}else _?t="0b"+e.toString(2):N&&(t="0o"+e.toString(8));return c(e)?t+"n":t}return c(e)?g?JSON.stringify(Number(e)):e+"n":(e=>"[object Object]"==o.call(e))(e)?(k=[],t.wrap=!0,n(),i(e,(e,n)=>{I=!1,k.push((T?"":P)+y(e,t)+":"+(T?"":" ")+y(n,t))}),I?"{}":"{"+C+k.join(","+C)+C+(T?"":v)+"}"):g?JSON.stringify(e)||"null":String(e)}const D=t.escapeEverything?f:m;return k=e.replace(D,(e,n,r,i,o,u)=>{if(n){if(t.minimal)return n;const e=n.charCodeAt(0),r=n.charCodeAt(1);if(t.es6){return"\\u{"+a(1024*(e-55296)+r-56320+65536,E)+"}"}return s(a(e,E))+s(a(r,E))}if(r)return s(a(r.charCodeAt(0),E));if("\0"==e&&!g&&!d.test(u.charAt(o+1)))return"\\0";if(i)return i==S||t.escapeEverything?"\\"+i:i;if(p.test(e))return l[e];if(t.minimal&&!h.test(e))return e;const c=a(e.charCodeAt(0),E);return g||c.length>2?s(c):"\\x"+("00"+c).slice(-2)}),"`"==S&&(k=k.replace(/\$\{/g,"\\${")),t.isScriptContext&&(k=k.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,g?"\\u003C!--":"\\x3C!--")),t.wrap&&(k=S+k+S),k};y.version="3.0.2",t.exports=y}}),nt=He({"node_modules/debug/src/index.js"(e,t){t.exports=()=>({enabled:!1})}}),rt={};ze(rt,{codeFrameColumns:()=>oI,generate:()=>PO,parse:()=>Vk,parseExpression:()=>Kk,template:()=>QI,tokTypes:()=>Wk,traverse:()=>Kj,types:()=>at});var it,st=(it=rt,Ye(Je({},"__esModule",{value:!0}),it)),at={};ze(at,{ACCESSOR_TYPES:()=>hA,ALIAS_KEYS:()=>qo,ASSIGNMENT_OPERATORS:()=>Do,AnyTypeAnnotation:()=>bm,ArgumentPlaceholder:()=>Wy,ArrayExpression:()=>Bh,ArrayPattern:()=>Mf,ArrayTypeAnnotation:()=>xm,ArrowFunctionExpression:()=>Bf,AssignmentExpression:()=>Fh,AssignmentPattern:()=>Df,AwaitExpression:()=>sm,BINARY_OPERATORS:()=>Oo,BINARY_TYPES:()=>Dv,BLOCKPARENT_TYPES:()=>Bv,BLOCK_TYPES:()=>Fv,BOOLEAN_BINARY_OPERATORS:()=>No,BOOLEAN_NUMBER_BINARY_OPERATORS:()=>ko,BOOLEAN_UNARY_OPERATORS:()=>Mo,BUILDER_KEYS:()=>Vo,BigIntLiteral:()=>om,BinaryExpression:()=>Rh,BindExpression:()=>Xy,BlockStatement:()=>$h,BooleanLiteral:()=>lf,BooleanLiteralTypeAnnotation:()=>Tm,BooleanTypeAnnotation:()=>Sm,BreakStatement:()=>Jh,CLASS_TYPES:()=>cA,COMMENT_KEYS:()=>Ao,COMPARISON_BINARY_OPERATORS:()=>_o,COMPLETIONSTATEMENT_TYPES:()=>Uv,CONDITIONAL_TYPES:()=>qv,CallExpression:()=>Vh,CatchClause:()=>Kh,ClassAccessorProperty:()=>dm,ClassBody:()=>Ff,ClassDeclaration:()=>jf,ClassExpression:()=>Rf,ClassImplements:()=>Pm,ClassMethod:()=>Gf,ClassPrivateMethod:()=>fm,ClassPrivateProperty:()=>hm,ClassProperty:()=>pm,ConditionalExpression:()=>Wh,ContinueStatement:()=>Xh,DECLARATION_TYPES:()=>Yv,DEPRECATED_ALIASES:()=>Uu,DEPRECATED_KEYS:()=>Ko,DebuggerStatement:()=>Hh,DeclareClass:()=>vm,DeclareExportAllDeclaration:()=>Om,DeclareExportDeclaration:()=>Lm,DeclareFunction:()=>Am,DeclareInterface:()=>wm,DeclareModule:()=>Cm,DeclareModuleExports:()=>km,DeclareOpaqueType:()=>_m,DeclareTypeAlias:()=>Im,DeclareVariable:()=>Nm,DeclaredPredicate:()=>Dm,Decorator:()=>Hy,Directive:()=>Uh,DirectiveLiteral:()=>qh,DoExpression:()=>zy,DoWhileStatement:()=>zh,ENUMBODY_TYPES:()=>SA,ENUMMEMBER_TYPES:()=>TA,EQUALITY_BINARY_OPERATORS:()=>Io,EXPORTDECLARATION_TYPES:()=>pA,EXPRESSIONWRAPPER_TYPES:()=>Vv,EXPRESSION_TYPES:()=>Ov,EmptyStatement:()=>Yh,EmptyTypeAnnotation:()=>Km,EnumBooleanBody:()=>xy,EnumBooleanMember:()=>Py,EnumDeclaration:()=>by,EnumDefaultedMember:()=>wy,EnumNumberBody:()=>Sy,EnumNumberMember:()=>vy,EnumStringBody:()=>Ty,EnumStringMember:()=>Ay,EnumSymbolBody:()=>Ey,ExistsTypeAnnotation:()=>Mm,ExportAllDeclaration:()=>Uf,ExportDefaultDeclaration:()=>qf,ExportDefaultSpecifier:()=>Yy,ExportNamedDeclaration:()=>$f,ExportNamespaceSpecifier:()=>um,ExportSpecifier:()=>Jf,ExpressionStatement:()=>Gh,FLATTENABLE_KEYS:()=>Po,FLIPPED_ALIAS_KEYS:()=>$o,FLOWBASEANNOTATION_TYPES:()=>gA,FLOWDECLARATION_TYPES:()=>bA,FLOWPREDICATE_TYPES:()=>xA,FLOWTYPE_TYPES:()=>yA,FLOW_TYPES:()=>mA,FORXSTATEMENT_TYPES:()=>Wv,FOR_INIT_KEYS:()=>vo,FOR_TYPES:()=>Kv,FUNCTIONPARAMETER_TYPES:()=>Gv,FUNCTIONPARENT_TYPES:()=>Hv,FUNCTION_TYPES:()=>Xv,File:()=>Qh,ForInStatement:()=>Zh,ForOfStatement:()=>Vf,ForStatement:()=>ef,FunctionDeclaration:()=>tf,FunctionExpression:()=>nf,FunctionTypeAnnotation:()=>Bm,FunctionTypeParam:()=>Fm,GenericTypeAnnotation:()=>Rm,IMMUTABLE_TYPES:()=>nA,IMPORTOREXPORTDECLARATION_TYPES:()=>lA,INHERIT_KEYS:()=>jo,Identifier:()=>rf,IfStatement:()=>sf,Import:()=>am,ImportAttribute:()=>gm,ImportDeclaration:()=>Kf,ImportDefaultSpecifier:()=>Wf,ImportExpression:()=>zf,ImportNamespaceSpecifier:()=>Xf,ImportSpecifier:()=>Hf,IndexedAccessType:()=>Cy,InferredPredicate:()=>jm,InterfaceDeclaration:()=>qm,InterfaceExtends:()=>Um,InterfaceTypeAnnotation:()=>$m,InterpreterDirective:()=>jh,IntersectionTypeAnnotation:()=>Jm,JSXAttribute:()=>Iy,JSXClosingElement:()=>_y,JSXClosingFragment:()=>Jy,JSXElement:()=>Ny,JSXEmptyExpression:()=>Ly,JSXExpressionContainer:()=>Oy,JSXFragment:()=>qy,JSXIdentifier:()=>My,JSXMemberExpression:()=>By,JSXNamespacedName:()=>Fy,JSXOpeningElement:()=>Ry,JSXOpeningFragment:()=>$y,JSXSpreadAttribute:()=>jy,JSXSpreadChild:()=>Dy,JSXText:()=>Uy,JSX_TYPES:()=>EA,LITERAL_TYPES:()=>tA,LOGICAL_OPERATORS:()=>wo,LOOP_TYPES:()=>$v,LVAL_TYPES:()=>Zv,LabeledStatement:()=>af,LogicalExpression:()=>df,METHOD_TYPES:()=>iA,MISCELLANEOUS_TYPES:()=>PA,MODULEDECLARATION_TYPES:()=>kA,MODULESPECIFIER_TYPES:()=>dA,MemberExpression:()=>hf,MetaProperty:()=>Yf,MixedTypeAnnotation:()=>Vm,ModuleExpression:()=>Zy,NODE_FIELDS:()=>Jo,NODE_PARENT_VALIDATIONS:()=>Wo,NUMBER_BINARY_OPERATORS:()=>Lo,NUMBER_UNARY_OPERATORS:()=>Bo,NewExpression:()=>ff,NullLiteral:()=>cf,NullLiteralTypeAnnotation:()=>Em,NullableTypeAnnotation:()=>Wm,NumberLiteralTypeAnnotation:()=>Xm,NumberTypeAnnotation:()=>Hm,NumericLiteral:()=>uf,OBJECTMEMBER_TYPES:()=>sA,ObjectExpression:()=>yf,ObjectMethod:()=>gf,ObjectPattern:()=>Qf,ObjectProperty:()=>bf,ObjectTypeAnnotation:()=>zm,ObjectTypeCallProperty:()=>Gm,ObjectTypeIndexer:()=>Qm,ObjectTypeInternalSlot:()=>Ym,ObjectTypeProperty:()=>Zm,ObjectTypeSpreadProperty:()=>ey,OpaqueType:()=>ty,OptionalCallExpression:()=>lm,OptionalIndexedAccessType:()=>ky,OptionalMemberExpression:()=>cm,PATTERNLIKE_TYPES:()=>Qv,PATTERN_TYPES:()=>uA,PLACEHOLDERS:()=>Cu,PLACEHOLDERS_ALIAS:()=>ku,PLACEHOLDERS_FLIPPED_ALIAS:()=>Iu,PRIVATE_TYPES:()=>fA,PROPERTY_TYPES:()=>aA,PUREISH_TYPES:()=>zv,ParenthesizedExpression:()=>Ef,PipelineBareFunction:()=>ng,PipelinePrimaryTopicReference:()=>rg,PipelineTopicExpression:()=>tg,Placeholder:()=>Vy,PrivateName:()=>mm,Program:()=>mf,QualifiedTypeIdentifier:()=>ny,RecordExpression:()=>Gy,RegExpLiteral:()=>pf,RestElement:()=>xf,ReturnStatement:()=>Sf,SCOPABLE_TYPES:()=>Mv,STANDARDIZED_TYPES:()=>Lv,STATEMENT_OR_BLOCK_KEYS:()=>Eo,STATEMENT_TYPES:()=>Rv,STRING_UNARY_OPERATORS:()=>Fo,SequenceExpression:()=>Tf,SpreadElement:()=>Zf,StaticBlock:()=>ym,StringLiteral:()=>of,StringLiteralTypeAnnotation:()=>ry,StringTypeAnnotation:()=>iy,Super:()=>em,SwitchCase:()=>Pf,SwitchStatement:()=>vf,SymbolTypeAnnotation:()=>sy,TERMINATORLESS_TYPES:()=>jv,TSAnyKeyword:()=>fg,TSArrayType:()=>Dg,TSAsExpression:()=>tb,TSBASETYPE_TYPES:()=>CA,TSBigIntKeyword:()=>yg,TSBooleanKeyword:()=>mg,TSCallSignatureDeclaration:()=>cg,TSClassImplements:()=>zg,TSConditionalType:()=>qg,TSConstructSignatureDeclaration:()=>lg,TSConstructorType:()=>Ig,TSDeclareFunction:()=>ag,TSDeclareMethod:()=>og,TSENTITYNAME_TYPES:()=>eA,TSEnumBody:()=>ib,TSEnumDeclaration:()=>sb,TSEnumMember:()=>ab,TSExportAssignment:()=>hb,TSExternalModuleReference:()=>pb,TSFunctionType:()=>kg,TSImportEqualsDeclaration:()=>lb,TSImportType:()=>cb,TSIndexSignature:()=>hg,TSIndexedAccessType:()=>Kg,TSInferType:()=>$g,TSInstantiationExpression:()=>eb,TSInterfaceBody:()=>Qg,TSInterfaceDeclaration:()=>Gg,TSInterfaceHeritage:()=>Yg,TSIntersectionType:()=>Ug,TSIntrinsicKeyword:()=>gg,TSLiteralType:()=>Hg,TSMappedType:()=>Wg,TSMethodSignature:()=>dg,TSModuleBlock:()=>ub,TSModuleDeclaration:()=>ob,TSNamedTupleMember:()=>Rg,TSNamespaceExportDeclaration:()=>fb,TSNeverKeyword:()=>bg,TSNonNullExpression:()=>db,TSNullKeyword:()=>xg,TSNumberKeyword:()=>Sg,TSObjectKeyword:()=>Tg,TSOptionalType:()=>Bg,TSParameterProperty:()=>sg,TSParenthesizedType:()=>Jg,TSPropertySignature:()=>pg,TSQualifiedName:()=>ug,TSRestType:()=>Fg,TSSatisfiesExpression:()=>nb,TSStringKeyword:()=>Eg,TSSymbolKeyword:()=>Pg,TSTYPEELEMENT_TYPES:()=>AA,TSTYPE_TYPES:()=>wA,TSTemplateLiteralType:()=>Xg,TSThisType:()=>Cg,TSTupleType:()=>Mg,TSTypeAliasDeclaration:()=>Zg,TSTypeAnnotation:()=>mb,TSTypeAssertion:()=>rb,TSTypeLiteral:()=>Og,TSTypeOperator:()=>Vg,TSTypeParameter:()=>bb,TSTypeParameterDeclaration:()=>gb,TSTypeParameterInstantiation:()=>yb,TSTypePredicate:()=>Ng,TSTypeQuery:()=>Lg,TSTypeReference:()=>_g,TSUndefinedKeyword:()=>vg,TSUnionType:()=>jg,TSUnknownKeyword:()=>Ag,TSVoidKeyword:()=>wg,TYPES:()=>qu,TYPESCRIPT_TYPES:()=>vA,TaggedTemplateExpression:()=>tm,TemplateElement:()=>nm,TemplateLiteral:()=>rm,ThisExpression:()=>Af,ThisTypeAnnotation:()=>ay,ThrowStatement:()=>wf,TopicReference:()=>eg,TryStatement:()=>Cf,TupleExpression:()=>Qy,TupleTypeAnnotation:()=>oy,TypeAlias:()=>cy,TypeAnnotation:()=>ly,TypeCastExpression:()=>py,TypeParameter:()=>dy,TypeParameterDeclaration:()=>hy,TypeParameterInstantiation:()=>fy,TypeofTypeAnnotation:()=>uy,UNARYLIKE_TYPES:()=>oA,UNARY_OPERATORS:()=>Ro,UPDATE_OPERATORS:()=>Co,USERWHITESPACABLE_TYPES:()=>rA,UnaryExpression:()=>kf,UnionTypeAnnotation:()=>my,UpdateExpression:()=>If,V8IntrinsicIdentifier:()=>Ky,VISITOR_KEYS:()=>Uo,VariableDeclaration:()=>_f,VariableDeclarator:()=>Nf,Variance:()=>yy,VoidPattern:()=>ig,VoidTypeAnnotation:()=>gy,WHILE_TYPES:()=>Jv,WhileStatement:()=>Lf,WithStatement:()=>Of,YieldExpression:()=>im,__internal__deprecationWarning:()=>It,addComment:()=>Av,addComments:()=>vv,anyTypeAnnotation:()=>Il,appendToMemberExpression:()=>WA,argumentPlaceholder:()=>rd,arrayExpression:()=>Hu,arrayPattern:()=>Wc,arrayTypeAnnotation:()=>_l,arrowFunctionExpression:()=>Xc,assertAccessor:()=>UP,assertAnyTypeAnnotation:()=>iS,assertArgumentPlaceholder:()=>LT,assertArrayExpression:()=>Pb,assertArrayPattern:()=>Tx,assertArrayTypeAnnotation:()=>sS,assertArrowFunctionExpression:()=>Ex,assertAssignmentExpression:()=>vb,assertAssignmentPattern:()=>Sx,assertAwaitExpression:()=>Kx,assertBigIntLiteral:()=>Xx,assertBinary:()=>oP,assertBinaryExpression:()=>Ab,assertBindExpression:()=>OT,assertBlock:()=>lP,assertBlockParent:()=>cP,assertBlockStatement:()=>Ib,assertBooleanLiteral:()=>Yb,assertBooleanLiteralTypeAnnotation:()=>oS,assertBooleanTypeAnnotation:()=>aS,assertBreakStatement:()=>_b,assertCallExpression:()=>Nb,assertCatchClause:()=>Lb,assertClass:()=>BP,assertClassAccessorProperty:()=>Qx,assertClassBody:()=>Px,assertClassDeclaration:()=>Ax,assertClassExpression:()=>vx,assertClassImplements:()=>cS,assertClassMethod:()=>Fx,assertClassPrivateMethod:()=>eS,assertClassPrivateProperty:()=>Zx,assertClassProperty:()=>Gx,assertCompletionStatement:()=>hP,assertConditional:()=>fP,assertConditionalExpression:()=>Ob,assertContinueStatement:()=>Db,assertDebuggerStatement:()=>Mb,assertDeclaration:()=>PP,assertDeclareClass:()=>lS,assertDeclareExportAllDeclaration:()=>xS,assertDeclareExportDeclaration:()=>bS,assertDeclareFunction:()=>pS,assertDeclareInterface:()=>dS,assertDeclareModule:()=>hS,assertDeclareModuleExports:()=>fS,assertDeclareOpaqueType:()=>yS,assertDeclareTypeAlias:()=>mS,assertDeclareVariable:()=>gS,assertDeclaredPredicate:()=>SS,assertDecorator:()=>DT,assertDirective:()=>Cb,assertDirectiveLiteral:()=>kb,assertDoExpression:()=>MT,assertDoWhileStatement:()=>Bb,assertEmptyStatement:()=>Fb,assertEmptyTypeAnnotation:()=>NS,assertEnumBody:()=>XP,assertEnumBooleanBody:()=>sT,assertEnumBooleanMember:()=>cT,assertEnumDeclaration:()=>iT,assertEnumDefaultedMember:()=>dT,assertEnumMember:()=>HP,assertEnumNumberBody:()=>aT,assertEnumNumberMember:()=>lT,assertEnumStringBody:()=>oT,assertEnumStringMember:()=>pT,assertEnumSymbolBody:()=>uT,assertExistsTypeAnnotation:()=>TS,assertExportAllDeclaration:()=>wx,assertExportDeclaration:()=>RP,assertExportDefaultDeclaration:()=>Cx,assertExportDefaultSpecifier:()=>BT,assertExportNamedDeclaration:()=>kx,assertExportNamespaceSpecifier:()=>Hx,assertExportSpecifier:()=>Ix,assertExpression:()=>aP,assertExpressionStatement:()=>Rb,assertExpressionWrapper:()=>gP,assertFile:()=>jb,assertFlow:()=>$P,assertFlowBaseAnnotation:()=>VP,assertFlowDeclaration:()=>KP,assertFlowPredicate:()=>WP,assertFlowType:()=>JP,assertFor:()=>bP,assertForInStatement:()=>Ub,assertForOfStatement:()=>_x,assertForStatement:()=>qb,assertForXStatement:()=>xP,assertFunction:()=>SP,assertFunctionDeclaration:()=>$b,assertFunctionExpression:()=>Jb,assertFunctionParameter:()=>vP,assertFunctionParent:()=>TP,assertFunctionTypeAnnotation:()=>ES,assertFunctionTypeParam:()=>PS,assertGenericTypeAnnotation:()=>vS,assertIdentifier:()=>Vb,assertIfStatement:()=>Kb,assertImmutable:()=>IP,assertImport:()=>Wx,assertImportAttribute:()=>rS,assertImportDeclaration:()=>Nx,assertImportDefaultSpecifier:()=>Lx,assertImportExpression:()=>Mx,assertImportNamespaceSpecifier:()=>Ox,assertImportOrExportDeclaration:()=>FP,assertImportSpecifier:()=>Dx,assertIndexedAccessType:()=>hT,assertInferredPredicate:()=>AS,assertInterfaceDeclaration:()=>CS,assertInterfaceExtends:()=>wS,assertInterfaceTypeAnnotation:()=>kS,assertInterpreterDirective:()=>wb,assertIntersectionTypeAnnotation:()=>IS,assertJSX:()=>zP,assertJSXAttribute:()=>mT,assertJSXClosingElement:()=>yT,assertJSXClosingFragment:()=>IT,assertJSXElement:()=>gT,assertJSXEmptyExpression:()=>bT,assertJSXExpressionContainer:()=>xT,assertJSXFragment:()=>CT,assertJSXIdentifier:()=>TT,assertJSXMemberExpression:()=>ET,assertJSXNamespacedName:()=>PT,assertJSXOpeningElement:()=>vT,assertJSXOpeningFragment:()=>kT,assertJSXSpreadAttribute:()=>AT,assertJSXSpreadChild:()=>ST,assertJSXText:()=>wT,assertLVal:()=>wP,assertLabeledStatement:()=>Wb,assertLiteral:()=>kP,assertLogicalExpression:()=>Qb,assertLoop:()=>mP,assertMemberExpression:()=>Zb,assertMetaProperty:()=>Bx,assertMethod:()=>NP,assertMiscellaneous:()=>YP,assertMixedTypeAnnotation:()=>_S,assertModuleDeclaration:()=>sv,assertModuleExpression:()=>jT,assertModuleSpecifier:()=>jP,assertNewExpression:()=>ex,assertNode:()=>Tb,assertNullLiteral:()=>zb,assertNullLiteralTypeAnnotation:()=>uS,assertNullableTypeAnnotation:()=>LS,assertNumberLiteral:()=>tv,assertNumberLiteralTypeAnnotation:()=>OS,assertNumberTypeAnnotation:()=>DS,assertNumericLiteral:()=>Hb,assertObjectExpression:()=>nx,assertObjectMember:()=>LP,assertObjectMethod:()=>rx,assertObjectPattern:()=>Rx,assertObjectProperty:()=>ix,assertObjectTypeAnnotation:()=>MS,assertObjectTypeCallProperty:()=>FS,assertObjectTypeIndexer:()=>RS,assertObjectTypeInternalSlot:()=>BS,assertObjectTypeProperty:()=>jS,assertObjectTypeSpreadProperty:()=>US,assertOpaqueType:()=>qS,assertOptionalCallExpression:()=>Yx,assertOptionalIndexedAccessType:()=>fT,assertOptionalMemberExpression:()=>zx,assertParenthesizedExpression:()=>ux,assertPattern:()=>MP,assertPatternLike:()=>AP,assertPipelineBareFunction:()=>$T,assertPipelinePrimaryTopicReference:()=>JT,assertPipelineTopicExpression:()=>qT,assertPlaceholder:()=>_T,assertPrivate:()=>qP,assertPrivateName:()=>tS,assertProgram:()=>tx,assertProperty:()=>OP,assertPureish:()=>EP,assertQualifiedTypeIdentifier:()=>$S,assertRecordExpression:()=>FT,assertRegExpLiteral:()=>Gb,assertRegexLiteral:()=>nv,assertRestElement:()=>sx,assertRestProperty:()=>rv,assertReturnStatement:()=>ax,assertScopable:()=>uP,assertSequenceExpression:()=>ox,assertSpreadElement:()=>jx,assertSpreadProperty:()=>iv,assertStandardized:()=>sP,assertStatement:()=>pP,assertStaticBlock:()=>nS,assertStringLiteral:()=>Xb,assertStringLiteralTypeAnnotation:()=>JS,assertStringTypeAnnotation:()=>VS,assertSuper:()=>Ux,assertSwitchCase:()=>cx,assertSwitchStatement:()=>lx,assertSymbolTypeAnnotation:()=>KS,assertTSAnyKeyword:()=>eE,assertTSArrayType:()=>SE,assertTSAsExpression:()=>qE,assertTSBaseType:()=>ev,assertTSBigIntKeyword:()=>nE,assertTSBooleanKeyword:()=>tE,assertTSCallSignatureDeclaration:()=>zT,assertTSClassImplements:()=>ME,assertTSConditionalType:()=>CE,assertTSConstructSignatureDeclaration:()=>YT,assertTSConstructorType:()=>mE,assertTSDeclareFunction:()=>WT,assertTSDeclareMethod:()=>XT,assertTSEntityName:()=>CP,assertTSEnumBody:()=>VE,assertTSEnumDeclaration:()=>KE,assertTSEnumMember:()=>WE,assertTSExportAssignment:()=>ZE,assertTSExternalModuleReference:()=>GE,assertTSFunctionType:()=>fE,assertTSImportEqualsDeclaration:()=>YE,assertTSImportType:()=>zE,assertTSIndexSignature:()=>ZT,assertTSIndexedAccessType:()=>NE,assertTSInferType:()=>kE,assertTSInstantiationExpression:()=>UE,assertTSInterfaceBody:()=>RE,assertTSInterfaceDeclaration:()=>FE,assertTSInterfaceHeritage:()=>BE,assertTSIntersectionType:()=>wE,assertTSIntrinsicKeyword:()=>rE,assertTSLiteralType:()=>DE,assertTSMappedType:()=>LE,assertTSMethodSignature:()=>QT,assertTSModuleBlock:()=>HE,assertTSModuleDeclaration:()=>XE,assertTSNamedTupleMember:()=>vE,assertTSNamespaceExportDeclaration:()=>eP,assertTSNeverKeyword:()=>iE,assertTSNonNullExpression:()=>QE,assertTSNullKeyword:()=>sE,assertTSNumberKeyword:()=>aE,assertTSObjectKeyword:()=>oE,assertTSOptionalType:()=>EE,assertTSParameterProperty:()=>KT,assertTSParenthesizedType:()=>IE,assertTSPropertySignature:()=>GT,assertTSQualifiedName:()=>HT,assertTSRestType:()=>PE,assertTSSatisfiesExpression:()=>$E,assertTSStringKeyword:()=>uE,assertTSSymbolKeyword:()=>cE,assertTSTemplateLiteralType:()=>OE,assertTSThisType:()=>hE,assertTSTupleType:()=>TE,assertTSType:()=>ZP,assertTSTypeAliasDeclaration:()=>jE,assertTSTypeAnnotation:()=>tP,assertTSTypeAssertion:()=>JE,assertTSTypeElement:()=>QP,assertTSTypeLiteral:()=>xE,assertTSTypeOperator:()=>_E,assertTSTypeParameter:()=>iP,assertTSTypeParameterDeclaration:()=>rP,assertTSTypeParameterInstantiation:()=>nP,assertTSTypePredicate:()=>gE,assertTSTypeQuery:()=>bE,assertTSTypeReference:()=>yE,assertTSUndefinedKeyword:()=>lE,assertTSUnionType:()=>AE,assertTSUnknownKeyword:()=>pE,assertTSVoidKeyword:()=>dE,assertTaggedTemplateExpression:()=>qx,assertTemplateElement:()=>$x,assertTemplateLiteral:()=>Jx,assertTerminatorless:()=>dP,assertThisExpression:()=>px,assertThisTypeAnnotation:()=>WS,assertThrowStatement:()=>dx,assertTopicReference:()=>UT,assertTryStatement:()=>hx,assertTupleExpression:()=>RT,assertTupleTypeAnnotation:()=>XS,assertTypeAlias:()=>zS,assertTypeAnnotation:()=>YS,assertTypeCastExpression:()=>GS,assertTypeParameter:()=>QS,assertTypeParameterDeclaration:()=>ZS,assertTypeParameterInstantiation:()=>eT,assertTypeScript:()=>GP,assertTypeofTypeAnnotation:()=>HS,assertUnaryExpression:()=>fx,assertUnaryLike:()=>DP,assertUnionTypeAnnotation:()=>tT,assertUpdateExpression:()=>mx,assertUserWhitespacable:()=>_P,assertV8IntrinsicIdentifier:()=>NT,assertVariableDeclaration:()=>yx,assertVariableDeclarator:()=>gx,assertVariance:()=>nT,assertVoidPattern:()=>VT,assertVoidTypeAnnotation:()=>rT,assertWhile:()=>yP,assertWhileStatement:()=>bx,assertWithStatement:()=>xx,assertYieldExpression:()=>Vx,assignmentExpression:()=>zu,assignmentPattern:()=>Kc,awaitExpression:()=>yl,bigIntLiteral:()=>bl,binaryExpression:()=>Yu,bindExpression:()=>id,blockStatement:()=>ec,booleanLiteral:()=>Tc,booleanLiteralTypeAnnotation:()=>Ll,booleanTypeAnnotation:()=>Nl,breakStatement:()=>tc,buildMatchMemberExpression:()=>yo,buildUndefinedNode:()=>hv,callExpression:()=>nc,catchClause:()=>rc,classAccessorProperty:()=>Pl,classBody:()=>Hc,classDeclaration:()=>Yc,classExpression:()=>zc,classImplements:()=>Dl,classMethod:()=>ul,classPrivateMethod:()=>Al,classPrivateProperty:()=>vl,classProperty:()=>El,clone:()=>Sv,cloneDeep:()=>Tv,cloneDeepWithoutLoc:()=>Ev,cloneNode:()=>gv,cloneWithoutLoc:()=>Pv,conditionalExpression:()=>ic,continueStatement:()=>sc,createFlowUnionType:()=>cv,createTSUnionType:()=>dv,createTypeAnnotationBasedOnTypeof:()=>av,createUnionTypeAnnotation:()=>cv,debuggerStatement:()=>ac,declareClass:()=>Ml,declareExportAllDeclaration:()=>Vl,declareExportDeclaration:()=>Jl,declareFunction:()=>Bl,declareInterface:()=>Fl,declareModule:()=>Rl,declareModuleExports:()=>jl,declareOpaqueType:()=>ql,declareTypeAlias:()=>Ul,declareVariable:()=>$l,declaredPredicate:()=>Kl,decorator:()=>sd,directive:()=>Qu,directiveLiteral:()=>Zu,doExpression:()=>ad,doWhileStatement:()=>oc,emptyStatement:()=>uc,emptyTypeAnnotation:()=>np,ensureBlock:()=>_A,enumBooleanBody:()=>_p,enumBooleanMember:()=>Dp,enumDeclaration:()=>Ip,enumDefaultedMember:()=>Fp,enumNumberBody:()=>Np,enumNumberMember:()=>Mp,enumStringBody:()=>Lp,enumStringMember:()=>Bp,enumSymbolBody:()=>Op,existsTypeAnnotation:()=>Wl,exportAllDeclaration:()=>Gc,exportDefaultDeclaration:()=>Qc,exportDefaultSpecifier:()=>od,exportNamedDeclaration:()=>Zc,exportNamespaceSpecifier:()=>xl,exportSpecifier:()=>el,expressionStatement:()=>cc,file:()=>lc,forInStatement:()=>pc,forOfStatement:()=>tl,forStatement:()=>dc,functionDeclaration:()=>hc,functionExpression:()=>fc,functionTypeAnnotation:()=>Xl,functionTypeParam:()=>Hl,genericTypeAnnotation:()=>zl,getAssignmentIdentifiers:()=>zA,getBindingIdentifiers:()=>YA,getFunctionName:()=>ZA,getOuterBindingIdentifiers:()=>GA,identifier:()=>mc,ifStatement:()=>yc,import:()=>gl,importAttribute:()=>kl,importDeclaration:()=>nl,importDefaultSpecifier:()=>rl,importExpression:()=>al,importNamespaceSpecifier:()=>il,importSpecifier:()=>sl,indexedAccessType:()=>Rp,inferredPredicate:()=>Yl,inheritInnerComments:()=>Cv,inheritLeadingComments:()=>kv,inheritTrailingComments:()=>Iv,inherits:()=>XA,inheritsComments:()=>_v,interfaceDeclaration:()=>Ql,interfaceExtends:()=>Gl,interfaceTypeAnnotation:()=>Zl,interpreterDirective:()=>Gu,intersectionTypeAnnotation:()=>ep,is:()=>So,isAccessor:()=>Xa,isAnyTypeAnnotation:()=>dr,isArgumentPlaceholder:()=>Ui,isArrayExpression:()=>_t,isArrayPattern:()=>In,isArrayTypeAnnotation:()=>hr,isArrowFunctionExpression:()=>_n,isAssignmentExpression:()=>Nt,isAssignmentPattern:()=>kn,isAwaitExpression:()=>Zn,isBigIntLiteral:()=>tr,isBinary:()=>ma,isBinaryExpression:()=>Lt,isBindExpression:()=>qi,isBinding:()=>nw,isBlock:()=>ba,isBlockParent:()=>ga,isBlockScoped:()=>iw,isBlockStatement:()=>Bt,isBooleanLiteral:()=>rn,isBooleanLiteralTypeAnnotation:()=>mr,isBooleanTypeAnnotation:()=>fr,isBreakStatement:()=>Ft,isCallExpression:()=>Rt,isCatchClause:()=>jt,isClass:()=>Ja,isClassAccessorProperty:()=>ar,isClassBody:()=>Nn,isClassDeclaration:()=>On,isClassExpression:()=>Ln,isClassImplements:()=>gr,isClassMethod:()=>Kn,isClassPrivateMethod:()=>ur,isClassPrivateProperty:()=>or,isClassProperty:()=>sr,isCompletionStatement:()=>Ta,isConditional:()=>Ea,isConditionalExpression:()=>Ut,isContinueStatement:()=>qt,isDebuggerStatement:()=>$t,isDeclaration:()=>Na,isDeclareClass:()=>br,isDeclareExportAllDeclaration:()=>Cr,isDeclareExportDeclaration:()=>wr,isDeclareFunction:()=>xr,isDeclareInterface:()=>Sr,isDeclareModule:()=>Tr,isDeclareModuleExports:()=>Er,isDeclareOpaqueType:()=>vr,isDeclareTypeAlias:()=>Pr,isDeclareVariable:()=>Ar,isDeclaredPredicate:()=>kr,isDecorator:()=>$i,isDirective:()=>Dt,isDirectiveLiteral:()=>Mt,isDoExpression:()=>Ji,isDoWhileStatement:()=>Jt,isEmptyStatement:()=>Vt,isEmptyTypeAnnotation:()=>jr,isEnumBody:()=>eo,isEnumBooleanBody:()=>hi,isEnumBooleanMember:()=>gi,isEnumDeclaration:()=>di,isEnumDefaultedMember:()=>Si,isEnumMember:()=>to,isEnumNumberBody:()=>fi,isEnumNumberMember:()=>bi,isEnumStringBody:()=>mi,isEnumStringMember:()=>xi,isEnumSymbolBody:()=>yi,isExistsTypeAnnotation:()=>Ir,isExportAllDeclaration:()=>Dn,isExportDeclaration:()=>Ka,isExportDefaultDeclaration:()=>Mn,isExportDefaultSpecifier:()=>Vi,isExportNamedDeclaration:()=>Bn,isExportNamespaceSpecifier:()=>nr,isExportSpecifier:()=>Fn,isExpression:()=>fa,isExpressionStatement:()=>Kt,isExpressionWrapper:()=>Aa,isFile:()=>Wt,isFlow:()=>za,isFlowBaseAnnotation:()=>Ga,isFlowDeclaration:()=>Qa,isFlowPredicate:()=>Za,isFlowType:()=>Ya,isFor:()=>wa,isForInStatement:()=>Xt,isForOfStatement:()=>Rn,isForStatement:()=>Ht,isForXStatement:()=>Ca,isFunction:()=>ka,isFunctionDeclaration:()=>zt,isFunctionExpression:()=>Yt,isFunctionParameter:()=>La,isFunctionParent:()=>Ia,isFunctionTypeAnnotation:()=>_r,isFunctionTypeParam:()=>Nr,isGenericTypeAnnotation:()=>Lr,isIdentifier:()=>Gt,isIfStatement:()=>Qt,isImmutable:()=>sw,isImport:()=>er,isImportAttribute:()=>pr,isImportDeclaration:()=>jn,isImportDefaultSpecifier:()=>Un,isImportExpression:()=>Jn,isImportNamespaceSpecifier:()=>qn,isImportOrExportDeclaration:()=>Va,isImportSpecifier:()=>$n,isIndexedAccessType:()=>Ti,isInferredPredicate:()=>Or,isInterfaceDeclaration:()=>Mr,isInterfaceExtends:()=>Dr,isInterfaceTypeAnnotation:()=>Br,isInterpreterDirective:()=>Ot,isIntersectionTypeAnnotation:()=>Fr,isJSX:()=>no,isJSXAttribute:()=>Pi,isJSXClosingElement:()=>vi,isJSXClosingFragment:()=>Fi,isJSXElement:()=>Ai,isJSXEmptyExpression:()=>wi,isJSXExpressionContainer:()=>Ci,isJSXFragment:()=>Mi,isJSXIdentifier:()=>Ii,isJSXMemberExpression:()=>_i,isJSXNamespacedName:()=>Ni,isJSXOpeningElement:()=>Li,isJSXOpeningFragment:()=>Bi,isJSXSpreadAttribute:()=>Oi,isJSXSpreadChild:()=>ki,isJSXText:()=>Di,isLVal:()=>Da,isLabeledStatement:()=>Zt,isLet:()=>rw,isLiteral:()=>Ba,isLogicalExpression:()=>an,isLoop:()=>Pa,isMemberExpression:()=>on,isMetaProperty:()=>Vn,isMethod:()=>Ra,isMiscellaneous:()=>ro,isMixedTypeAnnotation:()=>Rr,isModuleDeclaration:()=>ho,isModuleExpression:()=>Xi,isModuleSpecifier:()=>Wa,isNewExpression:()=>un,isNode:()=>Sb,isNodesEquivalent:()=>aw,isNullLiteral:()=>nn,isNullLiteralTypeAnnotation:()=>yr,isNullableTypeAnnotation:()=>Ur,isNumberLiteral:()=>uo,isNumberLiteralTypeAnnotation:()=>qr,isNumberTypeAnnotation:()=>$r,isNumericLiteral:()=>tn,isObjectExpression:()=>ln,isObjectMember:()=>ja,isObjectMethod:()=>pn,isObjectPattern:()=>Wn,isObjectProperty:()=>dn,isObjectTypeAnnotation:()=>Jr,isObjectTypeCallProperty:()=>Kr,isObjectTypeIndexer:()=>Wr,isObjectTypeInternalSlot:()=>Vr,isObjectTypeProperty:()=>Xr,isObjectTypeSpreadProperty:()=>Hr,isOpaqueType:()=>zr,isOptionalCallExpression:()=>ir,isOptionalIndexedAccessType:()=>Ei,isOptionalMemberExpression:()=>rr,isParenthesizedExpression:()=>yn,isPattern:()=>$a,isPatternLike:()=>Oa,isPipelineBareFunction:()=>Yi,isPipelinePrimaryTopicReference:()=>Gi,isPipelineTopicExpression:()=>zi,isPlaceholder:()=>Ri,isPlaceholderType:()=>xo,isPrivate:()=>Ha,isPrivateName:()=>cr,isProgram:()=>cn,isProperty:()=>Ua,isPureish:()=>_a,isQualifiedTypeIdentifier:()=>Yr,isRecordExpression:()=>Ki,isReferenced:()=>ow,isRegExpLiteral:()=>sn,isRegexLiteral:()=>co,isRestElement:()=>hn,isRestProperty:()=>lo,isReturnStatement:()=>fn,isScopable:()=>ya,isScope:()=>uw,isSequenceExpression:()=>mn,isSpecifierDefault:()=>cw,isSpreadElement:()=>Xn,isSpreadProperty:()=>po,isStandardized:()=>ha,isStatement:()=>xa,isStaticBlock:()=>lr,isStringLiteral:()=>en,isStringLiteralTypeAnnotation:()=>Gr,isStringTypeAnnotation:()=>Qr,isSuper:()=>Hn,isSwitchCase:()=>gn,isSwitchStatement:()=>bn,isSymbolTypeAnnotation:()=>Zr,isTSAnyKeyword:()=>us,isTSArrayType:()=>ks,isTSAsExpression:()=>zs,isTSBaseType:()=>oo,isTSBigIntKeyword:()=>ls,isTSBooleanKeyword:()=>cs,isTSCallSignatureDeclaration:()=>rs,isTSClassImplements:()=>Js,isTSConditionalType:()=>Ms,isTSConstructSignatureDeclaration:()=>is,isTSConstructorType:()=>Ps,isTSDeclareFunction:()=>es,isTSDeclareMethod:()=>ts,isTSEntityName:()=>Ma,isTSEnumBody:()=>Qs,isTSEnumDeclaration:()=>Zs,isTSEnumMember:()=>ea,isTSExportAssignment:()=>oa,isTSExternalModuleReference:()=>sa,isTSFunctionType:()=>Es,isTSImportEqualsDeclaration:()=>ia,isTSImportType:()=>ra,isTSIndexSignature:()=>os,isTSIndexedAccessType:()=>js,isTSInferType:()=>Bs,isTSInstantiationExpression:()=>Hs,isTSInterfaceBody:()=>Ws,isTSInterfaceDeclaration:()=>Ks,isTSInterfaceHeritage:()=>Vs,isTSIntersectionType:()=>Ds,isTSIntrinsicKeyword:()=>ps,isTSLiteralType:()=>$s,isTSMappedType:()=>Us,isTSMethodSignature:()=>as,isTSModuleBlock:()=>na,isTSModuleDeclaration:()=>ta,isTSNamedTupleMember:()=>Ls,isTSNamespaceExportDeclaration:()=>ua,isTSNeverKeyword:()=>ds,isTSNonNullExpression:()=>aa,isTSNullKeyword:()=>hs,isTSNumberKeyword:()=>fs,isTSObjectKeyword:()=>ms,isTSOptionalType:()=>_s,isTSParameterProperty:()=>Zi,isTSParenthesizedType:()=>Fs,isTSPropertySignature:()=>ss,isTSQualifiedName:()=>ns,isTSRestType:()=>Ns,isTSSatisfiesExpression:()=>Ys,isTSStringKeyword:()=>ys,isTSSymbolKeyword:()=>gs,isTSTemplateLiteralType:()=>qs,isTSThisType:()=>Ts,isTSTupleType:()=>Is,isTSType:()=>ao,isTSTypeAliasDeclaration:()=>Xs,isTSTypeAnnotation:()=>ca,isTSTypeAssertion:()=>Gs,isTSTypeElement:()=>so,isTSTypeLiteral:()=>Cs,isTSTypeOperator:()=>Rs,isTSTypeParameter:()=>da,isTSTypeParameterDeclaration:()=>pa,isTSTypeParameterInstantiation:()=>la,isTSTypePredicate:()=>As,isTSTypeQuery:()=>ws,isTSTypeReference:()=>vs,isTSUndefinedKeyword:()=>bs,isTSUnionType:()=>Os,isTSUnknownKeyword:()=>xs,isTSVoidKeyword:()=>Ss,isTaggedTemplateExpression:()=>zn,isTemplateElement:()=>Yn,isTemplateLiteral:()=>Gn,isTerminatorless:()=>Sa,isThisExpression:()=>xn,isThisTypeAnnotation:()=>ei,isThrowStatement:()=>Sn,isTopicReference:()=>Hi,isTryStatement:()=>Tn,isTupleExpression:()=>Wi,isTupleTypeAnnotation:()=>ti,isType:()=>bo,isTypeAlias:()=>ri,isTypeAnnotation:()=>ii,isTypeCastExpression:()=>si,isTypeParameter:()=>ai,isTypeParameterDeclaration:()=>oi,isTypeParameterInstantiation:()=>ui,isTypeScript:()=>io,isTypeofTypeAnnotation:()=>ni,isUnaryExpression:()=>En,isUnaryLike:()=>qa,isUnionTypeAnnotation:()=>ci,isUpdateExpression:()=>Pn,isUserWhitespacable:()=>Fa,isV8IntrinsicIdentifier:()=>ji,isValidES3Identifier:()=>pw,isValidIdentifier:()=>To,isVar:()=>dw,isVariableDeclaration:()=>vn,isVariableDeclarator:()=>An,isVariance:()=>li,isVoidPattern:()=>Qi,isVoidTypeAnnotation:()=>pi,isWhile:()=>va,isWhileStatement:()=>wn,isWithStatement:()=>Cn,isYieldExpression:()=>Qn,jsxAttribute:()=>Up,jsxClosingElement:()=>qp,jsxClosingFragment:()=>ed,jsxElement:()=>$p,jsxEmptyExpression:()=>Jp,jsxExpressionContainer:()=>Vp,jsxFragment:()=>Qp,jsxIdentifier:()=>Wp,jsxMemberExpression:()=>Xp,jsxNamespacedName:()=>Hp,jsxOpeningElement:()=>zp,jsxOpeningFragment:()=>Zp,jsxSpreadAttribute:()=>Yp,jsxSpreadChild:()=>Kp,jsxText:()=>Gp,labeledStatement:()=>gc,logicalExpression:()=>Pc,matchesPattern:()=>mo,memberExpression:()=>vc,metaProperty:()=>ol,mixedTypeAnnotation:()=>tp,moduleExpression:()=>ld,newExpression:()=>Ac,nullLiteral:()=>Sc,nullLiteralTypeAnnotation:()=>Ol,nullableTypeAnnotation:()=>rp,numberLiteral:()=>_h,numberLiteralTypeAnnotation:()=>ip,numberTypeAnnotation:()=>sp,numericLiteral:()=>xc,objectExpression:()=>Cc,objectMethod:()=>kc,objectPattern:()=>cl,objectProperty:()=>Ic,objectTypeAnnotation:()=>ap,objectTypeCallProperty:()=>up,objectTypeIndexer:()=>cp,objectTypeInternalSlot:()=>op,objectTypeProperty:()=>lp,objectTypeSpreadProperty:()=>pp,opaqueType:()=>dp,optionalCallExpression:()=>Tl,optionalIndexedAccessType:()=>jp,optionalMemberExpression:()=>Sl,parenthesizedExpression:()=>Oc,pipelineBareFunction:()=>hd,pipelinePrimaryTopicReference:()=>fd,pipelineTopicExpression:()=>dd,placeholder:()=>td,prependToMemberExpression:()=>HA,privateName:()=>wl,program:()=>wc,qualifiedTypeIdentifier:()=>hp,react:()=>hw,recordExpression:()=>ud,regExpLiteral:()=>Ec,regexLiteral:()=>Nh,removeComments:()=>Nv,removeProperties:()=>UA,removePropertiesDeep:()=>qA,removeTypeDuplicates:()=>uv,restElement:()=>_c,restProperty:()=>Lh,returnStatement:()=>Nc,sequenceExpression:()=>Lc,shallowEqual:()=>Ct,spreadElement:()=>ll,spreadProperty:()=>Oh,staticBlock:()=>Cl,stringLiteral:()=>bc,stringLiteralTypeAnnotation:()=>fp,stringTypeAnnotation:()=>mp,super:()=>pl,switchCase:()=>Dc,switchStatement:()=>Mc,symbolTypeAnnotation:()=>yp,taggedTemplateExpression:()=>dl,templateElement:()=>hl,templateLiteral:()=>fl,thisExpression:()=>Bc,thisTypeAnnotation:()=>gp,throwStatement:()=>Fc,toBindingIdentifierName:()=>LA,toBlock:()=>IA,toComputedKey:()=>OA,toExpression:()=>DA,toIdentifier:()=>NA,toKeyAlias:()=>$A,toStatement:()=>JA,topicReference:()=>pd,traverse:()=>ew,traverseFast:()=>FA,tryStatement:()=>Rc,tsAnyKeyword:()=>Ad,tsArrayType:()=>Kd,tsAsExpression:()=>dh,tsBigIntKeyword:()=>Cd,tsBooleanKeyword:()=>wd,tsCallSignatureDeclaration:()=>Sd,tsClassImplements:()=>ah,tsConditionalType:()=>Qd,tsConstructSignatureDeclaration:()=>Td,tsConstructorType:()=>Ud,tsDeclareFunction:()=>gd,tsDeclareMethod:()=>bd,tsEnumBody:()=>mh,tsEnumDeclaration:()=>yh,tsEnumMember:()=>gh,tsExportAssignment:()=>vh,tsExternalModuleReference:()=>Eh,tsFunctionType:()=>jd,tsImportEqualsDeclaration:()=>Th,tsImportType:()=>Sh,tsIndexSignature:()=>vd,tsIndexedAccessType:()=>nh,tsInferType:()=>Zd,tsInstantiationExpression:()=>ph,tsInterfaceBody:()=>ch,tsInterfaceDeclaration:()=>uh,tsInterfaceHeritage:()=>oh,tsIntersectionType:()=>Gd,tsIntrinsicKeyword:()=>kd,tsLiteralType:()=>sh,tsMappedType:()=>rh,tsMethodSignature:()=>Pd,tsModuleBlock:()=>xh,tsModuleDeclaration:()=>bh,tsNamedTupleMember:()=>zd,tsNamespaceExportDeclaration:()=>Ah,tsNeverKeyword:()=>Id,tsNonNullExpression:()=>Ph,tsNullKeyword:()=>_d,tsNumberKeyword:()=>Nd,tsObjectKeyword:()=>Ld,tsOptionalType:()=>Xd,tsParameterProperty:()=>yd,tsParenthesizedType:()=>eh,tsPropertySignature:()=>Ed,tsQualifiedName:()=>xd,tsRestType:()=>Hd,tsSatisfiesExpression:()=>hh,tsStringKeyword:()=>Od,tsSymbolKeyword:()=>Dd,tsTemplateLiteralType:()=>ih,tsThisType:()=>Rd,tsTupleType:()=>Wd,tsTypeAliasDeclaration:()=>lh,tsTypeAnnotation:()=>wh,tsTypeAssertion:()=>fh,tsTypeLiteral:()=>Vd,tsTypeOperator:()=>th,tsTypeParameter:()=>Ih,tsTypeParameterDeclaration:()=>kh,tsTypeParameterInstantiation:()=>Ch,tsTypePredicate:()=>$d,tsTypeQuery:()=>Jd,tsTypeReference:()=>qd,tsUndefinedKeyword:()=>Md,tsUnionType:()=>Yd,tsUnknownKeyword:()=>Bd,tsVoidKeyword:()=>Fd,tupleExpression:()=>cd,tupleTypeAnnotation:()=>bp,typeAlias:()=>Sp,typeAnnotation:()=>Tp,typeCastExpression:()=>Ep,typeParameter:()=>Pp,typeParameterDeclaration:()=>vp,typeParameterInstantiation:()=>Ap,typeofTypeAnnotation:()=>xp,unaryExpression:()=>jc,unionTypeAnnotation:()=>wp,updateExpression:()=>Uc,v8IntrinsicIdentifier:()=>nd,validate:()=>$u,valueToNode:()=>KA,variableDeclaration:()=>qc,variableDeclarator:()=>$c,variance:()=>Cp,voidPattern:()=>md,voidTypeAnnotation:()=>kp,whileStatement:()=>Jc,withStatement:()=>Vc,yieldExpression:()=>ml});var ot="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ut="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",ct=new RegExp("["+ot+"]"),lt=new RegExp("["+ot+ut+"]");ot=ut=null;var pt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],dt=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function ht(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function ft(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&ct.test(String.fromCharCode(e)):ht(e,pt)))}function mt(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&lt.test(String.fromCharCode(e)):ht(e,pt)||ht(e,dt))))}var yt=["implements","interface","let","package","private","protected","public","static","yield"],gt=["eval","arguments"],bt=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),xt=new Set(yt);function St(e,t){return t&&"await"===e||"enum"===e}function Tt(e,t){return St(e,t)||xt.has(e)}function Et(e){return bt.has(e)}new Set(gt);var Pt=function(e){return e>=48&&e<=57};function vt(e,t,n,r){return 96===t||36===t&&123===n.charCodeAt(r+1)}function At(e,t,n,r,i,s){const a=!1;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=wt(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=function(e,t,n,r,i,s){const a=e.charCodeAt(t);let o;if(123===a){if(++t,({code:o,pos:t}=wt(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==o&&o>1114111)return{code:null,pos:t}}else({code:o,pos:t}=wt(e,t,n,r,4,!1,i,s));return{code:o,pos:t}}(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:return o(null);default:if(u>=48&&u<=55){const n=t-1;let r=/^[0-7]+/.exec(e.slice(n,t+2))[0],i=parseInt(r,8);i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),t+=r.length-1;const s=e.charCodeAt(t);return o("0"!==r||56===s||57===s?null:String.fromCharCode(i))}return o(String.fromCharCode(u))}}function wt(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=function(e,t,n,r,i,s,a,o,u,c){const l=t;let p=!1,d=0;for(let l=0,h=null==s?1/0:s;l<h;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o)return e.charCodeAt(t-1),e.charCodeAt(t+1),{n:null,pos:t};if(l=s>=97?s-97+10:s>=65?s-65+10:Pt(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,p=!0}}++t,d=d*i+l}if(t===l||null!=s&&t-l!==s||p)return{n:null,pos:t};return{n:d,pos:t}}(e,t,n,r,16,i,s,!1,o,!0)),null===c&&(t=u-1),{code:c,pos:t}}function Ct(e,t){const n=Object.keys(t);for(const r of n)if(e[r]!==t[r])return!1;return!0}var kt=new Set;function It(e,t,n="",r=e){if(kt.has(r))return;kt.add(r);const{internal:i,trace:s}=function(e,t){const{stackTraceLimit:n,prepareStackTrace:r}=Error;let i;if(Error.stackTraceLimit=1+e+t,Error.prepareStackTrace=function(e,t){i=t},(new Error).stack,Error.stackTraceLimit=n,Error.prepareStackTrace=r,!i)return{internal:!1,trace:""};const s=i.slice(1+e,1+e+t);return{internal:/[\\/]@babel[\\/]/.test(s[1].getFileName()),trace:s.map(e=>` at ${e}`).join("\n")}}(1,2);i||console.warn(`${n}\`${e}\` has been deprecated, please migrate to \`${t}\`\n${s}`)}function _t(e,t){return!!e&&("ArrayExpression"===e.type&&(null==t||Ct(e,t)))}function Nt(e,t){return!!e&&("AssignmentExpression"===e.type&&(null==t||Ct(e,t)))}function Lt(e,t){return!!e&&("BinaryExpression"===e.type&&(null==t||Ct(e,t)))}function Ot(e,t){return!!e&&("InterpreterDirective"===e.type&&(null==t||Ct(e,t)))}function Dt(e,t){return!!e&&("Directive"===e.type&&(null==t||Ct(e,t)))}function Mt(e,t){return!!e&&("DirectiveLiteral"===e.type&&(null==t||Ct(e,t)))}function Bt(e,t){return!!e&&("BlockStatement"===e.type&&(null==t||Ct(e,t)))}function Ft(e,t){return!!e&&("BreakStatement"===e.type&&(null==t||Ct(e,t)))}function Rt(e,t){return!!e&&("CallExpression"===e.type&&(null==t||Ct(e,t)))}function jt(e,t){return!!e&&("CatchClause"===e.type&&(null==t||Ct(e,t)))}function Ut(e,t){return!!e&&("ConditionalExpression"===e.type&&(null==t||Ct(e,t)))}function qt(e,t){return!!e&&("ContinueStatement"===e.type&&(null==t||Ct(e,t)))}function $t(e,t){return!!e&&("DebuggerStatement"===e.type&&(null==t||Ct(e,t)))}function Jt(e,t){return!!e&&("DoWhileStatement"===e.type&&(null==t||Ct(e,t)))}function Vt(e,t){return!!e&&("EmptyStatement"===e.type&&(null==t||Ct(e,t)))}function Kt(e,t){return!!e&&("ExpressionStatement"===e.type&&(null==t||Ct(e,t)))}function Wt(e,t){return!!e&&("File"===e.type&&(null==t||Ct(e,t)))}function Xt(e,t){return!!e&&("ForInStatement"===e.type&&(null==t||Ct(e,t)))}function Ht(e,t){return!!e&&("ForStatement"===e.type&&(null==t||Ct(e,t)))}function zt(e,t){return!!e&&("FunctionDeclaration"===e.type&&(null==t||Ct(e,t)))}function Yt(e,t){return!!e&&("FunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Gt(e,t){return!!e&&("Identifier"===e.type&&(null==t||Ct(e,t)))}function Qt(e,t){return!!e&&("IfStatement"===e.type&&(null==t||Ct(e,t)))}function Zt(e,t){return!!e&&("LabeledStatement"===e.type&&(null==t||Ct(e,t)))}function en(e,t){return!!e&&("StringLiteral"===e.type&&(null==t||Ct(e,t)))}function tn(e,t){return!!e&&("NumericLiteral"===e.type&&(null==t||Ct(e,t)))}function nn(e,t){return!!e&&("NullLiteral"===e.type&&(null==t||Ct(e,t)))}function rn(e,t){return!!e&&("BooleanLiteral"===e.type&&(null==t||Ct(e,t)))}function sn(e,t){return!!e&&("RegExpLiteral"===e.type&&(null==t||Ct(e,t)))}function an(e,t){return!!e&&("LogicalExpression"===e.type&&(null==t||Ct(e,t)))}function on(e,t){return!!e&&("MemberExpression"===e.type&&(null==t||Ct(e,t)))}function un(e,t){return!!e&&("NewExpression"===e.type&&(null==t||Ct(e,t)))}function cn(e,t){return!!e&&("Program"===e.type&&(null==t||Ct(e,t)))}function ln(e,t){return!!e&&("ObjectExpression"===e.type&&(null==t||Ct(e,t)))}function pn(e,t){return!!e&&("ObjectMethod"===e.type&&(null==t||Ct(e,t)))}function dn(e,t){return!!e&&("ObjectProperty"===e.type&&(null==t||Ct(e,t)))}function hn(e,t){return!!e&&("RestElement"===e.type&&(null==t||Ct(e,t)))}function fn(e,t){return!!e&&("ReturnStatement"===e.type&&(null==t||Ct(e,t)))}function mn(e,t){return!!e&&("SequenceExpression"===e.type&&(null==t||Ct(e,t)))}function yn(e,t){return!!e&&("ParenthesizedExpression"===e.type&&(null==t||Ct(e,t)))}function gn(e,t){return!!e&&("SwitchCase"===e.type&&(null==t||Ct(e,t)))}function bn(e,t){return!!e&&("SwitchStatement"===e.type&&(null==t||Ct(e,t)))}function xn(e,t){return!!e&&("ThisExpression"===e.type&&(null==t||Ct(e,t)))}function Sn(e,t){return!!e&&("ThrowStatement"===e.type&&(null==t||Ct(e,t)))}function Tn(e,t){return!!e&&("TryStatement"===e.type&&(null==t||Ct(e,t)))}function En(e,t){return!!e&&("UnaryExpression"===e.type&&(null==t||Ct(e,t)))}function Pn(e,t){return!!e&&("UpdateExpression"===e.type&&(null==t||Ct(e,t)))}function vn(e,t){return!!e&&("VariableDeclaration"===e.type&&(null==t||Ct(e,t)))}function An(e,t){return!!e&&("VariableDeclarator"===e.type&&(null==t||Ct(e,t)))}function wn(e,t){return!!e&&("WhileStatement"===e.type&&(null==t||Ct(e,t)))}function Cn(e,t){return!!e&&("WithStatement"===e.type&&(null==t||Ct(e,t)))}function kn(e,t){return!!e&&("AssignmentPattern"===e.type&&(null==t||Ct(e,t)))}function In(e,t){return!!e&&("ArrayPattern"===e.type&&(null==t||Ct(e,t)))}function _n(e,t){return!!e&&("ArrowFunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Nn(e,t){return!!e&&("ClassBody"===e.type&&(null==t||Ct(e,t)))}function Ln(e,t){return!!e&&("ClassExpression"===e.type&&(null==t||Ct(e,t)))}function On(e,t){return!!e&&("ClassDeclaration"===e.type&&(null==t||Ct(e,t)))}function Dn(e,t){return!!e&&("ExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function Mn(e,t){return!!e&&("ExportDefaultDeclaration"===e.type&&(null==t||Ct(e,t)))}function Bn(e,t){return!!e&&("ExportNamedDeclaration"===e.type&&(null==t||Ct(e,t)))}function Fn(e,t){return!!e&&("ExportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Rn(e,t){return!!e&&("ForOfStatement"===e.type&&(null==t||Ct(e,t)))}function jn(e,t){return!!e&&("ImportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Un(e,t){return!!e&&("ImportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function qn(e,t){return!!e&&("ImportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function $n(e,t){return!!e&&("ImportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Jn(e,t){return!!e&&("ImportExpression"===e.type&&(null==t||Ct(e,t)))}function Vn(e,t){return!!e&&("MetaProperty"===e.type&&(null==t||Ct(e,t)))}function Kn(e,t){return!!e&&("ClassMethod"===e.type&&(null==t||Ct(e,t)))}function Wn(e,t){return!!e&&("ObjectPattern"===e.type&&(null==t||Ct(e,t)))}function Xn(e,t){return!!e&&("SpreadElement"===e.type&&(null==t||Ct(e,t)))}function Hn(e,t){return!!e&&("Super"===e.type&&(null==t||Ct(e,t)))}function zn(e,t){return!!e&&("TaggedTemplateExpression"===e.type&&(null==t||Ct(e,t)))}function Yn(e,t){return!!e&&("TemplateElement"===e.type&&(null==t||Ct(e,t)))}function Gn(e,t){return!!e&&("TemplateLiteral"===e.type&&(null==t||Ct(e,t)))}function Qn(e,t){return!!e&&("YieldExpression"===e.type&&(null==t||Ct(e,t)))}function Zn(e,t){return!!e&&("AwaitExpression"===e.type&&(null==t||Ct(e,t)))}function er(e,t){return!!e&&("Import"===e.type&&(null==t||Ct(e,t)))}function tr(e,t){return!!e&&("BigIntLiteral"===e.type&&(null==t||Ct(e,t)))}function nr(e,t){return!!e&&("ExportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function rr(e,t){return!!e&&("OptionalMemberExpression"===e.type&&(null==t||Ct(e,t)))}function ir(e,t){return!!e&&("OptionalCallExpression"===e.type&&(null==t||Ct(e,t)))}function sr(e,t){return!!e&&("ClassProperty"===e.type&&(null==t||Ct(e,t)))}function ar(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function or(e,t){return!!e&&("ClassPrivateProperty"===e.type&&(null==t||Ct(e,t)))}function ur(e,t){return!!e&&("ClassPrivateMethod"===e.type&&(null==t||Ct(e,t)))}function cr(e,t){return!!e&&("PrivateName"===e.type&&(null==t||Ct(e,t)))}function lr(e,t){return!!e&&("StaticBlock"===e.type&&(null==t||Ct(e,t)))}function pr(e,t){return!!e&&("ImportAttribute"===e.type&&(null==t||Ct(e,t)))}function dr(e,t){return!!e&&("AnyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function hr(e,t){return!!e&&("ArrayTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function fr(e,t){return!!e&&("BooleanTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function mr(e,t){return!!e&&("BooleanLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function yr(e,t){return!!e&&("NullLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function gr(e,t){return!!e&&("ClassImplements"===e.type&&(null==t||Ct(e,t)))}function br(e,t){return!!e&&("DeclareClass"===e.type&&(null==t||Ct(e,t)))}function xr(e,t){return!!e&&("DeclareFunction"===e.type&&(null==t||Ct(e,t)))}function Sr(e,t){return!!e&&("DeclareInterface"===e.type&&(null==t||Ct(e,t)))}function Tr(e,t){return!!e&&("DeclareModule"===e.type&&(null==t||Ct(e,t)))}function Er(e,t){return!!e&&("DeclareModuleExports"===e.type&&(null==t||Ct(e,t)))}function Pr(e,t){return!!e&&("DeclareTypeAlias"===e.type&&(null==t||Ct(e,t)))}function vr(e,t){return!!e&&("DeclareOpaqueType"===e.type&&(null==t||Ct(e,t)))}function Ar(e,t){return!!e&&("DeclareVariable"===e.type&&(null==t||Ct(e,t)))}function wr(e,t){return!!e&&("DeclareExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Cr(e,t){return!!e&&("DeclareExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function kr(e,t){return!!e&&("DeclaredPredicate"===e.type&&(null==t||Ct(e,t)))}function Ir(e,t){return!!e&&("ExistsTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function _r(e,t){return!!e&&("FunctionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Nr(e,t){return!!e&&("FunctionTypeParam"===e.type&&(null==t||Ct(e,t)))}function Lr(e,t){return!!e&&("GenericTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Or(e,t){return!!e&&("InferredPredicate"===e.type&&(null==t||Ct(e,t)))}function Dr(e,t){return!!e&&("InterfaceExtends"===e.type&&(null==t||Ct(e,t)))}function Mr(e,t){return!!e&&("InterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Br(e,t){return!!e&&("InterfaceTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Fr(e,t){return!!e&&("IntersectionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Rr(e,t){return!!e&&("MixedTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function jr(e,t){return!!e&&("EmptyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Ur(e,t){return!!e&&("NullableTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function qr(e,t){return!!e&&("NumberLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function $r(e,t){return!!e&&("NumberTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Jr(e,t){return!!e&&("ObjectTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Vr(e,t){return!!e&&("ObjectTypeInternalSlot"===e.type&&(null==t||Ct(e,t)))}function Kr(e,t){return!!e&&("ObjectTypeCallProperty"===e.type&&(null==t||Ct(e,t)))}function Wr(e,t){return!!e&&("ObjectTypeIndexer"===e.type&&(null==t||Ct(e,t)))}function Xr(e,t){return!!e&&("ObjectTypeProperty"===e.type&&(null==t||Ct(e,t)))}function Hr(e,t){return!!e&&("ObjectTypeSpreadProperty"===e.type&&(null==t||Ct(e,t)))}function zr(e,t){return!!e&&("OpaqueType"===e.type&&(null==t||Ct(e,t)))}function Yr(e,t){return!!e&&("QualifiedTypeIdentifier"===e.type&&(null==t||Ct(e,t)))}function Gr(e,t){return!!e&&("StringLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Qr(e,t){return!!e&&("StringTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Zr(e,t){return!!e&&("SymbolTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ei(e,t){return!!e&&("ThisTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ti(e,t){return!!e&&("TupleTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ni(e,t){return!!e&&("TypeofTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ri(e,t){return!!e&&("TypeAlias"===e.type&&(null==t||Ct(e,t)))}function ii(e,t){return!!e&&("TypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function si(e,t){return!!e&&("TypeCastExpression"===e.type&&(null==t||Ct(e,t)))}function ai(e,t){return!!e&&("TypeParameter"===e.type&&(null==t||Ct(e,t)))}function oi(e,t){return!!e&&("TypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function ui(e,t){return!!e&&("TypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function ci(e,t){return!!e&&("UnionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function li(e,t){return!!e&&("Variance"===e.type&&(null==t||Ct(e,t)))}function pi(e,t){return!!e&&("VoidTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function di(e,t){return!!e&&("EnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function hi(e,t){return!!e&&("EnumBooleanBody"===e.type&&(null==t||Ct(e,t)))}function fi(e,t){return!!e&&("EnumNumberBody"===e.type&&(null==t||Ct(e,t)))}function mi(e,t){return!!e&&("EnumStringBody"===e.type&&(null==t||Ct(e,t)))}function yi(e,t){return!!e&&("EnumSymbolBody"===e.type&&(null==t||Ct(e,t)))}function gi(e,t){return!!e&&("EnumBooleanMember"===e.type&&(null==t||Ct(e,t)))}function bi(e,t){return!!e&&("EnumNumberMember"===e.type&&(null==t||Ct(e,t)))}function xi(e,t){return!!e&&("EnumStringMember"===e.type&&(null==t||Ct(e,t)))}function Si(e,t){return!!e&&("EnumDefaultedMember"===e.type&&(null==t||Ct(e,t)))}function Ti(e,t){return!!e&&("IndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Ei(e,t){return!!e&&("OptionalIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Pi(e,t){return!!e&&("JSXAttribute"===e.type&&(null==t||Ct(e,t)))}function vi(e,t){return!!e&&("JSXClosingElement"===e.type&&(null==t||Ct(e,t)))}function Ai(e,t){return!!e&&("JSXElement"===e.type&&(null==t||Ct(e,t)))}function wi(e,t){return!!e&&("JSXEmptyExpression"===e.type&&(null==t||Ct(e,t)))}function Ci(e,t){return!!e&&("JSXExpressionContainer"===e.type&&(null==t||Ct(e,t)))}function ki(e,t){return!!e&&("JSXSpreadChild"===e.type&&(null==t||Ct(e,t)))}function Ii(e,t){return!!e&&("JSXIdentifier"===e.type&&(null==t||Ct(e,t)))}function _i(e,t){return!!e&&("JSXMemberExpression"===e.type&&(null==t||Ct(e,t)))}function Ni(e,t){return!!e&&("JSXNamespacedName"===e.type&&(null==t||Ct(e,t)))}function Li(e,t){return!!e&&("JSXOpeningElement"===e.type&&(null==t||Ct(e,t)))}function Oi(e,t){return!!e&&("JSXSpreadAttribute"===e.type&&(null==t||Ct(e,t)))}function Di(e,t){return!!e&&("JSXText"===e.type&&(null==t||Ct(e,t)))}function Mi(e,t){return!!e&&("JSXFragment"===e.type&&(null==t||Ct(e,t)))}function Bi(e,t){return!!e&&("JSXOpeningFragment"===e.type&&(null==t||Ct(e,t)))}function Fi(e,t){return!!e&&("JSXClosingFragment"===e.type&&(null==t||Ct(e,t)))}function Ri(e,t){return!!e&&("Placeholder"===e.type&&(null==t||Ct(e,t)))}function ji(e,t){return!!e&&("V8IntrinsicIdentifier"===e.type&&(null==t||Ct(e,t)))}function Ui(e,t){return!!e&&("ArgumentPlaceholder"===e.type&&(null==t||Ct(e,t)))}function qi(e,t){return!!e&&("BindExpression"===e.type&&(null==t||Ct(e,t)))}function $i(e,t){return!!e&&("Decorator"===e.type&&(null==t||Ct(e,t)))}function Ji(e,t){return!!e&&("DoExpression"===e.type&&(null==t||Ct(e,t)))}function Vi(e,t){return!!e&&("ExportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function Ki(e,t){return!!e&&("RecordExpression"===e.type&&(null==t||Ct(e,t)))}function Wi(e,t){return!!e&&("TupleExpression"===e.type&&(null==t||Ct(e,t)))}function Xi(e,t){return!!e&&("ModuleExpression"===e.type&&(null==t||Ct(e,t)))}function Hi(e,t){return!!e&&("TopicReference"===e.type&&(null==t||Ct(e,t)))}function zi(e,t){return!!e&&("PipelineTopicExpression"===e.type&&(null==t||Ct(e,t)))}function Yi(e,t){return!!e&&("PipelineBareFunction"===e.type&&(null==t||Ct(e,t)))}function Gi(e,t){return!!e&&("PipelinePrimaryTopicReference"===e.type&&(null==t||Ct(e,t)))}function Qi(e,t){return!!e&&("VoidPattern"===e.type&&(null==t||Ct(e,t)))}function Zi(e,t){return!!e&&("TSParameterProperty"===e.type&&(null==t||Ct(e,t)))}function es(e,t){return!!e&&("TSDeclareFunction"===e.type&&(null==t||Ct(e,t)))}function ts(e,t){return!!e&&("TSDeclareMethod"===e.type&&(null==t||Ct(e,t)))}function ns(e,t){return!!e&&("TSQualifiedName"===e.type&&(null==t||Ct(e,t)))}function rs(e,t){return!!e&&("TSCallSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function is(e,t){return!!e&&("TSConstructSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function ss(e,t){return!!e&&("TSPropertySignature"===e.type&&(null==t||Ct(e,t)))}function as(e,t){return!!e&&("TSMethodSignature"===e.type&&(null==t||Ct(e,t)))}function os(e,t){return!!e&&("TSIndexSignature"===e.type&&(null==t||Ct(e,t)))}function us(e,t){return!!e&&("TSAnyKeyword"===e.type&&(null==t||Ct(e,t)))}function cs(e,t){return!!e&&("TSBooleanKeyword"===e.type&&(null==t||Ct(e,t)))}function ls(e,t){return!!e&&("TSBigIntKeyword"===e.type&&(null==t||Ct(e,t)))}function ps(e,t){return!!e&&("TSIntrinsicKeyword"===e.type&&(null==t||Ct(e,t)))}function ds(e,t){return!!e&&("TSNeverKeyword"===e.type&&(null==t||Ct(e,t)))}function hs(e,t){return!!e&&("TSNullKeyword"===e.type&&(null==t||Ct(e,t)))}function fs(e,t){return!!e&&("TSNumberKeyword"===e.type&&(null==t||Ct(e,t)))}function ms(e,t){return!!e&&("TSObjectKeyword"===e.type&&(null==t||Ct(e,t)))}function ys(e,t){return!!e&&("TSStringKeyword"===e.type&&(null==t||Ct(e,t)))}function gs(e,t){return!!e&&("TSSymbolKeyword"===e.type&&(null==t||Ct(e,t)))}function bs(e,t){return!!e&&("TSUndefinedKeyword"===e.type&&(null==t||Ct(e,t)))}function xs(e,t){return!!e&&("TSUnknownKeyword"===e.type&&(null==t||Ct(e,t)))}function Ss(e,t){return!!e&&("TSVoidKeyword"===e.type&&(null==t||Ct(e,t)))}function Ts(e,t){return!!e&&("TSThisType"===e.type&&(null==t||Ct(e,t)))}function Es(e,t){return!!e&&("TSFunctionType"===e.type&&(null==t||Ct(e,t)))}function Ps(e,t){return!!e&&("TSConstructorType"===e.type&&(null==t||Ct(e,t)))}function vs(e,t){return!!e&&("TSTypeReference"===e.type&&(null==t||Ct(e,t)))}function As(e,t){return!!e&&("TSTypePredicate"===e.type&&(null==t||Ct(e,t)))}function ws(e,t){return!!e&&("TSTypeQuery"===e.type&&(null==t||Ct(e,t)))}function Cs(e,t){return!!e&&("TSTypeLiteral"===e.type&&(null==t||Ct(e,t)))}function ks(e,t){return!!e&&("TSArrayType"===e.type&&(null==t||Ct(e,t)))}function Is(e,t){return!!e&&("TSTupleType"===e.type&&(null==t||Ct(e,t)))}function _s(e,t){return!!e&&("TSOptionalType"===e.type&&(null==t||Ct(e,t)))}function Ns(e,t){return!!e&&("TSRestType"===e.type&&(null==t||Ct(e,t)))}function Ls(e,t){return!!e&&("TSNamedTupleMember"===e.type&&(null==t||Ct(e,t)))}function Os(e,t){return!!e&&("TSUnionType"===e.type&&(null==t||Ct(e,t)))}function Ds(e,t){return!!e&&("TSIntersectionType"===e.type&&(null==t||Ct(e,t)))}function Ms(e,t){return!!e&&("TSConditionalType"===e.type&&(null==t||Ct(e,t)))}function Bs(e,t){return!!e&&("TSInferType"===e.type&&(null==t||Ct(e,t)))}function Fs(e,t){return!!e&&("TSParenthesizedType"===e.type&&(null==t||Ct(e,t)))}function Rs(e,t){return!!e&&("TSTypeOperator"===e.type&&(null==t||Ct(e,t)))}function js(e,t){return!!e&&("TSIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Us(e,t){return!!e&&("TSMappedType"===e.type&&(null==t||Ct(e,t)))}function qs(e,t){return!!e&&("TSTemplateLiteralType"===e.type&&(null==t||Ct(e,t)))}function $s(e,t){return!!e&&("TSLiteralType"===e.type&&(null==t||Ct(e,t)))}function Js(e,t){return!!e&&("TSClassImplements"===e.type&&(null==t||Ct(e,t)))}function Vs(e,t){return!!e&&("TSInterfaceHeritage"===e.type&&(null==t||Ct(e,t)))}function Ks(e,t){return!!e&&("TSInterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Ws(e,t){return!!e&&("TSInterfaceBody"===e.type&&(null==t||Ct(e,t)))}function Xs(e,t){return!!e&&("TSTypeAliasDeclaration"===e.type&&(null==t||Ct(e,t)))}function Hs(e,t){return!!e&&("TSInstantiationExpression"===e.type&&(null==t||Ct(e,t)))}function zs(e,t){return!!e&&("TSAsExpression"===e.type&&(null==t||Ct(e,t)))}function Ys(e,t){return!!e&&("TSSatisfiesExpression"===e.type&&(null==t||Ct(e,t)))}function Gs(e,t){return!!e&&("TSTypeAssertion"===e.type&&(null==t||Ct(e,t)))}function Qs(e,t){return!!e&&("TSEnumBody"===e.type&&(null==t||Ct(e,t)))}function Zs(e,t){return!!e&&("TSEnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function ea(e,t){return!!e&&("TSEnumMember"===e.type&&(null==t||Ct(e,t)))}function ta(e,t){return!!e&&("TSModuleDeclaration"===e.type&&(null==t||Ct(e,t)))}function na(e,t){return!!e&&("TSModuleBlock"===e.type&&(null==t||Ct(e,t)))}function ra(e,t){return!!e&&("TSImportType"===e.type&&(null==t||Ct(e,t)))}function ia(e,t){return!!e&&("TSImportEqualsDeclaration"===e.type&&(null==t||Ct(e,t)))}function sa(e,t){return!!e&&("TSExternalModuleReference"===e.type&&(null==t||Ct(e,t)))}function aa(e,t){return!!e&&("TSNonNullExpression"===e.type&&(null==t||Ct(e,t)))}function oa(e,t){return!!e&&("TSExportAssignment"===e.type&&(null==t||Ct(e,t)))}function ua(e,t){return!!e&&("TSNamespaceExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function ca(e,t){return!!e&&("TSTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function la(e,t){return!!e&&("TSTypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function pa(e,t){return!!e&&("TSTypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function da(e,t){return!!e&&("TSTypeParameter"===e.type&&(null==t||Ct(e,t)))}function ha(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":case"ImportAttribute":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function fa(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function ma(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||Ct(e,t)}function ya(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ga(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ba(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function xa(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Sa(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||Ct(e,t)}function Ta(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||Ct(e,t)}function Ea(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||Ct(e,t)}function Pa(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function va(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||Ct(e,t)}function Aa(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||Ct(e,t)}function wa(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function Ca(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function ka(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function Ia(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||Ct(e,t)}function _a(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Na(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function La(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Oa(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Da(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Ma(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"ThisExpression":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ba(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Fa(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||Ct(e,t)}function Ra(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function ja(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||Ct(e,t)}function Ua(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||Ct(e,t)}function qa(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||Ct(e,t)}function $a(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ja(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Va(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Ka(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Wa(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||Ct(e,t)}function Xa(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function Ha(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||Ct(e,t)}function za(){}function Ya(){}function Ga(){}function Qa(){}function Za(){}function eo(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||Ct(e,t)}function to(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||Ct(e,t)}function no(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||Ct(e,t)}function ro(e,t){if(!e)return!1;switch(e.type){case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||Ct(e,t)}function io(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||Ct(e,t)}function so(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||Ct(e,t)}function ao(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSImportType":break;default:return!1}return null==t||Ct(e,t)}function oo(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return null==t||Ct(e,t)}function uo(e,t){return It("isNumberLiteral","isNumericLiteral"),!!e&&("NumberLiteral"===e.type&&(null==t||Ct(e,t)))}function co(e,t){return It("isRegexLiteral","isRegExpLiteral"),!!e&&("RegexLiteral"===e.type&&(null==t||Ct(e,t)))}function lo(e,t){return It("isRestProperty","isRestElement"),!!e&&("RestProperty"===e.type&&(null==t||Ct(e,t)))}function po(e,t){return It("isSpreadProperty","isSpreadElement"),!!e&&("SpreadProperty"===e.type&&(null==t||Ct(e,t)))}function ho(e,t){return It("isModuleDeclaration","isImportOrExportDeclaration"),Va(e,t)}function fo(e){return on(e)||Vn(e)}function mo(e,t,n){if(!fo(e))return!1;const r=Array.isArray(t)?t:t.split("."),i=[];let s;for(s=e;fo(s);s=s.object??s.meta)i.push(s.property);if(i.push(s),i.length<r.length)return!1;if(!n&&i.length>r.length)return!1;for(let e=0,t=i.length-1;e<r.length;e++,t--){const n=i[t];let s;if(Gt(n))s=n.name;else if(en(n))s=n.value;else if(xn(n))s="this";else if(Hn(n))s="super";else{if(!cr(n))return!1;s="#"+n.id.name}if(r[e]!==s)return!1}return!0}function yo(e,t){const n=e.split(".");return e=>mo(e,n,t)}var go=yo("React.Component");function bo(e,t){if(e===t)return!0;if(null==e)return!1;if(qo[t])return!1;const n=$o[t];return!!n?.includes(e)}function xo(e,t){if(e===t)return!0;const n=ku[e];return!!n?.includes(t)}function So(e,t,n){if(!t)return!1;return bo(t.type,e)?void 0===n||Ct(t,n):!n&&"Placeholder"===t.type&&e in $o&&xo(t.expectedNode,e)}function To(e,t=!0){return"string"==typeof e&&((!t||!Et(e)&&!Tt(e,!0))&&function(e){let t=!0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296==(64512&r)&&n+1<e.length){const t=e.charCodeAt(++n);56320==(64512&t)&&(r=65536+((1023&r)<<10)+(1023&t))}if(t){if(t=!1,!ft(r))return!1}else if(!mt(r))return!1}return!t}(e))}var Eo=["consequent","body","alternate"],Po=["body","expressions"],vo=["left","init"],Ao=["leadingComments","trailingComments","innerComments"],wo=["||","&&","??"],Co=["++","--"],ko=[">","<",">=","<="],Io=["==","===","!=","!=="],_o=[...Io,"in","instanceof"],No=[..._o,...ko],Lo=["-","/","%","*","**","&","|",">>",">>>","<<","^"],Oo=["+",...Lo,...No,"|>"],Do=["=","+=",...Lo.map(e=>e+"="),...wo.map(e=>e+"=")],Mo=["delete","!"],Bo=["+","-","~"],Fo=["typeof"],Ro=["void","throw",...Mo,...Bo,...Fo],jo={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},Uo={},qo={},$o={},Jo={},Vo={},Ko={},Wo={};function Xo(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function Ho(e){return{validate:e}}function zo(...e){return Ho(iu(...e))}function Yo(e){return{validate:e,optional:!0}}function Go(...e){return{validate:iu(...e),optional:!0}}function Qo(e){return cu(au("array"),tu(e))}function Zo(...e){return Qo(iu(...e))}function eu(...e){return Ho(Zo(...e))}function tu(e){const t=Vu;function n(n,r,i){if(!Array.isArray(i))return;let s=0;const a={toString:()=>`${r}[${s}]`};for(;s<i.length;s++){const r=i[s];e(n,a,r),t(n,a,r)}}return n.each=e,n}function nu(...e){function t(t,n,r){if(!e.includes(r))throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t}var ru=[];function iu(...e){const t=new Set;function n(n,r,i){const s=i?.type;if(null!=s){if(t.has(s))return void Vu(n,r,i);if("Placeholder"===s)for(const t of e)if(So(t,i))return void Vu(n,r,i)}throw new TypeError(`Property ${r} of ${n.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(s)}`)}return ru.push({types:e,set:t}),n.oneOfNodeTypes=e,n}function su(...e){function t(t,n,r){const i=Xo(r);for(const s of e)if(i===s||So(s,r))return void Vu(t,n,r);throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(r?.type)}`)}return t.oneOfNodeOrValueTypes=e,t}function au(e){function t(t,n,r){if(Xo(r)!==e)throw new TypeError(`Property ${n} expected type of ${e} but got ${Xo(r)}`)}return t.type=e,t}function ou(e){const t=Object.keys(e);function n(n,r,i){const s=[];for(const r of t)try{Ju(n,r,i[r],e[r])}catch(e){if(e instanceof TypeError){s.push(e.message);continue}throw e}if(s.length)throw new TypeError(`Property ${r} of ${n.type} expected to have the following:\n${s.join("\n")}`)}return n.shapeOf=e,n}function uu(){return function(e){let t=e;for(;e;){const{type:e}=t;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(t.optional)return;t=t.object}else{if(t.optional)return;t=t.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${t?.type}`)}}function cu(...e){function t(...t){for(const n of e)n(...t)}if(t.chainOf=e,e.length>=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return t}var lu=new Set(["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"]),pu=new Set(["default","optional","deprecated","validate"]),du={};function hu(...e){return(t,n={})=>{let r=n.aliases;r||(n.inherits&&(r=du[n.inherits].aliases?.slice()),r??(r=[]),n.aliases=r);const i=e.filter(e=>!r.includes(e));r.unshift(...i),fu(t,n)}}function fu(e,t={}){const n=t.inherits&&du[t.inherits]||{};let r=t.fields;if(!r&&(r={},n.fields)){const e=Object.getOwnPropertyNames(n.fields);for(const t of e){const e=n.fields[t],i=e.default;if(Array.isArray(i)?i.length>0:i&&"object"==typeof i)throw new Error("field defaults can only be primitives or empty arrays currently");r[t]={default:Array.isArray(i)?[]:i,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const i=t.visitor||n.visitor||[],s=t.aliases||n.aliases||[],a=t.builder||n.builder||t.visitor||[];for(const n of Object.keys(t))if(!lu.has(n))throw new Error(`Unknown type option "${n}" on ${e}`);t.deprecatedAlias&&(Ko[t.deprecatedAlias]=e);for(const e of i.concat(a))r[e]=r[e]||{};for(const t of Object.keys(r)){const n=r[t];void 0===n.default||a.includes(t)||(n.optional=!0),void 0===n.default?n.default=null:n.validate||null==n.default||(n.validate=au(Xo(n.default)));for(const r of Object.keys(n))if(!pu.has(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}Uo[e]=t.visitor=i,Vo[e]=t.builder=a,Jo[e]=t.fields=r,qo[e]=t.aliases=s,s.forEach(t=>{$o[t]=$o[t]||[],$o[t].push(e)}),t.validate&&(Wo[e]=t.validate),du[e]=t}var mu=Object.freeze({__proto__:null,ALIAS_KEYS:qo,BUILDER_KEYS:Vo,DEPRECATED_KEYS:Ko,FLIPPED_ALIAS_KEYS:$o,NODE_FIELDS:Jo,NODE_PARENT_VALIDATIONS:Wo,VISITOR_KEYS:Uo,allExpandedTypes:ru,arrayOf:Qo,arrayOfType:Zo,assertEach:tu,assertNodeOrValueType:su,assertNodeType:iu,assertOneOf:nu,assertOptionalChainStart:uu,assertShape:ou,assertValueType:au,chain:cu,default:fu,defineAliasedType:hu,validate:Ho,validateArrayOfType:eu,validateOptional:Yo,validateOptionalType:Go,validateType:zo}),yu=hu("Standardized");yu("ArrayExpression",{fields:{elements:{validate:Qo(su("null","Expression","SpreadElement")),default:void 0}},visitor:["elements"],aliases:["Expression"]}),yu("AssignmentExpression",{fields:{operator:{validate:Object.assign(function(){const e=nu(...Do),t=nu("=");return function(n,r,i){(So("Pattern",n.left)?t:e)(n,r,i)}}(),{oneOf:Do})},left:{validate:iu("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),yu("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:nu(...Oo)},left:{validate:function(){const e=iu("Expression"),t=iu("Expression","PrivateName");return Object.assign(function(n,r,i){("in"===n.operator?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:iu("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),yu("InterpreterDirective",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("Directive",{visitor:["value"],fields:{value:{validate:iu("DirectiveLiteral")}}}),yu("DirectiveLiteral",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block","Statement"]}),yu("BreakStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("CallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression","Super","V8IntrinsicIdentifier")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("CatchClause",{visitor:["param","body"],fields:{param:{validate:iu("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:iu("BlockStatement")}},aliases:["Scopable","BlockParent"]}),yu("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Expression")},alternate:{validate:iu("Expression")}},aliases:["Expression","Conditional"]}),yu("ContinueStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("DebuggerStatement",{aliases:["Statement"]}),yu("DoWhileStatement",{builder:["test","body"],visitor:["body","test"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),yu("EmptyStatement",{aliases:["Statement"]}),yu("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Statement","ExpressionWrapper"]}),yu("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:iu("Program")},comments:{validate:tu(iu("CommentBlock","CommentLine")),optional:!0},tokens:{validate:tu(Object.assign(()=>{},{type:"any"})),optional:!0}}}),yu("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:iu("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:iu("VariableDeclaration","Expression"),optional:!0},test:{validate:iu("Expression"),optional:!0},update:{validate:iu("Expression"),optional:!0},body:{validate:iu("Statement")}}});var gu=()=>({params:eu("FunctionParameter"),generator:{default:!1},async:{default:!1}}),bu=()=>({returnType:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0}}),xu=()=>Object.assign({},gu(),{declare:{validate:au("boolean"),optional:!0},id:{validate:iu("Identifier"),optional:!0}});yu("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","typeParameters","params","predicate","returnType","body"],fields:Object.assign({},xu(),bu(),{body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()}),yu("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{id:{validate:iu("Identifier"),optional:!0},body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})});var Su=()=>({typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},optional:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","FunctionParameter","PatternLike","LVal","TSEntityName"],fields:Object.assign({},Su(),{name:{validate:cu(au("string"),Object.assign(function(e,t,n){if(!To(n,!1))throw new TypeError(`"${n}" is not a valid identifier name`)},{type:"string"}))}}),validate:function(e,t,n){const r=/\.(\w+)$/.exec(t.toString());if(!r)return;const[,i]=r,s={computed:!1};if("property"===i){if(So("MemberExpression",e,s))return;if(So("OptionalMemberExpression",e,s))return}else if("key"===i){if(So("Property",e,s))return;if(So("Method",e,s))return}else if("exported"===i){if(So("ExportSpecifier",e))return}else if("imported"===i){if(So("ImportSpecifier",e,{imported:n}))return}else if("meta"===i&&So("MetaProperty",e,{meta:n}))return;if((Et(n.name)||St(n.name,!1))&&"this"!==n.name)throw new TypeError(`"${n.name}" is not a valid identifier`)}}),yu("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Statement")},alternate:{optional:!0,validate:iu("Statement")}}}),yu("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:iu("Identifier")},body:{validate:iu("Statement")}}}),yu("StringLiteral",{builder:["value"],fields:{value:{validate:au("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:cu(au("number"),Object.assign(function(e,t,n){if(1/n<0||!Number.isFinite(n)){const e=new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${n}) instead.`);if(!(new Error).stack.includes("regenerator"))throw e}},{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),yu("BooleanLiteral",{builder:["value"],fields:{value:{validate:au("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:au("string")},flags:{validate:cu(au("string"),Object.assign(function(e,t,n){const r=/[^dgimsuvy]/.exec(n);if(r)throw new TypeError(`"${r[0]}" is not a valid RegExp flag`)},{type:"string"})),default:""}}}),yu("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:nu(...wo)},left:{validate:iu("Expression")},right:{validate:iu("Expression")}}}),yu("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal","PatternLike"],fields:Object.assign({object:{validate:iu("Expression","Super")},property:{validate:function(){const e=iu("Identifier","PrivateName"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","PrivateName"],n}()},computed:{default:!1}},{})}),yu("NewExpression",{inherits:"CallExpression"}),yu("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:nu("script","module"),default:"script"},interpreter:{validate:iu("InterpreterDirective"),default:null,optional:!0},directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block"]}),yu("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectMethod","ObjectProperty","SpreadElement")}}),yu("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},gu(),bu(),{kind:Object.assign({validate:nu("method","get","set")},{}),computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],n}()},decorators:{validate:Zo("Decorator"),optional:!0},body:{validate:iu("BlockStatement")}}),aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),yu("ObjectProperty",{builder:["key","value","computed","shorthand"],fields:{computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"]})}()},value:{validate:iu("Expression","PatternLike")},shorthand:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n){if(e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");if(!So("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")}},{type:"boolean"})),default:!1},decorators:{validate:Zo("Decorator"),optional:!0}},visitor:["decorators","key","value"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){const e=iu("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=iu("Expression");return function(n,r,i){(So("ObjectPattern",n)?e:t)(i,"value",i.value)}}()}),yu("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["FunctionParameter","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},Su(),{argument:{validate:iu("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")}}),validate:function(e,t){const n=/(\w+)\[(\d+)\]/.exec(t.toString());if(!n)throw new Error("Internal Babel error: malformed key.");const[,r,i]=n;if(e[r].length>+i+1)throw new TypeError(`RestElement must be last element of ${r}`)}}),yu("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression"),optional:!0}}}),yu("SequenceExpression",{visitor:["expressions"],fields:{expressions:eu("Expression")},aliases:["Expression"]}),yu("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:iu("Expression")}}}),yu("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:iu("Expression"),optional:!0},consequent:eu("Statement")}}),yu("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:iu("Expression")},cases:eu("SwitchCase")}}),yu("ThisExpression",{aliases:["Expression","TSEntityName"]}),yu("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression")}}}),yu("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:cu(iu("BlockStatement"),Object.assign(function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")},{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:iu("CatchClause")},finalizer:{optional:!0,validate:iu("BlockStatement")}}}),yu("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:iu("Expression")},operator:{validate:nu(...Ro)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),yu("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:iu("Identifier","MemberExpression")},operator:{validate:nu(...Co)}},visitor:["argument"],aliases:["Expression"]}),yu("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:au("boolean"),optional:!0},kind:{validate:nu("var","let","const","using","await using")},declarations:eu("VariableDeclarator")},validate:(()=>{const e=iu("Identifier","Placeholder"),t=iu("Identifier","ArrayPattern","ObjectPattern","Placeholder"),n=iu("Identifier","VoidPattern","Placeholder");return function(r,i,s){const{kind:a,declarations:o}=s,u=So("ForXStatement",r,{left:s});if(u&&1!==o.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${r.type}`);for(const r of o)"const"===a||"let"===a||"var"===a?u||r.init?t(r,"id",r.id):e(r,"id",r.id):n(r,"id",r.id)}})()}),yu("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:iu("Identifier","ArrayPattern","ObjectPattern","VoidPattern")},definite:{optional:!0,validate:au("boolean")},init:{optional:!0,validate:iu("Expression")}}}),yu("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["FunctionParameter","Pattern","PatternLike"],fields:Object.assign({},Su(),{left:{validate:iu("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},decorators:{validate:Zo("Decorator"),optional:!0}})}),yu("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{elements:{validate:cu(au("array"),tu(su("null","PatternLike")))}})}),yu("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["typeParameters","params","predicate","returnType","body"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{expression:{validate:au("boolean")},body:{validate:iu("BlockStatement","Expression")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})}),yu("ClassBody",{visitor:["body"],fields:{body:eu("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")}}),yu("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["decorators","id","typeParameters","superClass","superTypeArguments","mixins","implements","body"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0}}}),yu("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0},declare:{validate:au("boolean"),optional:!0},abstract:{validate:au("boolean"),optional:!0}},validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()});var Tu={attributes:{optional:!0,validate:Zo("ImportAttribute")},assertions:{deprecated:!0,optional:!0,validate:Zo("ImportAttribute")}};yu("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({source:{validate:iu("StringLiteral")},exportKind:Yo(nu("type","value"))},Tu)}),yu("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:zo("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression"),exportKind:Yo(nu("value"))}}),yu("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({declaration:{optional:!0,validate:cu(iu("Declaration"),Object.assign(function(e,t,n){if(n&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");if(n&&e.source)throw new TypeError("Cannot export a declaration from a source")},{oneOfNodeTypes:["Declaration"]}))}},Tu,{specifiers:{default:[],validate:Qo(function(){const e=iu("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=iu("ExportSpecifier");return Object.assign(function(n,r,i){(n.source?e:t)(n,r,i)},{oneOfNodeTypes:["ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"]})}())},source:{validate:iu("StringLiteral"),optional:!0},exportKind:Yo(nu("type","value"))})}),yu("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},exported:{validate:iu("Identifier","StringLiteral")},exportKind:{validate:nu("type","value"),optional:!0}}}),yu("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){const e=iu("VariableDeclaration"),t=iu("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return Object.assign(function(n,r,i){So("VariableDeclaration",i)?e(n,r,i):t(n,r,i)},{oneOfNodeTypes:["VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"]})}()},right:{validate:iu("Expression")},body:{validate:iu("Statement")},await:{default:!1}}}),yu("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:Object.assign({},Tu,{module:{optional:!0,validate:au("boolean")},phase:{default:null,validate:nu("source","defer")},specifiers:eu("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier"),source:{validate:iu("StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}})}),yu("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportSpecifier",{visitor:["imported","local"],builder:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},imported:{validate:iu("Identifier","StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}}}),yu("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:nu("source","defer")},source:{validate:iu("Expression")},options:{validate:iu("Expression"),optional:!0}}}),yu("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:cu(iu("Identifier"),Object.assign(function(e,t,n){let r;switch(n.name){case"function":r="sent";break;case"new":r="target";break;case"import":r="meta"}if(!So("Identifier",e.property,{name:r}))throw new TypeError("Unrecognised MetaProperty")},{oneOfNodeTypes:["Identifier"]}))},property:{validate:iu("Identifier")}}});var Eu=()=>({abstract:{validate:au("boolean"),optional:!0},accessibility:{validate:nu("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:au("boolean"),optional:!0},key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}}),Pu=()=>Object.assign({},gu(),Eu(),{params:eu("FunctionParameter","TSParameterProperty"),kind:{validate:nu("get","set","method","constructor"),default:"method"},access:{validate:cu(au("string"),nu("public","private","protected")),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},Pu(),bu(),{body:{validate:iu("BlockStatement")}})}),yu("ObjectPattern",{visitor:["decorators","properties","typeAnnotation"],builder:["properties"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{properties:eu("RestElement","ObjectProperty")})}),yu("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:iu("Expression")}}}),yu("Super",void 0),yu("TaggedTemplateExpression",{visitor:["tag","typeArguments","quasi"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:iu("Expression")},quasi:{validate:iu("TemplateLiteral")},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),yu("TemplateElement",{builder:["value","tail"],fields:{value:{validate:cu(ou({raw:{validate:au("string")},cooked:{validate:au("string"),optional:!0}}),function(e){const t=e.value.raw;let n=!1;const r=()=>{throw new Error("Internal @babel/types error.")},{str:i,firstInvalidLoc:s}=function(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const e=t.charCodeAt(n);if(vt(0,e,t,n)){c+=t.slice(p,n);break}if(92===e){c+=t.slice(p,n);const e=At(t,n,r,i,0,s);null!==e.ch||l?c+=e.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=e),p=n}else 8232===e||8233===e?(++i,r=++n):10===e||13===e?(c+=t.slice(p,n)+"\n",++n,13===e&&10===t.charCodeAt(n)&&++n,++i,p=r=n):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}(0,t,0,0,0,{unterminated(){n=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!n)throw new Error("Invalid raw");e.value.cooked=s?null:i})},tail:{default:!1}}}),yu("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:eu("TemplateElement"),expressions:{validate:cu(au("array"),tu(iu("Expression","TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),yu("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")},{type:"boolean"})),default:!1},argument:{optional:!0,validate:iu("Expression")}}}),yu("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:iu("Expression")}}}),yu("Import",{aliases:["Expression"]}),yu("BigIntLiteral",{builder:["value"],fields:{value:{validate:au("bigint")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),yu("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},property:{validate:function(){const e=iu("Identifier"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:cu(au("boolean"),uu())}}}),yu("OptionalCallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),optional:{validate:cu(au("boolean"),uu())},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("ClassProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},Eu(),{value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassAccessorProperty",{visitor:["decorators","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},Eu(),{key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassPrivateProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:iu("PrivateName")},value:{validate:iu("Expression"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},static:{validate:au("boolean"),default:!1},readonly:{validate:au("boolean"),optional:!0},optional:{validate:au("boolean"),optional:!0},definite:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}}}),yu("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["decorators","key","typeParameters","params","returnType","body"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},Pu(),bu(),{kind:{validate:nu("get","set","method"),default:"method"},key:{validate:iu("PrivateName")},body:{validate:iu("BlockStatement")}})}),yu("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:iu("Identifier")}}}),yu("StaticBlock",{visitor:["body"],fields:{body:eu("Statement")},aliases:["Scopable","BlockParent","FunctionParent"]}),yu("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:iu("Identifier","StringLiteral")},value:{validate:iu("StringLiteral")}}});var vu=hu("Flow"),Au=e=>{const t="DeclareClass"===e;vu(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends",...t?["mixins","implements"]:[],"body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),extends:Yo(Zo("InterfaceExtends"))},t?{mixins:Yo(Zo("InterfaceExtends")),implements:Yo(Zo("ClassImplements"))}:{},{body:zo("ObjectTypeAnnotation")})})};vu("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:zo("FlowType")}}),vu("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("boolean"))}}),vu("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ClassImplements",{visitor:["id","typeParameters"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("DeclareClass"),vu("DeclareFunction",{builder:["id"],visitor:["id","predicate"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),predicate:Go("DeclaredPredicate")}}),Au("DeclareInterface"),vu("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier","StringLiteral"),body:zo("BlockStatement"),kind:Yo(nu("CommonJS","ES"))}}),vu("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:zo("TypeAnnotation")}}),vu("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:Go("FlowType")}}),vu("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier")}}),vu("DeclareExportDeclaration",{visitor:["declaration","specifiers","source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({declaration:Go("Flow"),specifiers:Yo(Zo("ExportSpecifier","ExportNamespaceSpecifier")),source:Go("StringLiteral"),default:Yo(au("boolean"))},Tu)}),vu("DeclareExportAllDeclaration",{visitor:["source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({source:zo("StringLiteral"),exportKind:Yo(nu("type","value"))},Tu)}),vu("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:zo("Flow")}}),vu("ExistsTypeAnnotation",{aliases:["FlowType"]}),vu("FunctionTypeAnnotation",{builder:["typeParameters","params","rest","returnType"],visitor:["typeParameters","this","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:Go("TypeParameterDeclaration"),params:eu("FunctionTypeParam"),rest:Go("FunctionTypeParam"),this:Go("FunctionTypeParam"),returnType:zo("FlowType")}}),vu("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:Go("Identifier"),typeAnnotation:zo("FlowType"),optional:Yo(au("boolean"))}}),vu("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),vu("InferredPredicate",{aliases:["FlowPredicate"]}),vu("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("InterfaceDeclaration"),vu("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:Yo(Zo("InterfaceExtends")),body:zo("ObjectTypeAnnotation")}}),vu("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:zo("FlowType")}}),vu("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("number"))}}),vu("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:Ho(Zo("ObjectTypeProperty","ObjectTypeSpreadProperty")),indexers:{validate:Zo("ObjectTypeIndexer"),optional:!1,default:[]},callProperties:{validate:Zo("ObjectTypeCallProperty"),optional:!1,default:[]},internalSlots:{validate:Zo("ObjectTypeInternalSlot"),optional:!1,default:[]},exact:{validate:au("boolean"),default:!1},inexact:Yo(au("boolean"))}}),vu("ObjectTypeInternalSlot",{visitor:["id","value"],builder:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:zo("Identifier"),value:zo("FlowType"),optional:Ho(au("boolean")),static:Ho(au("boolean")),method:Ho(au("boolean"))}}),vu("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:zo("FlowType"),static:Ho(au("boolean"))}}),vu("ObjectTypeIndexer",{visitor:["variance","id","key","value"],builder:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:Go("Identifier"),key:zo("FlowType"),value:zo("FlowType"),static:Ho(au("boolean")),variance:Go("Variance")}}),vu("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:zo("Identifier","StringLiteral"),value:zo("FlowType"),kind:Ho(nu("init","get","set")),static:Ho(au("boolean")),proto:Ho(au("boolean")),optional:Ho(au("boolean")),variance:Go("Variance"),method:Ho(au("boolean"))}}),vu("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:zo("FlowType")}}),vu("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:zo("FlowType")}}),vu("QualifiedTypeIdentifier",{visitor:["qualification","id"],builder:["id","qualification"],fields:{id:zo("Identifier"),qualification:zo("Identifier","QualifiedTypeIdentifier")}}),vu("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("string"))}}),vu("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:zo("FlowType")}}),vu("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:zo("FlowType")}}),vu("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:zo("Expression"),typeAnnotation:zo("TypeAnnotation")}}),vu("TypeParameter",{visitor:["bound","default","variance"],fields:{name:Ho(au("string")),bound:Go("TypeAnnotation"),default:Go("FlowType"),variance:Go("Variance")}}),vu("TypeParameterDeclaration",{visitor:["params"],fields:{params:Ho(Zo("TypeParameter"))}}),vu("TypeParameterInstantiation",{visitor:["params"],fields:{params:Ho(Zo("FlowType"))}}),vu("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("Variance",{builder:["kind"],fields:{kind:Ho(nu("minus","plus"))}}),vu("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:zo("Identifier"),body:zo("EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody")}}),vu("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumBooleanMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumNumberMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumStringMember","EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:eu("EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumBooleanMember",{aliases:["EnumMember"],builder:["id"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("BooleanLiteral")}}),vu("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("NumericLiteral")}}),vu("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("StringLiteral")}}),vu("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:zo("Identifier")}}),vu("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType")}}),vu("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType"),optional:Ho(au("boolean"))}});var wu=hu("JSX");wu("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:iu("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),wu("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),wu("JSXElement",{builder:["openingElement","closingElement","children"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:iu("JSXOpeningElement")},closingElement:{optional:!0,validate:iu("JSXClosingElement")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")},{})}),wu("JSXEmptyExpression",{}),wu("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression","JSXEmptyExpression")}}}),wu("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression")}}}),wu("JSXIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),wu("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:iu("JSXMemberExpression","JSXIdentifier")},property:{validate:iu("JSXIdentifier")}}}),wu("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:iu("JSXIdentifier")},name:{validate:iu("JSXIdentifier")}}}),wu("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","typeArguments","attributes"],aliases:["Immutable"],fields:Object.assign({name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:eu("JSXAttribute","JSXSpreadAttribute"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),wu("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:iu("Expression")}}}),wu("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:au("string")}}}),wu("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:iu("JSXOpeningFragment")},closingFragment:{validate:iu("JSXClosingFragment")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")}}),wu("JSXOpeningFragment",{aliases:["Immutable"]}),wu("JSXClosingFragment",{aliases:["Immutable"]});var Cu=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],ku={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(const e of Cu){const t=qo[e];t?.length&&(ku[e]=t)}var Iu={};Object.keys(ku).forEach(e=>{ku[e].forEach(t=>{Object.hasOwn(Iu,t)||(Iu[t]=[]),Iu[t].push(e)})});var _u=hu("Miscellaneous");_u("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:Object.assign({name:{validate:iu("Identifier")},expectedNode:{validate:nu(...Cu)}},Su())}),_u("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),fu("ArgumentPlaceholder",{}),fu("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},callee:{validate:iu("Expression")}}}),fu("Decorator",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}}}),fu("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:iu("BlockStatement")},async:{validate:au("boolean"),default:!1}}}),fu("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),fu("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectProperty","SpreadElement")}}),fu("TupleExpression",{fields:{elements:{validate:Zo("Expression","SpreadElement"),default:[]}},visitor:["elements"],aliases:["Expression"]}),fu("ModuleExpression",{visitor:["body"],fields:{body:{validate:iu("Program")}},aliases:["Expression"]}),fu("TopicReference",{aliases:["Expression"]}),fu("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelinePrimaryTopicReference",{aliases:["Expression"]}),fu("VoidPattern",{aliases:["Pattern","PatternLike","FunctionParameter"]});var Nu=hu("TypeScript"),Lu=au("boolean"),Ou=()=>({returnType:{validate:iu("TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TSTypeParameterDeclaration"),optional:!0}});Nu("TSParameterProperty",{aliases:[],visitor:["parameter"],fields:{accessibility:{validate:nu("public","private","protected"),optional:!0},readonly:{validate:au("boolean"),optional:!0},parameter:{validate:iu("Identifier","AssignmentPattern")},override:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}}}),Nu("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},xu(),Ou())}),Nu("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},Pu(),Ou())}),Nu("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:zo("TSEntityName"),right:zo("Identifier")}});var Du=()=>({typeParameters:Go("TSTypeParameterDeclaration"),params:eu("ArrayPattern","Identifier","ObjectPattern","RestElement"),returnType:Go("TSTypeAnnotation")}),Mu={aliases:["TSTypeElement"],visitor:["typeParameters","params","returnType"],fields:Du()};Nu("TSCallSignatureDeclaration",Mu),Nu("TSConstructSignatureDeclaration",Mu);var Bu=()=>({key:zo("Expression"),computed:{default:!1},optional:Yo(Lu)});Nu("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},Bu(),{readonly:Yo(Lu),typeAnnotation:Go("TSTypeAnnotation"),kind:{optional:!0,validate:nu("get","set")}})}),Nu("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","params","returnType"],fields:Object.assign({},Du(),Bu(),{kind:{validate:nu("method","get","set")}})}),Nu("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:Yo(Lu),static:Yo(Lu),parameters:eu("Identifier"),typeAnnotation:Go("TSTypeAnnotation")}});for(const e of["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"])Nu(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});Nu("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});var Fu={aliases:["TSType"],visitor:["typeParameters","params","returnType"]};Nu("TSFunctionType",Object.assign({},Fu,{fields:Du()})),Nu("TSConstructorType",Object.assign({},Fu,{fields:Object.assign({},Du(),{abstract:Yo(Lu)})})),Nu("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeArguments"],fields:{typeName:zo("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:zo("Identifier","TSThisType"),typeAnnotation:Go("TSTypeAnnotation"),asserts:Yo(Lu)}}),Nu("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeArguments"],fields:{exprName:zo("TSEntityName","TSImportType"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:eu("TSTypeElement")}}),Nu("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:zo("TSType")}}),Nu("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:eu("TSType","TSNamedTupleMember")}}),Nu("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:zo("Identifier"),optional:{validate:Lu,default:!1},elementType:zo("TSType")}});var Ru={aliases:["TSType"],visitor:["types"],fields:{types:eu("TSType")}};Nu("TSUnionType",Ru),Nu("TSIntersectionType",Ru),Nu("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:zo("TSType"),extendsType:zo("TSType"),trueType:zo("TSType"),falseType:zo("TSType")}}),Nu("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:zo("TSTypeParameter")}}),Nu("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],builder:["typeAnnotation","operator"],fields:{operator:{validate:nu("keyof","readonly","unique"),default:void 0},typeAnnotation:zo("TSType")}}),Nu("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:zo("TSType"),indexType:zo("TSType")}}),Nu("TSMappedType",{aliases:["TSType"],visitor:["key","constraint","nameType","typeAnnotation"],builder:["key","constraint","nameType","typeAnnotation"],fields:Object.assign({},{key:zo("Identifier"),constraint:zo("TSType")},{readonly:Yo(nu(!0,!1,"+","-")),optional:Yo(nu(!0,!1,"+","-")),typeAnnotation:Go("TSType"),nameType:Go("TSType")})}),Nu("TSTemplateLiteralType",{aliases:["TSType","TSBaseType"],visitor:["quasis","types"],fields:{quasis:eu("TemplateElement"),types:{validate:cu(au("array"),tu(iu("TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),Nu("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){const e=iu("NumericLiteral","BigIntLiteral"),t=nu("-"),n=iu("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function r(r,i,s){So("UnaryExpression",s)?(t(s,"operator",s.operator),e(s,"argument",s.argument)):n(r,i,s)}return r.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],r}()}}}),Nu("TSClassImplements",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceHeritage",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),extends:Yo(Zo("TSClassImplements")),body:zo("TSInterfaceBody")}}),Nu("TSInterfaceBody",{visitor:["body"],fields:{body:eu("TSTypeElement")}}),Nu("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),typeAnnotation:zo("TSType")}}),Nu("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}});var ju={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:zo("Expression"),typeAnnotation:zo("TSType")}};Nu("TSAsExpression",ju),Nu("TSSatisfiesExpression",ju),Nu("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:zo("TSType"),expression:zo("Expression")}}),Nu("TSEnumBody",{visitor:["members"],fields:{members:eu("TSEnumMember")}}),Nu("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:Yo(Lu),const:Yo(Lu),id:zo("Identifier"),body:zo("TSEnumBody")}}),Nu("TSEnumMember",{visitor:["id","initializer"],fields:{id:zo("Identifier","StringLiteral"),initializer:Go("Expression")}}),Nu("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:Object.assign({kind:{validate:nu("global","module","namespace")},declare:Yo(Lu)},!1,{id:zo("TSEntityName","StringLiteral"),body:zo("TSModuleBlock")})}),Nu("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:eu("Statement")}}),Nu("TSImportType",{aliases:["TSType"],builder:["argument","qualifier","typeArguments"],visitor:["argument","options","qualifier","typeArguments"],fields:{argument:zo("TSLiteralType"),qualifier:Go("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation"),options:{validate:iu("ObjectExpression"),optional:!0}}}),Nu("TSImportEqualsDeclaration",{aliases:["Statement","Declaration"],visitor:["id","moduleReference"],fields:Object.assign({},{},{id:zo("Identifier"),moduleReference:zo("TSEntityName","TSExternalModuleReference"),importKind:{validate:nu("type","value"),optional:!0}})}),Nu("TSExternalModuleReference",{visitor:["expression"],fields:{expression:zo("StringLiteral")}}),Nu("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:zo("Identifier")}}),Nu("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:iu("TSType")}}}),Nu("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:eu("TSType")}}),Nu("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:eu("TSTypeParameter")}}),Nu("TSTypeParameter",{builder:["constraint","default","name"],visitor:["name","constraint","default"],fields:{name:{validate:iu("Identifier")},in:{validate:au("boolean"),optional:!0},out:{validate:au("boolean"),optional:!0},const:{validate:au("boolean"),optional:!0},constraint:{validate:iu("TSType"),optional:!0},default:{validate:iu("TSType"),optional:!0}}});var Uu={ModuleDeclaration:"ImportOrExportDeclaration"};Object.keys(Uu).forEach(e=>{$o[e]=$o[Uu[e]]});for(const{types:e,set:t}of ru)for(const n of e){const e=$o[n];e?e.forEach(t.add,t):t.add(n)}var qu=[].concat(Object.keys(Uo),Object.keys($o),Object.keys(Ko));function $u(e,t,n){if(!e)return;const r=Jo[e.type];if(!r)return;Ju(e,t,n,r[t]),Vu(e,t,n)}function Ju(e,t,n,r){r?.validate&&(r.optional&&null==n||r.validate(e,t,n))}function Vu(e,t,n){const r=n?.type;null!=r&&Wo[r]?.(e,t,n)}var Ku=Object.freeze({__proto__:null,default:$u,validateChild:Vu,validateField:Ju,validateInternal:function(e,t,n,r,i){if(e?.validate&&(!e.optional||null!=r)&&(e.validate(t,n,r),i)){const e=r.type;if(null==e)return;Wo[e]?.(t,n,r)}}}),{validateInternal:Wu}=Ku,{NODE_FIELDS:Xu}=mu;function Hu(e){const t={type:"ArrayExpression",elements:e},n=Xu.ArrayExpression;return Wu(n.elements,t,"elements",e,1),t}function zu(e,t,n){const r={type:"AssignmentExpression",operator:e,left:t,right:n},i=Xu.AssignmentExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Yu(e,t,n){const r={type:"BinaryExpression",operator:e,left:t,right:n},i=Xu.BinaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Gu(e){const t={type:"InterpreterDirective",value:e},n=Xu.InterpreterDirective;return Wu(n.value,t,"value",e),t}function Qu(e){const t={type:"Directive",value:e},n=Xu.Directive;return Wu(n.value,t,"value",e,1),t}function Zu(e){const t={type:"DirectiveLiteral",value:e},n=Xu.DirectiveLiteral;return Wu(n.value,t,"value",e),t}function ec(e,t=[]){const n={type:"BlockStatement",body:e,directives:t},r=Xu.BlockStatement;return Wu(r.body,n,"body",e,1),Wu(r.directives,n,"directives",t,1),n}function tc(e=null){const t={type:"BreakStatement",label:e},n=Xu.BreakStatement;return Wu(n.label,t,"label",e,1),t}function nc(e,t){const n={type:"CallExpression",callee:e,arguments:t},r=Xu.CallExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function rc(e=null,t){const n={type:"CatchClause",param:e,body:t},r=Xu.CatchClause;return Wu(r.param,n,"param",e,1),Wu(r.body,n,"body",t,1),n}function ic(e,t,n){const r={type:"ConditionalExpression",test:e,consequent:t,alternate:n},i=Xu.ConditionalExpression;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function sc(e=null){const t={type:"ContinueStatement",label:e},n=Xu.ContinueStatement;return Wu(n.label,t,"label",e,1),t}function ac(){return{type:"DebuggerStatement"}}function oc(e,t){const n={type:"DoWhileStatement",test:e,body:t},r=Xu.DoWhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function uc(){return{type:"EmptyStatement"}}function cc(e){const t={type:"ExpressionStatement",expression:e},n=Xu.ExpressionStatement;return Wu(n.expression,t,"expression",e,1),t}function lc(e,t=null,n=null){const r={type:"File",program:e,comments:t,tokens:n},i=Xu.File;return Wu(i.program,r,"program",e,1),Wu(i.comments,r,"comments",t,1),Wu(i.tokens,r,"tokens",n),r}function pc(e,t,n){const r={type:"ForInStatement",left:e,right:t,body:n},i=Xu.ForInStatement;return Wu(i.left,r,"left",e,1),Wu(i.right,r,"right",t,1),Wu(i.body,r,"body",n,1),r}function dc(e=null,t=null,n=null,r){const i={type:"ForStatement",init:e,test:t,update:n,body:r},s=Xu.ForStatement;return Wu(s.init,i,"init",e,1),Wu(s.test,i,"test",t,1),Wu(s.update,i,"update",n,1),Wu(s.body,i,"body",r,1),i}function hc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionDeclaration",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionDeclaration;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function fc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionExpression",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionExpression;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function mc(e){const t={type:"Identifier",name:e},n=Xu.Identifier;return Wu(n.name,t,"name",e),t}function yc(e,t,n=null){const r={type:"IfStatement",test:e,consequent:t,alternate:n},i=Xu.IfStatement;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function gc(e,t){const n={type:"LabeledStatement",label:e,body:t},r=Xu.LabeledStatement;return Wu(r.label,n,"label",e,1),Wu(r.body,n,"body",t,1),n}function bc(e){const t={type:"StringLiteral",value:e},n=Xu.StringLiteral;return Wu(n.value,t,"value",e),t}function xc(e){const t={type:"NumericLiteral",value:e},n=Xu.NumericLiteral;return Wu(n.value,t,"value",e),t}function Sc(){return{type:"NullLiteral"}}function Tc(e){const t={type:"BooleanLiteral",value:e},n=Xu.BooleanLiteral;return Wu(n.value,t,"value",e),t}function Ec(e,t=""){const n={type:"RegExpLiteral",pattern:e,flags:t},r=Xu.RegExpLiteral;return Wu(r.pattern,n,"pattern",e),Wu(r.flags,n,"flags",t),n}function Pc(e,t,n){const r={type:"LogicalExpression",operator:e,left:t,right:n},i=Xu.LogicalExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function vc(e,t,n=!1){const r={type:"MemberExpression",object:e,property:t,computed:n},i=Xu.MemberExpression;return Wu(i.object,r,"object",e,1),Wu(i.property,r,"property",t,1),Wu(i.computed,r,"computed",n),r}function Ac(e,t){const n={type:"NewExpression",callee:e,arguments:t},r=Xu.NewExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function wc(e,t=[],n="script",r=null){const i={type:"Program",body:e,directives:t,sourceType:n,interpreter:r},s=Xu.Program;return Wu(s.body,i,"body",e,1),Wu(s.directives,i,"directives",t,1),Wu(s.sourceType,i,"sourceType",n),Wu(s.interpreter,i,"interpreter",r,1),i}function Cc(e){const t={type:"ObjectExpression",properties:e},n=Xu.ObjectExpression;return Wu(n.properties,t,"properties",e,1),t}function kc(e,t,n,r,i=!1,s=!1,a=!1){const o={type:"ObjectMethod",kind:e,key:t,params:n,body:r,computed:i,generator:s,async:a},u=Xu.ObjectMethod;return Wu(u.kind,o,"kind",e),Wu(u.key,o,"key",t,1),Wu(u.params,o,"params",n,1),Wu(u.body,o,"body",r,1),Wu(u.computed,o,"computed",i),Wu(u.generator,o,"generator",s),Wu(u.async,o,"async",a),o}function Ic(e,t,n=!1,r=!1){const i={type:"ObjectProperty",key:e,value:t,computed:n,shorthand:r},s=Xu.ObjectProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.computed,i,"computed",n),Wu(s.shorthand,i,"shorthand",r),i}function _c(e){const t={type:"RestElement",argument:e},n=Xu.RestElement;return Wu(n.argument,t,"argument",e,1),t}function Nc(e=null){const t={type:"ReturnStatement",argument:e},n=Xu.ReturnStatement;return Wu(n.argument,t,"argument",e,1),t}function Lc(e){const t={type:"SequenceExpression",expressions:e},n=Xu.SequenceExpression;return Wu(n.expressions,t,"expressions",e,1),t}function Oc(e){const t={type:"ParenthesizedExpression",expression:e},n=Xu.ParenthesizedExpression;return Wu(n.expression,t,"expression",e,1),t}function Dc(e=null,t){const n={type:"SwitchCase",test:e,consequent:t},r=Xu.SwitchCase;return Wu(r.test,n,"test",e,1),Wu(r.consequent,n,"consequent",t,1),n}function Mc(e,t){const n={type:"SwitchStatement",discriminant:e,cases:t},r=Xu.SwitchStatement;return Wu(r.discriminant,n,"discriminant",e,1),Wu(r.cases,n,"cases",t,1),n}function Bc(){return{type:"ThisExpression"}}function Fc(e){const t={type:"ThrowStatement",argument:e},n=Xu.ThrowStatement;return Wu(n.argument,t,"argument",e,1),t}function Rc(e,t=null,n=null){const r={type:"TryStatement",block:e,handler:t,finalizer:n},i=Xu.TryStatement;return Wu(i.block,r,"block",e,1),Wu(i.handler,r,"handler",t,1),Wu(i.finalizer,r,"finalizer",n,1),r}function jc(e,t,n=!0){const r={type:"UnaryExpression",operator:e,argument:t,prefix:n},i=Xu.UnaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function Uc(e,t,n=!1){const r={type:"UpdateExpression",operator:e,argument:t,prefix:n},i=Xu.UpdateExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function qc(e,t){const n={type:"VariableDeclaration",kind:e,declarations:t},r=Xu.VariableDeclaration;return Wu(r.kind,n,"kind",e),Wu(r.declarations,n,"declarations",t,1),n}function $c(e,t=null){const n={type:"VariableDeclarator",id:e,init:t},r=Xu.VariableDeclarator;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Jc(e,t){const n={type:"WhileStatement",test:e,body:t},r=Xu.WhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function Vc(e,t){const n={type:"WithStatement",object:e,body:t},r=Xu.WithStatement;return Wu(r.object,n,"object",e,1),Wu(r.body,n,"body",t,1),n}function Kc(e,t){const n={type:"AssignmentPattern",left:e,right:t},r=Xu.AssignmentPattern;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Wc(e){const t={type:"ArrayPattern",elements:e},n=Xu.ArrayPattern;return Wu(n.elements,t,"elements",e,1),t}function Xc(e,t,n=!1){const r={type:"ArrowFunctionExpression",params:e,body:t,async:n,expression:null},i=Xu.ArrowFunctionExpression;return Wu(i.params,r,"params",e,1),Wu(i.body,r,"body",t,1),Wu(i.async,r,"async",n),r}function Hc(e){const t={type:"ClassBody",body:e},n=Xu.ClassBody;return Wu(n.body,t,"body",e,1),t}function zc(e=null,t=null,n,r=null){const i={type:"ClassExpression",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassExpression;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Yc(e=null,t=null,n,r=null){const i={type:"ClassDeclaration",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Gc(e){const t={type:"ExportAllDeclaration",source:e},n=Xu.ExportAllDeclaration;return Wu(n.source,t,"source",e,1),t}function Qc(e){const t={type:"ExportDefaultDeclaration",declaration:e},n=Xu.ExportDefaultDeclaration;return Wu(n.declaration,t,"declaration",e,1),t}function Zc(e=null,t=[],n=null){const r={type:"ExportNamedDeclaration",declaration:e,specifiers:t,source:n},i=Xu.ExportNamedDeclaration;return Wu(i.declaration,r,"declaration",e,1),Wu(i.specifiers,r,"specifiers",t,1),Wu(i.source,r,"source",n,1),r}function el(e,t){const n={type:"ExportSpecifier",local:e,exported:t},r=Xu.ExportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.exported,n,"exported",t,1),n}function tl(e,t,n,r=!1){const i={type:"ForOfStatement",left:e,right:t,body:n,await:r},s=Xu.ForOfStatement;return Wu(s.left,i,"left",e,1),Wu(s.right,i,"right",t,1),Wu(s.body,i,"body",n,1),Wu(s.await,i,"await",r),i}function nl(e,t){const n={type:"ImportDeclaration",specifiers:e,source:t},r=Xu.ImportDeclaration;return Wu(r.specifiers,n,"specifiers",e,1),Wu(r.source,n,"source",t,1),n}function rl(e){const t={type:"ImportDefaultSpecifier",local:e},n=Xu.ImportDefaultSpecifier;return Wu(n.local,t,"local",e,1),t}function il(e){const t={type:"ImportNamespaceSpecifier",local:e},n=Xu.ImportNamespaceSpecifier;return Wu(n.local,t,"local",e,1),t}function sl(e,t){const n={type:"ImportSpecifier",local:e,imported:t},r=Xu.ImportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.imported,n,"imported",t,1),n}function al(e,t=null){const n={type:"ImportExpression",source:e,options:t},r=Xu.ImportExpression;return Wu(r.source,n,"source",e,1),Wu(r.options,n,"options",t,1),n}function ol(e,t){const n={type:"MetaProperty",meta:e,property:t},r=Xu.MetaProperty;return Wu(r.meta,n,"meta",e,1),Wu(r.property,n,"property",t,1),n}function ul(e="method",t,n,r,i=!1,s=!1,a=!1,o=!1){const u={type:"ClassMethod",kind:e,key:t,params:n,body:r,computed:i,static:s,generator:a,async:o},c=Xu.ClassMethod;return Wu(c.kind,u,"kind",e),Wu(c.key,u,"key",t,1),Wu(c.params,u,"params",n,1),Wu(c.body,u,"body",r,1),Wu(c.computed,u,"computed",i),Wu(c.static,u,"static",s),Wu(c.generator,u,"generator",a),Wu(c.async,u,"async",o),u}function cl(e){const t={type:"ObjectPattern",properties:e},n=Xu.ObjectPattern;return Wu(n.properties,t,"properties",e,1),t}function ll(e){const t={type:"SpreadElement",argument:e},n=Xu.SpreadElement;return Wu(n.argument,t,"argument",e,1),t}function pl(){return{type:"Super"}}function dl(e,t){const n={type:"TaggedTemplateExpression",tag:e,quasi:t},r=Xu.TaggedTemplateExpression;return Wu(r.tag,n,"tag",e,1),Wu(r.quasi,n,"quasi",t,1),n}function hl(e,t=!1){const n={type:"TemplateElement",value:e,tail:t},r=Xu.TemplateElement;return Wu(r.value,n,"value",e),Wu(r.tail,n,"tail",t),n}function fl(e,t){const n={type:"TemplateLiteral",quasis:e,expressions:t},r=Xu.TemplateLiteral;return Wu(r.quasis,n,"quasis",e,1),Wu(r.expressions,n,"expressions",t,1),n}function ml(e=null,t=!1){const n={type:"YieldExpression",argument:e,delegate:t},r=Xu.YieldExpression;return Wu(r.argument,n,"argument",e,1),Wu(r.delegate,n,"delegate",t),n}function yl(e){const t={type:"AwaitExpression",argument:e},n=Xu.AwaitExpression;return Wu(n.argument,t,"argument",e,1),t}function gl(){return{type:"Import"}}function bl(e){const t={type:"BigIntLiteral",value:e},n=Xu.BigIntLiteral;return Wu(n.value,t,"value",e),t}function xl(e){const t={type:"ExportNamespaceSpecifier",exported:e},n=Xu.ExportNamespaceSpecifier;return Wu(n.exported,t,"exported",e,1),t}function Sl(e,t,n=!1,r){const i={type:"OptionalMemberExpression",object:e,property:t,computed:n,optional:r},s=Xu.OptionalMemberExpression;return Wu(s.object,i,"object",e,1),Wu(s.property,i,"property",t,1),Wu(s.computed,i,"computed",n),Wu(s.optional,i,"optional",r),i}function Tl(e,t,n){const r={type:"OptionalCallExpression",callee:e,arguments:t,optional:n},i=Xu.OptionalCallExpression;return Wu(i.callee,r,"callee",e,1),Wu(i.arguments,r,"arguments",t,1),Wu(i.optional,r,"optional",n),r}function El(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function Pl(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassAccessorProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassAccessorProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function vl(e,t=null,n=null,r=!1){const i={type:"ClassPrivateProperty",key:e,value:t,decorators:n,static:r},s=Xu.ClassPrivateProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.decorators,i,"decorators",n,1),Wu(s.static,i,"static",r),i}function Al(e="method",t,n,r,i=!1){const s={type:"ClassPrivateMethod",kind:e,key:t,params:n,body:r,static:i},a=Xu.ClassPrivateMethod;return Wu(a.kind,s,"kind",e),Wu(a.key,s,"key",t,1),Wu(a.params,s,"params",n,1),Wu(a.body,s,"body",r,1),Wu(a.static,s,"static",i),s}function wl(e){const t={type:"PrivateName",id:e},n=Xu.PrivateName;return Wu(n.id,t,"id",e,1),t}function Cl(e){const t={type:"StaticBlock",body:e},n=Xu.StaticBlock;return Wu(n.body,t,"body",e,1),t}function kl(e,t){const n={type:"ImportAttribute",key:e,value:t},r=Xu.ImportAttribute;return Wu(r.key,n,"key",e,1),Wu(r.value,n,"value",t,1),n}function Il(){return{type:"AnyTypeAnnotation"}}function _l(e){const t={type:"ArrayTypeAnnotation",elementType:e},n=Xu.ArrayTypeAnnotation;return Wu(n.elementType,t,"elementType",e,1),t}function Nl(){return{type:"BooleanTypeAnnotation"}}function Ll(e){const t={type:"BooleanLiteralTypeAnnotation",value:e},n=Xu.BooleanLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function Ol(){return{type:"NullLiteralTypeAnnotation"}}function Dl(e,t=null){const n={type:"ClassImplements",id:e,typeParameters:t},r=Xu.ClassImplements;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ml(e,t=null,n=null,r){const i={type:"DeclareClass",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareClass;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Bl(e){const t={type:"DeclareFunction",id:e},n=Xu.DeclareFunction;return Wu(n.id,t,"id",e,1),t}function Fl(e,t=null,n=null,r){const i={type:"DeclareInterface",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareInterface;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Rl(e,t,n=null){const r={type:"DeclareModule",id:e,body:t,kind:n},i=Xu.DeclareModule;return Wu(i.id,r,"id",e,1),Wu(i.body,r,"body",t,1),Wu(i.kind,r,"kind",n),r}function jl(e){const t={type:"DeclareModuleExports",typeAnnotation:e},n=Xu.DeclareModuleExports;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ul(e,t=null,n){const r={type:"DeclareTypeAlias",id:e,typeParameters:t,right:n},i=Xu.DeclareTypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function ql(e,t=null,n=null){const r={type:"DeclareOpaqueType",id:e,typeParameters:t,supertype:n},i=Xu.DeclareOpaqueType;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.supertype,r,"supertype",n,1),r}function $l(e){const t={type:"DeclareVariable",id:e},n=Xu.DeclareVariable;return Wu(n.id,t,"id",e,1),t}function Jl(e=null,t=null,n=null,r=null){const i={type:"DeclareExportDeclaration",declaration:e,specifiers:t,source:n,attributes:r},s=Xu.DeclareExportDeclaration;return Wu(s.declaration,i,"declaration",e,1),Wu(s.specifiers,i,"specifiers",t,1),Wu(s.source,i,"source",n,1),Wu(s.attributes,i,"attributes",r,1),i}function Vl(e,t=null){const n={type:"DeclareExportAllDeclaration",source:e,attributes:t},r=Xu.DeclareExportAllDeclaration;return Wu(r.source,n,"source",e,1),Wu(r.attributes,n,"attributes",t,1),n}function Kl(e){const t={type:"DeclaredPredicate",value:e},n=Xu.DeclaredPredicate;return Wu(n.value,t,"value",e,1),t}function Wl(){return{type:"ExistsTypeAnnotation"}}function Xl(e=null,t,n=null,r){const i={type:"FunctionTypeAnnotation",typeParameters:e,params:t,rest:n,returnType:r},s=Xu.FunctionTypeAnnotation;return Wu(s.typeParameters,i,"typeParameters",e,1),Wu(s.params,i,"params",t,1),Wu(s.rest,i,"rest",n,1),Wu(s.returnType,i,"returnType",r,1),i}function Hl(e=null,t){const n={type:"FunctionTypeParam",name:e,typeAnnotation:t},r=Xu.FunctionTypeParam;return Wu(r.name,n,"name",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function zl(e,t=null){const n={type:"GenericTypeAnnotation",id:e,typeParameters:t},r=Xu.GenericTypeAnnotation;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Yl(){return{type:"InferredPredicate"}}function Gl(e,t=null){const n={type:"InterfaceExtends",id:e,typeParameters:t},r=Xu.InterfaceExtends;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ql(e,t=null,n=null,r){const i={type:"InterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.InterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Zl(e=null,t){const n={type:"InterfaceTypeAnnotation",extends:e,body:t},r=Xu.InterfaceTypeAnnotation;return Wu(r.extends,n,"extends",e,1),Wu(r.body,n,"body",t,1),n}function ep(e){const t={type:"IntersectionTypeAnnotation",types:e},n=Xu.IntersectionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function tp(){return{type:"MixedTypeAnnotation"}}function np(){return{type:"EmptyTypeAnnotation"}}function rp(e){const t={type:"NullableTypeAnnotation",typeAnnotation:e},n=Xu.NullableTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function ip(e){const t={type:"NumberLiteralTypeAnnotation",value:e},n=Xu.NumberLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function sp(){return{type:"NumberTypeAnnotation"}}function ap(e,t=[],n=[],r=[],i=!1){const s={type:"ObjectTypeAnnotation",properties:e,indexers:t,callProperties:n,internalSlots:r,exact:i},a=Xu.ObjectTypeAnnotation;return Wu(a.properties,s,"properties",e,1),Wu(a.indexers,s,"indexers",t,1),Wu(a.callProperties,s,"callProperties",n,1),Wu(a.internalSlots,s,"internalSlots",r,1),Wu(a.exact,s,"exact",i),s}function op(e,t,n,r,i){const s={type:"ObjectTypeInternalSlot",id:e,value:t,optional:n,static:r,method:i},a=Xu.ObjectTypeInternalSlot;return Wu(a.id,s,"id",e,1),Wu(a.value,s,"value",t,1),Wu(a.optional,s,"optional",n),Wu(a.static,s,"static",r),Wu(a.method,s,"method",i),s}function up(e){const t={type:"ObjectTypeCallProperty",value:e,static:null},n=Xu.ObjectTypeCallProperty;return Wu(n.value,t,"value",e,1),t}function cp(e=null,t,n,r=null){const i={type:"ObjectTypeIndexer",id:e,key:t,value:n,variance:r,static:null},s=Xu.ObjectTypeIndexer;return Wu(s.id,i,"id",e,1),Wu(s.key,i,"key",t,1),Wu(s.value,i,"value",n,1),Wu(s.variance,i,"variance",r,1),i}function lp(e,t,n=null){const r={type:"ObjectTypeProperty",key:e,value:t,variance:n,kind:null,method:null,optional:null,proto:null,static:null},i=Xu.ObjectTypeProperty;return Wu(i.key,r,"key",e,1),Wu(i.value,r,"value",t,1),Wu(i.variance,r,"variance",n,1),r}function pp(e){const t={type:"ObjectTypeSpreadProperty",argument:e},n=Xu.ObjectTypeSpreadProperty;return Wu(n.argument,t,"argument",e,1),t}function dp(e,t=null,n=null,r){const i={type:"OpaqueType",id:e,typeParameters:t,supertype:n,impltype:r},s=Xu.OpaqueType;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.supertype,i,"supertype",n,1),Wu(s.impltype,i,"impltype",r,1),i}function hp(e,t){const n={type:"QualifiedTypeIdentifier",id:e,qualification:t},r=Xu.QualifiedTypeIdentifier;return Wu(r.id,n,"id",e,1),Wu(r.qualification,n,"qualification",t,1),n}function fp(e){const t={type:"StringLiteralTypeAnnotation",value:e},n=Xu.StringLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function mp(){return{type:"StringTypeAnnotation"}}function yp(){return{type:"SymbolTypeAnnotation"}}function gp(){return{type:"ThisTypeAnnotation"}}function bp(e){const t={type:"TupleTypeAnnotation",types:e},n=Xu.TupleTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function xp(e){const t={type:"TypeofTypeAnnotation",argument:e},n=Xu.TypeofTypeAnnotation;return Wu(n.argument,t,"argument",e,1),t}function Sp(e,t=null,n){const r={type:"TypeAlias",id:e,typeParameters:t,right:n},i=Xu.TypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function Tp(e){const t={type:"TypeAnnotation",typeAnnotation:e},n=Xu.TypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ep(e,t){const n={type:"TypeCastExpression",expression:e,typeAnnotation:t},r=Xu.TypeCastExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pp(e=null,t=null,n=null){const r={type:"TypeParameter",bound:e,default:t,variance:n,name:null},i=Xu.TypeParameter;return Wu(i.bound,r,"bound",e,1),Wu(i.default,r,"default",t,1),Wu(i.variance,r,"variance",n,1),r}function vp(e){const t={type:"TypeParameterDeclaration",params:e},n=Xu.TypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ap(e){const t={type:"TypeParameterInstantiation",params:e},n=Xu.TypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function wp(e){const t={type:"UnionTypeAnnotation",types:e},n=Xu.UnionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function Cp(e){const t={type:"Variance",kind:e},n=Xu.Variance;return Wu(n.kind,t,"kind",e),t}function kp(){return{type:"VoidTypeAnnotation"}}function Ip(e,t){const n={type:"EnumDeclaration",id:e,body:t},r=Xu.EnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function _p(e){const t={type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumBooleanBody;return Wu(n.members,t,"members",e,1),t}function Np(e){const t={type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumNumberBody;return Wu(n.members,t,"members",e,1),t}function Lp(e){const t={type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumStringBody;return Wu(n.members,t,"members",e,1),t}function Op(e){const t={type:"EnumSymbolBody",members:e,hasUnknownMembers:null},n=Xu.EnumSymbolBody;return Wu(n.members,t,"members",e,1),t}function Dp(e){const t={type:"EnumBooleanMember",id:e,init:null},n=Xu.EnumBooleanMember;return Wu(n.id,t,"id",e,1),t}function Mp(e,t){const n={type:"EnumNumberMember",id:e,init:t},r=Xu.EnumNumberMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Bp(e,t){const n={type:"EnumStringMember",id:e,init:t},r=Xu.EnumStringMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Fp(e){const t={type:"EnumDefaultedMember",id:e},n=Xu.EnumDefaultedMember;return Wu(n.id,t,"id",e,1),t}function Rp(e,t){const n={type:"IndexedAccessType",objectType:e,indexType:t},r=Xu.IndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function jp(e,t){const n={type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null},r=Xu.OptionalIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function Up(e,t=null){const n={type:"JSXAttribute",name:e,value:t},r=Xu.JSXAttribute;return Wu(r.name,n,"name",e,1),Wu(r.value,n,"value",t,1),n}function qp(e){const t={type:"JSXClosingElement",name:e},n=Xu.JSXClosingElement;return Wu(n.name,t,"name",e,1),t}function $p(e,t=null,n){const r={type:"JSXElement",openingElement:e,closingElement:t,children:n},i=Xu.JSXElement;return Wu(i.openingElement,r,"openingElement",e,1),Wu(i.closingElement,r,"closingElement",t,1),Wu(i.children,r,"children",n,1),r}function Jp(){return{type:"JSXEmptyExpression"}}function Vp(e){const t={type:"JSXExpressionContainer",expression:e},n=Xu.JSXExpressionContainer;return Wu(n.expression,t,"expression",e,1),t}function Kp(e){const t={type:"JSXSpreadChild",expression:e},n=Xu.JSXSpreadChild;return Wu(n.expression,t,"expression",e,1),t}function Wp(e){const t={type:"JSXIdentifier",name:e},n=Xu.JSXIdentifier;return Wu(n.name,t,"name",e),t}function Xp(e,t){const n={type:"JSXMemberExpression",object:e,property:t},r=Xu.JSXMemberExpression;return Wu(r.object,n,"object",e,1),Wu(r.property,n,"property",t,1),n}function Hp(e,t){const n={type:"JSXNamespacedName",namespace:e,name:t},r=Xu.JSXNamespacedName;return Wu(r.namespace,n,"namespace",e,1),Wu(r.name,n,"name",t,1),n}function zp(e,t,n=!1){const r={type:"JSXOpeningElement",name:e,attributes:t,selfClosing:n},i=Xu.JSXOpeningElement;return Wu(i.name,r,"name",e,1),Wu(i.attributes,r,"attributes",t,1),Wu(i.selfClosing,r,"selfClosing",n),r}function Yp(e){const t={type:"JSXSpreadAttribute",argument:e},n=Xu.JSXSpreadAttribute;return Wu(n.argument,t,"argument",e,1),t}function Gp(e){const t={type:"JSXText",value:e},n=Xu.JSXText;return Wu(n.value,t,"value",e),t}function Qp(e,t,n){const r={type:"JSXFragment",openingFragment:e,closingFragment:t,children:n},i=Xu.JSXFragment;return Wu(i.openingFragment,r,"openingFragment",e,1),Wu(i.closingFragment,r,"closingFragment",t,1),Wu(i.children,r,"children",n,1),r}function Zp(){return{type:"JSXOpeningFragment"}}function ed(){return{type:"JSXClosingFragment"}}function td(e,t){const n={type:"Placeholder",expectedNode:e,name:t},r=Xu.Placeholder;return Wu(r.expectedNode,n,"expectedNode",e),Wu(r.name,n,"name",t,1),n}function nd(e){const t={type:"V8IntrinsicIdentifier",name:e},n=Xu.V8IntrinsicIdentifier;return Wu(n.name,t,"name",e),t}function rd(){return{type:"ArgumentPlaceholder"}}function id(e,t){const n={type:"BindExpression",object:e,callee:t},r=Xu.BindExpression;return Wu(r.object,n,"object",e,1),Wu(r.callee,n,"callee",t,1),n}function sd(e){const t={type:"Decorator",expression:e},n=Xu.Decorator;return Wu(n.expression,t,"expression",e,1),t}function ad(e,t=!1){const n={type:"DoExpression",body:e,async:t},r=Xu.DoExpression;return Wu(r.body,n,"body",e,1),Wu(r.async,n,"async",t),n}function od(e){const t={type:"ExportDefaultSpecifier",exported:e},n=Xu.ExportDefaultSpecifier;return Wu(n.exported,t,"exported",e,1),t}function ud(e){const t={type:"RecordExpression",properties:e},n=Xu.RecordExpression;return Wu(n.properties,t,"properties",e,1),t}function cd(e=[]){const t={type:"TupleExpression",elements:e},n=Xu.TupleExpression;return Wu(n.elements,t,"elements",e,1),t}function ld(e){const t={type:"ModuleExpression",body:e},n=Xu.ModuleExpression;return Wu(n.body,t,"body",e,1),t}function pd(){return{type:"TopicReference"}}function dd(e){const t={type:"PipelineTopicExpression",expression:e},n=Xu.PipelineTopicExpression;return Wu(n.expression,t,"expression",e,1),t}function hd(e){const t={type:"PipelineBareFunction",callee:e},n=Xu.PipelineBareFunction;return Wu(n.callee,t,"callee",e,1),t}function fd(){return{type:"PipelinePrimaryTopicReference"}}function md(){return{type:"VoidPattern"}}function yd(e){const t={type:"TSParameterProperty",parameter:e},n=Xu.TSParameterProperty;return Wu(n.parameter,t,"parameter",e,1),t}function gd(e=null,t=null,n,r=null){const i={type:"TSDeclareFunction",id:e,typeParameters:t,params:n,returnType:r},s=Xu.TSDeclareFunction;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function bd(e=null,t,n=null,r,i=null){const s={type:"TSDeclareMethod",decorators:e,key:t,typeParameters:n,params:r,returnType:i},a=Xu.TSDeclareMethod;return Wu(a.decorators,s,"decorators",e,1),Wu(a.key,s,"key",t,1),Wu(a.typeParameters,s,"typeParameters",n,1),Wu(a.params,s,"params",r,1),Wu(a.returnType,s,"returnType",i,1),s}function xd(e,t){const n={type:"TSQualifiedName",left:e,right:t},r=Xu.TSQualifiedName;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Sd(e=null,t,n=null){const r={type:"TSCallSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSCallSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Td(e=null,t,n=null){const r={type:"TSConstructSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ed(e,t=null){const n={type:"TSPropertySignature",key:e,typeAnnotation:t},r=Xu.TSPropertySignature;return Wu(r.key,n,"key",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pd(e,t=null,n,r=null){const i={type:"TSMethodSignature",key:e,typeParameters:t,params:n,returnType:r,kind:null},s=Xu.TSMethodSignature;return Wu(s.key,i,"key",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function vd(e,t=null){const n={type:"TSIndexSignature",parameters:e,typeAnnotation:t},r=Xu.TSIndexSignature;return Wu(r.parameters,n,"parameters",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Ad(){return{type:"TSAnyKeyword"}}function wd(){return{type:"TSBooleanKeyword"}}function Cd(){return{type:"TSBigIntKeyword"}}function kd(){return{type:"TSIntrinsicKeyword"}}function Id(){return{type:"TSNeverKeyword"}}function _d(){return{type:"TSNullKeyword"}}function Nd(){return{type:"TSNumberKeyword"}}function Ld(){return{type:"TSObjectKeyword"}}function Od(){return{type:"TSStringKeyword"}}function Dd(){return{type:"TSSymbolKeyword"}}function Md(){return{type:"TSUndefinedKeyword"}}function Bd(){return{type:"TSUnknownKeyword"}}function Fd(){return{type:"TSVoidKeyword"}}function Rd(){return{type:"TSThisType"}}function jd(e=null,t,n=null){const r={type:"TSFunctionType",typeParameters:e,params:t,returnType:n},i=Xu.TSFunctionType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ud(e=null,t,n=null){const r={type:"TSConstructorType",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructorType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function qd(e,t=null){const n={type:"TSTypeReference",typeName:e,typeArguments:t},r=Xu.TSTypeReference;return Wu(r.typeName,n,"typeName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function $d(e,t=null,n=null){const r={type:"TSTypePredicate",parameterName:e,typeAnnotation:t,asserts:n},i=Xu.TSTypePredicate;return Wu(i.parameterName,r,"parameterName",e,1),Wu(i.typeAnnotation,r,"typeAnnotation",t,1),Wu(i.asserts,r,"asserts",n),r}function Jd(e,t=null){const n={type:"TSTypeQuery",exprName:e,typeArguments:t},r=Xu.TSTypeQuery;return Wu(r.exprName,n,"exprName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function Vd(e){const t={type:"TSTypeLiteral",members:e},n=Xu.TSTypeLiteral;return Wu(n.members,t,"members",e,1),t}function Kd(e){const t={type:"TSArrayType",elementType:e},n=Xu.TSArrayType;return Wu(n.elementType,t,"elementType",e,1),t}function Wd(e){const t={type:"TSTupleType",elementTypes:e},n=Xu.TSTupleType;return Wu(n.elementTypes,t,"elementTypes",e,1),t}function Xd(e){const t={type:"TSOptionalType",typeAnnotation:e},n=Xu.TSOptionalType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Hd(e){const t={type:"TSRestType",typeAnnotation:e},n=Xu.TSRestType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function zd(e,t,n=!1){const r={type:"TSNamedTupleMember",label:e,elementType:t,optional:n},i=Xu.TSNamedTupleMember;return Wu(i.label,r,"label",e,1),Wu(i.elementType,r,"elementType",t,1),Wu(i.optional,r,"optional",n),r}function Yd(e){const t={type:"TSUnionType",types:e},n=Xu.TSUnionType;return Wu(n.types,t,"types",e,1),t}function Gd(e){const t={type:"TSIntersectionType",types:e},n=Xu.TSIntersectionType;return Wu(n.types,t,"types",e,1),t}function Qd(e,t,n,r){const i={type:"TSConditionalType",checkType:e,extendsType:t,trueType:n,falseType:r},s=Xu.TSConditionalType;return Wu(s.checkType,i,"checkType",e,1),Wu(s.extendsType,i,"extendsType",t,1),Wu(s.trueType,i,"trueType",n,1),Wu(s.falseType,i,"falseType",r,1),i}function Zd(e){const t={type:"TSInferType",typeParameter:e},n=Xu.TSInferType;return Wu(n.typeParameter,t,"typeParameter",e,1),t}function eh(e){const t={type:"TSParenthesizedType",typeAnnotation:e},n=Xu.TSParenthesizedType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function th(e,t){const n={type:"TSTypeOperator",typeAnnotation:e,operator:t},r=Xu.TSTypeOperator;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.operator,n,"operator",t),n}function nh(e,t){const n={type:"TSIndexedAccessType",objectType:e,indexType:t},r=Xu.TSIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function rh(e,t,n=null,r=null){const i={type:"TSMappedType",key:e,constraint:t,nameType:n,typeAnnotation:r},s=Xu.TSMappedType;return Wu(s.key,i,"key",e,1),Wu(s.constraint,i,"constraint",t,1),Wu(s.nameType,i,"nameType",n,1),Wu(s.typeAnnotation,i,"typeAnnotation",r,1),i}function ih(e,t){const n={type:"TSTemplateLiteralType",quasis:e,types:t},r=Xu.TSTemplateLiteralType;return Wu(r.quasis,n,"quasis",e,1),Wu(r.types,n,"types",t,1),n}function sh(e){const t={type:"TSLiteralType",literal:e},n=Xu.TSLiteralType;return Wu(n.literal,t,"literal",e,1),t}function ah(e,t=null){const n={type:"TSClassImplements",expression:e,typeArguments:t},r=Xu.TSClassImplements;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function oh(e,t=null){const n={type:"TSInterfaceHeritage",expression:e,typeArguments:t},r=Xu.TSInterfaceHeritage;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function uh(e,t=null,n=null,r){const i={type:"TSInterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.TSInterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function ch(e){const t={type:"TSInterfaceBody",body:e},n=Xu.TSInterfaceBody;return Wu(n.body,t,"body",e,1),t}function lh(e,t=null,n){const r={type:"TSTypeAliasDeclaration",id:e,typeParameters:t,typeAnnotation:n},i=Xu.TSTypeAliasDeclaration;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.typeAnnotation,r,"typeAnnotation",n,1),r}function ph(e,t=null){const n={type:"TSInstantiationExpression",expression:e,typeArguments:t},r=Xu.TSInstantiationExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function dh(e,t){const n={type:"TSAsExpression",expression:e,typeAnnotation:t},r=Xu.TSAsExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function hh(e,t){const n={type:"TSSatisfiesExpression",expression:e,typeAnnotation:t},r=Xu.TSSatisfiesExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function fh(e,t){const n={type:"TSTypeAssertion",typeAnnotation:e,expression:t},r=Xu.TSTypeAssertion;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.expression,n,"expression",t,1),n}function mh(e){const t={type:"TSEnumBody",members:e},n=Xu.TSEnumBody;return Wu(n.members,t,"members",e,1),t}function yh(e,t){const n={type:"TSEnumDeclaration",id:e,body:t},r=Xu.TSEnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function gh(e,t=null){const n={type:"TSEnumMember",id:e,initializer:t},r=Xu.TSEnumMember;return Wu(r.id,n,"id",e,1),Wu(r.initializer,n,"initializer",t,1),n}function bh(e,t){const n={type:"TSModuleDeclaration",id:e,body:t,kind:null},r=Xu.TSModuleDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function xh(e){const t={type:"TSModuleBlock",body:e},n=Xu.TSModuleBlock;return Wu(n.body,t,"body",e,1),t}function Sh(e,t=null,n=null){const r={type:"TSImportType",argument:e,qualifier:t,typeArguments:n},i=Xu.TSImportType;return Wu(i.argument,r,"argument",e,1),Wu(i.qualifier,r,"qualifier",t,1),Wu(i.typeArguments,r,"typeArguments",n,1),r}function Th(e,t){const n={type:"TSImportEqualsDeclaration",id:e,moduleReference:t},r=Xu.TSImportEqualsDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.moduleReference,n,"moduleReference",t,1),n}function Eh(e){const t={type:"TSExternalModuleReference",expression:e},n=Xu.TSExternalModuleReference;return Wu(n.expression,t,"expression",e,1),t}function Ph(e){const t={type:"TSNonNullExpression",expression:e},n=Xu.TSNonNullExpression;return Wu(n.expression,t,"expression",e,1),t}function vh(e){const t={type:"TSExportAssignment",expression:e},n=Xu.TSExportAssignment;return Wu(n.expression,t,"expression",e,1),t}function Ah(e){const t={type:"TSNamespaceExportDeclaration",id:e},n=Xu.TSNamespaceExportDeclaration;return Wu(n.id,t,"id",e,1),t}function wh(e){const t={type:"TSTypeAnnotation",typeAnnotation:e},n=Xu.TSTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ch(e){const t={type:"TSTypeParameterInstantiation",params:e},n=Xu.TSTypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function kh(e){const t={type:"TSTypeParameterDeclaration",params:e},n=Xu.TSTypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ih(e=null,t=null,n){const r={type:"TSTypeParameter",constraint:e,default:t,name:n},i=Xu.TSTypeParameter;return Wu(i.constraint,r,"constraint",e,1),Wu(i.default,r,"default",t,1),Wu(i.name,r,"name",n,1),r}function _h(e){return It("NumberLiteral","NumericLiteral","The node type "),xc(e)}function Nh(e,t=""){return It("RegexLiteral","RegExpLiteral","The node type "),Ec(e,t)}function Lh(e){return It("RestProperty","RestElement","The node type "),_c(e)}function Oh(e){return It("SpreadProperty","SpreadElement","The node type "),ll(e)}var Dh=Object.freeze({__proto__:null,anyTypeAnnotation:Il,argumentPlaceholder:rd,arrayExpression:Hu,arrayPattern:Wc,arrayTypeAnnotation:_l,arrowFunctionExpression:Xc,assignmentExpression:zu,assignmentPattern:Kc,awaitExpression:yl,bigIntLiteral:bl,binaryExpression:Yu,bindExpression:id,blockStatement:ec,booleanLiteral:Tc,booleanLiteralTypeAnnotation:Ll,booleanTypeAnnotation:Nl,breakStatement:tc,callExpression:nc,catchClause:rc,classAccessorProperty:Pl,classBody:Hc,classDeclaration:Yc,classExpression:zc,classImplements:Dl,classMethod:ul,classPrivateMethod:Al,classPrivateProperty:vl,classProperty:El,conditionalExpression:ic,continueStatement:sc,debuggerStatement:ac,declareClass:Ml,declareExportAllDeclaration:Vl,declareExportDeclaration:Jl,declareFunction:Bl,declareInterface:Fl,declareModule:Rl,declareModuleExports:jl,declareOpaqueType:ql,declareTypeAlias:Ul,declareVariable:$l,declaredPredicate:Kl,decorator:sd,directive:Qu,directiveLiteral:Zu,doExpression:ad,doWhileStatement:oc,emptyStatement:uc,emptyTypeAnnotation:np,enumBooleanBody:_p,enumBooleanMember:Dp,enumDeclaration:Ip,enumDefaultedMember:Fp,enumNumberBody:Np,enumNumberMember:Mp,enumStringBody:Lp,enumStringMember:Bp,enumSymbolBody:Op,existsTypeAnnotation:Wl,exportAllDeclaration:Gc,exportDefaultDeclaration:Qc,exportDefaultSpecifier:od,exportNamedDeclaration:Zc,exportNamespaceSpecifier:xl,exportSpecifier:el,expressionStatement:cc,file:lc,forInStatement:pc,forOfStatement:tl,forStatement:dc,functionDeclaration:hc,functionExpression:fc,functionTypeAnnotation:Xl,functionTypeParam:Hl,genericTypeAnnotation:zl,identifier:mc,ifStatement:yc,import:gl,importAttribute:kl,importDeclaration:nl,importDefaultSpecifier:rl,importExpression:al,importNamespaceSpecifier:il,importSpecifier:sl,indexedAccessType:Rp,inferredPredicate:Yl,interfaceDeclaration:Ql,interfaceExtends:Gl,interfaceTypeAnnotation:Zl,interpreterDirective:Gu,intersectionTypeAnnotation:ep,jsxAttribute:Up,jsxClosingElement:qp,jsxClosingFragment:ed,jsxElement:$p,jsxEmptyExpression:Jp,jsxExpressionContainer:Vp,jsxFragment:Qp,jsxIdentifier:Wp,jsxMemberExpression:Xp,jsxNamespacedName:Hp,jsxOpeningElement:zp,jsxOpeningFragment:Zp,jsxSpreadAttribute:Yp,jsxSpreadChild:Kp,jsxText:Gp,labeledStatement:gc,logicalExpression:Pc,memberExpression:vc,metaProperty:ol,mixedTypeAnnotation:tp,moduleExpression:ld,newExpression:Ac,nullLiteral:Sc,nullLiteralTypeAnnotation:Ol,nullableTypeAnnotation:rp,numberLiteral:_h,numberLiteralTypeAnnotation:ip,numberTypeAnnotation:sp,numericLiteral:xc,objectExpression:Cc,objectMethod:kc,objectPattern:cl,objectProperty:Ic,objectTypeAnnotation:ap,objectTypeCallProperty:up,objectTypeIndexer:cp,objectTypeInternalSlot:op,objectTypeProperty:lp,objectTypeSpreadProperty:pp,opaqueType:dp,optionalCallExpression:Tl,optionalIndexedAccessType:jp,optionalMemberExpression:Sl,parenthesizedExpression:Oc,pipelineBareFunction:hd,pipelinePrimaryTopicReference:fd,pipelineTopicExpression:dd,placeholder:td,privateName:wl,program:wc,qualifiedTypeIdentifier:hp,recordExpression:ud,regExpLiteral:Ec,regexLiteral:Nh,restElement:_c,restProperty:Lh,returnStatement:Nc,sequenceExpression:Lc,spreadElement:ll,spreadProperty:Oh,staticBlock:Cl,stringLiteral:bc,stringLiteralTypeAnnotation:fp,stringTypeAnnotation:mp,super:pl,switchCase:Dc,switchStatement:Mc,symbolTypeAnnotation:yp,taggedTemplateExpression:dl,templateElement:hl,templateLiteral:fl,thisExpression:Bc,thisTypeAnnotation:gp,throwStatement:Fc,topicReference:pd,tryStatement:Rc,tsAnyKeyword:Ad,tsArrayType:Kd,tsAsExpression:dh,tsBigIntKeyword:Cd,tsBooleanKeyword:wd,tsCallSignatureDeclaration:Sd,tsClassImplements:ah,tsConditionalType:Qd,tsConstructSignatureDeclaration:Td,tsConstructorType:Ud,tsDeclareFunction:gd,tsDeclareMethod:bd,tsEnumBody:mh,tsEnumDeclaration:yh,tsEnumMember:gh,tsExportAssignment:vh,tsExternalModuleReference:Eh,tsFunctionType:jd,tsImportEqualsDeclaration:Th,tsImportType:Sh,tsIndexSignature:vd,tsIndexedAccessType:nh,tsInferType:Zd,tsInstantiationExpression:ph,tsInterfaceBody:ch,tsInterfaceDeclaration:uh,tsInterfaceHeritage:oh,tsIntersectionType:Gd,tsIntrinsicKeyword:kd,tsLiteralType:sh,tsMappedType:rh,tsMethodSignature:Pd,tsModuleBlock:xh,tsModuleDeclaration:bh,tsNamedTupleMember:zd,tsNamespaceExportDeclaration:Ah,tsNeverKeyword:Id,tsNonNullExpression:Ph,tsNullKeyword:_d,tsNumberKeyword:Nd,tsObjectKeyword:Ld,tsOptionalType:Xd,tsParameterProperty:yd,tsParenthesizedType:eh,tsPropertySignature:Ed,tsQualifiedName:xd,tsRestType:Hd,tsSatisfiesExpression:hh,tsStringKeyword:Od,tsSymbolKeyword:Dd,tsTemplateLiteralType:ih,tsThisType:Rd,tsTupleType:Wd,tsTypeAliasDeclaration:lh,tsTypeAnnotation:wh,tsTypeAssertion:fh,tsTypeLiteral:Vd,tsTypeOperator:th,tsTypeParameter:Ih,tsTypeParameterDeclaration:kh,tsTypeParameterInstantiation:Ch,tsTypePredicate:$d,tsTypeQuery:Jd,tsTypeReference:qd,tsUndefinedKeyword:Md,tsUnionType:Yd,tsUnknownKeyword:Bd,tsVoidKeyword:Fd,tupleExpression:cd,tupleTypeAnnotation:bp,typeAlias:Sp,typeAnnotation:Tp,typeCastExpression:Ep,typeParameter:Pp,typeParameterDeclaration:vp,typeParameterInstantiation:Ap,typeofTypeAnnotation:xp,unaryExpression:jc,unionTypeAnnotation:wp,updateExpression:Uc,v8IntrinsicIdentifier:nd,variableDeclaration:qc,variableDeclarator:$c,variance:Cp,voidPattern:md,voidTypeAnnotation:kp,whileStatement:Jc,withStatement:Vc,yieldExpression:ml});function Mh(e){return function(){return It(e.replace(/^(?:ts|jsx|[a-z])/,e=>e.toUpperCase()),e,"Usage of builders starting with an uppercase letter such as ","uppercase builders"),Dh[e](...arguments)}}var Bh=Mh("arrayExpression"),Fh=Mh("assignmentExpression"),Rh=Mh("binaryExpression"),jh=Mh("interpreterDirective"),Uh=Mh("directive"),qh=Mh("directiveLiteral"),$h=Mh("blockStatement"),Jh=Mh("breakStatement"),Vh=Mh("callExpression"),Kh=Mh("catchClause"),Wh=Mh("conditionalExpression"),Xh=Mh("continueStatement"),Hh=Mh("debuggerStatement"),zh=Mh("doWhileStatement"),Yh=Mh("emptyStatement"),Gh=Mh("expressionStatement"),Qh=Mh("file"),Zh=Mh("forInStatement"),ef=Mh("forStatement"),tf=Mh("functionDeclaration"),nf=Mh("functionExpression"),rf=Mh("identifier"),sf=Mh("ifStatement"),af=Mh("labeledStatement"),of=Mh("stringLiteral"),uf=Mh("numericLiteral"),cf=Mh("nullLiteral"),lf=Mh("booleanLiteral"),pf=Mh("regExpLiteral"),df=Mh("logicalExpression"),hf=Mh("memberExpression"),ff=Mh("newExpression"),mf=Mh("program"),yf=Mh("objectExpression"),gf=Mh("objectMethod"),bf=Mh("objectProperty"),xf=Mh("restElement"),Sf=Mh("returnStatement"),Tf=Mh("sequenceExpression"),Ef=Mh("parenthesizedExpression"),Pf=Mh("switchCase"),vf=Mh("switchStatement"),Af=Mh("thisExpression"),wf=Mh("throwStatement"),Cf=Mh("tryStatement"),kf=Mh("unaryExpression"),If=Mh("updateExpression"),_f=Mh("variableDeclaration"),Nf=Mh("variableDeclarator"),Lf=Mh("whileStatement"),Of=Mh("withStatement"),Df=Mh("assignmentPattern"),Mf=Mh("arrayPattern"),Bf=Mh("arrowFunctionExpression"),Ff=Mh("classBody"),Rf=Mh("classExpression"),jf=Mh("classDeclaration"),Uf=Mh("exportAllDeclaration"),qf=Mh("exportDefaultDeclaration"),$f=Mh("exportNamedDeclaration"),Jf=Mh("exportSpecifier"),Vf=Mh("forOfStatement"),Kf=Mh("importDeclaration"),Wf=Mh("importDefaultSpecifier"),Xf=Mh("importNamespaceSpecifier"),Hf=Mh("importSpecifier"),zf=Mh("importExpression"),Yf=Mh("metaProperty"),Gf=Mh("classMethod"),Qf=Mh("objectPattern"),Zf=Mh("spreadElement"),em=Mh("super"),tm=Mh("taggedTemplateExpression"),nm=Mh("templateElement"),rm=Mh("templateLiteral"),im=Mh("yieldExpression"),sm=Mh("awaitExpression"),am=Mh("import"),om=Mh("bigIntLiteral"),um=Mh("exportNamespaceSpecifier"),cm=Mh("optionalMemberExpression"),lm=Mh("optionalCallExpression"),pm=Mh("classProperty"),dm=Mh("classAccessorProperty"),hm=Mh("classPrivateProperty"),fm=Mh("classPrivateMethod"),mm=Mh("privateName"),ym=Mh("staticBlock"),gm=Mh("importAttribute"),bm=Mh("anyTypeAnnotation"),xm=Mh("arrayTypeAnnotation"),Sm=Mh("booleanTypeAnnotation"),Tm=Mh("booleanLiteralTypeAnnotation"),Em=Mh("nullLiteralTypeAnnotation"),Pm=Mh("classImplements"),vm=Mh("declareClass"),Am=Mh("declareFunction"),wm=Mh("declareInterface"),Cm=Mh("declareModule"),km=Mh("declareModuleExports"),Im=Mh("declareTypeAlias"),_m=Mh("declareOpaqueType"),Nm=Mh("declareVariable"),Lm=Mh("declareExportDeclaration"),Om=Mh("declareExportAllDeclaration"),Dm=Mh("declaredPredicate"),Mm=Mh("existsTypeAnnotation"),Bm=Mh("functionTypeAnnotation"),Fm=Mh("functionTypeParam"),Rm=Mh("genericTypeAnnotation"),jm=Mh("inferredPredicate"),Um=Mh("interfaceExtends"),qm=Mh("interfaceDeclaration"),$m=Mh("interfaceTypeAnnotation"),Jm=Mh("intersectionTypeAnnotation"),Vm=Mh("mixedTypeAnnotation"),Km=Mh("emptyTypeAnnotation"),Wm=Mh("nullableTypeAnnotation"),Xm=Mh("numberLiteralTypeAnnotation"),Hm=Mh("numberTypeAnnotation"),zm=Mh("objectTypeAnnotation"),Ym=Mh("objectTypeInternalSlot"),Gm=Mh("objectTypeCallProperty"),Qm=Mh("objectTypeIndexer"),Zm=Mh("objectTypeProperty"),ey=Mh("objectTypeSpreadProperty"),ty=Mh("opaqueType"),ny=Mh("qualifiedTypeIdentifier"),ry=Mh("stringLiteralTypeAnnotation"),iy=Mh("stringTypeAnnotation"),sy=Mh("symbolTypeAnnotation"),ay=Mh("thisTypeAnnotation"),oy=Mh("tupleTypeAnnotation"),uy=Mh("typeofTypeAnnotation"),cy=Mh("typeAlias"),ly=Mh("typeAnnotation"),py=Mh("typeCastExpression"),dy=Mh("typeParameter"),hy=Mh("typeParameterDeclaration"),fy=Mh("typeParameterInstantiation"),my=Mh("unionTypeAnnotation"),yy=Mh("variance"),gy=Mh("voidTypeAnnotation"),by=Mh("enumDeclaration"),xy=Mh("enumBooleanBody"),Sy=Mh("enumNumberBody"),Ty=Mh("enumStringBody"),Ey=Mh("enumSymbolBody"),Py=Mh("enumBooleanMember"),vy=Mh("enumNumberMember"),Ay=Mh("enumStringMember"),wy=Mh("enumDefaultedMember"),Cy=Mh("indexedAccessType"),ky=Mh("optionalIndexedAccessType"),Iy=Mh("jsxAttribute"),_y=Mh("jsxClosingElement"),Ny=Mh("jsxElement"),Ly=Mh("jsxEmptyExpression"),Oy=Mh("jsxExpressionContainer"),Dy=Mh("jsxSpreadChild"),My=Mh("jsxIdentifier"),By=Mh("jsxMemberExpression"),Fy=Mh("jsxNamespacedName"),Ry=Mh("jsxOpeningElement"),jy=Mh("jsxSpreadAttribute"),Uy=Mh("jsxText"),qy=Mh("jsxFragment"),$y=Mh("jsxOpeningFragment"),Jy=Mh("jsxClosingFragment"),Vy=Mh("placeholder"),Ky=Mh("v8IntrinsicIdentifier"),Wy=Mh("argumentPlaceholder"),Xy=Mh("bindExpression"),Hy=Mh("decorator"),zy=Mh("doExpression"),Yy=Mh("exportDefaultSpecifier"),Gy=Mh("recordExpression"),Qy=Mh("tupleExpression"),Zy=Mh("moduleExpression"),eg=Mh("topicReference"),tg=Mh("pipelineTopicExpression"),ng=Mh("pipelineBareFunction"),rg=Mh("pipelinePrimaryTopicReference"),ig=Mh("voidPattern"),sg=Mh("tsParameterProperty"),ag=Mh("tsDeclareFunction"),og=Mh("tsDeclareMethod"),ug=Mh("tsQualifiedName"),cg=Mh("tsCallSignatureDeclaration"),lg=Mh("tsConstructSignatureDeclaration"),pg=Mh("tsPropertySignature"),dg=Mh("tsMethodSignature"),hg=Mh("tsIndexSignature"),fg=Mh("tsAnyKeyword"),mg=Mh("tsBooleanKeyword"),yg=Mh("tsBigIntKeyword"),gg=Mh("tsIntrinsicKeyword"),bg=Mh("tsNeverKeyword"),xg=Mh("tsNullKeyword"),Sg=Mh("tsNumberKeyword"),Tg=Mh("tsObjectKeyword"),Eg=Mh("tsStringKeyword"),Pg=Mh("tsSymbolKeyword"),vg=Mh("tsUndefinedKeyword"),Ag=Mh("tsUnknownKeyword"),wg=Mh("tsVoidKeyword"),Cg=Mh("tsThisType"),kg=Mh("tsFunctionType"),Ig=Mh("tsConstructorType"),_g=Mh("tsTypeReference"),Ng=Mh("tsTypePredicate"),Lg=Mh("tsTypeQuery"),Og=Mh("tsTypeLiteral"),Dg=Mh("tsArrayType"),Mg=Mh("tsTupleType"),Bg=Mh("tsOptionalType"),Fg=Mh("tsRestType"),Rg=Mh("tsNamedTupleMember"),jg=Mh("tsUnionType"),Ug=Mh("tsIntersectionType"),qg=Mh("tsConditionalType"),$g=Mh("tsInferType"),Jg=Mh("tsParenthesizedType"),Vg=Mh("tsTypeOperator"),Kg=Mh("tsIndexedAccessType"),Wg=Mh("tsMappedType"),Xg=Mh("tsTemplateLiteralType"),Hg=Mh("tsLiteralType"),zg=Mh("tsClassImplements"),Yg=Mh("tsInterfaceHeritage"),Gg=Mh("tsInterfaceDeclaration"),Qg=Mh("tsInterfaceBody"),Zg=Mh("tsTypeAliasDeclaration"),eb=Mh("tsInstantiationExpression"),tb=Mh("tsAsExpression"),nb=Mh("tsSatisfiesExpression"),rb=Mh("tsTypeAssertion"),ib=Mh("tsEnumBody"),sb=Mh("tsEnumDeclaration"),ab=Mh("tsEnumMember"),ob=Mh("tsModuleDeclaration"),ub=Mh("tsModuleBlock"),cb=Mh("tsImportType"),lb=Mh("tsImportEqualsDeclaration"),pb=Mh("tsExternalModuleReference"),db=Mh("tsNonNullExpression"),hb=Mh("tsExportAssignment"),fb=Mh("tsNamespaceExportDeclaration"),mb=Mh("tsTypeAnnotation"),yb=Mh("tsTypeParameterInstantiation"),gb=Mh("tsTypeParameterDeclaration"),bb=Mh("tsTypeParameter");function xb(e,t){const n=e.value.split(/\r\n|\n|\r/);let r=0;for(let e=0;e<n.length;e++)/[^ \t]/.exec(n[e])&&(r=e);let i="";for(let e=0;e<n.length;e++){const t=n[e],s=0===e,a=e===n.length-1,o=e===r;let u=t.replace(/\t/g," ");s||(u=u.replace(/^ +/,"")),a||(u=u.replace(/ +$/,"")),u&&(o||(u+=" "),i+=u)}i&&t.push(XA(bc(i),e))}function Sb(e){return!(!e||!Uo[e.type])}function Tb(e){if(!Sb(e)){const t=e?.type??JSON.stringify(e);throw new TypeError(`Not a valid node of type "${t}"`)}}function Eb(e,t,n){if(!So(e,t,n))throw new Error(`Expected type "${e}" with option ${JSON.stringify(n)}, but instead got "${t.type}".`)}function Pb(e,t){Eb("ArrayExpression",e,t)}function vb(e,t){Eb("AssignmentExpression",e,t)}function Ab(e,t){Eb("BinaryExpression",e,t)}function wb(e,t){Eb("InterpreterDirective",e,t)}function Cb(e,t){Eb("Directive",e,t)}function kb(e,t){Eb("DirectiveLiteral",e,t)}function Ib(e,t){Eb("BlockStatement",e,t)}function _b(e,t){Eb("BreakStatement",e,t)}function Nb(e,t){Eb("CallExpression",e,t)}function Lb(e,t){Eb("CatchClause",e,t)}function Ob(e,t){Eb("ConditionalExpression",e,t)}function Db(e,t){Eb("ContinueStatement",e,t)}function Mb(e,t){Eb("DebuggerStatement",e,t)}function Bb(e,t){Eb("DoWhileStatement",e,t)}function Fb(e,t){Eb("EmptyStatement",e,t)}function Rb(e,t){Eb("ExpressionStatement",e,t)}function jb(e,t){Eb("File",e,t)}function Ub(e,t){Eb("ForInStatement",e,t)}function qb(e,t){Eb("ForStatement",e,t)}function $b(e,t){Eb("FunctionDeclaration",e,t)}function Jb(e,t){Eb("FunctionExpression",e,t)}function Vb(e,t){Eb("Identifier",e,t)}function Kb(e,t){Eb("IfStatement",e,t)}function Wb(e,t){Eb("LabeledStatement",e,t)}function Xb(e,t){Eb("StringLiteral",e,t)}function Hb(e,t){Eb("NumericLiteral",e,t)}function zb(e,t){Eb("NullLiteral",e,t)}function Yb(e,t){Eb("BooleanLiteral",e,t)}function Gb(e,t){Eb("RegExpLiteral",e,t)}function Qb(e,t){Eb("LogicalExpression",e,t)}function Zb(e,t){Eb("MemberExpression",e,t)}function ex(e,t){Eb("NewExpression",e,t)}function tx(e,t){Eb("Program",e,t)}function nx(e,t){Eb("ObjectExpression",e,t)}function rx(e,t){Eb("ObjectMethod",e,t)}function ix(e,t){Eb("ObjectProperty",e,t)}function sx(e,t){Eb("RestElement",e,t)}function ax(e,t){Eb("ReturnStatement",e,t)}function ox(e,t){Eb("SequenceExpression",e,t)}function ux(e,t){Eb("ParenthesizedExpression",e,t)}function cx(e,t){Eb("SwitchCase",e,t)}function lx(e,t){Eb("SwitchStatement",e,t)}function px(e,t){Eb("ThisExpression",e,t)}function dx(e,t){Eb("ThrowStatement",e,t)}function hx(e,t){Eb("TryStatement",e,t)}function fx(e,t){Eb("UnaryExpression",e,t)}function mx(e,t){Eb("UpdateExpression",e,t)}function yx(e,t){Eb("VariableDeclaration",e,t)}function gx(e,t){Eb("VariableDeclarator",e,t)}function bx(e,t){Eb("WhileStatement",e,t)}function xx(e,t){Eb("WithStatement",e,t)}function Sx(e,t){Eb("AssignmentPattern",e,t)}function Tx(e,t){Eb("ArrayPattern",e,t)}function Ex(e,t){Eb("ArrowFunctionExpression",e,t)}function Px(e,t){Eb("ClassBody",e,t)}function vx(e,t){Eb("ClassExpression",e,t)}function Ax(e,t){Eb("ClassDeclaration",e,t)}function wx(e,t){Eb("ExportAllDeclaration",e,t)}function Cx(e,t){Eb("ExportDefaultDeclaration",e,t)}function kx(e,t){Eb("ExportNamedDeclaration",e,t)}function Ix(e,t){Eb("ExportSpecifier",e,t)}function _x(e,t){Eb("ForOfStatement",e,t)}function Nx(e,t){Eb("ImportDeclaration",e,t)}function Lx(e,t){Eb("ImportDefaultSpecifier",e,t)}function Ox(e,t){Eb("ImportNamespaceSpecifier",e,t)}function Dx(e,t){Eb("ImportSpecifier",e,t)}function Mx(e,t){Eb("ImportExpression",e,t)}function Bx(e,t){Eb("MetaProperty",e,t)}function Fx(e,t){Eb("ClassMethod",e,t)}function Rx(e,t){Eb("ObjectPattern",e,t)}function jx(e,t){Eb("SpreadElement",e,t)}function Ux(e,t){Eb("Super",e,t)}function qx(e,t){Eb("TaggedTemplateExpression",e,t)}function $x(e,t){Eb("TemplateElement",e,t)}function Jx(e,t){Eb("TemplateLiteral",e,t)}function Vx(e,t){Eb("YieldExpression",e,t)}function Kx(e,t){Eb("AwaitExpression",e,t)}function Wx(e,t){Eb("Import",e,t)}function Xx(e,t){Eb("BigIntLiteral",e,t)}function Hx(e,t){Eb("ExportNamespaceSpecifier",e,t)}function zx(e,t){Eb("OptionalMemberExpression",e,t)}function Yx(e,t){Eb("OptionalCallExpression",e,t)}function Gx(e,t){Eb("ClassProperty",e,t)}function Qx(e,t){Eb("ClassAccessorProperty",e,t)}function Zx(e,t){Eb("ClassPrivateProperty",e,t)}function eS(e,t){Eb("ClassPrivateMethod",e,t)}function tS(e,t){Eb("PrivateName",e,t)}function nS(e,t){Eb("StaticBlock",e,t)}function rS(e,t){Eb("ImportAttribute",e,t)}function iS(e,t){Eb("AnyTypeAnnotation",e,t)}function sS(e,t){Eb("ArrayTypeAnnotation",e,t)}function aS(e,t){Eb("BooleanTypeAnnotation",e,t)}function oS(e,t){Eb("BooleanLiteralTypeAnnotation",e,t)}function uS(e,t){Eb("NullLiteralTypeAnnotation",e,t)}function cS(e,t){Eb("ClassImplements",e,t)}function lS(e,t){Eb("DeclareClass",e,t)}function pS(e,t){Eb("DeclareFunction",e,t)}function dS(e,t){Eb("DeclareInterface",e,t)}function hS(e,t){Eb("DeclareModule",e,t)}function fS(e,t){Eb("DeclareModuleExports",e,t)}function mS(e,t){Eb("DeclareTypeAlias",e,t)}function yS(e,t){Eb("DeclareOpaqueType",e,t)}function gS(e,t){Eb("DeclareVariable",e,t)}function bS(e,t){Eb("DeclareExportDeclaration",e,t)}function xS(e,t){Eb("DeclareExportAllDeclaration",e,t)}function SS(e,t){Eb("DeclaredPredicate",e,t)}function TS(e,t){Eb("ExistsTypeAnnotation",e,t)}function ES(e,t){Eb("FunctionTypeAnnotation",e,t)}function PS(e,t){Eb("FunctionTypeParam",e,t)}function vS(e,t){Eb("GenericTypeAnnotation",e,t)}function AS(e,t){Eb("InferredPredicate",e,t)}function wS(e,t){Eb("InterfaceExtends",e,t)}function CS(e,t){Eb("InterfaceDeclaration",e,t)}function kS(e,t){Eb("InterfaceTypeAnnotation",e,t)}function IS(e,t){Eb("IntersectionTypeAnnotation",e,t)}function _S(e,t){Eb("MixedTypeAnnotation",e,t)}function NS(e,t){Eb("EmptyTypeAnnotation",e,t)}function LS(e,t){Eb("NullableTypeAnnotation",e,t)}function OS(e,t){Eb("NumberLiteralTypeAnnotation",e,t)}function DS(e,t){Eb("NumberTypeAnnotation",e,t)}function MS(e,t){Eb("ObjectTypeAnnotation",e,t)}function BS(e,t){Eb("ObjectTypeInternalSlot",e,t)}function FS(e,t){Eb("ObjectTypeCallProperty",e,t)}function RS(e,t){Eb("ObjectTypeIndexer",e,t)}function jS(e,t){Eb("ObjectTypeProperty",e,t)}function US(e,t){Eb("ObjectTypeSpreadProperty",e,t)}function qS(e,t){Eb("OpaqueType",e,t)}function $S(e,t){Eb("QualifiedTypeIdentifier",e,t)}function JS(e,t){Eb("StringLiteralTypeAnnotation",e,t)}function VS(e,t){Eb("StringTypeAnnotation",e,t)}function KS(e,t){Eb("SymbolTypeAnnotation",e,t)}function WS(e,t){Eb("ThisTypeAnnotation",e,t)}function XS(e,t){Eb("TupleTypeAnnotation",e,t)}function HS(e,t){Eb("TypeofTypeAnnotation",e,t)}function zS(e,t){Eb("TypeAlias",e,t)}function YS(e,t){Eb("TypeAnnotation",e,t)}function GS(e,t){Eb("TypeCastExpression",e,t)}function QS(e,t){Eb("TypeParameter",e,t)}function ZS(e,t){Eb("TypeParameterDeclaration",e,t)}function eT(e,t){Eb("TypeParameterInstantiation",e,t)}function tT(e,t){Eb("UnionTypeAnnotation",e,t)}function nT(e,t){Eb("Variance",e,t)}function rT(e,t){Eb("VoidTypeAnnotation",e,t)}function iT(e,t){Eb("EnumDeclaration",e,t)}function sT(e,t){Eb("EnumBooleanBody",e,t)}function aT(e,t){Eb("EnumNumberBody",e,t)}function oT(e,t){Eb("EnumStringBody",e,t)}function uT(e,t){Eb("EnumSymbolBody",e,t)}function cT(e,t){Eb("EnumBooleanMember",e,t)}function lT(e,t){Eb("EnumNumberMember",e,t)}function pT(e,t){Eb("EnumStringMember",e,t)}function dT(e,t){Eb("EnumDefaultedMember",e,t)}function hT(e,t){Eb("IndexedAccessType",e,t)}function fT(e,t){Eb("OptionalIndexedAccessType",e,t)}function mT(e,t){Eb("JSXAttribute",e,t)}function yT(e,t){Eb("JSXClosingElement",e,t)}function gT(e,t){Eb("JSXElement",e,t)}function bT(e,t){Eb("JSXEmptyExpression",e,t)}function xT(e,t){Eb("JSXExpressionContainer",e,t)}function ST(e,t){Eb("JSXSpreadChild",e,t)}function TT(e,t){Eb("JSXIdentifier",e,t)}function ET(e,t){Eb("JSXMemberExpression",e,t)}function PT(e,t){Eb("JSXNamespacedName",e,t)}function vT(e,t){Eb("JSXOpeningElement",e,t)}function AT(e,t){Eb("JSXSpreadAttribute",e,t)}function wT(e,t){Eb("JSXText",e,t)}function CT(e,t){Eb("JSXFragment",e,t)}function kT(e,t){Eb("JSXOpeningFragment",e,t)}function IT(e,t){Eb("JSXClosingFragment",e,t)}function _T(e,t){Eb("Placeholder",e,t)}function NT(e,t){Eb("V8IntrinsicIdentifier",e,t)}function LT(e,t){Eb("ArgumentPlaceholder",e,t)}function OT(e,t){Eb("BindExpression",e,t)}function DT(e,t){Eb("Decorator",e,t)}function MT(e,t){Eb("DoExpression",e,t)}function BT(e,t){Eb("ExportDefaultSpecifier",e,t)}function FT(e,t){Eb("RecordExpression",e,t)}function RT(e,t){Eb("TupleExpression",e,t)}function jT(e,t){Eb("ModuleExpression",e,t)}function UT(e,t){Eb("TopicReference",e,t)}function qT(e,t){Eb("PipelineTopicExpression",e,t)}function $T(e,t){Eb("PipelineBareFunction",e,t)}function JT(e,t){Eb("PipelinePrimaryTopicReference",e,t)}function VT(e,t){Eb("VoidPattern",e,t)}function KT(e,t){Eb("TSParameterProperty",e,t)}function WT(e,t){Eb("TSDeclareFunction",e,t)}function XT(e,t){Eb("TSDeclareMethod",e,t)}function HT(e,t){Eb("TSQualifiedName",e,t)}function zT(e,t){Eb("TSCallSignatureDeclaration",e,t)}function YT(e,t){Eb("TSConstructSignatureDeclaration",e,t)}function GT(e,t){Eb("TSPropertySignature",e,t)}function QT(e,t){Eb("TSMethodSignature",e,t)}function ZT(e,t){Eb("TSIndexSignature",e,t)}function eE(e,t){Eb("TSAnyKeyword",e,t)}function tE(e,t){Eb("TSBooleanKeyword",e,t)}function nE(e,t){Eb("TSBigIntKeyword",e,t)}function rE(e,t){Eb("TSIntrinsicKeyword",e,t)}function iE(e,t){Eb("TSNeverKeyword",e,t)}function sE(e,t){Eb("TSNullKeyword",e,t)}function aE(e,t){Eb("TSNumberKeyword",e,t)}function oE(e,t){Eb("TSObjectKeyword",e,t)}function uE(e,t){Eb("TSStringKeyword",e,t)}function cE(e,t){Eb("TSSymbolKeyword",e,t)}function lE(e,t){Eb("TSUndefinedKeyword",e,t)}function pE(e,t){Eb("TSUnknownKeyword",e,t)}function dE(e,t){Eb("TSVoidKeyword",e,t)}function hE(e,t){Eb("TSThisType",e,t)}function fE(e,t){Eb("TSFunctionType",e,t)}function mE(e,t){Eb("TSConstructorType",e,t)}function yE(e,t){Eb("TSTypeReference",e,t)}function gE(e,t){Eb("TSTypePredicate",e,t)}function bE(e,t){Eb("TSTypeQuery",e,t)}function xE(e,t){Eb("TSTypeLiteral",e,t)}function SE(e,t){Eb("TSArrayType",e,t)}function TE(e,t){Eb("TSTupleType",e,t)}function EE(e,t){Eb("TSOptionalType",e,t)}function PE(e,t){Eb("TSRestType",e,t)}function vE(e,t){Eb("TSNamedTupleMember",e,t)}function AE(e,t){Eb("TSUnionType",e,t)}function wE(e,t){Eb("TSIntersectionType",e,t)}function CE(e,t){Eb("TSConditionalType",e,t)}function kE(e,t){Eb("TSInferType",e,t)}function IE(e,t){Eb("TSParenthesizedType",e,t)}function _E(e,t){Eb("TSTypeOperator",e,t)}function NE(e,t){Eb("TSIndexedAccessType",e,t)}function LE(e,t){Eb("TSMappedType",e,t)}function OE(e,t){Eb("TSTemplateLiteralType",e,t)}function DE(e,t){Eb("TSLiteralType",e,t)}function ME(e,t){Eb("TSClassImplements",e,t)}function BE(e,t){Eb("TSInterfaceHeritage",e,t)}function FE(e,t){Eb("TSInterfaceDeclaration",e,t)}function RE(e,t){Eb("TSInterfaceBody",e,t)}function jE(e,t){Eb("TSTypeAliasDeclaration",e,t)}function UE(e,t){Eb("TSInstantiationExpression",e,t)}function qE(e,t){Eb("TSAsExpression",e,t)}function $E(e,t){Eb("TSSatisfiesExpression",e,t)}function JE(e,t){Eb("TSTypeAssertion",e,t)}function VE(e,t){Eb("TSEnumBody",e,t)}function KE(e,t){Eb("TSEnumDeclaration",e,t)}function WE(e,t){Eb("TSEnumMember",e,t)}function XE(e,t){Eb("TSModuleDeclaration",e,t)}function HE(e,t){Eb("TSModuleBlock",e,t)}function zE(e,t){Eb("TSImportType",e,t)}function YE(e,t){Eb("TSImportEqualsDeclaration",e,t)}function GE(e,t){Eb("TSExternalModuleReference",e,t)}function QE(e,t){Eb("TSNonNullExpression",e,t)}function ZE(e,t){Eb("TSExportAssignment",e,t)}function eP(e,t){Eb("TSNamespaceExportDeclaration",e,t)}function tP(e,t){Eb("TSTypeAnnotation",e,t)}function nP(e,t){Eb("TSTypeParameterInstantiation",e,t)}function rP(e,t){Eb("TSTypeParameterDeclaration",e,t)}function iP(e,t){Eb("TSTypeParameter",e,t)}function sP(e,t){Eb("Standardized",e,t)}function aP(e,t){Eb("Expression",e,t)}function oP(e,t){Eb("Binary",e,t)}function uP(e,t){Eb("Scopable",e,t)}function cP(e,t){Eb("BlockParent",e,t)}function lP(e,t){Eb("Block",e,t)}function pP(e,t){Eb("Statement",e,t)}function dP(e,t){Eb("Terminatorless",e,t)}function hP(e,t){Eb("CompletionStatement",e,t)}function fP(e,t){Eb("Conditional",e,t)}function mP(e,t){Eb("Loop",e,t)}function yP(e,t){Eb("While",e,t)}function gP(e,t){Eb("ExpressionWrapper",e,t)}function bP(e,t){Eb("For",e,t)}function xP(e,t){Eb("ForXStatement",e,t)}function SP(e,t){Eb("Function",e,t)}function TP(e,t){Eb("FunctionParent",e,t)}function EP(e,t){Eb("Pureish",e,t)}function PP(e,t){Eb("Declaration",e,t)}function vP(e,t){Eb("FunctionParameter",e,t)}function AP(e,t){Eb("PatternLike",e,t)}function wP(e,t){Eb("LVal",e,t)}function CP(e,t){Eb("TSEntityName",e,t)}function kP(e,t){Eb("Literal",e,t)}function IP(e,t){Eb("Immutable",e,t)}function _P(e,t){Eb("UserWhitespacable",e,t)}function NP(e,t){Eb("Method",e,t)}function LP(e,t){Eb("ObjectMember",e,t)}function OP(e,t){Eb("Property",e,t)}function DP(e,t){Eb("UnaryLike",e,t)}function MP(e,t){Eb("Pattern",e,t)}function BP(e,t){Eb("Class",e,t)}function FP(e,t){Eb("ImportOrExportDeclaration",e,t)}function RP(e,t){Eb("ExportDeclaration",e,t)}function jP(e,t){Eb("ModuleSpecifier",e,t)}function UP(e,t){Eb("Accessor",e,t)}function qP(e,t){Eb("Private",e,t)}function $P(e,t){Eb("Flow",e,t)}function JP(e,t){Eb("FlowType",e,t)}function VP(e,t){Eb("FlowBaseAnnotation",e,t)}function KP(e,t){Eb("FlowDeclaration",e,t)}function WP(e,t){Eb("FlowPredicate",e,t)}function XP(e,t){Eb("EnumBody",e,t)}function HP(e,t){Eb("EnumMember",e,t)}function zP(e,t){Eb("JSX",e,t)}function YP(e,t){Eb("Miscellaneous",e,t)}function GP(e,t){Eb("TypeScript",e,t)}function QP(e,t){Eb("TSTypeElement",e,t)}function ZP(e,t){Eb("TSType",e,t)}function ev(e,t){Eb("TSBaseType",e,t)}function tv(e,t){It("assertNumberLiteral","assertNumericLiteral"),Eb("NumberLiteral",e,t)}function nv(e,t){It("assertRegexLiteral","assertRegExpLiteral"),Eb("RegexLiteral",e,t)}function rv(e,t){It("assertRestProperty","assertRestElement"),Eb("RestProperty",e,t)}function iv(e,t){It("assertSpreadProperty","assertSpreadElement"),Eb("SpreadProperty",e,t)}function sv(e,t){It("assertModuleDeclaration","assertImportOrExportDeclaration"),Eb("ModuleDeclaration",e,t)}function av(e){switch(e){case"string":return{type:"StringTypeAnnotation"};case"number":return{type:"NumberTypeAnnotation"};case"undefined":return{type:"VoidTypeAnnotation"};case"boolean":return{type:"BooleanTypeAnnotation"};case"function":return zl(mc("Function"));case"object":return zl(mc("Object"));case"symbol":return zl(mc("Symbol"));case"bigint":return{type:"AnyTypeAnnotation"}}throw new Error("Invalid typeof value: "+e)}function ov(e){return Gt(e)?e.name:`${e.id.name}.${ov(e.qualification)}`}function uv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(a&&!s.includes(a)){if(dr(a))return[a];if(Ga())r.set(a.type,a);else if(ci(a))i.has(a.types)||(t.push(...a.types),i.add(a.types));else{if(Lr(a)){const e=ov(a.id);if(n.has(e)){let t=n.get(e);t.typeParameters?a.typeParameters&&(t.typeParameters.params.push(...a.typeParameters.params),t.typeParameters.params=uv(t.typeParameters.params)):t=a.typeParameters}else n.set(e,a);continue}s.push(a)}}}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function cv(e){const t=uv(e);return 1===t.length?t[0]:wp(t)}function lv(e){return Gt(e)?e.name:xn(e)?"this":`${e.right.name}.${lv(e.left)}`}function pv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(!a)continue;if(s.includes(a))continue;if(us(a))return[a];if(oo(a)){r.set(a.type,a);continue}if(Os(a)){i.has(a.types)||(t.push(...a.types),i.add(a.types));continue}const o="typeArguments";if(vs(a)&&a[o]){const e=a[o],t=lv(a.typeName);if(n.has(t)){let r=n.get(t);const i=r[o];i?(i.params.push(...e.params),i.params=pv(i.params)):r=e}else n.set(t,a);continue}s.push(a)}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function dv(e){const t=pv(e.map(e=>ca(e)?e.typeAnnotation:e));return 1===t.length?t[0]:Yd(t)}function hv(){return jc("void",xc(0),!0)}var{hasOwn:fv}=Object;function mv(e,t,n,r){return e&&"string"==typeof e.type?bv(e,t,n,r):e}function yv(e,t,n,r){return Array.isArray(e)?e.map(e=>mv(e,t,n,r)):mv(e,t,n,r)}function gv(e,t=!0,n=!1){return bv(e,t,n,new Map)}function bv(e,t=!0,n=!1,r){if(!e)return e;const{type:i}=e,s={type:e.type};if(Gt(e))s.name=e.name,fv(e,"optional")&&"boolean"==typeof e.optional&&(s.optional=e.optional),fv(e,"typeAnnotation")&&(s.typeAnnotation=t?yv(e.typeAnnotation,!0,n,r):e.typeAnnotation),fv(e,"decorators")&&(s.decorators=t?yv(e.decorators,!0,n,r):e.decorators);else{if(!fv(Jo,i))throw new Error(`Unknown node type: "${i}"`);for(const a of Object.keys(Jo[i]))fv(e,a)&&(s[a]=t?Wt(e)&&"comments"===a?xv(e.comments,t,n,r):yv(e[a],!0,n,r):e[a])}return fv(e,"loc")&&(s.loc=n?null:e.loc),fv(e,"leadingComments")&&(s.leadingComments=xv(e.leadingComments,t,n,r)),fv(e,"innerComments")&&(s.innerComments=xv(e.innerComments,t,n,r)),fv(e,"trailingComments")&&(s.trailingComments=xv(e.trailingComments,t,n,r)),fv(e,"extra")&&(s.extra=Object.assign({},e.extra)),s}function xv(e,t,n,r){return e&&t?e.map(e=>{const t=r.get(e);if(t)return t;const{type:i,value:s,loc:a}=e,o={type:i,value:s,loc:a};return n&&(o.loc=null),r.set(e,o),o}):e}function Sv(e){return gv(e,!1)}function Tv(e){return gv(e)}function Ev(e){return gv(e,!0,!0)}function Pv(e){return gv(e,!1,!0)}function vv(e,t,n){if(!n||!e)return e;const r=`${t}Comments`;return e[r]?"leading"===t?e[r]=n.concat(e[r]):e[r].push(...n):e[r]=n,e}function Av(e,t,n,r){return vv(e,t,[{type:r?"CommentLine":"CommentBlock",value:n}])}function wv(e,t,n){t&&n&&(t[e]=Array.from(new Set([].concat(t[e],n[e]).filter(Boolean))))}function Cv(e,t){wv("innerComments",e,t)}function kv(e,t){wv("leadingComments",e,t)}function Iv(e,t){wv("trailingComments",e,t)}function _v(e,t){return Iv(e,t),kv(e,t),Cv(e,t),e}function Nv(e){return Ao.forEach(t=>{e[t]=null}),e}var Lv=$o.Standardized,Ov=$o.Expression,Dv=$o.Binary,Mv=$o.Scopable,Bv=$o.BlockParent,Fv=$o.Block,Rv=$o.Statement,jv=$o.Terminatorless,Uv=$o.CompletionStatement,qv=$o.Conditional,$v=$o.Loop,Jv=$o.While,Vv=$o.ExpressionWrapper,Kv=$o.For,Wv=$o.ForXStatement,Xv=$o.Function,Hv=$o.FunctionParent,zv=$o.Pureish,Yv=$o.Declaration,Gv=$o.FunctionParameter,Qv=$o.PatternLike,Zv=$o.LVal,eA=$o.TSEntityName,tA=$o.Literal,nA=$o.Immutable,rA=$o.UserWhitespacable,iA=$o.Method,sA=$o.ObjectMember,aA=$o.Property,oA=$o.UnaryLike,uA=$o.Pattern,cA=$o.Class,lA=$o.ImportOrExportDeclaration,pA=$o.ExportDeclaration,dA=$o.ModuleSpecifier,hA=$o.Accessor,fA=$o.Private,mA=$o.Flow,yA=$o.FlowType,gA=$o.FlowBaseAnnotation,bA=$o.FlowDeclaration,xA=$o.FlowPredicate,SA=$o.EnumBody,TA=$o.EnumMember,EA=$o.JSX,PA=$o.Miscellaneous,vA=$o.TypeScript,AA=$o.TSTypeElement,wA=$o.TSType,CA=$o.TSBaseType,kA=lA;function IA(e,t){if(Bt(e))return e;let n=[];return Vt(e)?n=[]:(xa(e)||(e=ka(t)?Nc(e):cc(e)),n=[e]),ec(n)}function _A(e,t="body"){const n=IA(e[t],e);return e[t]=n,n}function NA(e){e+="";let t="";for(const n of e)t+=mt(n.codePointAt(0))?n:"-";return t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),To(t)||(t=`_${t}`),t||"_"}function LA(e){return"eval"!==(e=NA(e))&&"arguments"!==e||(e="_"+e),e}function OA(e,t=e.key||e.property){return!e.computed&&Gt(t)&&(t=bc(t.name)),t}function DA(e){if(Kt(e)&&(e=e.expression),fa(e))return e;if(Ja(e)?(e.type="ClassExpression",e.abstract=!1):ka(e)&&(e.type="FunctionExpression"),!fa(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}var MA=Symbol(),BA=Symbol();function FA(e,t,n){if(!e)return!1;const r=Uo[e.type];if(!r)return!1;const i=t(e,n=n||{});if(void 0!==i)switch(i){case MA:return!1;case BA:return!0}for(const i of r){const r=e[i];if(r)if(Array.isArray(r)){for(const e of r)if(FA(e,t,n))return!0}else if(FA(r,t,n))return!0}return!1}FA.skip=MA,FA.stop=BA;var RA=["tokens","start","end","loc","raw","rawValue"],jA=[...Ao,"comments",...RA];function UA(e,t={}){const n=t.preserveComments?RA:jA;for(const t of n)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null}function qA(e,t){return FA(e,UA,t),e}function $A(e,t=e.key){let n;return"method"===e.kind?$A.increment()+"":(n=Gt(t)?t.name:en(t)?JSON.stringify(t.value):JSON.stringify(qA(gv(t))),e.computed&&(n=`[${n}]`),e.static&&(n=`static:${n}`),n)}function JA(e,t){if(xa(e))return e;let n,r=!1;if(Ja(e))r=!0,n="ClassDeclaration";else if(ka(e))r=!0,n="FunctionDeclaration";else if(Nt(e))return cc(e);if(r&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=n,e}$A.uid=0,$A.increment=function(){return $A.uid>=Number.MAX_SAFE_INTEGER?$A.uid=0:$A.uid++};var VA=Function.call.bind(Object.prototype.toString);function KA(e){if(void 0===e)return mc("undefined");if(!0===e||!1===e)return Tc(e);if(null===e)return{type:"NullLiteral"};if("string"==typeof e)return bc(e);if("number"==typeof e){let t;if(Number.isFinite(e))t=xc(Math.abs(e));else{let n;n=Number.isNaN(e)?xc(0):xc(1),t=Yu("/",n,xc(0))}return(e<0||Object.is(e,-0))&&(t=jc("-",t)),t}if("bigint"==typeof e)return e<0?jc("-",bl(-e)):bl(e);if(function(e){return"[object RegExp]"===VA(e)}(e)){return Ec(e.source,/\/([a-z]*)$/.exec(e.toString())[1])}if(Array.isArray(e))return Hu(e.map(KA));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(e)){const t=[];for(const n of Object.keys(e)){let r,i=!1;To(n)?"__proto__"===n?(i=!0,r=bc(n)):r=mc(n):r=bc(n),t.push(Ic(r,KA(e[n]),i))}return Cc(t)}throw new Error("don't know how to turn this value into a node")}function WA(e,t,n=!1){return e.object=vc(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e}function XA(e,t){if(!e||!t)return e;for(const n of jo.optional)null==e[n]&&(e[n]=t[n]);for(const n of Object.keys(t))"_"===n[0]&&"__clone"!==n&&(e[n]=t[n]);for(const n of jo.force)e[n]=t[n];return _v(e,t),e}function HA(e,t){if(Hn(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=vc(t,e.object),e}function zA(e){const t=[].concat(e),n=Object.create(null);for(;t.length;){const e=t.pop();if(e)switch(e.type){case"ArrayPattern":t.push(...e.elements);break;case"AssignmentExpression":case"AssignmentPattern":case"ForInStatement":case"ForOfStatement":t.push(e.left);break;case"ObjectPattern":t.push(...e.properties);break;case"ObjectProperty":t.push(e.value);break;case"RestElement":case"UpdateExpression":t.push(e.argument);break;case"UnaryExpression":"delete"===e.operator&&t.push(e.argument);break;case"Identifier":n[e.name]=e}}return n}function YA(e,t,n,r){const i=[].concat(e),s=Object.create(null);for(;i.length;){const e=i.shift();if(!e)continue;if(r&&(Nt(e)||En(e)||Pn(e)))continue;if(Gt(e)){if(t){(s[e.name]=s[e.name]||[]).push(e)}else s[e.name]=e;continue}if(Ka(e)&&!Dn(e)){Na(e.declaration)&&i.push(e.declaration);continue}if(n){if(zt(e)){i.push(e.id);continue}if(Yt(e)||Ln(e))continue}const a=YA.keys[e.type];if(a)for(let t=0;t<a.length;t++){const n=e[a[t]];n&&(Array.isArray(n)?i.push(...n):i.push(n))}}return s}function GA(e,t){return YA(e,t,!0)}function QA(e){if(!e.computed||Ba(e.key))return e.key}function ZA(e,t){if("id"in e&&e.id)return{name:e.id.name,originalNode:e.id};let n,r="";if(dn(t,{value:e})?n=QA(t):pn(e)||Kn(e)?(n=QA(e),"get"===e.kind?r="get ":"set"===e.kind&&(r="set ")):An(t,{init:e})?n=t.id:Nt(t,{operator:"=",right:e})&&(n=t.left),!n)return null;const i=Ba(n)?function(e){return nn(e)?"null":sn(e)?`/${e.pattern}/${e.flags}`:Gn(e)?e.quasis.map(e=>e.value.raw).join(""):void 0!==e.value?String(e.value):null}(n):Gt(n)?n.name:cr(n)?n.id.name:null;return null==i?null:{name:r+i,originalNode:n}}function ew(e,t,n){"function"==typeof t&&(t={enter:t});const{enter:r,exit:i}=t;tw(e,r,i,n,[])}function tw(e,t,n,r,i){const s=Uo[e.type];if(s){t&&t(e,i,r);for(const a of s){const s=e[a];if(Array.isArray(s))for(let o=0;o<s.length;o++){const u=s[o];u&&(i.push({node:e,key:a,index:o}),tw(u,t,n,r,i),i.pop())}else s&&(i.push({node:e,key:a}),tw(s,t,n,r,i),i.pop())}n&&n(e,i,r)}}function nw(e,t,n){if(n&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===n.type)return!1;const r=YA.keys[t.type];if(r)for(let n=0;n<r.length;n++){const i=t[r[n]];if(Array.isArray(i)){if(i.includes(e))return!0}else if(i===e)return!0}return!1}function rw(e){return vn(e)&&"var"!==e.kind}function iw(e){return zt(e)||On(e)||rw(e)}function sw(e){return!!bo(e.type,"Immutable")||!!Gt(e)&&"undefined"===e.name}function aw(e,t){if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return e===t;if(e.type!==t.type)return!1;const n=Object.keys(Jo[e.type]||e.type),r=Uo[e.type];for(const i of n){const n=e[i],s=t[i];if(typeof n!=typeof s)return!1;if(null!=n||null!=s){if(null==n||null==s)return!1;if(Array.isArray(n)){if(!Array.isArray(s))return!1;if(n.length!==s.length)return!1;for(let e=0;e<n.length;e++)if(!aw(n[e],s[e]))return!1}else if("object"!=typeof n||r?.includes(i)){if(!aw(n,s))return!1}else for(const e of Object.keys(n))if(n[e]!==s[e])return!1}}return!0}function ow(e,t,n){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!n||"ObjectPattern"!==n.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return!n?.source&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}function uw(e,t){return(!Bt(e)||!ka(t)&&!jt(t))&&(!(!$a(e)||!ka(t)&&!jt(t))||ya(e))}function cw(e){return Un(e)||Gt(e.imported||e.exported,{name:"default"})}YA.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],TSImportEqualsDeclaration:["id"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var lw=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function pw(e){return To(e)&&!lw.has(e)}function dw(e){return vn(e)&&"var"===e.kind}var hw={isReactComponent:go,isCompatTag:function(e){return!!e&&/^[a-z]/.test(e)},buildChildren:function(e){const t=[];for(let n=0;n<e.children.length;n++){let r=e.children[n];Di(r)?xb(r,t):(Ci(r)&&(r=r.expression),wi(r)||t.push(r))}return t}};function fw(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}var mw=class{constructor(e,t,n){Qe(this,"line"),Qe(this,"column"),Qe(this,"index"),this.line=e,this.column=t,this.index=n}},yw=class{constructor(e,t){Qe(this,"start"),Qe(this,"end"),Qe(this,"filename"),Qe(this,"identifierName"),this.start=e,this.end=t}};function gw(e,t){const{line:n,column:r,index:i}=e;return new mw(n,r+t,i+t)}var bw="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",xw={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:bw},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:bw}},Sw={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},Tw=e=>"UpdateExpression"===e.type?Sw.UpdateExpression[`${e.prefix}`]:Sw[e.type],Ew={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${"ForInStatement"===e?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${"BreakStatement"===e?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverDiscardElement:"'void' must be followed by an expression when not used in a binding position.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${Tw(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${Tw(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${Tw(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:"Unexpected void binding.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:"A void binding may not have an initializer.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",YieldNotInGeneratorFunction:"'yield' is only allowed within generator functions.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Pw={ParseExpressionEmptyInput:"Unexpected parseExpression() input: The input is empty or contains only comments.",ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},vw=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Aw=Object.assign({PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${Tw({type:e})}; please wrap it in parentheses.`},{}),ww=["message"];function Cw(e,t,n){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:n})}function kw({toMessage:e,code:t,reasonCode:n,syntaxPlugin:r}){const i="MissingPlugin"===n||"MissingOneOfPlugins"===n;return function s(a,o){const u=new SyntaxError;return u.code=t,u.reasonCode=n,u.loc=a,u.pos=a.index,u.syntaxPlugin=r,i&&(u.missingPlugin=o.missingPlugin),Cw(u,"clone",function(e={}){const{line:t,column:n,index:r}=e.loc??a;return s(new mw(t,n,r),Object.assign({},o,e.details))}),Cw(u,"details",o),Object.defineProperty(u,"message",{configurable:!0,get(){const t=`${e(o)} (${a.line}:${a.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),u}}function Iw(e,t){if(Array.isArray(e))return t=>Iw(t,e[0]);const n={};for(const r of Object.keys(e)){const i=e[r],s="string"==typeof i?{message:()=>i}:"function"==typeof i?{message:i}:i,{message:a}=s,o=fw(s,ww),u="string"==typeof a?()=>a:a;n[r]=kw(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:r,toMessage:u},t?{syntaxPlugin:t}:{},o))}return n}var _w=Object.assign({},Iw(xw),Iw(Ew),Iw({StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."}),Iw(Pw),Iw`pipelineOperator`(Aw));var{defineProperty:Nw}=Object,Lw=(e,t)=>{e&&Nw(e,t,{enumerable:!1,value:e[t]})};function Ow(e){return Lw(e.loc.start,"index"),Lw(e.loc.end,"index"),e}var Dw=class{constructor(e,t){Qe(this,"token"),Qe(this,"preserveSpace"),this.token=e,this.preserveSpace=!!t}},Mw={brace:new Dw("{"),j_oTag:new Dw("<tag"),j_cTag:new Dw("</tag"),j_expr:new Dw("<tag>...</tag>",!0)},Bw=!0,Fw=!0,Rw=!0,jw=!0,Uw=!0,qw=class{constructor(e,t={}){Qe(this,"label"),Qe(this,"keyword"),Qe(this,"beforeExpr"),Qe(this,"startsExpr"),Qe(this,"rightAssociative"),Qe(this,"isLoop"),Qe(this,"isAssign"),Qe(this,"prefix"),Qe(this,"postfix"),Qe(this,"binop"),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null}},$w=new Map;function Jw(e,t={}){t.keyword=e;const n=Qw(e,t);return $w.set(e,n),n}function Vw(e,t){return Qw(e,{beforeExpr:Bw,binop:t})}var Kw=-1,Ww=[],Xw=[],Hw=[],zw=[],Yw=[],Gw=[];function Qw(e,t={}){return++Kw,Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw(e,t)),Kw}function Zw(e,t={}){return++Kw,$w.set(e,Kw),Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw("name",t)),Kw}var eC={bracketL:Qw("[",{beforeExpr:Bw,startsExpr:Fw}),bracketHashL:Qw("#[",{beforeExpr:Bw,startsExpr:Fw}),bracketBarL:Qw("[|",{beforeExpr:Bw,startsExpr:Fw}),bracketR:Qw("]"),bracketBarR:Qw("|]"),braceL:Qw("{",{beforeExpr:Bw,startsExpr:Fw}),braceBarL:Qw("{|",{beforeExpr:Bw,startsExpr:Fw}),braceHashL:Qw("#{",{beforeExpr:Bw,startsExpr:Fw}),braceR:Qw("}"),braceBarR:Qw("|}"),parenL:Qw("(",{beforeExpr:Bw,startsExpr:Fw}),parenR:Qw(")"),comma:Qw(",",{beforeExpr:Bw}),semi:Qw(";",{beforeExpr:Bw}),colon:Qw(":",{beforeExpr:Bw}),doubleColon:Qw("::",{beforeExpr:Bw}),dot:Qw("."),question:Qw("?",{beforeExpr:Bw}),questionDot:Qw("?."),arrow:Qw("=>",{beforeExpr:Bw}),template:Qw("template"),ellipsis:Qw("...",{beforeExpr:Bw}),backQuote:Qw("`",{startsExpr:Fw}),dollarBraceL:Qw("${",{beforeExpr:Bw,startsExpr:Fw}),templateTail:Qw("...`",{startsExpr:Fw}),templateNonTail:Qw("...${",{beforeExpr:Bw,startsExpr:Fw}),at:Qw("@"),hash:Qw("#",{startsExpr:Fw}),interpreterDirective:Qw("#!..."),eq:Qw("=",{beforeExpr:Bw,isAssign:jw}),assign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),slashAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),xorAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),moduloAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),incDec:Qw("++/--",{prefix:Uw,postfix:!0,startsExpr:Fw}),bang:Qw("!",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),tilde:Qw("~",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),doubleCaret:Qw("^^",{startsExpr:Fw}),doubleAt:Qw("@@",{startsExpr:Fw}),pipeline:Vw("|>",0),nullishCoalescing:Vw("??",1),logicalOR:Vw("||",1),logicalAND:Vw("&&",2),bitwiseOR:Vw("|",3),bitwiseXOR:Vw("^",4),bitwiseAND:Vw("&",5),equality:Vw("==/!=/===/!==",6),lt:Vw("</>/<=/>=",7),gt:Vw("</>/<=/>=",7),relational:Vw("</>/<=/>=",7),bitShift:Vw("<</>>/>>>",8),bitShiftL:Vw("<</>>/>>>",8),bitShiftR:Vw("<</>>/>>>",8),plusMin:Qw("+/-",{beforeExpr:Bw,binop:9,prefix:Uw,startsExpr:Fw}),modulo:Qw("%",{binop:10,startsExpr:Fw}),star:Qw("*",{binop:10}),slash:Vw("/",10),exponent:Qw("**",{beforeExpr:Bw,binop:11,rightAssociative:!0}),_in:Jw("in",{beforeExpr:Bw,binop:7}),_instanceof:Jw("instanceof",{beforeExpr:Bw,binop:7}),_break:Jw("break"),_case:Jw("case",{beforeExpr:Bw}),_catch:Jw("catch"),_continue:Jw("continue"),_debugger:Jw("debugger"),_default:Jw("default",{beforeExpr:Bw}),_else:Jw("else",{beforeExpr:Bw}),_finally:Jw("finally"),_function:Jw("function",{startsExpr:Fw}),_if:Jw("if"),_return:Jw("return",{beforeExpr:Bw}),_switch:Jw("switch"),_throw:Jw("throw",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_try:Jw("try"),_var:Jw("var"),_const:Jw("const"),_with:Jw("with"),_new:Jw("new",{beforeExpr:Bw,startsExpr:Fw}),_this:Jw("this",{startsExpr:Fw}),_super:Jw("super",{startsExpr:Fw}),_class:Jw("class",{startsExpr:Fw}),_extends:Jw("extends",{beforeExpr:Bw}),_export:Jw("export"),_import:Jw("import",{startsExpr:Fw}),_null:Jw("null",{startsExpr:Fw}),_true:Jw("true",{startsExpr:Fw}),_false:Jw("false",{startsExpr:Fw}),_typeof:Jw("typeof",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_void:Jw("void",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_delete:Jw("delete",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_do:Jw("do",{isLoop:Rw,beforeExpr:Bw}),_for:Jw("for",{isLoop:Rw}),_while:Jw("while",{isLoop:Rw}),_as:Zw("as",{startsExpr:Fw}),_assert:Zw("assert",{startsExpr:Fw}),_async:Zw("async",{startsExpr:Fw}),_await:Zw("await",{startsExpr:Fw}),_defer:Zw("defer",{startsExpr:Fw}),_from:Zw("from",{startsExpr:Fw}),_get:Zw("get",{startsExpr:Fw}),_let:Zw("let",{startsExpr:Fw}),_meta:Zw("meta",{startsExpr:Fw}),_of:Zw("of",{startsExpr:Fw}),_sent:Zw("sent",{startsExpr:Fw}),_set:Zw("set",{startsExpr:Fw}),_source:Zw("source",{startsExpr:Fw}),_static:Zw("static",{startsExpr:Fw}),_using:Zw("using",{startsExpr:Fw}),_yield:Zw("yield",{startsExpr:Fw}),_asserts:Zw("asserts",{startsExpr:Fw}),_checks:Zw("checks",{startsExpr:Fw}),_exports:Zw("exports",{startsExpr:Fw}),_global:Zw("global",{startsExpr:Fw}),_implements:Zw("implements",{startsExpr:Fw}),_intrinsic:Zw("intrinsic",{startsExpr:Fw}),_infer:Zw("infer",{startsExpr:Fw}),_is:Zw("is",{startsExpr:Fw}),_mixins:Zw("mixins",{startsExpr:Fw}),_proto:Zw("proto",{startsExpr:Fw}),_require:Zw("require",{startsExpr:Fw}),_satisfies:Zw("satisfies",{startsExpr:Fw}),_keyof:Zw("keyof",{startsExpr:Fw}),_readonly:Zw("readonly",{startsExpr:Fw}),_unique:Zw("unique",{startsExpr:Fw}),_abstract:Zw("abstract",{startsExpr:Fw}),_declare:Zw("declare",{startsExpr:Fw}),_enum:Zw("enum",{startsExpr:Fw}),_module:Zw("module",{startsExpr:Fw}),_namespace:Zw("namespace",{startsExpr:Fw}),_interface:Zw("interface",{startsExpr:Fw}),_type:Zw("type",{startsExpr:Fw}),_opaque:Zw("opaque",{startsExpr:Fw}),name:Qw("name",{startsExpr:Fw}),placeholder:Qw("%%",{startsExpr:Fw}),string:Qw("string",{startsExpr:Fw}),num:Qw("num",{startsExpr:Fw}),bigint:Qw("bigint",{startsExpr:Fw}),decimal:Qw("decimal",{startsExpr:Fw}),regexp:Qw("regexp",{startsExpr:Fw}),privateName:Qw("#name",{startsExpr:Fw}),eof:Qw("eof"),jsxName:Qw("jsxName"),jsxText:Qw("jsxText",{beforeExpr:Bw}),jsxTagStart:Qw("jsxTagStart",{startsExpr:Fw}),jsxTagEnd:Qw("jsxTagEnd")};function tC(e){return e>=93&&e<=133}function nC(e){return e>=58&&e<=133}function rC(e){return Yw[e]}function iC(e){return e>=58&&e<=92}function sC(e){return 34===e}function aC(e){return Xw[e]}function oC(e){return Hw[e]}function uC(e){return e>=24&&e<=25}function cC(e){return Ww[e]}var lC="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",pC="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",dC=new RegExp("["+lC+"]"),hC=new RegExp("["+lC+pC+"]");lC=pC=null;var fC=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],mC=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function yC(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function gC(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&dC.test(String.fromCharCode(e)):yC(e,fC)))}function bC(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&hC.test(String.fromCharCode(e)):yC(e,fC)||yC(e,mC))))}var xC=["implements","interface","let","package","private","protected","public","static","yield"],SC=["eval","arguments"],TC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),EC=new Set(xC),PC=new Set(SC);function vC(e,t){return t&&"await"===e||"enum"===e}function AC(e,t){return vC(e,t)||EC.has(e)}function wC(e){return PC.has(e)}function CC(e,t){return AC(e,t)||wC(e)}var kC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);var IC=class{constructor(e){Qe(this,"flags",0),Qe(this,"names",new Map),Qe(this,"firstLexicalName",""),this.flags=e}},_C=class{constructor(e,t){Qe(this,"parser"),Qe(this,"scopeStack",[]),Qe(this,"inModule"),Qe(this,"undefinedExports",new Map),this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get allowNewTarget(){return(512&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const e=this.currentThisScopeFlags();return(64&e)>0&&!(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(128&t)return!0;if(1731&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get inBareCaseStatement(){return(256&this.currentScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new IC(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,n){let r=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(r,e,t,n);let i=r.names.get(e)||0;16&t?i|=4:(r.firstLexicalName||(r.firstLexicalName=e),i|=2),r.names.set(e,i),8&t&&this.maybeExportDefined(r,e)}else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.names.set(e,1|(r.names.get(e)||0)),this.maybeExportDefined(r,e),!(1667&r.flags));--i);this.parser.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.parser.raise(_w.VarRedeclaration,r,{identifierName:t})}isRedeclaredInScope(e,t,n){if(!(1&n))return!1;if(8&n)return e.names.has(t);const r=e.names.get(t);return 16&n?(2&r)>0||!this.treatFunctionsAsVarInScope(e)&&(1&r)>0:(2&r)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&r)>0}checkLocalExport(e){const{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1667&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1731&t&&!(4&t))return t}}},NC={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},LC=new RegExp(/\r\n|[\r\n\u2028\u2029]/.source,"g");function OC(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function DC(e,t,n){for(let r=t;r<n;r++)if(OC(e.charCodeAt(r)))return!0;return!1}var MC=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,BC=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;function FC(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}var RC=Iw`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"});function jC(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function UC(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return UC(e.object)+"."+UC(e.property);throw new Error("Node had unexpected type: "+e.type)}var qC=class extends IC{constructor(){super(...arguments),Qe(this,"tsNames",new Map)}},$C=class extends _C{constructor(){super(...arguments),Qe(this,"importsStack",[])}createScope(e){return this.importsStack.push(new Set),new qC(e)}enter(e){1024===e&&this.importsStack.push(new Set),super.enter(e)}exit(){const e=super.exit();return 1024===e&&this.importsStack.pop(),e}hasImport(e,t){const n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1)for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0;return!1}declareName(e,t,n){if(4096&t)return this.hasImport(e,!0)&&this.parser.raise(_w.VarRedeclaration,n,{identifierName:e}),void this.importsStack[this.importsStack.length-1].add(e);const r=this.currentScope();let i=r.tsNames.get(e)||0;if(1024&t)return this.maybeExportDefined(r,e),void r.tsNames.set(e,16|i);super.declareName(e,t,n),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),i|=1),256&t&&(i|=2),512&t&&(i|=4),128&t&&(i|=8),i&&r.tsNames.set(e,i)}isRedeclaredInScope(e,t,n){const r=e.tsNames.get(t);if((2&r)>0){if(256&n){return!!(512&n)!==(4&r)>0}return!0}return 128&n&&(8&r)>0?!!(2&e.names.get(t))&&!!(1&n):!!(2&n&&(1&r)>0)||super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){const{name:t}=e;if(this.hasImport(t))return;for(let e=this.scopeStack.length-1;e>=0;e--){const n=this.scopeStack[e].tsNames.get(t);if((1&n)>0||(16&n)>0)return}super.checkLocalExport(e)}},JC=class{constructor(){Qe(this,"stacks",[])}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}};function VC(e,t){return(e?2:0)|(t?1:0)}var KC=class{constructor(){Qe(this,"sawUnambiguousESM",!1),Qe(this,"ambiguousScriptDifferentAst",!1)}sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if("string"==typeof e)return this.plugins.has(e);{const[t,n]=e;if(!this.hasPlugin(t))return!1;const r=this.plugins.get(t);for(const e of Object.keys(n))if(r?.[e]!==n[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function WC(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function XC(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function HC(e,t,n){let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];null===r||r.start>n.start?XC(e,n.comments):WC(r,n.comments)}var zC=class extends KC{addComment(e){this.filename&&(e.loc.filename=this.filename);const{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){const{commentStack:t}=this.state,n=t.length;if(0===n)return;let r=n-1;const i=t[r];i.start===e.end&&(i.leadingNode=e,r--);const{start:s}=e;for(;r>=0;r--){const n=t[r],i=n.end;if(!(i>s)){i===s&&(n.trailingNode=e);break}n.containingNode=e,this.finalizeComment(n),t.splice(r,1)}}finalizeComment(e){const{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&WC(e.leadingNode,t),null!==e.trailingNode&&function(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}(e.trailingNode,t);else{const{containingNode:n,start:r}=e;if(44===this.input.charCodeAt(this.offsetToSourcePos(r)-1))switch(n.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":HC(n,n.properties,e);break;case"CallExpression":case"OptionalCallExpression":HC(n,n.arguments,e);break;case"ImportExpression":HC(n,[n.source,n.options??null],e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":HC(n,n.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":HC(n,n.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":HC(n,n.specifiers,e);break;case"TSEnumDeclaration":default:XC(n,t);break;case"TSEnumBody":HC(n,n.members,e)}else XC(n,t)}}finalizeRemainingComments(){const{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){const{commentStack:t}=this.state,{length:n}=t;if(0===n)return;const r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}takeSurroundingComments(e,t,n){const{commentStack:r}=this.state,i=r.length;if(0===i)return;let s=i-1;for(;s>=0;s--){const i=r[s],a=i.end;if(i.start===n)i.leadingNode=e;else if(a===t)i.trailingNode=e;else if(a<t)break}}},YC=class e{constructor(){Qe(this,"flags",1024),Qe(this,"startIndex"),Qe(this,"curLine"),Qe(this,"lineStart"),Qe(this,"startLoc"),Qe(this,"endLoc"),Qe(this,"errors",[]),Qe(this,"potentialArrowAt",-1),Qe(this,"noArrowAt",[]),Qe(this,"noArrowParamsConversionAt",[]),Qe(this,"topicContext",{maxNumOfResolvableTopics:0,maxTopicIndex:null}),Qe(this,"labels",[]),Qe(this,"commentsLen",0),Qe(this,"commentStack",[]),Qe(this,"pos",0),Qe(this,"type",140),Qe(this,"value",null),Qe(this,"start",0),Qe(this,"end",0),Qe(this,"lastTokEndLoc",null),Qe(this,"lastTokStartLoc",null),Qe(this,"context",[Mw.brace]),Qe(this,"firstInvalidTemplateEscapePos",null),Qe(this,"strictErrors",new Map),Qe(this,"tokensLength",0)}get strict(){return(1&this.flags)>0}set strict(e){e?this.flags|=1:this.flags&=-2}init({strictMode:e,sourceType:t,startIndex:n,startLine:r,startColumn:i}){this.strict=!1!==e&&(!0===e||"module"===t),this.startIndex=n,this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new mw(r,i,n)}get maybeInArrowParameters(){return(2&this.flags)>0}set maybeInArrowParameters(e){e?this.flags|=2:this.flags&=-3}get inType(){return(4&this.flags)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(8&this.flags)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(16&this.flags)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(32&this.flags)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(64&this.flags)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(128&this.flags)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get soloAwait(){return(256&this.flags)>0}set soloAwait(e){e?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(512&this.flags)>0}set inFSharpPipelineDirectBody(e){e?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(1024&this.flags)>0}set canStartJSXElement(e){e?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(2048&this.flags)>0}set containsEsc(e){e?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(4096&this.flags)>0}set hasTopLevelAwait(e){e?this.flags|=4096:this.flags&=-4097}curPosition(){return new mw(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){const t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},GC=function(e){return e>=48&&e<=57},QC={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},ZC={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function ek(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const h=t.charCodeAt(n);if(tk(e,h,t,n)){c+=t.slice(p,n);break}if(92===h){c+=t.slice(p,n);const a=nk(t,n,r,i,"template"===e,s);null!==a.ch||l?c+=a.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=a),p=n}else 8232===h||8233===h?(++i,r=++n):10===h||13===h?"template"===e?(c+=t.slice(p,n)+"\n",++n,13===h&&10===t.charCodeAt(n)&&++n,++i,p=r=n):s.unterminated(a,o,u):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}function tk(e,t,n,r){return"template"===e?96===t||36===t&&123===n.charCodeAt(r+1):t===("double"===e?34:39)}function nk(e,t,n,r,i,s){const a=!i;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=rk(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=sk(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);s.strictNumericEscape(t-1,n,r);default:if(u>=48&&u<=55){const a=t-1;let u=/^[0-7]+/.exec(e.slice(a,t+2))[0],c=parseInt(u,8);c>255&&(u=u.slice(0,-1),c=parseInt(u,8)),t+=u.length-1;const l=e.charCodeAt(t);if("0"!==u||56===l||57===l){if(i)return o(null);s.strictNumericEscape(a,n,r)}return o(String.fromCharCode(c))}return o(String.fromCharCode(u))}}function rk(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=ik(e,t,n,r,16,i,s,!1,o,!a)),null===c&&(a?o.invalidEscapeSequence(u,n,r):t=u-1),{code:c,pos:t}}function ik(e,t,n,r,i,s,a,o,u,c){const l=t,p=16===i?QC.hex:QC.decBinOct,d=16===i?ZC.hex:10===i?ZC.dec:8===i?ZC.oct:ZC.bin;let h=!1,f=0;for(let l=0,m=null==s?1/0:s;l<m;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o){const i=e.charCodeAt(t-1),s=e.charCodeAt(t+1);if(o){if(Number.isNaN(s)||!d(s)||p.has(i)||p.has(s)){if(c)return{n:null,pos:t};u.unexpectedNumericSeparator(t,n,r)}}else{if(c)return{n:null,pos:t};u.numericSeparatorInEscapeSequence(t,n,r)}++t;continue}if(l=s>=97?s-97+10:s>=65?s-65+10:GC(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,h=!0}}++t,f=f*i+l}return t===l||null!=s&&t-l!==s||h?{n:null,pos:t}:{n:f,pos:t}}function sk(e,t,n,r,i,s){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=rk(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==a&&a>1114111){if(!i)return{code:null,pos:t};s.invalidCodePoint(t,n,r)}}else({code:a,pos:t}=rk(e,t,n,r,4,!1,i,s));return{code:a,pos:t}}function ak(e,t,n){return new mw(n,e-t,e)}var ok=new Set([103,109,115,105,121,117,100,118]),uk=class{constructor(e){const t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new yw(e.startLoc,e.endLoc)}},ck=class extends zC{constructor(e,t){super(),Qe(this,"isLookahead"),Qe(this,"tokens",[]),Qe(this,"errorHandlers_readInt",{invalidDigit:(e,t,n,r)=>!!(2048&this.optionFlags)&&(this.raise(_w.InvalidDigit,ak(e,t,n),{radix:r}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(_w.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(_w.UnexpectedNumericSeparator)}),Qe(this,"errorHandlers_readCodePoint",Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(_w.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(_w.InvalidCodePoint)})),Qe(this,"errorHandlers_readStringContents_string",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(_w.StrictNumericEscape,ak(e,t,n))},unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedString,ak(e-1,t,n))}})),Qe(this,"errorHandlers_readStringContents_template",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(_w.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedTemplate,ak(e,t,n))}})),this.state=new YC,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),256&this.optionFlags&&this.pushToken(new uk(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){const e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return MC.lastIndex=e,MC.test(this.input)?MC.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return BC.lastIndex=e,BC.test(this.input)?BC.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++e<this.input.length){const n=this.input.charCodeAt(e);56320==(64512&n)&&(t=65536+((1023&t)<<10)+(1023&n))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(([e,t])=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(140):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());const n=this.state.pos,r=this.input.indexOf(e,n+2);if(-1===r)throw this.raise(_w.UnterminatedComment,this.state.curPosition());for(this.state.pos=r+e.length,LC.lastIndex=n+2;LC.test(this.input)&&LC.lastIndex<=r;)++this.state.curLine,this.state.lineStart=LC.lastIndex;if(this.isLookahead)return;const i={type:"CommentBlock",value:this.input.slice(n+2,r),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(r+e.length),loc:new yw(t,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(i),i}skipLineComment(e){const t=this.state.pos;let n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!OC(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;const i=this.state.pos,s={type:"CommentLine",value:this.input.slice(t+e,i),start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(i),loc:new yw(n,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(s),s}skipSpace(){const e=this.state.pos,t=4096&this.optionFlags?[]:null;e:for(;this.state.pos<this.length;){const n=this.input.charCodeAt(this.state.pos);switch(n){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{const e=this.skipBlockComment("*/");void 0!==e&&(this.addComment(e),t?.push(e));break}case 47:{const e=this.skipLineComment(2);void 0!==e&&(this.addComment(e),t?.push(e));break}default:break e}break;default:if(FC(n))++this.state.pos;else if(45===n&&!this.inModule&&8192&this.optionFlags){const n=this.state.pos;if(45!==this.input.charCodeAt(n+1)||62!==this.input.charCodeAt(n+2)||!(0===e||this.state.lineStart>e))break e;{const e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),t?.push(e))}}else{if(60!==n||this.inModule||!(8192&this.optionFlags))break e;{const e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{const e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),t?.push(e))}}}}}if(t?.length>0){const n=this.state.pos,r={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(n),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(_w.UnexpectedDigitAfterHash,this.state.curPosition());gC(t)?(++this.state.pos,this.finishToken(139,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!OC(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);const n=this.input.slice(t+2,this.state.pos);return this.finishToken(28,n),!0}readToken_mult_modulo(e){let t=42===e?55:54,n=1,r=this.input.charCodeAt(this.state.pos+1);42===e&&42===r&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=57),61!==r||this.state.inType||(n++,t=37===e?33:30),this.finishOp(t,n)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?124!==e||62!==t?61!==t?this.finishOp(124===e?43:45,1):this.finishOp(30,2):this.finishOp(39,2):61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(30,3):this.finishOp(124===e?41:42,2)}readToken_caret(){const e=this.input.charCodeAt(this.state.pos+1);if(61!==e||this.state.inType)if(94===e&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"^^"}])){this.finishOp(37,2);94===this.input.codePointAt(this.state.pos)&&this.unexpected()}else this.finishOp(44,1);else this.finishOp(32,2)}readToken_atSign(){64===this.input.charCodeAt(this.state.pos+1)&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"@@"}])?this.finishOp(38,2):this.finishOp(26,1)}readToken_plus_min(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?61===t?this.finishOp(30,2):this.finishOp(53,1):this.finishOp(34,2)}readToken_lt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(60===t)return 61===this.input.charCodeAt(e+2)?void this.finishOp(30,3):void this.finishOp(51,2);61!==t?this.finishOp(47,1):this.finishOp(49,2)}readToken_gt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(62===t){const t=62===this.input.charCodeAt(e+2)?3:2;return 61===this.input.charCodeAt(e+t)?void this.finishOp(30,t+1):void this.finishOp(52,t)}61!==t?this.finishOp(48,1):this.finishOp(49,2)}readToken_eq_excl(e){const t=this.input.charCodeAt(this.state.pos+1);if(61!==t)return 61===e&&62===t?(this.state.pos+=2,void this.finishToken(19)):void this.finishOp(61===e?29:35,1);this.finishOp(46,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);63===e?61===t?this.finishOp(30,3):this.finishOp(40,2):46!==e||t>=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:return++this.state.pos,void this.finishToken(0);case 93:return++this.state.pos,void this.finishToken(3);case 123:return++this.state.pos,void this.finishToken(5);case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(gC(e))return void this.readWord(e)}throw this.raise(_w.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){const n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){const e=this.state.startLoc,t=this.state.start+1;let n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(_w.UnterminatedRegExp,gw(e,1));const t=this.input.charCodeAt(i);if(OC(t))throw this.raise(_w.UnterminatedRegExp,gw(e,1));if(n)n=!1;else{if(91===t)r=!0;else if(93===t&&r)r=!1;else if(47===t&&!r)break;n=92===t}}const s=this.input.slice(t,i);++i;let a="";const o=()=>gw(e,i+2-t);for(;i<this.length;){const e=this.codePointAtPos(i),t=String.fromCharCode(e);if(ok.has(e))118===e?a.includes("u")&&this.raise(_w.IncompatibleRegExpUVFlags,o()):117===e&&a.includes("v")&&this.raise(_w.IncompatibleRegExpUVFlags,o()),a.includes(t)&&this.raise(_w.DuplicateRegExpFlags,o());else{if(!bC(e)&&92!==e)break;this.raise(_w.MalformedRegExpFlags,o())}++i,a+=t}this.state.pos=i,this.finishToken(138,{pattern:s,flags:a})}readInt(e,t,n=!1,r=!0){const{n:i,pos:s}=ik(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=s,i}readRadixNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1;this.state.pos+=2;const i=this.readInt(e);null==i&&this.raise(_w.InvalidDigit,gw(n,2),{radix:e});const s=this.input.charCodeAt(this.state.pos);if(110===s)++this.state.pos,r=!0;else if(109===s)throw this.raise(_w.InvalidDecimal,n);if(gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");return void this.finishToken(136,e)}this.finishToken(135,i)}readNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1,i=!1,s=!1;e||null!==this.readInt(10)||this.raise(_w.InvalidNumber,this.state.curPosition());const a=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(a){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(_w.StrictOctalLiteral,n),!this.state.strict){const t=e.indexOf("_");t>0&&this.raise(_w.ZeroDigitNumericSeparator,gw(n,t))}s=a&&!/[89]/.test(e)}let o=this.input.charCodeAt(this.state.pos);if(46!==o||s||(++this.state.pos,this.readInt(10),r=!0,o=this.input.charCodeAt(this.state.pos)),69!==o&&101!==o||s||(o=this.input.charCodeAt(++this.state.pos),43!==o&&45!==o||++this.state.pos,null===this.readInt(10)&&this.raise(_w.InvalidOrMissingExponent,n),r=!0,o=this.input.charCodeAt(this.state.pos)),110===o&&((r||a)&&this.raise(_w.InvalidBigIntLiteral,n),++this.state.pos,i=!0),gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());const u=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(i)return void this.finishToken(136,u);const c=s?parseInt(u,8):parseFloat(u);this.finishToken(135,c)}readCodePoint(e){const{code:t,pos:n}=sk(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){const{str:t,pos:n,curLine:r,lineStart:i}=ek(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(134,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){const e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:r,curLine:i,lineStart:s}=ek("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=r+1,this.state.lineStart=s,this.state.curLine=i,n&&(this.state.firstInvalidTemplateEscapePos=new mw(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),96===this.input.codePointAt(r)?this.finishToken(24,n?null:e+t+"`"):(this.state.pos++,this.finishToken(25,n?null:e+t+"${"))}recordStrictModeErrors(e,t){const n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,t):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t="";const n=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){const e=this.codePointAtPos(this.state.pos);if(bC(e))this.state.pos+=e<=65535?1:2;else{if(92!==e)break;{this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);const e=this.state.curPosition(),i=this.state.pos===n?gC:bC;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(_w.MissingUnicodeEscape,this.state.curPosition()),r=this.state.pos-1;continue}++this.state.pos;const s=this.readCodePoint(!0);null!==s&&(i(s)||this.raise(_w.EscapedCharNotAnIdentifier,e),t+=String.fromCodePoint(s)),r=this.state.pos}}}return t+this.input.slice(r,this.state.pos)}readWord(e){const t=this.readWord1(e),n=$w.get(t);void 0!==n?this.finishToken(n,aC(n)):this.finishToken(132,t)}checkKeywordEscapes(){const{type:e}=this.state;iC(e)&&this.state.containsEsc&&this.raise(_w.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:aC(e)})}raise(e,t,n={}){const r=e(t instanceof mw?t:t.loc.start,n);if(!(2048&this.optionFlags))throw r;return this.isLookahead||this.state.errors.push(r),r}raiseOverwrite(e,t,n={}){const r=t instanceof mw?t:t.loc.start,i=r.index,s=this.state.errors;for(let t=s.length-1;t>=0;t--){const a=s[t];if(a.loc.index===i)return s[t]=e(r,n);if(a.loc.index<i)break}return this.raise(e,t,n)}updateContext(e){}unexpected(e,t){throw this.raise(_w.UnexpectedToken,null!=e?e:this.state.startLoc,{expected:t?aC(t):null})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(_w.MissingPlugin,null!=t?t:this.state.startLoc,{missingPlugin:[e]})}expectOnePlugin(e){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(_w.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,ak(t,n,r))}}},lk=class{constructor(){Qe(this,"privateNames",new Set),Qe(this,"loneAccessors",new Map),Qe(this,"undefinedPrivateNames",new Map)}},pk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[]),Qe(this,"undefinedPrivateNames",new Map),this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new lk)}exit(){const e=this.stack.pop(),t=this.current();for(const[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(_w.InvalidPrivateFieldResolution,r,{identifierName:n})}declarePrivateName(e,t,n){const{privateNames:r,loneAccessors:i,undefinedPrivateNames:s}=this.current();let a=r.has(e);if(3&t){const n=a&&i.get(e);if(n){a=(3&n)===(3&t)||(4&n)!==(4&t),a||i.delete(e)}else a||i.set(e,t)}a&&this.parser.raise(_w.PrivateNameRedeclaration,n,{identifierName:e}),r.add(e),s.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(_w.InvalidPrivateFieldResolution,t,{identifierName:e})}},dk=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}},hk=class extends dk{constructor(e){super(e),Qe(this,"declarationErrors",new Map)}recordDeclarationError(e,t){const n=t.index;this.declarationErrors.set(n,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},fk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[new dk]),this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const n=t.loc.start,{stack:r}=this;let i=r.length-1,s=r[i];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,n),s=r[--i]}this.parser.raise(e,n)}recordArrowParameterBindingError(e,t){const{stack:n}=this,r=n[n.length-1],i=t.loc.start;if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,i)}}recordAsyncArrowParametersError(e){const{stack:t}=this;let n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)2===r.type&&r.recordDeclarationError(_w.AwaitBindingIdentifier,e),r=t[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(([t,n])=>{this.parser.raise(t,n);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n.index),i=e[--r]})}};function mk(){return new dk}var yk=class extends ck{addExtra(e,t,n,r=!0){if(!e)return;let{extra:i}=e;null==i&&(i={},e.extra=i),r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){const n=this.input.charCodeAt(e+t.length);return!(bC(n)||55296==(64512&n))}return!1}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return DC(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return DC(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(_w.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){const n={node:null};try{const r=e((e=null)=>{throw n.node=e,n});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:s,voidPatternLoc:a}=e;if(!t)return!!(n||r||s||i||a);null!=n&&this.raise(_w.InvalidCoverInitializedName,n),null!=r&&this.raise(_w.DuplicateProto,r),null!=i&&this.raise(_w.UnexpectedPrivateField,i),null!=s&&this.unexpected(s),null!=a&&this.raise(_w.InvalidCoverDiscardElement,a)}isLiteralPropertyName(){return(e=this.state.type)>=58&&e<=137;var e}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);const a=this.prodParam;this.prodParam=new JC;const o=this.classScope;this.classScope=new pk(this);const u=this.expressionScope;return this.expressionScope=new fk(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let e=0;(this.inModule||1&this.optionFlags)&&(e|=2),32&this.optionFlags&&(e|=1);const t=!this.inModule&&"commonjs"===this.options.sourceType;(t||2&this.optionFlags)&&(e|=4),this.prodParam.enter(e);let n=t?514:1;4&this.optionFlags&&(n|=512),this.scope.enter(n)}checkDestructuringPrivate(e){const{privateKeyLoc:t}=e;null!==t&&this.expectPlugin("destructuringPrivate",t)}},gk=class{constructor(){Qe(this,"shorthandAssignLoc",null),Qe(this,"doubleProtoLoc",null),Qe(this,"privateKeyLoc",null),Qe(this,"optionalParametersLoc",null),Qe(this,"voidPatternLoc",null)}},bk=class{constructor(e,t,n){Qe(this,"type",""),this.start=t,this.end=0,this.loc=new yw(n),128&e?.optionFlags&&(this.range=[t,0]),e?.filename&&(this.loc.filename=e.filename)}},xk=bk.prototype,Sk=class extends yk{startNode(){const e=this.state.startLoc;return new bk(this,e.index,e)}startNodeAt(e){return new bk(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){return e.type=t,e.end=n.index,e.loc.end=n,128&this.optionFlags&&(e.range[1]=n.index),4096&this.optionFlags&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,128&this.optionFlags&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,128&this.optionFlags&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){const{type:t,start:n,end:r,loc:i,range:s,name:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.name=a,e.extra&&(o.extra=e.extra),o}cloneStringLiteral(e){const{type:t,start:n,end:r,loc:i,range:s,extra:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.extra=a,o.value=e.value,o}},Tk=e=>"ParenthesizedExpression"===e.type?Tk(e.expression):e,Ek=class extends Sk{toAssignable(e,t=!1){let n;switch(("ParenthesizedExpression"===e.type||e.extra?.parenthesized)&&(n=Tk(e),t?"Identifier"===n.type?this.expressionScope.recordArrowParameterBindingError(_w.InvalidParenthesizedAssignment,e):"MemberExpression"===n.type||this.isOptionalMemberExpression(n)||this.raise(_w.InvalidParenthesizedAssignment,e):this.raise(_w.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":break;case"ObjectExpression":this.castNodeTo(e,"ObjectPattern");for(let n=0,r=e.properties.length,i=r-1;n<r;n++){const r=e.properties[n],s=n===i;this.toAssignableObjectExpressionProp(r,s,t),s&&"RestElement"===r.type&&e.extra?.trailingCommaLoc&&this.raise(_w.RestTrailingComma,e.extra.trailingCommaLoc)}break;case"ObjectProperty":{const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t);break}case"SpreadElement":throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.");case"ArrayExpression":this.castNodeTo(e,"ArrayPattern"),this.toAssignableList(e.elements,e.extra?.trailingCommaLoc,t);break;case"AssignmentExpression":"="!==e.operator&&this.raise(_w.MissingEqInAssignment,e.left.loc.end),this.castNodeTo(e,"AssignmentPattern"),delete e.operator,"VoidPattern"===e.left.type&&this.raise(_w.VoidPatternInitializer,e.left),this.toAssignable(e.left,t);break;case"ParenthesizedExpression":this.toAssignable(n,t)}}toAssignableObjectExpressionProp(e,t,n){if("ObjectMethod"===e.type)this.raise("get"===e.kind||"set"===e.kind?_w.PatternHasAccessor:_w.PatternHasMethod,e.key);else if("SpreadElement"===e.type){this.castNodeTo(e,"RestElement");const r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(_w.RestTrailingComma,e)}else this.toAssignable(e,n)}toAssignableList(e,t,n){const r=e.length-1;for(let i=0;i<=r;i++){const s=e[i];s&&(this.toAssignableListItem(e,i,n),"RestElement"===s.type&&(i<r?this.raise(_w.RestTrailingComma,s):t&&this.raise(_w.RestTrailingComma,t)))}}toAssignableListItem(e,t,n){const r=e[t];if("SpreadElement"===r.type){this.castNodeTo(r,"RestElement");const e=r.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(r,n)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,n)=>"ObjectMethod"!==e.type&&(n===t||"SpreadElement"!==e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>null===e||this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(const t of e)"ArrayExpression"===t?.type&&this.toReferencedListDeep(t.elements)}parseSpread(e){const t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}parseRestBinding(){const e=this.startNode();this.next();const t=this.parseBindingAtom();return"VoidPattern"===t.type&&this.raise(_w.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{const e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0);case 88:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,n){const r=1&n,i=[];let s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),r&&this.match(12))i.push(null);else{if(this.eat(e))break;if(this.match(21)){let r=this.parseRestBinding();if(2&n&&(r=this.parseFunctionParamType(r)),i.push(r),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{const e=[];if(2&n)for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(_w.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)e.push(this.parseDecorator());i.push(this.parseBindingElement(n,e))}}return i}parseBindingRestProperty(e){return this.next(),this.hasPlugin("discardBinding")&&this.match(88)?(e.argument=this.parseVoidPattern(null),this.raise(_w.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}parseBindingProperty(){const{type:e,startLoc:t}=this.state;if(21===e)return this.parseBindingRestProperty(this.startNode());const n=this.startNode();return 139===e?(this.expectPlugin("destructuringPrivate",t),this.classScope.usePrivateName(this.state.value,t),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,t,!1,!1,!0,!1)}parseBindingElement(e,t){const n=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(n),t.length&&(n.decorators=t,this.resetStartLocationFromNode(n,t[0]));return this.parseMaybeDefault(n.loc.start,n)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??(e=this.state.startLoc),t=t??this.parseBindingAtom(),!this.eat(29))return t;const n=this.startNodeAt(e);return"VoidPattern"===t.type&&this.raise(_w.VoidPatternInitializer,t),n.left=t,n.right=this.parseMaybeAssignAllowIn(),this.finishNode(n,"AssignmentPattern")}isValidLVal(e,t,n){switch(e){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties";case"VoidPattern":return!0}return!1}isOptionalMemberExpression(e){return"OptionalMemberExpression"===e.type}checkLVal(e,t,n=64,r=!1,i=!1,s=!1){const a=e.type;if(this.isObjectMethod(e))return;const o=this.isOptionalMemberExpression(e);if(o||"MemberExpression"===a)return o&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==t.type&&this.raise(_w.InvalidLhsOptionalChaining,e,{ancestor:t})),void(64!==n&&this.raise(_w.InvalidPropertyBindingPattern,e));if("Identifier"===a){this.checkIdentifier(e,n,i);const{name:t}=e;return void(r&&(r.has(t)?this.raise(_w.ParamDupe,e):r.add(t)))}"VoidPattern"===a&&"CatchClause"===t.type&&this.raise(_w.VoidPatternCatchClauseParam,e);const u=this.isValidLVal(a,!(s||e.extra?.parenthesized)&&"AssignmentExpression"===t.type,n);if(!0===u)return;if(!1===u){const r=64===n?_w.InvalidLhs:_w.InvalidLhsBinding;return void this.raise(r,e,{ancestor:t})}let c,l;"string"==typeof u?(c=u,l="ParenthesizedExpression"===a):[c,l]=u;const p="ArrayPattern"===a||"ObjectPattern"===a?{type:a}:t,d=e[c];if(Array.isArray(d))for(const e of d)e&&this.checkLVal(e,p,n,r,i,l);else d&&this.checkLVal(d,p,n,r,i,l)}checkIdentifier(e,t,n=!1){this.state.strict&&(n?CC(e.name,this.inModule):wC(e.name))&&(64===t?this.raise(_w.StrictEvalArguments,e,{referenceName:e.name}):this.raise(_w.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(_w.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(_w.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?_w.RestTrailingComma:_w.ElementAfterRest,this.state.startLoc),!0)}};function Pk(e){if(!e)throw new Error("Assert fail")}var vk=Iw`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifier:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Ak(e){return"private"===e||"public"===e||"protected"===e}function wk(e){return"in"===e||"out"===e}function Ck(e){if(e.extra?.parenthesized)return!1;switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&Ck(e.object);case"TSInstantiationExpression":return Ck(e.expression);default:return!1}}function kk(e){if("MemberExpression"!==e.type)return!1;const{computed:t,property:n}=e;return(!t||"StringLiteral"===n.type||!("TemplateLiteral"!==n.type||n.expressions.length>0))&&Nk(e.object)}function Ik(e,t){const{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if("Literal"===n){const{value:t}=e;if("string"==typeof t||"boolean"==typeof t)return!0}}else if("StringLiteral"===n||"BooleanLiteral"===n)return!0;return!(!_k(e,t)&&!function(e,t){if("UnaryExpression"===e.type){const{operator:n,argument:r}=e;if("-"===n&&_k(r,t))return!0}return!1}(e,t))||("TemplateLiteral"===n&&0===e.expressions.length||!!kk(e))}function _k(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function Nk(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&Nk(e.object)}var Lk=Iw`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),Ok=["fsharp","hack"],Dk=["^^","@@","^","%","#"];var Mk={estree:e=>class extends e{parse(){const e=Ow(super.parse());return 256&this.optionFlags&&(e.tokens=e.tokens.map(Ow)),e}parseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}const n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}parseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){const n=this.startNodeAtNode(e);return n.expression=e,this.finishNodeAt(n,"ChainExpression",t)}directiveToStmt(e){const t=e.value;delete e.value,this.castNodeTo(t,"Literal"),t.raw=t.extra.raw,t.value=t.extra.expressionValue;const n=this.castNodeTo(e,"ExpressionStatement");return n.expression=t,n.directive=t.extra.rawValue,delete t.extra,n}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){const{start:t,end:n,loc:r,range:i,raw:s,value:a}=e,o=Object.create(e.constructor.prototype);return o.type="Literal",o.start=t,o.end=n,o.loc=r,o.range=i,o.raw=s,o.value=a,o}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,n,r,i){super.parseBlockBody(e,t,n,r,i);const s=e.directives.map(e=>this.directiveToStmt(e));e.body=s.concat(e.body),delete e.directives}parsePrivateName(){const e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,"PrivateIdentifier")}isPrivateName(e){return"PrivateIdentifier"===e.type}getPrivateNameSV(e){return e.name}parseLiteral(e,t){const n=super.parseLiteral(e,t);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,n,r,i,s,a=!1){let o=this.startNode();o.kind=e.kind,o=super.parseMethod(o,t,n,r,i,s,a),delete o.kind;const{typeParameters:u}=e;u&&(delete e.typeParameters,o.typeParameters=u,this.resetStartLocationFromNode(o,u));const c=this.castNodeTo(o,this.hasPlugin("typescript")&&!o.body?"TSEmptyBodyFunctionExpression":"FunctionExpression");return e.value=c,"ClassPrivateMethod"===s&&(e.computed=!1),this.hasPlugin("typescript")&&e.abstract?(delete e.abstract,this.finishNode(e,"TSAbstractMethodDefinition")):"ObjectMethod"===s?("method"===e.kind&&(e.kind="init"),e.shorthand=!1,this.finishNode(e,"Property")):this.finishNode(e,"MethodDefinition")}nameIsConstructor(e){return"Literal"===e.type?"constructor"===e.value:super.nameIsConstructor(e)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractPropertyDefinition")):this.castNodeTo(t,"PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin("typescript")?this.castNodeTo(t,"TSAbstractPropertyDefinition"):this.castNodeTo(t,"PropertyDefinition"),t.computed=!1,t}parseClassAccessorProperty(e){const t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractAccessorProperty")):this.castNodeTo(t,"AccessorProperty"),t}parseObjectProperty(e,t,n,r){const i=super.parseObjectProperty(e,t,n,r);return i&&(i.kind="init",this.castNodeTo(i,"Property")),i}finishObjectProperty(e){return e.kind="init",this.finishNode(e,"Property")}isValidLVal(e,t,n){return"Property"===e?"value":super.isValidLVal(e,t,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,n){"Property"!==e.type||"get"!==e.kind&&"set"!==e.kind?"Property"===e.type&&e.method?this.raise(_w.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,n):this.raise(_w.PatternHasAccessor,e.key)}finishCallExpression(e,t){const n=super.finishCallExpression(e,t);return"Import"===n.callee.type?(this.castNodeTo(n,"ImportExpression"),n.source=n.arguments[0],n.options=n.arguments[1]??null,delete n.arguments,delete n.callee):"OptionalCallExpression"===n.type?this.castNodeTo(n,"CallExpression"):n.optional=!1,n}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){const n=this.state.lastTokStartLoc,r=super.parseExport(e,t);switch(r.type){case"ExportAllDeclaration":r.exported=null;break;case"ExportNamedDeclaration":1===r.specifiers.length&&"ExportNamespaceSpecifier"===r.specifiers[0].type&&(this.castNodeTo(r,"ExportAllDeclaration"),r.exported=r.specifiers[0].exported,delete r.specifiers);case"ExportDefaultDeclaration":{const{declaration:e}=r;"ClassDeclaration"===e?.type&&e.decorators?.length>0&&e.start===r.start&&this.resetStartLocation(r,n)}}return r}stopParseSubscript(e,t){const n=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(n,e.loc.end):n}parseMember(e,t,n,r,i){const s=super.parseMember(e,t,n,r,i);return"OptionalMemberExpression"===s.type?this.castNodeTo(s,"MemberExpression"):s.optional=!1,s}isOptionalMemberExpression(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return"Property"===e.type&&(e.method||"get"===e.kind||"set"===e.kind)}castNodeTo(e,t){const n=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}cloneIdentifier(e){const t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return"Literal"===e.type?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,n){return Ow(super.finishNodeAt(e,t,n))}finishNode(e,t){const n=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}resetStartLocation(e,t){super.resetStartLocation(e,t),Ow(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),Ow(e)}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(RC.UnterminatedJsxContent,this.state.startLoc);const n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?void(60===n&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(n)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(142,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(RC.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===n?"&rbrace;":"&gt;"});default:OC(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let n;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?"\n":"\r\n"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(_w.UnterminatedString,this.state.startLoc);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):OC(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(134,t)}jsxReadEntity(){const e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);const t=this.readInt(e,void 0,!1,"bail");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=59===this.codePointAtPos(this.state.pos));)++this.state.pos;if(n){const t=this.input.slice(e,this.state.pos),n=NC[t];if(++this.state.pos,n)return n}}return this.state.pos=e,"&"}jsxReadWord(){let e;const t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(bC(e)||45===e);this.finishToken(141,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){const e=this.startNode();return this.match(141)?e.name=this.state.value:iC(this.state.type)?e.name=aC(this.state.type):this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")}jsxParseNamespacedName(){const e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(14))return t;const n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,"JSXNamespacedName")}jsxParseElementName(){const e=this.state.startLoc;let t=this.jsxParseNamespacedName();if("JSXNamespacedName"===t.type)return t;for(;this.eat(16);){const n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,"JSXMemberExpression")}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 5:return e=this.startNode(),this.setContext(Mw.brace),this.next(),e=this.jsxParseExpressionContainer(e,Mw.j_oTag),"JSXEmptyExpression"===e.expression.type&&this.raise(RC.AttributeIsEmpty,e),e;case 143:case 134:return this.parseExprAtom();default:throw this.raise(RC.UnsupportedJsxValue,this.state.startLoc)}}jsxParseEmptyExpression(){const e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadChild")}jsxParseExpressionContainer(e,t){if(this.match(8))e.expression=this.jsxParseEmptyExpression();else{const t=this.parseExpression();"SequenceExpression"!==t.type||t.extra?.parenthesized||this.raise(RC.UnexpectedSequenceExpression,t.expressions[1]),e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXExpressionContainer")}jsxParseAttribute(){const e=this.startNode();return this.match(5)?(this.setContext(Mw.brace),this.next(),this.expect(21),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(Mw.j_oTag),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(29)?this.jsxParseAttributeValue():null,this.finishNode(e,"JSXAttribute"))}jsxParseOpeningElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXOpeningFragment"):(t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t))}jsxParseOpeningElementAfterName(e){const t=[];for(;!this.match(56)&&!this.match(144);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(56),this.expect(144),this.finishNode(e,"JSXOpeningElement")}jsxParseClosingElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXClosingFragment"):(t.name=this.jsxParseElementName(),this.expect(144),this.finishNode(t,"JSXClosingElement"))}jsxParseElementAt(e){const t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e);let i=null;if(!r.selfClosing){e:for(;;)switch(this.state.type){case 143:if(e=this.state.startLoc,this.next(),this.eat(56)){i=this.jsxParseClosingElementAt(e);break e}n.push(this.jsxParseElementAt(e));break;case 142:n.push(this.parseLiteral(this.state.value,"JSXText"));break;case 5:{const e=this.startNode();this.setContext(Mw.brace),this.next(),this.match(21)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,Mw.j_expr));break}default:this.unexpected()}jC(r)&&!jC(i)&&null!==i?this.raise(RC.MissingClosingTagFragment,i):!jC(r)&&jC(i)?this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)}):jC(r)||jC(i)||UC(i.name)!==UC(r.name)&&this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)})}if(jC(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(47))throw this.raise(RC.UnwrappedAdjacentJSXElements,this.state.startLoc);return jC(r)?this.finishNode(t,"JSXFragment"):this.finishNode(t,"JSXElement")}jsxParseElement(){const e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){const{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(143)?this.jsxParseElement():this.match(47)&&33!==this.input.charCodeAt(this.state.pos)?(this.replaceToken(143),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){const t=this.curContext();if(t!==Mw.j_expr){if(t===Mw.j_oTag||t===Mw.j_cTag){if(gC(e))return void this.jsxReadWord();if(62===e)return++this.state.pos,void this.finishToken(144);if((34===e||39===e)&&t===Mw.j_oTag)return void this.jsxReadString(e)}if(60===e&&this.state.canStartJSXElement&&33!==this.input.charCodeAt(this.state.pos+1))return++this.state.pos,void this.finishToken(143);super.getTokenFromCode(e)}else this.jsxReadToken()}updateContext(e){const{context:t,type:n}=this.state;if(56===n&&143===e)t.splice(-2,2,Mw.j_cTag),this.state.canStartJSXElement=!1;else if(143===n)t.push(Mw.j_oTag);else if(144===n){const n=t[t.length-1];n===Mw.j_oTag&&56===e||n===Mw.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===Mw.j_expr):(this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=zw[n]}},typescript:e=>class extends e{constructor(){super(...arguments),Qe(this,"tsParseInOutModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter})),Qe(this,"tsParseConstModifier",this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:vk.InvalidModifierOnTypeParameterPositions})),Qe(this,"tsParseInOutConstModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter}))}getScopeHandler(){return $C}tsIsIdentifier(){return tC(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!tC(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;const r=this.state.value;if(e.includes(r)){if(n&&this.match(106))return;if(t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:n,errorTemplate:r=vk.InvalidModifierOnTypeMember},i){const s=(e,t,n,r)=>{t===n&&i[r]&&this.raise(vk.InvalidModifiersOrder,e,{orderedModifiers:[n,r]})},a=(e,t,n,r)=>{(i[n]&&t===r||i[r]&&t===n)&&this.raise(vk.IncompatibleModifiers,e,{modifiers:[n,r]})};for(;;){const{startLoc:o}=this.state,u=this.tsParseModifier(e.concat(t??[]),n,i.static);if(!u)break;Ak(u)?i.accessibility?this.raise(vk.DuplicateAccessibilityModifier,o,{modifier:u}):(s(o,u,u,"override"),s(o,u,u,"static"),s(o,u,u,"readonly"),i.accessibility=u):wk(u)?(i[u]&&this.raise(vk.DuplicateModifier,o,{modifier:u}),i[u]=!0,s(o,u,"in","out")):(Object.hasOwn(i,u)?this.raise(vk.DuplicateModifier,o,{modifier:u}):(s(o,u,"static","readonly"),s(o,u,"static","override"),s(o,u,"override","readonly"),s(o,u,"abstract","override"),a(o,u,"declare","override"),a(o,u,"static","abstract")),i[u]=!0),t?.includes(u)&&this.raise(r,o,{modifier:u})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,t){const n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return function(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){const i=[];let s=-1;for(;!this.tsIsListTerminator(e);){s=-1;const r=t();if(null==r)return;if(i.push(r),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(n&&this.expect(12))}s=this.state.lastTokStartLoc.index}return r&&(r.value=s),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(47));const s=this.tsParseDelimitedList(e,t,i);return n?this.expect(3):this.expect(48),s}tsParseImportType(){const e=this.startNode();return this.expect(83),this.expect(10),this.match(134)?e.argument=this.tsParseLiteralTypeNode():(this.raise(vk.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=this.tsParseNonConditionalType()),this.eat(12)?e.options=this.tsParseImportTypeOptions():e.options=null,this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName(3)),this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseImportTypeOptions(){const e=this.startNode();this.expect(5);const t=this.startNode();return this.isContextual(76)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,76),this.expect(14),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(12),this.expect(8),this.finishNode(e,"ObjectExpression")}tsParseImportTypeWithPropertyValue(){const e=this.startNode(),t=[];for(this.expect(5);!this.match(8);){const e=this.state.type;tC(e)||134===e?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(12)}return e.properties=t,this.next(),this.finishNode(e,"ObjectExpression")}tsParseEntityName(e){let t;if(1&e&&this.match(78))if(2&e)t=this.parseIdentifier(!0);else{const e=this.startNode();this.next(),t=this.finishNode(e,"ThisExpression")}else t=this.parseIdentifier(!!(1&e));for(;this.eat(16);){const n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(1&e)),t=this.finishNode(n,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){const t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){const t=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();const n={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,n),0===t.params.length&&this.raise(vk.EmptyTypeParameters,t),-1!==n.value&&this.addExtra(t,"trailingComma",n.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsFillSignature(e,t){const n=19===e,r="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t[r]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){const e=super.parseBindingList(11,41,2);for(const t of e){const{type:e}=t;"AssignmentPattern"!==e&&"TSParameterProperty"!==e||this.raise(vk.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){this.eat(12)||this.isLineTerminator()||this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!tC(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){if(this.eat(17)&&(e.optional=!0),this.match(10)||this.match(47)){t&&this.raise(vk.ReadonlyForMethodSignature,e);const n=e;n.kind&&this.match(47)&&this.raise(vk.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,n),this.tsParseTypeMemberSemicolon();const r="params",i="returnType";if("get"===n.kind)n[r].length>0&&(this.raise(_w.BadGetterArity,this.state.curPosition()),this.isThisParam(n[r][0])&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===n.kind){if(1!==n[r].length)this.raise(_w.BadSetterArity,this.state.curPosition());else{const e=n[r][0];this.isThisParam(e)&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===e.type&&e.optional&&this.raise(vk.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===e.type&&this.raise(vk.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n[i]&&this.raise(vk.SetAccessorCannotHaveReturnType,n[i])}else n.kind="method";return this.finishNode(n,"TSMethodSignature")}{const n=e;t&&(n.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){const t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);const t=this.tsTryParseIndexSignature(e);return t||(super.parsePropertyName(e),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,super.parsePropertyName(e),this.match(10)||this.match(47)||this.unexpected(null,10)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(58))))}tsParseMappedType(){const e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{const{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(vk.OptionalTypeBeforeRequired,e),t||(t="TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const e=this.state.startLoc,t=this.eat(21),{startLoc:n}=this.state;let r,i,s,a;const o=nC(this.state.type)?this.lookaheadCharCode():null;if(58===o)r=!0,s=!1,i=this.parseIdentifier(!0),this.expect(14),a=this.tsParseType();else if(63===o){s=!0;const e=this.state.value,t=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(17),this.expect(14),a=this.tsParseType()):(r=!1,a=t,this.expect(17))}else a=this.tsParseType(),s=this.eat(17),r=this.eat(14);if(r){let e;i?(e=this.startNodeAt(n),e.optional=s,e.label=i,e.elementType=a,this.eat(17)&&(e.optional=!0,this.raise(vk.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=s,this.raise(vk.InvalidTupleMemberLabel,a),e.label=a,e.elementType=this.tsParseType()),a=this.finishNode(e,"TSNamedTupleMember")}else if(s){const e=this.startNodeAt(n);e.typeAnnotation=a,a=this.finishNode(e,"TSOptionalType")}if(t){const t=this.startNodeAt(e);t.typeAnnotation=a,a=this.finishNode(t,"TSRestType")}return a}tsParseParenthesizedType(){const e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const n=this.startNode();return"TSConstructorType"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){const e=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){{const e=this.state.startLoc;let t=this.parseTemplateElement(!1);const n=[t];if(t.tail){const t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,"TemplateLiteral"),this.finishNode(t,"TSLiteralType")}{const r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));const i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,"TSTemplateLiteralType")}}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();return 135!==t.type&&136!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!(1024&this.optionFlags)){const e=this.state.startLoc;this.next();const t=this.tsParseType();return this.expect(11),this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),t}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{const{type:e}=this.state;if(tC(e)||88===e||84===e){const t=88===e?"TSVoidKeyword":84===e?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){const{startLoc:e}=this.state;let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){const n=this.startNodeAt(e);n.elementType=t,this.expect(3),t=this.finishNode(n,"TSArrayType")}else{const n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(n,"TSIndexedAccessType")}return t}tsParseTypeOperator(){const e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(vk.UnexpectedReadonly,e)}}tsParseInferType(){const e=this.startNode();this.expectContextual(115);const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){const e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){var e;return(e=this.state.type)>=121&&e<=123&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){const r=this.startNode(),i=this.eat(n),s=[];do{s.push(t())}while(this.eat(n));return 1!==s.length||i?(r.types=s,this.finishNode(r,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(tC(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){const{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();const{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,"TSTypePredicate")):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=s,n.asserts=r,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(109!==this.state.type)return!1;const e=this.state.containsEsc;return this.next(),!(!tC(this.state.type)&&!this.match(78))&&(e&&this.raise(_w.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){Pk(this.state.inType);const e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.isLookaheadContextual("new")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(vk.ReservedTypeAssertion,this.state.startLoc);const e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.startLoc,n=this.tsParseDelimitedList("HeritageClauseElement",()=>{{const t=super.parseExprSubscripts();Ck(t)||this.raise(vk.InvalidHeritageClauseType,t.loc.start,{token:e});const n="extends"===e?"TSInterfaceHeritage":"TSClassImplements";if("TSInstantiationExpression"===t.type)return t.type=n,t;const r=this.startNodeAtNode(t);return r.expression=t,(this.match(47)||this.match(51))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)}});return n.length||this.raise(vk.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),tC(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(vk.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));const n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInTopLevelContext(e){if(this.curContext()===Mw.brace)return e();{const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,"TSEnumDeclaration")}tsParseEnumBody(){const e=this.startNode();return this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumBody")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){return e.id=this.tsParseEntityName(1),"Identifier"===e.id.type&&this.checkIdentifier(e.id,1024),this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(112)?(e.kind="global",e.id=this.parseIdentifier()):this.match(134)?(e.kind="module",e.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t,n){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);const r=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==r.type&&this.raise(vk.ImportAliasHasImportType,r),e.moduleReference=r,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){const e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),n=e();if(void 0!==n&&!1!==n)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;const t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 126:return this.tsParseEnumDeclaration(e,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(e);case 100:if(this.state.containsEsc)return;case 75:case 74:return this.match(75)&&this.isLookaheadContextual("enum")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,this.state.value,!0));case 107:if(this.isUsing())return this.raise(vk.InvalidModifierOnUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.parseVarStatement(e,"using",!0);break;case 96:if(this.isAwaitUsing())return this.raise(vk.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.next(),this.parseVarStatement(e,"await using",!0);break;case 129:{const t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(tC(t))return this.tsParseDeclaration(e,this.state.value,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,t,n){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);return t&&(t.declare=!0),t}case"global":if(this.match(5)){this.scope.enter(1024),this.prodParam.enter(0);const n=e;return n.kind="global",n.id=t,n.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(n,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1,n)}}tsParseDeclaration(e,t,n,r){switch(t){case"abstract":if(this.tsCheckLineTerminator(n)&&(this.match(80)||tC(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case"module":if(this.tsCheckLineTerminator(n)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(e);if(tC(this.state.type))return e.kind="module",this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return e.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;const t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch(()=>{const t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t});return this.state.maybeInArrowParameters=t,n?super.parseArrowExpression(n,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length?this.raise(vk.EmptyTypeArguments,e):this.state.inType||this.curContext()!==Mw.brace||this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return(e=this.state.type)>=124&&e<=130;var e}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){const n=t.length?t[0].loc.start:this.state.startLoc,r={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},r);const i=r.accessibility,s=r.override,a=r.readonly;4&e||!(i||a||s)||this.raise(vk.UnexpectedParameterModifier,n);const o=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(o);const u=this.parseMaybeDefault(o.loc.start,o);if(i||a||s){const e=this.startNodeAt(n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),s&&(e.override=s),"Identifier"!==u.type&&"AssignmentPattern"!==u.type&&this.raise(vk.UnsupportedParameterPropertyKind,e),e.parameter=u,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),u}isSimpleParameter(e){return"TSParameterProperty"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(const t of e.params)"Identifier"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(vk.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return r&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(vk.DeclareFunctionHasImplementation,e),e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===e?.type&&this.raise(vk.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);return"ArrayExpression"===i.type&&this.tsCheckForInvalidTypeCasts(i.elements),i}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();const n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}let i=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(47)||this.match(51)){let s;const a=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}const a=this.tsParseTypeArgumentsInExpression();if(!a)return;if(i&&!this.match(10))return void(s=this.state.curPosition());if(uC(this.state.type)){const n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=a,n}if(!n&&this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=a,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}const o=this.state.type;if(48===o||52===o||10!==o&&rC(o)&&!this.hasPrecedingLineBreak())return;const u=this.startNodeAt(t);return u.expression=e,u.typeArguments=a,this.finishNode(u,"TSInstantiationExpression")});if(s&&this.unexpected(s,10),a)return"TSInstantiationExpression"===a.type&&((this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(vk.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),this.match(16)||this.match(18)||(a.expression=super.stopParseSubscript(e,r))),a}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);const{callee:t}=e;"TSInstantiationExpression"!==t.type||t.extra?.parenthesized||(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(oC(58)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(r=this.isContextual(120)))){const i=this.startNodeAt(t);return i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(r&&this.raise(_w.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(i,r?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkImportReflection(e){super.checkImportReflection(e),e.module&&"value"!==e.importKind&&this.raise(vk.ImportReflectionHasImportType,e.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(130)){const t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind="type"===n?"type":"value":e.importKind="type"===n||"typeof"===n?n:"value"}parseImport(e){if(this.match(134))return e.importKind="value",super.parseImport(e);let t;if(tC(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){const n=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(vk.TypeImportCannotSpecifyDefaultAndNamed,t),t}parseExport(e,t){if(this.match(83)){const t=this.startNode();this.next();let n=null;this.isContextual(130)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind="value";const r=this.tsParseImportEqualsDeclaration(t,n,!0);return e.attributes=[],e.declaration=r,e.exportKind="value",e.source=null,e.specifiers=[],this.finishNode(e,"ExportNamedDeclaration")}if(this.eat(29)){const t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,"TSExportAssignment")}if(this.eatContextual(93)){const t=e;return this.expectContextual(128),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(124)&&this.isLookaheadContextual("class")}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){const{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(!r)return i;if(!e.declare&&("using"===t||"await using"===t))return this.raiseOverwrite(vk.UsingDeclarationInAmbientContext,e,t),i;for(const{id:e,init:n}of i.declarations)n&&("var"===t||"let"===t||e.typeAnnotation?this.raise(vk.InitializerNotAllowedInAmbientContext,n):Ik(n,this.hasPlugin("estree"))||this.raise(vk.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,n));return i}parseStatementContent(e,t){if(this.match(75)&&this.isLookaheadContextual("enum")){const e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>Ak(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&123===this.lookaheadCharCode()}parseClassMember(e,t,n){const r=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:r,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:vk.InvalidModifierOnTypeParameterPositions},t);const i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,r)&&this.raise(vk.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,n,r){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(vk.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(vk.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(vk.IndexSignatureHasDeclare,t),void(t.override&&this.raise(vk.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(vk.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(vk.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(vk.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(vk.ClassMethodHasDeclare,e)}parseExpressionStatement(e,t,n){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t,n):void 0)||super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){const t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(n),e}return super.parseConditional(e,t,n)}parseParenItem(e,t){const n=super.parseParenItem(e,t);if(this.eat(17)&&(n.optional=!0,this.resetEndLocation(e)),this.match(14)){const n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));const t=this.state.startLoc,n=this.eatContextual(125);if(n&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(vk.ExpectedAmbientAfterExportDeclare,this.state.startLoc);const r=tC(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?(("TSInterfaceDeclaration"===r.type||"TSTypeAliasDeclaration"===r.type||n)&&(e.exportKind="type"),n&&"TSImportEqualsDeclaration"!==r.type&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(113))return;super.parseClassId(e,t,n,e.declare?1024:8331);const i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(29)&&this.raise(vk.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){const{key:t}=e;this.raise(vk.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(vk.PrivateElementHasAbstract,e),e.accessibility&&this.raise(vk.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(vk.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,s){const a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&i&&this.raise(vk.ConstructorHasTypeParameters,a);const{declare:o=!1,kind:u}=t;!o||"get"!==u&&"set"!==u||this.raise(vk.DeclareAccessor,t,{kind:u}),a&&(t.typeParameters=a),super.pushClassMethod(e,t,n,r,i,s)}pushClassPrivateMethod(e,t,n,r){const i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"===e.type&&null==e.value.body||super.declareClassPrivateMethodInScope(e,t))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,t,n,r,i,s,a){const o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,n,r,i,s,a)}parseFunctionParams(e,t){const n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);const n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i,s;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;const{context:i}=this.state,s=i[i.length-1];s!==Mw.j_oTag&&s!==Mw.j_expr||i.pop()}if(!r?.error&&!this.match(47))return super.parseMaybeAssign(e,t);n&&n!==this.state||(n=this.state.clone());const a=this.tryParse(n=>{s=this.tsParseTypeParameters(this.tsParseConstModifier);const r=super.parseMaybeAssign(e,t);if(("ArrowFunctionExpression"!==r.type||r.extra?.parenthesized)&&n(),0!==s?.params.length&&this.resetStartLocationFromNode(r,s),r.typeParameters=s,this.hasPlugin("jsx")&&1===r.typeParameters.params.length&&!r.typeParameters.extra?.trailingComma){const e=r.typeParameters.params[0];e.constraint||this.raise(vk.SingleTypeParameterWithoutTrailingComma,gw(e.loc.end,1),{typeParameterName:e.name.name})}return r},n);if(!a.error&&!a.aborted)return s&&this.reportReservedArrowTypeParam(s),a.node;if(!r&&(Pk(!this.hasPlugin("jsx")),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(a.node)return this.state=a.failState,s&&this.reportReservedArrowTypeParam(s),a.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||a.error||i?.error}reportReservedArrowTypeParam(e){1!==e.params.length||e.params[0].constraint||e.extra?.trailingComma||!this.getPluginOption("typescript","disallowAmbiguousJSXLike")||this.raise(vk.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(14);return!this.canInsertSemicolon()&&this.match(19)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(17)&&(e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(vk.UnexpectedTypeCastInParameter,e):this.raise(vk.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":t||"TSTypeCastExpression"!==e.left.type||(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n){switch(e){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(64!==n||!t)&&["expression",!0];default:return super.isValidLVal(e,t,n)}}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(47)||this.match(51)){const n=this.tsParseTypeArgumentsInExpression();if(this.match(10)){const r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){const n=super.parseMaybeDefault(e,t);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(vk.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(62===e)return void this.finishOp(48,1);if(60===e)return void this.finishOp(47,1)}super.getTokenFromCode(e)}reScan_lt_gt(){const{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){const{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}toAssignableListItem(e,t,n){const r=e[t];"TSTypeCastExpression"===r.type&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}shouldParseArrow(e){return this.match(14)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){const t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(vk.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,t,n,r,i,s,a){const o=super.parseMethod(e,t,n,r,i,s,a);if(o.abstract||"TSAbstractMethodDefinition"===o.type){if((this.hasPlugin("estree")?o.value:o).body){const{key:e}=o;this.raise(vk.AbstractMethodHasImplementation,o,{methodName:"Identifier"!==e.type||o.computed?`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`:e.name})}}return o}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,n){const r=t?"imported":"local",i=t?"local":"exported";let s,a=e[r],o=!1,u=!0;const c=a.loc.start;if(this.isContextual(93)){const e=this.parseIdentifier();if(this.isContextual(93)){const n=this.parseIdentifier();nC(this.state.type)?(o=!0,a=e,s=t?this.parseIdentifier():this.parseModuleExportName(),u=!1):(s=n,u=!1)}else nC(this.state.type)?(u=!1,s=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,a=e)}else nC(this.state.type)&&(o=!0,t?(a=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(a.name,a.loc.start,!0,!0)):a=this.parseModuleExportName());o&&n&&this.raise(t?vk.TypeModifierIsUsedInTypeImports:vk.TypeModifierIsUsedInTypeExports,c),e[r]=a,e[i]=s;e[t?"importKind":"exportKind"]=o?"type":"value",u&&this.eatContextual(93)&&(e[i]=t?this.parseIdentifier():this.parseModuleExportName()),e[i]||(e[i]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[i],o?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case"ExpressionStatement":return void(e.directive??(e.directive=void 0));case"RestElement":e.value=void 0;case"Identifier":case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":return e.decorators??(e.decorators=[]),e.optional??(e.optional=!1),void(e.typeAnnotation??(e.typeAnnotation=void 0));case"TSParameterProperty":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSEmptyBodyFunctionExpression":e.body=null;case"TSDeclareFunction":case"FunctionDeclaration":case"FunctionExpression":case"ClassMethod":case"ClassPrivateMethod":return e.declare??(e.declare=!1),e.returnType??(e.returnType=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"Property":return void(e.optional??(e.optional=!1));case"TSMethodSignature":case"TSPropertySignature":e.optional??(e.optional=!1);case"TSIndexSignature":return e.accessibility??(e.accessibility=void 0),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSAbstractPropertyDefinition":case"PropertyDefinition":case"TSAbstractAccessorProperty":case"AccessorProperty":e.declare??(e.declare=!1),e.definite??(e.definite=!1),e.readonly??(e.readonly=!1),e.typeAnnotation??(e.typeAnnotation=void 0);case"TSAbstractMethodDefinition":case"MethodDefinition":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),void(e.optional??(e.optional=!1));case"ClassExpression":e.id??(e.id=null);case"ClassDeclaration":return e.abstract??(e.abstract=!1),e.declare??(e.declare=!1),e.decorators??(e.decorators=[]),e.implements??(e.implements=[]),e.superTypeArguments??(e.superTypeArguments=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"TSTypeAliasDeclaration":case"VariableDeclaration":return void(e.declare??(e.declare=!1));case"VariableDeclarator":return void(e.definite??(e.definite=!1));case"TSEnumDeclaration":return e.const??(e.const=!1),void(e.declare??(e.declare=!1));case"TSEnumMember":return void(e.computed??(e.computed=!1));case"TSImportType":return e.qualifier??(e.qualifier=null),e.options??(e.options=null),void(e.typeArguments??(e.typeArguments=null));case"TSInterfaceDeclaration":return e.declare??(e.declare=!1),void(e.extends??(e.extends=[]));case"TSMappedType":return e.optional??(e.optional=!1),void(e.readonly??(e.readonly=void 0));case"TSModuleDeclaration":return e.declare??(e.declare=!1),void(e.global??(e.global="global"===e.kind));case"TSTypeParameter":return e.const??(e.const=!1),e.in??(e.in=!1),void(e.out??(e.out=!1))}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(54)){const e=this.state.startLoc,t=this.startNode();if(this.next(),tC(this.state.type)){const e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,"V8IntrinsicIdentifier"),this.match(10))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(133)){const t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return n.expectedNode&&n.type||(n=this.finishNode(n,"Placeholder")),n.expectedNode=t,n}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(133,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){void 0!==e&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){const t=super.cloneIdentifier(e);return"Placeholder"===t.type&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return"Placeholder"===e.type?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,t,n){return"Placeholder"===e||super.isValidLVal(e,t,n)}toAssignable(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;const n=this.nextTokenStart();return 37===this.input.charCodeAt(n)&&37===this.input.charCodeAt(n+1)}verifyBreakContinue(e,t){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){const n=e;return n.label=this.finishPlaceholder(t,"Identifier"),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,"LabeledStatement")}this.semicolon();const n=e;return n.name=t.name,this.finishPlaceholder(n,"Statement")}parseBlock(e,t,n){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,t,n){const r=t?"ClassDeclaration":"ClassExpression";this.next();const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(133)||this.match(5))){if(n||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,r);throw this.raise(Lk.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){const n=this.parsePlaceholder("Identifier");if(!n)return super.parseExport(e,t);const r=e;if(!this.isContextual(98)&&!this.match(12))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,"Declaration"),this.finishNode(r,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,"ExportDefaultSpecifier")],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(65)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(aC(133),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return!!e.specifiers?.length||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){const{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const n=this.startNodeAtNode(t);if(n.local=t,e.specifiers.push(this.finishNode(n,"ImportDefaultSpecifier")),this.eat(12)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Lk.UnexpectedSpace,this.state.lastTokEndLoc)}}},Bk=Object.keys(Mk),Fk=class extends Ek{checkProto(e,t,n,r){if("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return n;const i=e.key;return"__proto__"===("Identifier"===i.type?i.name:i.value)?t?(this.raise(_w.RecordNoProto,i),!0):(n&&(r?null===r.doubleProtoLoc&&(r.doubleProtoLoc=i.loc.start):this.raise(_w.DuplicateProto,i)),!0):n}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&this.offsetToSourcePos(e.start)===t}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(140))throw this.raise(_w.ParseExpressionEmptyInput,this.state.startLoc);const e=this.parseExpression();if(!this.match(140))throw this.raise(_w.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,256&this.optionFlags&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){const t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(12)){const r=this.startNodeAt(t);for(r.expressions=[n];this.eat(12);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){const n=this.state.startLoc,r=this.isContextual(108);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}let i;e?i=!1:(e=new gk,i=!0);const{type:s}=this.state;(10===s||tC(s))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e);if(t&&(a=t.call(this,a,n)),(o=this.state.type)>=29&&o<=33){const t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(29)){this.toAssignable(a,!0),t.left=a;const r=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),null!=e.voidPatternLoc&&e.voidPatternLoc.index>=r&&(e.voidPatternLoc=null)}else t.left=a;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(a,this.finishNode(t,"AssignmentExpression")),t}var o;if(i&&this.checkExpressionErrors(e,!0),r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.YieldNotInGeneratorFunction,n),this.parseYield(n)}return a}parseMaybeConditional(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprOps(e);return this.shouldExitDescending(r,n)?r:this.parseConditional(r,t,e)}parseConditional(e,t,n){if(this.eat(17)){const n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseMaybeUnaryOrPrivate(e){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(r,n)?r:this.parseExprOp(r,t,-1)}parseExprOp(e,t,n){if(this.isPrivateName(e)){const t=this.getPrivateNameSV(e);(n>=oC(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(_w.PrivateInExpectedIn,e,{identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}const r=this.state.type;if((i=r)>=39&&i<=59&&(this.prodParam.hasIn||!this.match(58))){let i=oC(r);if(i>n){if(39===r){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}const s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;const a=41===r||42===r,o=40===r;o&&(i=oC(42)),this.next(),s.right=this.parseExprOpRightExpr(r,i);const u=this.finishNode(s,a||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(41===c||42===c)||a&&40===c)throw this.raise(_w.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(u,t,n)}}var i;return e}parseExprOpRightExpr(e,t){if(this.state.startLoc,39===e)switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,57===e?t-1:t)}parseHackPipeBody(){const{startLoc:e}=this.state,t=this.parseMaybeAssign();return vw.has(t.type)&&!t.extra?.parenthesized&&this.raise(_w.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(57)&&this.raise(_w.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){const n=this.state.startLoc,r=this.isContextual(96);if(r&&this.recordAwaitIfAllowed()){this.next();const e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}const i=this.match(34),s=this.startNode();if(a=this.state.type,Gw[a]){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");const n=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){const e=s.argument;"Identifier"===e.type?this.raise(_w.StrictDelete,s):this.hasPropertyAsPrivateName(e)&&this.raise(_w.DeletePrivateField,s)}if(!i)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}var a;const o=this.parseUpdate(s,i,e);if(r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.AwaitNotInAsyncContext,n),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){const t=e;return this.checkLVal(t.argument,this.finishNode(t,"UpdateExpression")),e}const r=this.state.startLoc;let i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;sC(this.state.type)&&!this.canInsertSemicolon();){const e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,i=this.finishNode(e,"UpdateExpression"))}return i}parseExprSubscripts(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprAtom(e);return this.shouldExitDescending(r,n)?r:this.parseSubscripts(r,t)}parseSubscripts(e,t,n){const r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1}while(!r.stop);return e}parseSubscript(e,t,n,r){const{type:i}=this.state;if(!n&&15===i)return this.parseBind(e,t,n,r);if(uC(i))return this.parseTaggedTemplateExpression(e,t,r);let s=!1;if(18===i){if(n&&(this.raise(_w.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return this.stopParseSubscript(e,r);r.optionalChainMember=s=!0,this.next()}if(!n&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,r,s);{const n=this.eat(0);return n||s||this.eat(16)?this.parseMember(e,t,r,n,s):this.stopParseSubscript(e,r)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,n,r,i){const s=this.startNodeAt(t);return s.object=e,s.computed=r,r?(s.property=this.parseExpression(),this.expect(3)):this.match(139)?("Super"===e.type&&this.raise(_w.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,n,r){const i=this.startNodeAt(t);return i.object=e,this.next(),i.callee=this.parseNoCallExpr(),r.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,n)}parseCoverCallAndAsyncArrowHead(e,t,n,r){const i=this.state.maybeInArrowParameters;let s=null;this.state.maybeInArrowParameters=!0,this.next();const a=this.startNodeAt(t);a.callee=e;const{maybeAsyncArrow:o,optionalChainMember:u}=n;o&&(this.expressionScope.enter(new hk(2)),s=new gk),u&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments():this.parseCallExpressionArguments("Super"!==e.type,a,s);let c=this.finishCallExpression(a,u);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,n){const r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(_w.OptionalChainingNoTemplate,t),this.finishNode(r,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.offsetToSourcePos(e.start)===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(0===e.arguments.length||e.arguments.length>2)this.raise(_w.ImportCallArity,e);else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(_w.ImportCallSpreadArgument,t);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,n){const r=[];let i=!0;const s=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(11);){if(i)i=!1;else if(this.expect(12),this.match(11)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}r.push(this.parseExprListItem(11,!1,n,e))}return this.state.inFSharpPipelineDirectBody=s,r}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&XC(e,t.innerComments),t.callee.trailingComments&&XC(e,t.callee.trailingComments),e}parseNoCallExpr(){const e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,n=null;const{type:r}=this.state;switch(r){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(10)?512&this.optionFlags?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(_w.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{const e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 0:return this.parseArrayLike(3,!0,!1,e);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:n=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;const e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(_w.UnsupportedBind,e)}case 139:return this.raise(_w.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{const e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.parseTopicReference(e);this.unexpected();break}case 47:{const e=this.input.codePointAt(this.nextTokenStart());gC(e)||62===e?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(tC(r)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();const e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,n=this.parseIdentifier();if(!t&&"async"===n.name&&!this.canInsertSemicolon()){const{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(tC(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(90===e)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){const n=this.getPluginOption("pipelineOperator","proposal");if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=gw(this.state.endLoc,-1),this.parseTopicReference(n);this.unexpected()}parseTopicReference(e){const t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(_w.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,"TopicReference");throw this.raise(_w.PipeTopicUnconfiguredToken,t,{token:aC(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:aC(n)}]);case"smart":return 27===n;default:throw this.raise(_w.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(VC(!0,this.prodParam.hasYield));const t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(_w.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();const n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||16&this.optionFlags?this.scope.allowSuper||16&this.optionFlags||this.raise(_w.UnexpectedSuper,e):this.raise(_w.SuperNotAllowed,e),this.match(10)||this.match(0)||this.match(16)||this.raise(_w.UnsupportedSuper,e),this.finishNode(e,"Super")}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(gw(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(_w.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:n}),this.finishNode(e,"MetaProperty")}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(105)||this.isContextual(97)){const t=this.isContextual(105);return this.expectPlugin(t?"sourcePhaseImports":"deferredImportEvaluation"),this.next(),e.phase=t?"source":"defer",this.parseImportCall(e)}{const t=this.createIdentifierAt(this.startNodeAtNode(e),"import",this.state.lastTokStartLoc);return this.isContextual(101)&&(this.inModule||this.raise(_w.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}}parseLiteralAtNode(e,t,n){return this.addExtra(n,"rawValue",e),this.addExtra(n,"raw",this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){const n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){{let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,"BigIntLiteral")}}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){const t=this.startNode();return this.addExtra(t,"raw",this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,"RegExpLiteral")}parseBooleanLiteral(e){const t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){const e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){const t=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new hk(1));const r=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const s=this.state.startLoc,a=[],o=new gk;let u,c,l=!0;for(;!this.match(11);){if(l)l=!1;else if(this.expect(12,null===o.optionalParametersLoc?null:o.optionalParametersLoc),this.match(11)){c=this.state.startLoc;break}if(this.match(21)){const e=this.state.startLoc;if(u=this.state.startLoc,a.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else a.push(this.parseMaybeAssignAllowInOrVoidPattern(11,o,this.parseParenItem))}const p=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=r,this.state.inFSharpPipelineDirectBody=i;let d=this.startNodeAt(t);return e&&this.shouldParseArrow(a)&&(d=this.parseArrow(d))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(d,a,!1),d):(this.expressionScope.exit(),a.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),u&&this.unexpected(u),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(a,!0),a.length>1?(n=this.startNodeAt(s),n.expressions=a,this.finishNode(n,"SequenceExpression"),this.resetEndLocation(n,p)):n=a[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!(1024&this.optionFlags))return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;const n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,"ParenthesizedExpression")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const n=this.parseMetaProperty(e,t,"target");return this.scope.allowNewTarget||this.raise(_w.UnexpectedNewTarget,n),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){const t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}parseNewCallee(e){const t=this.match(83),n=this.parseNoCallExpr();e.callee=n,!t||"Import"!==n.type&&"ImportExpression"!==n.type||this.raise(_w.ImportCallNotNewExpression,n)}parseTemplateElement(e){const{start:t,startLoc:n,end:r,value:i}=this.state,s=t+1,a=this.startNodeAt(gw(n,1));null===i&&(e||this.raise(_w.InvalidEscapeSequenceTemplate,gw(this.state.firstInvalidTemplateEscapePos,1)));const o=this.match(24),u=o?-1:-2,c=r+u;a.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===i?null:i.slice(1,u)},a.tail=o,this.next();const l=this.finishNode(a,"TemplateElement");return this.resetEndLocation(l,gw(this.state.lastTokEndLoc,u)),l}parseTemplate(e){const t=this.startNode();let n=this.parseTemplateElement(e);const r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let s=!1,a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let i;t?i=this.parseBindingProperty():(i=this.parsePropertyDefinition(r),s=this.checkProto(i,n,s,r)),n&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(_w.InvalidRecordProperty,i),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return t?u="ObjectPattern":n&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(_w.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());const n=this.startNode();let r,i=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(r=this.state.startLoc);let a=this.eat(55);this.parsePropertyNamePrefixOperator(n);const o=this.state.containsEsc;if(this.parsePropertyName(n,e),!a&&!o&&this.maybeAsyncOrAccessorProp(n)){const{key:e}=n,t=e.name;"async"!==t||this.hasPrecedingLineBreak()||(i=!0,this.resetPreviousNodeTrailingComments(e),a=this.eat(55),this.parsePropertyName(n)),"get"!==t&&"set"!==t||(s=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(55)&&(a=!0,this.raise(_w.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,r,a,i,!1,s,e)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){const t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise("get"===e.kind?_w.BadGetterArity:_w.BadSetterArity,e),"set"===e.kind&&"RestElement"===n[n.length-1]?.type&&this.raise(_w.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){const n=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(n),n}if(n||t||this.match(10))return r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,n,!1,!1,"ObjectMethod")}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(14))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(8,r),this.finishObjectProperty(e);if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(29)){const n=this.state.startLoc;null!=r?null===r.shorthandAssignLoc&&(r.shorthandAssignLoc=n):this.raise(_w.InvalidCoverInitializedName,n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,"ObjectProperty")}parseObjPropValue(e,t,n,r,i,s,a){const o=this.parseObjectMethod(e,n,r,i,s)||this.parseObjectProperty(e,t,i,a);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{const{type:n,value:r}=this.state;let i;if(nC(n))i=this.parseIdentifier(!0);else switch(n){case 135:i=this.parseNumericLiteral(r);break;case 134:i=this.parseStringLiteral(r);break;case 136:i=this.parseBigIntLiteral(r);break;case 139:{const e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(_w.UnexpectedPrivateField,e),i=this.parsePrivateName();break}default:this.unexpected()}e.key=i,139!==n&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,s,a=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(a?576:0)|(i?32:0)),this.prodParam.enter(VC(n,e.generator)),this.parseFunctionParams(e,r);const o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!n,r,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,n?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=VC(n,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,n);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){const r=t&&!this.match(5);if(this.expressionScope.enter(mk()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,i=>{const s=!this.isSimpleParamList(e.params);i&&s&&this.raise(_w.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||n||s),t,a),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,a)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return"Identifier"===e.type}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){const i=!t&&new Set,s={type:"FormalParameters"};for(const t of e.params)this.checkLVal(t,s,5,i,r)}parseExprList(e,t,n,r){const i=[];let s=!0;for(;!this.eat(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(12))t||this.raise(_w.UnexpectedToken,this.state.curPosition(),{unexpected:","}),i=null;else if(this.match(21)){const e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(17)){this.expectPlugin("partialApplication"),r||this.raise(_w.UnexpectedArgumentPlaceholder,this.state.startLoc);const e=this.startNode();this.next(),i=this.finishNode(e,"ArgumentPlaceholder")}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,this.parseParenItem);return i}parseIdentifier(e){const t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,e.loc.identifierName=t,this.finishNode(e,"Identifier")}createIdentifierAt(e,t,n){return e.name=t,e.loc.identifierName=t,this.finishNodeAt(e,"Identifier",n)}parseIdentifierName(e){let t;const{startLoc:n,type:r}=this.state;nC(r)?t=this.state.value:this.unexpected();const i=r<=92;return e?i&&this.replaceToken(132):this.checkReservedWord(t,n,i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(e.length>10)return;if(!function(e){return kC.has(e)}(e))return;if(n&&function(e){return TC.has(e)}(e))return void this.raise(_w.UnexpectedKeyword,t,{keyword:e});if((this.state.strict?r?CC:AC:vC)(e,this.inModule))this.raise(_w.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(_w.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(_w.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(_w.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(_w.ArgumentsInClass,t)}recordAwaitIfAllowed(){const e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e){const t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(_w.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(_w.ObsoleteAwaitStar,t),this.scope.inFunction||1&this.optionFlags||(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;const{type:e}=this.state;return 53===e||10===e||0===e||uC(e)||102===e&&!this.state.containsEsc||138===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}parseYield(e){const t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(_w.YieldInParameter,t);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,"YieldExpression")}parseImportCall(e){if(this.next(),e.source=this.parseMaybeAssignAllowIn(),e.options=null,this.eat(12))if(this.match(11))this.addTrailingCommaExtraToNode(e.source);else if(e.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&(this.addTrailingCommaExtraToNode(e.options),!this.match(11))){do{this.parseMaybeAssignAllowIn()}while(this.eat(12)&&!this.match(11));this.raise(_w.ImportCallArity,e)}return this.expect(11),this.finishNode(e,"ImportExpression")}checkPipelineAtInfixOperator(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(_w.PipelineHeadSequenceExpression,t)}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){const n=this.startNodeAt(t);return n.callee=e,this.finishNode(n,"PipelineBareFunction")}{const n=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),n.expression=e,this.finishNode(n,"PipelineTopicExpression")}}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(_w.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipelineTopicUnused,e)}withTopicBindingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){return e()}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){const t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){const t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const r=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=n,r}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);const t=this.startNodeAt(this.state.endLoc);this.next();const n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{n()}return this.finishNode(e,"ModuleExpression")}parseVoidPattern(e){this.expectPlugin("discardBinding");const t=this.startNode();return null!=e&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,"VoidPattern")}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(null!=t&&this.match(88)){const n=this.lookaheadCharCode();if(44===n||n===(3===e?93:8===e?125:41)||61===n)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},Rk={kind:1},jk={kind:2},Uk=/[\uD800-\uDFFF]/u,qk=/in(?:stanceof)?/y;var $k=class extends Fk{parseTopLevel(e,t){return e.program=this.parseProgram(t,140,"module"===this.options.sourceType?"module":"script"),e.comments=this.comments,256&this.optionFlags&&(e.tokens=function(e){for(let t=0;t<e.length;t++){const n=e[t],{type:r}=n;"number"==typeof r&&(n.type=cC(r))}return e}(this.tokens,this.input,this.startIndex)),this.finishNode(e,"File")}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(64&this.optionFlags)&&this.scope.undefinedExports.size>0)for(const[e,t]of Array.from(this.scope.undefinedExports))this.raise(_w.ModuleExportUndefined,t,{localName:e});this.addExtra(e,"topLevelAwait",this.state.hasTopLevelAwait)}let r;return r=140===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",gw(this.state.startLoc,-1)),r}stmtToDirective(e){const t=this.castNodeTo(e,"Directive"),n=this.castNodeTo(e.expression,"DirectiveLiteral"),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),s=n.value=i.slice(1,-1);return this.addExtra(n,"raw",i),this.addExtra(n,"rawValue",s),this.addExtra(n,"expressionValue",r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(28))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}isUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isForUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,"of")){const t=this.lookaheadCharCodeSince(e+2);if(61!==t&&58!==t&&59!==t)return!1}return!(!this.chStartsBindingIdentifier(t,e)&&!this.isUnparsedContextual(e,"void"))}isAwaitUsing(){if(!this.isContextual(96))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);const t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(gC(e)){if(qk.lastIndex=t,qk.test(this.input)){const e=this.codePointAtPos(qk.lastIndex);if(!bC(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){const e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return 123===t||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){const n=this.state.type,r=this.startNode(),i=!!(2&e),s=!!(4&e),a=1&e;switch(n){case 60:return this.parseBreakContinueStatement(r,!0);case 63:return this.parseBreakContinueStatement(r,!1);case 64:return this.parseDebuggerStatement(r);case 90:return this.parseDoWhileStatement(r);case 91:return this.parseForStatement(r);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?_w.StrictFunction:this.options.annexB?_w.SloppyFunctionAnnexB:_w.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&s);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 69:return this.parseIfStatement(r);case 70:return this.parseReturnStatement(r);case 71:return this.parseSwitchStatement(r);case 72:return this.parseThrowStatement(r);case 73:return this.parseTryStatement(r);case 96:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,r):this.raise(_w.UnexpectedLexicalDeclaration,r):this.raise(_w.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(_w.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,"using");case 100:{if(this.state.containsEsc)break;const e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t){if(!i&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(t,e)&&123!==t)break}}case 75:i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{const e=this.state.value;return this.parseVarStatement(r,e)}case 92:return this.parseWhileStatement(r);case 76:return this.parseWithStatement(r);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(r);case 83:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return 8&this.optionFlags||a||this.raise(_w.UnexpectedImportExport,this.state.startLoc),this.next(),e=83===n?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(_w.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&s)}const o=this.state.value,u=this.parseExpression();return tC(n)&&"Identifier"===u.type&&this.eat(14)?this.parseLabeledStatement(r,o,u,e):this.parseExpressionStatement(r,u,t)}assertModuleNodeAllowed(e){8&this.optionFlags||this.inModule||this.raise(_w.ImportOutsideModule,e)}decoratorsEnabledBeforeExport(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?("boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){const t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(_w.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(_w.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){const t=this.state.startLoc;let n;if(this.match(10)){const t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(11),n=this.wrapParenthesis(t,n);const r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==n&&this.raise(_w.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(16);){const e=this.startNodeAt(t);e.object=n,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e,t){if(this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,"CallExpression")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){let n;for(n=0;n<this.state.labels.length;++n){const r=this.state.labels[n];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(t||1===r.kind))break;if(e.label&&t)break}}if(n===this.state.labels.length){const n=t?"BreakStatement":"ContinueStatement";this.raise(_w.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")}parseHeaderExpression(){this.expect(10);const e=this.parseExpression();return this.expect(11),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Rk);let t=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);const n=this.isContextual(100);{const r=this.isAwaitUsing(),i=r||this.isForUsing(),s=n&&this.hasFollowingBindingAtom()||i;if(this.match(74)||this.match(75)||s){const n=this.startNode();let s;r?(s="await using",this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):s=this.state.value,this.next(),this.parseVar(n,!0,s);const a=this.finishNode(n,"VariableDeclaration"),o=this.match(58);return o&&i&&this.raise(_w.ForInUsing,a),(o||this.isContextual(102))&&1===a.declarations.length?this.parseForIn(e,a,t):(null!==t&&this.unexpected(t),this.parseFor(e,a))}}const r=this.isContextual(95),i=new gk,s=this.parseExpression(!0,i),a=this.isContextual(102);if(a&&(n&&this.raise(_w.ForOfLet,s),null===t&&r&&"Identifier"===s.type&&this.raise(_w.ForOfAsync,s)),a||this.match(58)){this.checkDestructuringPrivate(i),this.toAssignable(s,!0);const n=a?"ForOfStatement":"ForInStatement";return this.checkLVal(s,{type:n}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(i,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(_w.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let n;this.expect(5),this.state.labels.push(jk),this.scope.enter(256);for(let e;!this.match(8);)if(this.match(61)||this.match(65)){const r=this.match(61);n&&this.finishNode(n,"SwitchCase"),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(_w.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(14)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(_w.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{type:"CatchClause"},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){const t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,e.handler||e.finalizer||this.raise(_w.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(_w.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,n,r){for(const e of this.state.labels)e.name===t&&this.raise(_w.LabelRedeclaration,n,{labelName:t});const i=(s=this.state.type)>=90&&s<=92?1:this.match(71)?2:null;var s;for(let t=this.state.labels.length-1;t>=0;t--){const n=this.state.labels[t];if(n.statementStart!==e.start)break;n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=8&r?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t,n){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,n){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,8,n),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,n){const r=this.match(58);return this.next(),r?null!==n&&this.unexpected(n):e.await=null!==n,"VariableDeclaration"!==t.type||null==t.declarations[0].init||r&&this.options.annexB&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type||this.raise(_w.ForInOfLoopInitializer,t,{type:r?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(_w.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,n,r=!1){const i=e.declarations=[];for(e.kind=n;;){const e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null!==e.init||r||("Identifier"===e.id.type||t&&(this.match(58)||this.isContextual(102))?"const"!==n&&"using"!==n&&"await using"!==n||this.match(58)||this.isContextual(102)||this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n}):this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),i.push(this.finishNode(e,"VariableDeclarator")),!this.eat(12))break}return e}parseVarId(e,t){const n=this.parseBindingAtom();"using"===t||"await using"===t?"ArrayPattern"!==n.type&&"ObjectPattern"!==n.type||this.raise(_w.UsingDeclarationHasBindingPattern,n.loc.start):"VoidPattern"===n.type&&this.raise(_w.UnexpectedVoidPattern,n.loc.start),this.checkLVal(n,{type:"VariableDeclarator"},"var"===t?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){const n=2&t,r=!!(1&t),i=r&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(n&&this.raise(_w.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(514),this.prodParam.enter(VC(s,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,r?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||tC(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(new dk(3)),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,n){this.next();const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(e){return"Identifier"===e.type&&"constructor"===e.name||"StringLiteral"===e.type&&"constructor"===e.value}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();const n={hadConstructor:!1,hadSuperClass:e};let r=[];const i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(r.length>0)throw this.raise(_w.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(_w.DecoratorConstructor,e)}}),this.state.strict=t,this.next(),r.length)throw this.raise(_w.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const n=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){const r=this.isContextual(106);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){const i=t,s=t,a=t,o=t,u=t,c=i,l=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind="method";const t=this.match(139);return this.parseClassElementName(c),this.parsePostMemberNameModifiers(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsGenerator,i.key),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const p=!this.state.containsEsc&&tC(this.state.type),d=this.parseClassElementName(t),h=p?d.name:null,f=this.isPrivateName(d),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(c.kind="method",f)return void this.pushClassPrivateMethod(e,s,!1,!1);const r=this.isNonstaticConstructor(i);let a=!1;r&&(i.kind="constructor",n.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(_w.DuplicateConstructor,d),r&&this.hasPlugin("typescript")&&t.override&&this.raise(_w.OverrideOnConstructor,d),n.hadConstructor=!0,a=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,a)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if("async"!==h||this.isLineTerminator())if("get"!==h&&"set"!==h||this.match(55)&&this.isLineTerminator())if("accessor"!==h||this.isLineTerminator())this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(d);const t=this.match(139);this.parseClassElementName(a),this.pushClassAccessorProperty(e,u,t)}else{this.resetPreviousNodeTrailingComments(d),c.kind=h;const t=this.match(139);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else{this.resetPreviousNodeTrailingComments(d);const t=this.eat(55);l.optional&&this.unexpected(m),c.kind="method";const n=this.match(139);this.parseClassElementName(c),this.parsePostMemberNameModifiers(l),n?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:n}=this.state;if(132!==t&&134!==t||!e.static||"prototype"!==n||this.raise(_w.StaticPrototype,this.state.startLoc),139===t){"constructor"===n&&this.raise(_w.ConstructorClassPrivateField,this.state.startLoc);const t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),t.decorators?.length&&this.raise(_w.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(_w.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassAccessorProperty(e,t,n){n||t.computed||!this.nameIsConstructor(t.key)||this.raise(_w.ConstructorClassField,t.key);const r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.loc.start)}pushClassMethod(e,t,n,r,i,s){e.body.push(this.parseMethod(t,n,r,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,n,r){const i=this.parseMethod(t,n,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const s="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(mk()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(tC(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else{if(!n&&t)throw this.raise(_w.MissingClassName,this.state.startLoc);e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){const n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(12),s=i&&this.eatExportStar(e),a=s&&this.maybeParseExportNamespaceSpecifier(e),o=i&&(!a||this.eat(12)),u=r||s;if(s&&!a){if(r&&this.unexpected(),t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,"ExportAllDeclaration")}const c=this.maybeParseExportNamedSpecifiers(e);let l;if(r&&i&&!s&&!c&&this.unexpected(null,5),a&&o&&this.unexpected(null,98),u||c){if(l=!1,t)throw this.raise(_w.UnsupportedDecoratorExport,e);this.parseExportFrom(e,u)}else l=this.maybeParseExportDeclaration(e);if(u||c||l){const n=e;if(this.checkExport(n,!0,!1,!!n.source),"ClassDeclaration"===n.declaration?.type)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,"ExportNamedDeclaration")}if(this.eat(65)){const n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,"ClassDeclaration"===r.type)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.checkExport(n,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(n,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",t?.loc.start);const n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers??(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){const t=e;t.specifiers||(t.specifiers=[]);const n="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;const e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(_w.UnsupportedDefaultExport,this.state.startLoc);const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){if(this.match(80)){return this.parseClass(this.startNode(),!0,!1)}return this.parseStatementListItem()}isExportDefaultSpecifier(){const{type:e}=this.state;if(tC(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){const e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(123===t||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith("from",e))return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;const t=this.nextTokenStart(),n=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||tC(this.state.type)&&n)return!0;if(this.match(65)&&n){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){const{type:e}=this.state;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),!0):this.isUsing()||this.isAwaitUsing()?(this.raise(_w.UsingDeclarationExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,n,r){if(t)if(n){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!==4||t.extra?.parenthesized||this.raise(_w.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(const t of e.specifiers){const{exported:e}=t,n="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){const{local:e}=t;"Identifier"!==e.type?this.raise(_w.ExportBindingIsString,t,{localName:e.value,exportName:n}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration){const t=e.declaration;if("FunctionDeclaration"===t.type||"ClassDeclaration"===t.type){const{id:n}=t;if(!n)throw new Error("Assertion failure");this.checkDuplicateExports(e,n.name)}else if("VariableDeclaration"===t.type)for(const e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(_w.DuplicateDefaultExport,e):this.raise(_w.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){const t=[];let n=!0;for(this.expect(5);!this.eat(8);){if(n)n=!1;else if(this.expect(12),this.eat(8))break;const r=this.isContextual(130),i=this.match(134),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||(e.exported=this.cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){const e=this.parseStringLiteral(this.state.value),t=Uk.exec(e.value);return t&&this.raise(_w.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some(({key:e,value:t})=>"json"===t.value&&("Identifier"===e.type?"type"===e.name:"type"===e.value))}checkImportReflection(e){const{specifiers:t}=e,n=1===t.length?t[0].type:null;"source"===e.phase?"ImportDefaultSpecifier"!==n&&this.raise(_w.SourcePhaseImportRequiresDefault,t[0].loc.start):"defer"===e.phase?"ImportNamespaceSpecifier"!==n&&this.raise(_w.DeferImportRequiresNamespace,t[0].loc.start):e.module&&("ImportDefaultSpecifier"!==n&&this.raise(_w.ImportReflectionNotBinding,t[0].loc.start),e.assertions?.length>0&&this.raise(_w.ImportReflectionHasAssertion,t[0].loc.start))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){const{specifiers:t}=e;if(null!=t){const e=t.find(e=>{let t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value});void 0!==e&&this.raise(_w.ImportJSONBindingNotDefault,e.loc.start)}}}isPotentialImportPhase(e){return!e&&(this.isContextual(105)||this.isContextual(97))}applyImportPhase(e,t,n,r){t||(this.hasPlugin("importReflection")&&(e.module=!1),"source"===n?(this.expectPlugin("sourcePhaseImports",r),e.phase="source"):"defer"===n?(this.expectPlugin("deferredImportEvaluation",r),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;const n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(nC(i)?98!==i||102===this.lookaheadCharCode():12!==i)?(this.applyImportPhase(e,t,r,n.loc.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){const{type:t}=this.state;return tC(t)?98!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(134)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];const n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);const e=[],t=new Set;do{if(this.match(8))break;const n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),this.match(134)?n.key=this.parseStringLiteral(r):n.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){const e=[],t=new Set;do{const n=this.startNode();if(n.key=this.parseIdentifier(!0),"type"!==n.key.name&&this.raise(_w.ModuleAttributeDifferentFromType,n.key),t.has(n.key.name)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,n.key,{key:n.key.name}),t.add(n.key.name),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),t=this.parseImportAttributes()}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(this.hasPlugin("deprecatedImportAssert")||this.raise(_w.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0),this.next(),t=this.parseImportAttributes()):t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){const n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,"ImportDefaultSpecifier")),!0}return!!nC(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){const t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(_w.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}const n=this.startNode(),r=this.match(134),i=this.isContextual(130);n.imported=this.parseModuleExportName();const s=this.parseImportSpecifier(n,r,"type"===e.importKind||"typeof"===e.importKind,i,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(93))e.local=this.parseIdentifier();else{const{imported:n}=e;if(t)throw this.raise(_w.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.loc.start,!0,!0),e.local||(e.local=this.cloneIdentifier(n))}return this.finishImportSpecifier(e,"ImportSpecifier",i)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}},Jk=class extends $k{constructor(e,t,n){super(e=function(e){const t={sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};if(null==e)return t;if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");for(const n of Object.keys(t))null!=e[n]&&(t[n]=e[n]);if(1===t.startLine)null==e.startIndex&&t.startColumn>0?t.startIndex=t.startColumn:null==e.startColumn&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(null==e.startColumn||null==e.startIndex)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if("commonjs"===t.sourceType){if(null!=e.allowAwaitOutsideFunction)throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(null!=e.allowReturnOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(null!=e.allowNewTargetOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=n,this.filename=e.sourceFilename,this.startIndex=e.startIndex;let r=0;e.allowAwaitOutsideFunction&&(r|=1),e.allowReturnOutsideFunction&&(r|=2),e.allowImportExportEverywhere&&(r|=8),e.allowSuperOutsideMethod&&(r|=16),e.allowUndeclaredExports&&(r|=64),e.allowNewTargetOutsideFunction&&(r|=4),e.allowYieldOutsideFunction&&(r|=32),e.ranges&&(r|=128),e.tokens&&(r|=256),e.createImportExpressions&&(r|=512),e.createParenthesizedExpressions&&(r|=1024),e.errorRecovery&&(r|=2048),e.attachComment&&(r|=4096),e.annexB&&(r|=8192),this.optionFlags=r}getScopeHandler(){return _C}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e.comments.length=this.state.commentsLen,e}};function Vk(e,t){if("unambiguous"!==t?.sourceType)return Xk(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const n=Xk(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType="script",Xk(t,e).parse()}catch{}else r.program.sourceType="script";return r}catch(n){try{return t.sourceType="script",Xk(t,e).parse()}catch{}throw n}}function Kk(e,t){const n=Xk(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()}var Wk=function(e){const t={};for(const n of Object.keys(e))t[n]=cC(e[n]);return t}(eC);function Xk(e,t){let n=Jk;const r=new Map;if(e?.plugins){for(const t of e.plugins){let e,n;"string"==typeof t?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}!function(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=e.get("decorators").decoratorsBeforeExport;if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");const n=e.get("decorators").allowCallParenthesized;if(null!=n&&"boolean"!=typeof n)throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){const t=e.get("pipelineOperator").proposal;if(!Ok.includes(t)){const e=Ok.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if("hack"===t){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");const t=e.get("pipelineOperator").topicToken;if(!Dk.includes(t)){const e=Dk.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has("moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has("importAssertions"))throw new Error("`importAssertions` has been removed in Babel 8, please use import attributes instead. To use the non-standard `assert` syntax you can enable the `deprecatedImportAssert` parser plugin.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax)throw new Error("The 'importAttributes' plugin has been removed in Babel 8. If you need to enable support for the deprecated `assert` syntax, you can enable the `deprecatedImportAssert` parser plugin.");if(e.has("recordAndTuple"))throw new Error("The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){const e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}if(e.has("optionalChainingAssign")&&"2023-07"!==e.get("optionalChainingAssign").version)throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.");if(e.has("discardBinding")&&"void"!==e.get("discardBinding").syntaxType)throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.");if(e.has("decimal"))throw new Error("The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("importReflection"))throw new Error("The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.")}(r),n=function(e){const t=[];for(const n of Bk)e.has(n)&&t.push(n);const n=t.join("|");let r=Hk.get(n);if(!r){r=Jk;for(const e of t)r=Mk[e](r);Hk.set(n,r)}return r}(r)}return new n(e,t,r)}var Hk=new Map;var zk=Ge(Ze()),Yk=Ge(et());var Gk=(e,t)=>n=>e(t(n));function Qk(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:Gk(Gk(e.white,e.bgRed),e.bold),gutter:e.gray,marker:Gk(e.red,e.bold),message:Gk(e.red,e.bold),reset:e.reset}}var Zk=Qk((0,zk.createColors)(!0)),eI=Qk((0,zk.createColors)(!1));function tI(e){return e?Zk:eI}var nI,rI=new Set(["as","async","from","get","of","set"]),iI=/\r\n|[\n\r\u2028\u2029]/,sI=/^[()[\]{}]$/;{const e=function(e){if("IdentifierName"===e.type){if(Et(e.value)||Tt(e.value,!0)||rI.has(e.value))return"keyword";if(e.value[0]!==e.value[0].toLowerCase())return"capitalized"}if("Punctuator"===e.type&&sI.test(e.value))return"uncolored";if("Invalid"===e.type&&"@"===e.value)return"punctuator";switch(e.type){case"NumericLiteral":return"number";case"StringLiteral":case"JSXString":case"NoSubstitutionTemplate":return"string";case"RegularExpressionLiteral":return"regex";case"Punctuator":case"JSXPunctuator":return"punctuator";case"MultiLineComment":case"SingleLineComment":return"comment";case"Invalid":case"JSXInvalid":return"invalid";case"JSXIdentifier":return"jsxIdentifier";default:return"uncolored"}};nI=function*(t){for(const n of(0,Yk.default)(t,{jsx:!0}))switch(n.type){case"TemplateHead":yield{type:"string",value:n.value.slice(0,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateMiddle":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateTail":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1)};break;default:yield{type:e(n),value:n.value}}}}var aI=/\r\n|[\n\r\u2028\u2029]/;function oI(e,t,n={}){const r=n.forceColor||"0"!==$.env.FORCE_COLOR&&"false"!==$.env.FORCE_COLOR&&zk.default.isColorSupported&&n.highlightCode,i=tI(r),s=e.split(aI),{start:a,end:o,markerLines:u}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:a=3}=n||{},o=r.line,u=r.column,c=i.line,l=i.column;let p=Math.max(o-(s+1),0),d=Math.min(t.length,c+a);-1===o&&(p=0),-1===c&&(d=t.length);const h=c-o,f={};if(h)for(let e=0;e<=h;e++){const n=e+o;if(u)if(0===e){const e=t[n-1].length;f[n]=[u,e-u+1]}else if(e===h)f[n]=[0,l];else{const r=t[n-e].length;f[n]=[0,r]}else f[n]=!0}else f[o]=u===l?!u||[u,0]:[u,l-u];return{start:p,end:d,markerLines:f}}(t,s,n),c=t.start&&"number"==typeof t.start.column,l=String(o).length,p=r?function(e){if(""===e)return"";const t=tI(!0);let n="";for(const{type:r,value:i}of nI(e))n+=r in t?i.split(iI).map(e=>t[r](e)).join("\n"):i;return n}(e):e;let d=p.split(aI,o).slice(a,o).map((e,t)=>{const r=a+1+t,s=` ${` ${r}`.slice(-l)} |`,o=u[r],c=!u[r+1];if(o){let t="";if(Array.isArray(o)){const r=e.slice(0,Math.max(o[0]-1,0)).replace(/[^\t]/g," "),a=o[1]||1;t=["\n ",i.gutter(s.replace(/\d/g," "))," ",r,i.marker("^").repeat(a)].join(""),c&&n.message&&(t+=" "+i.message(n.message))}return[i.marker(">"),i.gutter(s),e.length>0?` ${e}`:"",t].join("")}return` ${i.gutter(s)}${e.length>0?` ${e}`:""}`}).join("\n");return n.message&&!c&&(d=`${" ".repeat(l+1)}${n.message}\n${d}`),r?i.reset(d):d}var{assertExpressionStatement:uI}=at;function cI(e){return{code:e=>`/* @babel/template */;\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}var lI=cI(e=>e.length>1?e:e[0]),pI=cI(e=>e),dI=cI(e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]}),hI={code:e=>`(\n${e}\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===hI.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return uI(t),t.expression}};var fI=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function mI(e,t){const{placeholderWhitelist:n=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:s=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}}function yI(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}=t,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(t,fI);if(null!=n&&!(n instanceof Set))throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");if(null!=r&&!(r instanceof RegExp)&&!1!==r)throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("'.preserveComments' must be a boolean, null, or undefined");if(null!=s&&"boolean"!=typeof s)throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");if(!0===s&&(null!=n||null!=r))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");return{parser:a,placeholderWhitelist:n||void 0,placeholderPattern:null==r?void 0:r,preserveComments:null==i?void 0:i,syntacticPlaceholders:null==s?void 0:s}}function gI(e){if(Array.isArray(e))return e.reduce((e,t,n)=>(e["$"+n]=t,e),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}var{isCallExpression:bI,isExpressionStatement:xI,isFunction:SI,isIdentifier:TI,isJSXIdentifier:EI,isNewExpression:PI,isPlaceholder:vI,isStatement:AI,isStringLiteral:wI,removePropertiesDeep:CI,traverse:kI}=at,II=/^[_$A-Z0-9]+$/;function _I(e,t,n){const{placeholderWhitelist:r,placeholderPattern:i,preserveComments:s,syntacticPlaceholders:a}=n,o=function(e,t,n){const r=(t.plugins||[]).slice();!1!==n&&r.push("placeholders");t=Object.assign({allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowYieldOutsideFunction:!0,sourceType:"module"},t,{plugins:r});try{return Vk(e,t)}catch(t){const n=t.loc;throw n&&(t.message+="\n"+oI(e,{start:n}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,n.parser,a);CI(o,{preserveComments:s}),e.validate(o);const u={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderWhitelist:r,placeholderPattern:i,syntacticPlaceholders:a};return kI(o,NI,u),Object.assign({ast:o},u.syntactic.placeholders.length?u.syntactic:u.legacy)}function NI(e,t,n){let r,i=n.syntactic.placeholders.length>0;if(vI(e)){if(!1===n.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.");r=e.name.name,i=!0}else{if(i||n.syntacticPlaceholders)return;if(TI(e)||EI(e))r=e.name;else{if(!wI(e))return;r=e.value}}if(i&&(null!=n.placeholderPattern||null!=n.placeholderWhitelist))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");if(!(i||!1!==n.placeholderPattern&&(n.placeholderPattern||II).test(r)||n.placeholderWhitelist?.has(r)))return;t=t.slice();const{node:s,key:a}=t[t.length-1];let o;wI(e)||vI(e,{expectedNode:"StringLiteral"})?o="string":PI(s)&&"arguments"===a||bI(s)&&"arguments"===a||SI(s)&&"params"===a?o="param":xI(s)&&!vI(e)?(o="statement",t=t.slice(0,-1)):o=AI(e)&&vI(e)?"statement":"other";const{placeholders:u,placeholderNames:c}=i?n.syntactic:n.legacy;u.push({name:r,type:o,resolve:e=>function(e,t){let n=e;for(let e=0;e<t.length-1;e++){const{key:r,index:i}=t[e];n=void 0===i?n[r]:n[r][i]}const{key:r,index:i}=t[t.length-1];return{parent:n,key:r,index:i}}(e,t),isDuplicate:c.has(r)}),c.add(r)}var{blockStatement:LI,cloneNode:OI,emptyStatement:DI,expressionStatement:MI,identifier:BI,isStatement:FI,isStringLiteral:RI,stringLiteral:jI,validate:UI}=at;function qI(e,t){const n=OI(e.ast);return t&&(e.placeholders.forEach(e=>{if(!Object.hasOwn(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['${t}'])}\n - { placeholderPattern: /^${t}$/ }`)}}),Object.keys(t).forEach(t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)})),e.placeholders.slice().reverse().forEach(e=>{try{!function(e,t,n){e.isDuplicate&&(Array.isArray(n)?n=n.map(e=>OI(e)):"object"==typeof n&&(n=OI(n)));const{parent:r,key:i,index:s}=e.resolve(t);if("string"===e.type){if("string"==typeof n&&(n=jI(n)),!n||!RI(n))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===s?n?Array.isArray(n)?n=LI(n):"string"==typeof n?n=MI(BI(n)):FI(n)||(n=MI(n)):n=DI():n&&!Array.isArray(n)&&("string"==typeof n&&(n=BI(n)),FI(n)||(n=MI(n)));else if("param"===e.type){if("string"==typeof n&&(n=BI(n)),void 0===s)throw new Error("Assertion failure.")}else if("string"==typeof n&&(n=BI(n)),Array.isArray(n))throw new Error("Cannot replace single expression with an array.");function a(e,t,n){const r=e[t];e[t]=n,"Identifier"!==r.type&&"Placeholder"!==r.type||(r.typeAnnotation&&(n.typeAnnotation=r.typeAnnotation),r.optional&&(n.optional=r.optional),r.decorators&&(n.decorators=r.decorators))}if(void 0===s)UI(r,i,n),a(r,i,n);else{const t=r[i].slice();"statement"===e.type||"param"===e.type?null==n?t.splice(s,1):Array.isArray(n)?t.splice(s,1,...n):a(t,s,n):a(t,s,n),UI(r,i,t),r[i]=t}}(e,n,(t&&t[e.name])??null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}}),n}function $I(e,t,n){let r;return t=e.code(t),i=>{const s=gI(i);return r||(r=_I(e,t,n)),e.unwrap(qI(r,s))}}function JI(e,t,n){const{metadata:r,names:i}=function(e,t,n){let r="BABEL_TPL$";const i=t.join("");do{r="$$"+r}while(i.includes(r));const{names:s,code:a}=function(e,t){const n=[];let r=e[0];for(let i=1;i<e.length;i++){const s=`${t}${i-1}`;n.push(s),r+=s+e[i]}return{names:n,code:r}}(t,r),o=_I(e,e.code(a),{parser:n.parser,placeholderWhitelist:new Set(s.concat(n.placeholderWhitelist?Array.from(n.placeholderWhitelist):[])),placeholderPattern:n.placeholderPattern,preserveComments:n.preserveComments,syntacticPlaceholders:n.syntacticPlaceholders});return{metadata:o,names:s}}(e,t,n);return t=>{const n={};return t.forEach((e,t)=>{n[i[t]]=e}),t=>{const i=gI(t);return i&&Object.keys(i).forEach(e=>{if(Object.hasOwn(n,e))throw new Error("Unexpected replacement overlap.")}),e.unwrap(qI(r,i?Object.assign(i,n):n))}}}var VI=yI({placeholderPattern:!1});function KI(e,t){const n=new WeakMap,r=new WeakMap,i=t||yI(null);return Object.assign((t,...r)=>{if("string"==typeof t){if(r.length>1)throw new Error("Unexpected extra params.");return WI($I(e,t,mI(i,yI(r[0]))))}if(Array.isArray(t)){let s=n.get(t);return s||(s=JI(e,t,i),n.set(t,s)),WI(s(r))}if("object"==typeof t&&t){if(r.length>0)throw new Error("Unexpected extra params.");return KI(e,mI(i,yI(t)))}throw new Error("Unexpected template param "+typeof t)},{ast:(t,...n)=>{if("string"==typeof t){if(n.length>1)throw new Error("Unexpected extra params.");return $I(e,t,mI(mI(i,yI(n[0])),VI))()}if(Array.isArray(t)){let s=r.get(t);return s||(s=JI(e,t,mI(i,VI)),r.set(t,s)),s(n)()}throw new Error("Unexpected template param "+typeof t)}})}function WI(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\n").slice(3).join("\n"))}return n=>{try{return e(n)}catch(e){throw e.stack+=`\n =============\n${t}`,e}}}var XI=KI(lI),HI=KI(dI),zI=KI(pI),YI=KI(hI),GI=KI({code:e=>e,validate:()=>{},unwrap:e=>e.program}),QI=Object.assign(XI.bind(void 0),{smart:XI,statement:HI,statements:zI,expression:YI,program:GI,ast:XI.ast}),ZI=",".charCodeAt(0),e_=";".charCodeAt(0),t_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n_=new Uint8Array(64),r_=new Uint8Array(128);for(let e=0;e<64;e++){const t=t_.charCodeAt(e);n_[e]=t,r_[t]=e}function i_(e,t){let n=0,r=0,i=0;do{const t=e.next();i=r_[t],n|=(31&i)<<r,r+=5}while(32&i);const s=1&n;return n>>>=1,s&&(n=-2147483648|-n),t+n}function s_(e,t,n){let r=t-n;r=r<0?-r<<1|1:r<<1;do{let t=31&r;r>>>=5,r>0&&(t|=32),e.write(n_[t])}while(r>0);return t}function a_(e,t){return!(e.pos>=t)&&e.peek()!==ZI}var o_="undefined"!=typeof TextDecoder?new TextDecoder:void 0!==ie?{decode:e=>ie.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},u_=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(16384)}write(e){const{buffer:t}=this;t[this.pos++]=e,16384===this.pos&&(this.out+=o_.decode(t),this.pos=0)}flush(){const{buffer:e,out:t,pos:n}=this;return n>0?t+o_.decode(e.subarray(0,n)):t}},c_=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){const{buffer:t,pos:n}=this,r=t.indexOf(e,n);return-1===r?t.length:r}};function l_(e){e.sort(p_)}function p_(e,t){return e[0]-t[0]}function d_(e){const t=new u_;let n=0,r=0,i=0,s=0;for(let a=0;a<e.length;a++){const o=e[a];if(a>0&&t.write(e_),0===o.length)continue;let u=0;for(let e=0;e<o.length;e++){const a=o[e];e>0&&t.write(ZI),u=s_(t,a[0],u),1!==a.length&&(n=s_(t,a[1],n),r=s_(t,a[2],r),i=s_(t,a[3],i),4!==a.length&&(s=s_(t,a[4],s)))}}return t.flush()}var h_=/^[\w+.-]+:\/\//,f_=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,m_=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function y_(e){return e.startsWith("/")}function g_(e){return/^[.?#]/.test(e)}function b_(e){const t=f_.exec(e);return x_(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function x_(e,t,n,r,i,s,a){return{scheme:e,user:t,host:n,port:r,path:i,query:s,hash:a,type:7}}function S_(e){if(function(e){return e.startsWith("//")}(e)){const t=b_("http:"+e);return t.scheme="",t.type=6,t}if(y_(e)){const t=b_("http://foo.com"+e);return t.scheme="",t.host="",t.type=5,t}if(function(e){return e.startsWith("file:")}(e))return function(e){const t=m_.exec(e),n=t[2];return x_("file:","",t[1]||"","",y_(n)?n:"/"+n,t[3]||"",t[4]||"")}(e);if(function(e){return h_.test(e)}(e))return b_(e);const t=b_("http://foo.com/"+e);return t.scheme="",t.host="",t.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,t}function T_(e,t){const n=t<=4,r=e.path.split("/");let i=1,s=0,a=!1;for(let e=1;e<r.length;e++){const t=r[e];t?(a=!1,"."!==t&&(".."!==t?(r[i++]=t,s++):s?(a=!0,s--,i--):n&&(r[i++]=t))):a=!0}let o="";for(let e=1;e<i;e++)o+="/"+r[e];(!o||a&&!o.endsWith("/.."))&&(o+="/"),e.path=o}function E_(e,t){if(!e&&!t)return"";const n=S_(e);let r=n.type;if(t&&7!==r){const e=S_(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:!function(e,t){T_(t,t.type),"/"===e.path?e.path=t.path:e.path=function(e){if(e.endsWith("/.."))return e;const t=e.lastIndexOf("/");return e.slice(0,t+1)}(t.path)+e.path}(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}T_(n,r);const i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{const r=n.path.slice(1);return r?g_(t||e)&&!g_(r)?"./"+r+i:r+i:i||"."}case 5:return n.path+i;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+i}}function P_(e,t){for(let n=t;n<e.length;n++)if(!v_(e[n]))return n;return e.length}function v_(e){for(let t=1;t<e.length;t++)if(e[t][0]<e[t-1][0])return!1;return!0}function A_(e,t){return t||(e=e.slice()),e.sort(w_)}function w_(e,t){return e[0]-t[0]}var C_=!1;function k_(e,t,n){for(let r=n+1;r<e.length&&e[r][0]===t;n=r++);return n}function I_(e,t,n){for(let r=n-1;r>=0&&e[r][0]===t;n=r--);return n}function __(e,t,n,r){const{lastKey:i,lastNeedle:s,lastIndex:a}=n;let o=0,u=e.length-1;if(r===i){if(t===s)return C_=-1!==a&&e[a][0]===t,a;t>=s?o=-1===a?0:a:u=a}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){const i=n+(r-n>>1),s=e[i][0]-t;if(0===s)return C_=!0,i;s<0?n=i+1:r=i-1}return C_=!1,n-1}(e,t,o,u)}var N_=class{constructor(e,t){const n="string"==typeof e;if(!n&&e._decodedMemo)return e;const r=function(e){return"string"==typeof e?JSON.parse(e):e}(e),{version:i,file:s,names:a,sourceRoot:o,sources:u,sourcesContent:c}=r;this.version=i,this.file=s,this.names=a||[],this.sourceRoot=o,this.sources=u,this.sourcesContent=c,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;const l=function(e,t){const n=function(e){if(!e)return"";const t=e.lastIndexOf("/");return e.slice(0,t+1)}(e),r=t?t+"/":"";return e=>E_(r+(e||""),n)}(t,o);this.resolvedSources=u.map(l);const{mappings:p}=r;if("string"==typeof p)this._encoded=p,this._decoded=void 0;else{if(!Array.isArray(p))throw r.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(r)}`);this._encoded=void 0,this._decoded=function(e,t){const n=P_(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=P_(e,r+1))e[r]=A_(e[r],t);return e}(p,n)}this._decodedMemo={lastKey:-1,lastNeedle:-1,lastIndex:-1},this._bySources=void 0,this._bySourceMemos=void 0}};function L_(e){var t;return(t=e)._decoded||(t._decoded=function(e){const{length:t}=e,n=new c_(e),r=[];let i=0,s=0,a=0,o=0,u=0;do{const e=n.indexOf(";"),t=[];let c=!0,l=0;for(i=0;n.pos<e;){let r;i=i_(n,i),i<l&&(c=!1),l=i,a_(n,e)?(s=i_(n,s),a=i_(n,a),o=i_(n,o),a_(n,e)?(u=i_(n,u),r=[i,s,a,o,u]):r=[i,s,a,o]):r=[i],t.push(r),n.pos++}c||l_(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}(e._encoded))}function O_(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw new Error("`line` must be greater than 0 (lines start at line 1)");if(r<0)throw new Error("`column` must be greater than or equal to 0 (columns start at column 0)");const s=L_(e);if(n>=s.length)return D_(null,null,null,null);const a=s[n],o=function(e,t,n,r,i){let s=__(e,r,t,n);C_?s=(-1===i?k_:I_)(e,r,s):-1===i&&s++;return-1===s||s===e.length?-1:s}(a,e._decodedMemo,n,r,i||1);if(-1===o)return D_(null,null,null,null);const u=a[o];if(1===u.length)return D_(null,null,null,null);const{names:c,resolvedSources:l}=e;return D_(l[u[1]],u[2]+1,u[3],5===u.length?c[u[4]]:null)}function D_(e,t,n,r){return{source:e,line:t,column:n,name:r}}var M_=class{constructor(){this._indexes={__proto__:null},this.array=[]}};function B_(e,t){const n=function(e,t){return e._indexes[t]}(e,t);if(void 0!==n)return n;const{array:r,_indexes:i}=e,s=r.push(t);return i[t]=s-1}var F_=class{constructor({file:e,sourceRoot:t}={}){this._names=new M_,this._sources=new M_,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=t,this._ignoreList=new M_}};var R_=(e,t)=>function(e,t,n){const{generated:r,source:i,original:s,name:a,content:o}=n;if(!i)return q_(e,t,r.line-1,r.column,null,null,null,null,null);return q_(e,t,r.line-1,r.column,i,s.line-1,s.column,a,o)}(!0,e,t);function j_(e,t,n){const{_sources:r,_sourcesContent:i}=e;i[B_(r,t)]=n}function U_(e){const{_mappings:t,_sources:n,_sourcesContent:r,_names:i,_ignoreList:s}=e;return function(e){const{length:t}=e;let n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}(t),{version:3,file:e.file||void 0,names:i.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:r,mappings:t,ignoreList:s.array}}function q_(e,t,n,r,i,s,a,o,u){const{_mappings:c,_sources:l,_sourcesContent:p,_names:d}=t,h=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(c,n),f=function(e,t){let n=e.length;for(let r=n-1;r>=0;n=r--){if(t>=e[r][0])break}return n}(h,r);if(!i){if(function(e,t){if(0===t)return!0;const n=e[t-1];return 1===n.length}(h,f))return;return $_(h,f,[r])}const m=B_(l,i),y=o?B_(d,o):-1;if(m===p.length&&(p[m]=null!=u?u:null),!function(e,t,n,r,i,s){if(0===t)return!1;const a=e[t-1];return 1!==a.length&&(n===a[1]&&r===a[2]&&i===a[3]&&s===(5===a.length?a[4]:-1))}(h,f,m,s,a,y))return $_(h,f,o?[r,m,s,a,y]:[r,m,s,a])}function $_(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}var J_=Ge(tt()),V_=class{constructor(e,t){Qe(this,"_map"),Qe(this,"_rawMappings"),Qe(this,"_sourceFileName"),Qe(this,"_lastGenLine",0),Qe(this,"_lastSourceLine",0),Qe(this,"_lastSourceColumn",0),Qe(this,"_inputMap");const n=this._map=new F_({sourceRoot:e.sourceRoot});if(this._sourceFileName=e.sourceFileName?.replace(/\\/g,"/"),this._rawMappings=void 0,e.inputSourceMap){this._inputMap=new N_(e.inputSourceMap);const t=this._inputMap.resolvedSources;if(t.length)for(let e=0;e<t.length;e++)j_(n,t[e],this._inputMap.sourcesContent?.[e])}if("string"!=typeof t||e.inputSourceMap){if("object"==typeof t)for(const e of Object.keys(t))j_(n,e.replace(/\\/g,"/"),t[e])}else j_(n,this._sourceFileName,t)}get(){return function(e){const t=U_(e);return Object.assign({},t,{mappings:d_(t.mappings)})}(this._map)}getDecoded(){return U_(this._map)}getRawMappings(){return this._rawMappings||(this._rawMappings=function(e){const t=[],{_mappings:n,_sources:r,_names:i}=e;for(let e=0;e<n.length;e++){const s=n[e];for(let n=0;n<s.length;n++){const a=s[n],o={line:e+1,column:a[0]};let u,c,l;1!==a.length&&(u=r.array[a[1]],c={line:a[2]+1,column:a[3]},5===a.length&&(l=i.array[a[4]])),t.push({generated:o,source:u,original:c,name:l})}}return t}(this._map))}mark(e,t,n,r,i,s){let a;if(this._rawMappings=void 0,null!=t)if(this._inputMap){if(a=O_(this._inputMap,{line:t,column:n}),!a.name&&i){const e=O_(this._inputMap,i);e.name&&(r=e.name)}}else a={source:s?.replace(/\\/g,"/")||this._sourceFileName,line:t,column:n};R_(this._map,{name:r,generated:e,source:a?.source,original:a})}},K_=class{constructor(e,t){Qe(this,"_map",null),Qe(this,"_buf",""),Qe(this,"_str",""),Qe(this,"_appendCount",0),Qe(this,"_last",0),Qe(this,"_queue",[]),Qe(this,"_queueCursor",0),Qe(this,"_canMarkIdName",!0),Qe(this,"_indentChar",""),Qe(this,"_fastIndentations",[]),Qe(this,"_position",{line:1,column:0}),Qe(this,"_sourcePosition",{identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0}),this._map=e,this._indentChar=t;for(let e=0;e<64;e++)this._fastIndentations.push(t.repeat(e));this._allocQueue()}_allocQueue(){const e=this._queue;for(let t=0;t<16;t++)e.push({char:0,repeat:1,line:void 0,column:void 0,identifierName:void 0,identifierNamePos:void 0,filename:""})}_pushQueue(e,t,n,r,i){const s=this._queueCursor;s===this._queue.length&&this._allocQueue();const a=this._queue[s];a.char=e,a.repeat=t,a.line=n,a.column=r,a.filename=i,this._queueCursor++}_popQueue(){if(0===this._queueCursor)throw new Error("Cannot pop from empty queue");return this._queue[--this._queueCursor]}get(){this._flush();const e=this._map,t={code:(this._buf+this._str).trimRight(),decodedMap:e?.getDecoded(),get __mergedMap(){return this.map},get map(){const n=e?e.get():null;return t.map=n,n},set map(e){Object.defineProperty(t,"map",{value:e,writable:!0})},get rawMappings(){const n=e?.getRawMappings();return t.rawMappings=n,n},set rawMappings(e){Object.defineProperty(t,"rawMappings",{value:e,writable:!0})}};return t}append(e,t){this._flush(),this._append(e,this._sourcePosition,t)}appendChar(e){this._flush(),this._appendChar(e,1,this._sourcePosition)}queue(e){if(10===e)for(;0!==this._queueCursor;){const e=this._queue[this._queueCursor-1].char;if(32!==e&&9!==e)break;this._queueCursor--}const t=this._sourcePosition;this._pushQueue(e,1,t.line,t.column,t.filename)}queueIndentation(e){0!==e&&this._pushQueue(-1,e,void 0,void 0,void 0)}_flush(){const e=this._queueCursor,t=this._queue;for(let n=0;n<e;n++){const e=t[n];this._appendChar(e.char,e.repeat,e)}this._queueCursor=0}_appendChar(e,t,n){if(this._last=e,-1===e){const e=this._fastIndentations[t];this._str+=void 0!==e?e:t>1?this._indentChar.repeat(t):this._indentChar}else this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e);10!==e?(this._mark(n.line,n.column,n.identifierName,n.identifierNamePos,n.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(n.identifierName=void 0,n.identifierNamePos=void 0)}_append(e,t,n){const r=e.length,i=this._position;if(this._last=e.charCodeAt(r-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,!n&&!this._map)return void(i.column+=r);const{column:s,identifierName:a,identifierNamePos:o,filename:u}=t;let c=t.line;null==a&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);let l=e.indexOf("\n"),p=0;for(0!==l&&this._mark(c,s,a,o,u);-1!==l;)i.line++,i.column=0,p=l+1,p<r&&void 0!==c&&this._mark(++c,0,null,null,u),l=e.indexOf("\n",p);i.column+=r-p}_mark(e,t,n,r,i){this._map?.mark(this._position,e,t,n,r,i)}removeTrailingNewline(){const e=this._queueCursor;0!==e&&10===this._queue[e-1].char&&this._queueCursor--}removeLastSemicolon(){const e=this._queueCursor;0!==e&&59===this._queue[e-1].char&&this._queueCursor--}getLastChar(){const e=this._queueCursor;return 0!==e?this._queue[e-1].char:this._last}getNewlineCount(){const e=this._queueCursor;let t=0;if(0===e)return 10===this._last?1:0;for(let n=e-1;n>=0&&10===this._queue[n].char;n--)t++;return t===e&&10===this._last?t+1:t}endsWithCharAndNewline(){const e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}}hasContent(){return 0!==this._queueCursor||!!this._last}exactSource(e,t){if(!this._map)return void t();this.source("start",e);const n=e.identifierName,r=this._sourcePosition;n&&(this._canMarkIdName=!1,r.identifierName=n),t(),n&&(this._canMarkIdName=!0,r.identifierName=void 0,r.identifierNamePos=void 0),this.source("end",e)}source(e,t){this._map&&this._normalizePosition(e,t,0)}sourceWithOffset(e,t,n){this._map&&this._normalizePosition(e,t,n)}_normalizePosition(e,t,n){const r=t[e],i=this._sourcePosition;r&&(i.line=r.line,i.column=Math.max(r.column+n,0),i.filename=t.filename)}getCurrentColumn(){const e=this._queue,t=this._queueCursor;let n=-1,r=0;for(let i=0;i<t;i++){const t=e[i];10===t.char&&(n=r),r+=t.repeat}return-1===n?this._position.column+r:r-1-n}getCurrentLine(){let e=0;const t=this._queue;for(let n=0;n<this._queueCursor;n++)10===t[n].char&&e++;return this._position.line+e}},{FLIPPED_ALIAS_KEYS:W_,isArrayExpression:X_,isAssignmentExpression:H_,isBinary:z_,isBlockStatement:Y_,isCallExpression:G_,isFunction:Q_,isIdentifier:Z_,isLiteral:eN,isMemberExpression:tN,isObjectExpression:nN,isOptionalCallExpression:rN,isOptionalMemberExpression:iN,isStringLiteral:sN}=at;function aN(e,t){return e?(tN(e)||iN(e)?(aN(e.object,t),e.computed&&aN(e.property,t)):z_(e)||H_(e)?(aN(e.left,t),aN(e.right,t)):G_(e)||rN(e)?(t.hasCall=!0,aN(e.callee,t)):Q_(e)?t.hasFunction=!0:Z_(e)&&(t.hasHelper=t.hasHelper||e.callee&&uN(e.callee)),t):t}function oN(e){return aN(e,{hasCall:!1,hasFunction:!1,hasHelper:!1})}function uN(e){return!!e&&(tN(e)?uN(e.object)||uN(e.property):Z_(e)?"require"===e.name||95===e.name.charCodeAt(0):G_(e)?uN(e.callee):!(!z_(e)&&!H_(e))&&(Z_(e.left)&&uN(e.left)||uN(e.right)))}function cN(e){return eN(e)||nN(e)||X_(e)||Z_(e)||tN(e)}var lN={AssignmentExpression(e){const t=oN(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return t.hasFunction?3:2},SwitchCase:(e,t)=>(e.consequent.length||t.cases[0]===e?1:0)|(e.consequent.length||t.cases[t.cases.length-1]!==e?0:2),LogicalExpression(e){if(Q_(e.left)||Q_(e.right))return 2},Literal(e){if(sN(e)&&"use strict"===e.value)return 2},CallExpression(e){if(Q_(e.callee)||uN(e))return 3},OptionalCallExpression(e){if(Q_(e.callee))return 3},VariableDeclaration(e){for(let t=0;t<e.declarations.length;t++){const n=e.declarations[t];let r=uN(n.id)&&!cN(n.init);if(!r&&n.init){const e=oN(n.init);r=uN(n.init)&&e.hasCall||e.hasFunction}if(r)return 3}},IfStatement(e){if(Y_(e.consequent))return 3}};lN.ObjectProperty=lN.ObjectTypeProperty=lN.ObjectMethod=function(e,t){if(t.properties[0]===e)return 1},lN.ObjectTypeCallProperty=function(e,t){if(t.callProperties[0]===e&&!t.properties?.length)return 1},lN.ObjectTypeIndexer=function(e,t){if(t.indexers[0]===e&&!t.properties?.length&&!t.callProperties?.length)return 1},lN.ObjectTypeInternalSlot=function(e,t){if(t.internalSlots[0]===e&&!t.properties?.length&&!t.callProperties?.length&&!t.indexers?.length)return 1},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach(function([e,t]){[e].concat(W_[e]||[]).forEach(function(e){const n=t?3:0;lN[e]=()=>n})});var{isArrayTypeAnnotation:pN,isBinaryExpression:dN,isCallExpression:hN,isForOfStatement:fN,isIndexedAccessType:mN,isMemberExpression:yN,isObjectPattern:gN,isOptionalMemberExpression:bN,isYieldExpression:xN,isStatement:SN}=at,TN=new Map([["||",0],["??",0],["|>",0],["&&",1],["|",2],["^",3],["&",4],["==",5],["===",5],["!=",5],["!==",5],["<",6],[">",6],["<=",6],[">=",6],["in",6],["instanceof",6],[">>",7],["<<",7],[">>>",7],["+",8],["-",8],["*",9],["/",9],["%",9],["**",10]]);function EN(e,t){return"BinaryExpression"===t||"LogicalExpression"===t?TN.get(e.operator):"TSAsExpression"===t||"TSSatisfiesExpression"===t?TN.get("in"):void 0}function PN(e){return"TSAsExpression"===e||"TSSatisfiesExpression"===e||"TSTypeAssertion"===e}var vN=(e,t)=>{const n=t.type;return("ClassDeclaration"===n||"ClassExpression"===n)&&t.superClass===e},AN=(e,t)=>{const n=t.type;return("MemberExpression"===n||"OptionalMemberExpression"===n)&&t.object===e||("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n)&&t.callee===e||"TaggedTemplateExpression"===n&&t.tag===e||"TSNonNullExpression"===n};function wN(e){return Boolean(e&(VN.expressionStatement|VN.arrowBody))}function CN(e,t){const n=t.type;if("BinaryExpression"===e.type&&"**"===e.operator&&"BinaryExpression"===n&&"**"===t.operator)return t.left===e;if(vN(e,t))return!0;if(AN(e,t)||"UnaryExpression"===n||"SpreadElement"===n||"AwaitExpression"===n)return!0;const r=EN(t,n);if(null!=r){const i=EN(e,e.type);if(r===i&&"BinaryExpression"===n&&t.right===e||r>i)return!0}}function kN(e,t){const n=t.type;return"ArrayTypeAnnotation"===n||"NullableTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"UnionTypeAnnotation"===n}function IN(e,t){return("AssignmentExpression"===t.type||"AssignmentPattern"===t.type)&&t.left===e||("BinaryExpression"===t.type&&("|"===t.operator||"&"===t.operator)&&e===t.left||CN(e,t))}function _N(e,t){const n=t.type;return"TSIntersectionType"===n||"TSUnionType"===n||"TSTypeOperator"===n||"TSOptionalType"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e)}function NN(e,t){const n=t.type;return"BinaryExpression"===n||"LogicalExpression"===n||"UnaryExpression"===n||"SpreadElement"===n||AN(e,t)||"AwaitExpression"===n&&xN(e)||"ConditionalExpression"===n&&e===t.test||vN(e,t)||PN(n)}function LN(e,t){return AN(e,t)||dN(t)&&"**"===t.operator&&t.left===e||vN(e,t)}function ON(e,t){const n=t.type;return!!("UnaryExpression"===n||"SpreadElement"===n||"BinaryExpression"===n||"LogicalExpression"===n||"ConditionalExpression"===n&&t.test===e||"AwaitExpression"===n||PN(n))||LN(e,t)}function DN(e,t){return hN(t)&&t.callee===e||yN(t)&&t.object===e}var MN=Object.freeze({__proto__:null,ArrowFunctionExpression:ON,AssignmentExpression:function(e,t,n){return!(!wN(n)||!gN(e.left))||ON(e,t)},AwaitExpression:NN,Binary:CN,BinaryExpression:function(e,t,n){return"in"===e.operator&&Boolean(n&VN.forInOrInitHeadAccumulate)},ClassExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},ConditionalExpression:ON,DoExpression:function(e,t,n){return!e.async&&Boolean(n&VN.expressionStatement)},FunctionExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},FunctionTypeAnnotation:function(e,t,n){const r=t.type;return"UnionTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"ArrayTypeAnnotation"===r||Boolean(n&VN.arrowFlowReturnType)},Identifier:function(e,t,n,r){const i=t.type;if(e.extra?.parenthesized&&"AssignmentExpression"===i&&t.left===e){const e=t.right.type;if(("FunctionExpression"===e||"ClassExpression"===e)&&null==t.right.id)return!0}if(r&&r(e)!==e.name)return!1;if("let"===e.name){return!!((yN(t,{object:e,computed:!0})||bN(t,{object:e,computed:!0,optional:!1}))&&n&(VN.expressionStatement|VN.forInitHead|VN.forInHead))||Boolean(n&VN.forOfHead)}return"async"===e.name&&fN(t,{left:e,await:!1})},IntersectionTypeAnnotation:kN,LogicalExpression:function(e,t){const n=t.type;if(PN(n))return!0;if("LogicalExpression"!==n)return!1;switch(e.operator){case"||":return"??"===t.operator||"&&"===t.operator;case"&&":return"??"===t.operator;case"??":return"??"!==t.operator}},NullableTypeAnnotation:function(e,t){return pN(t)},ObjectExpression:function(e,t,n){return wN(n)},OptionalCallExpression:DN,OptionalIndexedAccessType:function(e,t){return mN(t)&&t.objectType===e},OptionalMemberExpression:DN,SequenceExpression:function(e,t){const n=t.type;return!("SequenceExpression"===n||"ParenthesizedExpression"===n||"MemberExpression"===n&&t.property===e||"OptionalMemberExpression"===n&&t.property===e||"TemplateLiteral"===n)&&("ClassDeclaration"===n||("ForOfStatement"===n?t.right===e:"ExportDefaultDeclaration"===n||!SN(t)))},TSAsExpression:IN,TSConditionalType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||"TSTypeOperator"===n||"TSTypeParameter"===n||(("TSIntersectionType"===n||"TSUnionType"===n)&&t.types[0]===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e))},TSConstructorType:_N,TSFunctionType:_N,TSInferType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||!(!e.typeParameter.constraint||"TSIntersectionType"!==n&&"TSUnionType"!==n||t.types[0]!==e)},TSInstantiationExpression:function(e,t){const n=t.type;return("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n||"TSInstantiationExpression"===n)&&!!t.typeArguments},TSIntersectionType:function(e,t){const n=t.type;return"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSSatisfiesExpression:IN,TSTypeAssertion:LN,TSTypeOperator:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSUnionType:function(e,t){const n=t.type;return"TSIntersectionType"===n||"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},UnaryLike:LN,UnionTypeAnnotation:kN,UpdateExpression:function(e,t){return AN(e,t)||vN(e,t)},YieldExpression:NN}),{FLIPPED_ALIAS_KEYS:BN,VISITOR_KEYS:FN,isCallExpression:RN,isDecorator:jN,isExpressionStatement:UN,isMemberExpression:qN,isNewExpression:$N,isParenthesizedExpression:JN}=at,VN={normal:0,expressionStatement:1,arrowBody:2,exportDefault:4,arrowFlowReturnType:8,forInitHead:16,forInHead:32,forOfHead:64,forInOrInitHeadAccumulate:128,forInOrInitHeadAccumulatePassThroughMask:128};function KN(e){const t=new Map;function n(e,n){const r=t.get(e);t.set(e,r?function(e,t,i,s){return r(e,t,i,s)??n(e,t,i,s)}:n)}for(const t of Object.keys(e)){const r=BN[t];if(r)for(const i of r)n(i,e[t]);else n(t,e[t])}return t}var WN=KN(MN),XN=KN(lN);function HN(e){return!!RN(e)||qN(e)&&HN(e.object)}function zN(e,t,n){if(!e)return!1;UN(e)&&(e=e.expression);const r=XN.get(e.type)?.(e,t);return"number"==typeof r&&0!==(r&n)}function YN(e){switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&"Identifier"===e.property.type&&YN(e.object);default:return!1}}function GN(e,t){const n=FN[e.type];for(let r=n.length-1;r>=0;r--){const i=e[n[r]];if(i===t)return!0;if(Array.isArray(i)){let e=i.length-1;for(;e>=0&&null===i[e];)e--;return e>=0&&i[e]===t}if(i)return!1}return!1}var QN=Object.freeze({__proto__:null,TokenContext:VN,isLastChild:GN,needsParens:function(e,t,n,r){return!!t&&(!(!$N(t)||t.callee!==e||!HN(e))||(jN(t)?!(YN(e)||RN(e)&&YN(e.callee)||JN(e)):WN.get(e.type)?.(e,t,n,r)))},needsWhitespace:zN,needsWhitespaceAfter:function(e,t){return zN(e,t,2)},needsWhitespaceBefore:function(e,t){return zN(e,t,1)}}),{traverseFast:ZN,VISITOR_KEYS:eL}=at,tL=class{constructor(e,t,n){Qe(this,"_tokens"),Qe(this,"_source"),Qe(this,"_nodesToTokenIndexes",new Map),Qe(this,"_nodesOccurrencesCountCache",new Map),Qe(this,"_tokensCache",new Map),this._tokens=t,this._source=n,ZN(e,e=>{const t=this._getTokensIndexesOfNode(e);t.length>0&&this._nodesToTokenIndexes.set(e,t)}),this._tokensCache=null}has(e){return this._nodesToTokenIndexes.has(e)}getIndexes(e){return this._nodesToTokenIndexes.get(e)}find(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=0;e<n.length;e++){const r=n[e],i=this._tokens[r];if(t(i,r))return i}return null}findLastIndex(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(this._tokens[r],r))return r}return-1}findMatching(e,t,n=0){const r=this._nodesToTokenIndexes.get(e);if(r){let i=0;const s=n;if(s>1){const r=this._nodesOccurrencesCountCache.get(e);r&&r.test===t&&r.count<s&&(i=r.i+1,n-=r.count+1)}for(;i<r.length;i++){const a=this._tokens[r[i]];if(this.matchesOriginal(a,t)){if(0===n)return s>0&&this._nodesOccurrencesCountCache.set(e,{test:t,count:s,i:i}),a;n--}}}return null}matchesOriginal(e,t){return e.end-e.start===t.length&&(null!=e.value?e.value===t:this._source.startsWith(t,e.start))}startMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[0]];return r.start===e.start&&this.matchesOriginal(r,t)}endMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[n.length-1]];return r.end===e.end&&this.matchesOriginal(r,t)}_getTokensIndexesOfNode(e){if(null==e.start||null==e.end)return[];const{first:t,last:n}=this._findTokensOfNode(e,0,this._tokens.length-1);let r=t;const i=function*(e){if("TemplateLiteral"===e.type){yield e.quasis[0];for(let t=1;t<e.quasis.length;t++)yield e.expressions[t-1],yield e.quasis[t];return}const t=eL[e.type];for(const n of t){const t=e[n];t&&(Array.isArray(t)?yield*t:yield t)}}(e);"ExportNamedDeclaration"!==e.type&&"ExportDefaultDeclaration"!==e.type||!e.declaration||"ClassDeclaration"!==e.declaration.type||i.next();const s=[];for(const e of i){if(null==e)continue;if(null==e.start||null==e.end)continue;const t=this._findTokensOfNode(e,r,n),i=t.first;for(let e=r;e<i;e++)s.push(e);r=t.last+1}for(let e=r;e<=n;e++)s.push(e);return s}_findTokensOfNode(e,t,n){const r=this._tokensCache.get(e);if(r)return r;const i=this._findFirstTokenOfNode(e.start,t,n),s=this._findLastTokenOfNode(e.end,i,n);return this._tokensCache.set(e,{first:i,last:s}),{first:i,last:s}}_findFirstTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].start)n=r-1;else{if(!(e>this._tokens[r].start))return r;t=r+1}}return t}_findLastTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].end)n=r-1;else{if(!(e>this._tokens[r].end))return r;t=r+1}}return n}};var{isCallExpression:nL,isLiteral:rL,isMemberExpression:iL,isNewExpression:sL,isPattern:aL}=at;function oL(e){this.print(e.left),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):(this.token(e.operator),this._endsWithDiv="/"===e.operator),this.space(),this.print(e.right)}var{isFor:uL,isForStatement:cL,isIfStatement:lL,isStatement:pL}=at;function dL(e){const{body:t}=e;return!1===pL(t)?e:dL(t)}function hL(e){this.word("for"),this.space();const t="ForOfStatement"===e.type;t&&e.await&&(this.word("await"),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40);{const n=this.enterForXStatementInit(t);this.print(e.left),n?.()}this.space(),this.word(t?"of":"in"),this.space(),this.print(e.right),this.tokenChar(41),this.printBlock(e)}var fL=hL,mL=hL;function yL(e,t){t&&(e.space(),e.printTerminatorless(t)),e.semicolon()}var{isExportDefaultDeclaration:gL,isExportNamedDeclaration:bL}=at;function xL(e,t){(gL(t)||bL(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id)),this.print(e.typeParameters),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass),this.print(e.superTypeArguments)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements)),this.space(),this.print(e.body)}var{isIdentifier:SL}=at;function TL(e,t){this._functionHead(e,t),this.space(),this.print(e.body)}function EL(e,t){let n,r=e;if(!r&&t){const e=t.type;"VariableDeclarator"===e?r=t.id:"AssignmentExpression"===e||"AssignmentPattern"===e?r=t.left:"ObjectProperty"===e||"ClassProperty"===e?t.computed&&"StringLiteral"!==t.key.type||(r=t.key):"ClassPrivateProperty"!==e&&"ClassAccessorProperty"!==e||(r=t.key)}if(r)return"Identifier"===r.type?n={pos:r.loc?.start,name:r.loc?.identifierName||r.name}:"PrivateName"===r.type?n={pos:r.loc?.start,name:"#"+r.id.name}:"StringLiteral"===r.type&&(n={pos:r.loc?.start,name:r.value}),n}var{isClassDeclaration:PL,isExportDefaultSpecifier:vL,isExportNamespaceSpecifier:AL,isImportDefaultSpecifier:wL,isImportNamespaceSpecifier:CL,isStatement:kL}=at;function IL(e){this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.tokenChar(42),this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,!1)):this.print(e.source),this.semicolon()}function _L(e,t){PL(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators)}var{isAssignmentPattern:NL,isIdentifier:LL}=at,OL=null,DL="";function ML(e){this.token("..."),this.print(e.argument)}function BL(e){const t=e.properties;if(this.tokenChar(123),t.length){const e=this.enterDelimited();this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space(),e()}this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}function FL(e){const t=e.elements,n=t.length;this.tokenChar(91);const r=this.enterDelimited();for(let e=0;e<t.length;e++){const r=t[e];r?(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e)):this.token(",",!1,e)}r(),this.tokenChar(93)}function RL(e){const t=this.getPossibleRaw(e),n=this.format.jsescOption,r=e.value,i=r+"";n.numbers?this.number((0,J_.default)(r,n),r):null==t?this.number(i,r):this.format.minified?this.number(t.length<i.length?t:i,r):this.number(t,r)}function jL(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const n=(0,J_.default)(e.value,this.format.jsescOption);this.token(n)}var UL=new Set(["^^","@@","^","%","#"]);var{isDeclareExportDeclaration:qL,isStatement:$L}=at;function JL(e,t,n){n&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function VL(e,t){const{members:n}=t;e.token("{"),e.indent(),e.newline();for(const t of n)e.print(t),e.newline();t.hasUnknownMembers&&(e.token("..."),e.newline()),e.dedent(),e.token("}")}function KL(e,t){e.print(t.id),e.space(),e.token("="),e.space(),e.print(t.init),e.token(",")}function WL(e){if(e.declaration){const t=e.declaration;this.print(t),$L(t)||this.semicolon()}else this.tokenChar(123),e.specifiers.length&&(this.space(),this.printList(e.specifiers),this.space()),this.tokenChar(125),e.source&&(this.space(),this.word("from"),this.space(),this.print(e.source)),this.semicolon()}function XL(e){this.print(e.id),this.print(e.typeParameters,!0)}function HL(e){this.space(),this.token("&",!1,e),this.space()}function zL(e){this.tokenChar(60),this.printList(e.params),this.tokenChar(62)}function YL(e){this.space(),this.token("|",!1,e),this.space()}var GL=/(?:^|[^\\])(?:\\\\)*'/,QL=/(?:^|[^\\])(?:\\\\)*"/;function ZL(){this.space()}function eO(e,t){this.tokenChar(60);let n="ArrowFunctionExpression"===t.type&&1===e.params.length;this.tokenMap&&null!=e.start&&null!=e.end&&(n&&(n=!!this.tokenMap.find(e,e=>this.tokenMap.matchesOriginal(e,","))),n||(n=this.shouldPrintTrailingComma(">"))),this.printList(e.params,n),this.tokenChar(62)}function tO(e,t){e.tokenMap&&t.start&&t.end?e.tokenMap.endMatches(t,",")?e.token(","):e.tokenMap.endMatches(t,";")&&e.semicolon():e.semicolon()}function nO(e,t,n){let r=0;e.tokenMap?.startMatches(t,n)&&(r=1,e.token(n)),e.printJoin(t.types,void 0,void 0,function(e){this.space(),this.token(n,null,e+r),this.space()})}function rO(e,t){!0!==t&&e.token(t)}function iO(e){this.print(e.expression),this.print(e.typeArguments)}function sO(e){const{type:t,expression:n,typeAnnotation:r}=e;this.print(n,!0),this.space(),this.word("TSAsExpression"===t?"as":"satisfies"),this.space(),this.print(r)}function aO(e,t,n){e.token("{");const r=e.enterDelimited();n(),r(),e.rightBrace(t)}function oO(e,t,n){const r=new Set;for(const e of n)e&&r.add(e);e.tokenMap?.find(t,t=>{if(r.has(t.value))return e.token(t.value),e.space(),r.delete(t.value),0===r.size});for(const t of r)e.word(t),e.space()}var uO=Object.freeze({__proto__:null,AnyTypeAnnotation:function(){this.word("any")},ArgumentPlaceholder:function(){this.tokenChar(63)},ArrayExpression:FL,ArrayPattern:FL,ArrayTypeAnnotation:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},ArrowFunctionExpression:function(e,t){e.async&&(this.word("async",!0),this.space()),this._shouldPrintArrowParamsParens(e)?this._params(e,void 0,t):this.print(e.params[0],!0),this._predicate(e,!0),this.space(),this.printInnerComments(),this.token("=>"),this.space(),this.tokenContext|=VN.arrowBody,this.print(e.body)},AssignmentExpression:oL,AssignmentPattern:function(e){this.print(e.left),("Identifier"===e.left.type||aL(e.left))&&(e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation)),this.space(),this.tokenChar(61),this.space(),this.print(e.right)},AwaitExpression:function(e){this.word("await"),this.space(),this.print(e.argument)},BigIntLiteral:function(e){const t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+"n"):this.word(t)},BinaryExpression:oL,BindExpression:function(e){this.print(e.object),this.token("::"),this.print(e.callee)},BlockStatement:function(e){this.tokenChar(123);const t=this.enterDelimited(),n=e.directives?.length;if(n){const t=e.body.length?2:1;this.printSequence(e.directives,!0,t),e.directives[n-1].trailingComments?.length||this.newline(t)}this.printSequence(e.body,!0),t(),this.rightBrace(e)},BooleanLiteral:function(e){this.word(e.value?"true":"false")},BooleanLiteralTypeAnnotation:function(e){this.word(e.value?"true":"false")},BooleanTypeAnnotation:function(){this.word("boolean")},BreakStatement:function(e){this.word("break"),yL(this,e.label)},CallExpression:function(e){this.print(e.callee),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),t(),this.rightParens(e)},CatchClause:function(e){this.word("catch"),this.space(),e.param&&(this.tokenChar(40),this.print(e.param),this.print(e.param.typeAnnotation),this.tokenChar(41),this.space()),this.print(e.body)},ClassAccessorProperty:function(e){this.printJoin(e.decorators);const t=e.key.loc?.end?.line;t&&this.catchUp(t),this.tsPrintClassMemberModifiers(e),this.word("accessor",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassBody:function(e){if(this.tokenChar(123),0===e.body.length)this.tokenChar(125);else{this.newline();const t=function(e,t){if(!e.tokenMap||null==t.start||null==t.end)return null;const n=e.tokenMap.getIndexes(t);if(!n)return null;let r=1,i=0,s=0;const a=()=>{for(;s<t.body.length&&null==t.body[s].start;)s++};return a(),o=>{s<=o&&(s=o+1,a());const u=s===t.body.length?t.end:t.body[s].start;let c;for(;r<n.length&&e.tokenMap.matchesOriginal(c=e._tokens[n[r]],";")&&c.start<u;)e.token(";",void 0,i++),r++}}(this,e);t?.(-1);const n=this.enterDelimited();this.printJoin(e.body,!0,!0,t,!0),n(),this.endsWith(10)||this.newline(),this.rightBrace(e)}},ClassDeclaration:xL,ClassExpression:xL,ClassImplements:XL,ClassMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateProperty:function(e){this.printJoin(e.decorators),this.tsPrintClassMemberModifiers(e),this.print(e.key),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassProperty:function(e){if(this.printJoin(e.decorators),!e.static&&!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ConditionalExpression:function(e){this.print(e.test),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate)},ContinueStatement:function(e){this.word("continue"),yL(this,e.label)},DebuggerStatement:function(){this.word("debugger"),this.semicolon()},DeclareClass:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},DeclareExportAllDeclaration:function(e){this.word("declare"),this.space(),IL.call(this,e)},DeclareExportDeclaration:function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space()),WL.call(this,e)},DeclareFunction:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation.typeAnnotation),e.predicate&&(this.space(),this.print(e.predicate)),this.semicolon()},DeclareInterface:function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},DeclareModule:function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id),this.space(),this.print(e.body)},DeclareModuleExports:function(e){this.word("declare"),this.space(),this.word("module"),this.tokenChar(46),this.word("exports"),this.print(e.typeAnnotation)},DeclareOpaqueType:function(e,t){qL(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},DeclareTypeAlias:function(e){this.word("declare"),this.space(),this.TypeAlias(e)},DeclareVariable:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation),this.semicolon()},DeclaredPredicate:function(e){this.tokenChar(37),this.word("checks"),this.tokenChar(40),this.print(e.value),this.tokenChar(41)},Decorator:function(e){this.tokenChar(64),this.print(e.expression),this.newline()},Directive:function(e){this.print(e.value),this.semicolon()},DirectiveLiteral:function(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const{value:n}=e;if(QL.test(n)){if(GL.test(n))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`'${n}'`)}else this.token(`"${n}"`)},DoExpression:function(e){e.async&&(this.word("async",!0),this.space()),this.word("do"),this.space(),this.print(e.body)},DoWhileStatement:function(e){this.word("do"),this.space(),this.print(e.body),this.space(),this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.semicolon()},EmptyStatement:function(){this.semicolon(!0)},EmptyTypeAnnotation:function(){this.word("empty")},EnumBooleanBody:function(e){const{explicitType:t}=e;JL(this,"boolean",t),VL(this,e)},EnumBooleanMember:function(e){KL(this,e)},EnumDeclaration:function(e){const{id:t,body:n}=e;this.word("enum"),this.space(),this.print(t),this.print(n)},EnumDefaultedMember:function(e){const{id:t}=e;this.print(t),this.tokenChar(44)},EnumNumberBody:function(e){const{explicitType:t}=e;JL(this,"number",t),VL(this,e)},EnumNumberMember:function(e){KL(this,e)},EnumStringBody:function(e){const{explicitType:t}=e;JL(this,"string",t),VL(this,e)},EnumStringMember:function(e){KL(this,e)},EnumSymbolBody:function(e){JL(this,"symbol",!0),VL(this,e)},ExistsTypeAnnotation:function(){this.tokenChar(42)},ExportAllDeclaration:IL,ExportDefaultDeclaration:function(e){_L(this,e),this.word("export"),this.noIndentInnerCommentsHere(),this.space(),this.word("default"),this.space(),this.tokenContext|=VN.exportDefault;const t=e.declaration;this.print(t),kL(t)||this.semicolon()},ExportDefaultSpecifier:function(e){this.print(e.exported)},ExportNamedDeclaration:function(e){if(_L(this,e),this.word("export"),this.space(),e.declaration){const t=e.declaration;this.print(t),kL(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());const t=e.specifiers.slice(0);let n=!1;for(;;){const e=t[0];if(!vL(e)&&!AL(e))break;n=!0,this.print(t.shift()),t.length&&(this.tokenChar(44),this.space())}let r=!1;(t.length||!t.length&&!n)&&(r=!0,this.tokenChar(123),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}")),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,r)):this.print(e.source)),this.semicolon()}},ExportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.exported)},ExportSpecifier:function(e){"type"===e.exportKind&&(this.word("type"),this.space()),this.print(e.local),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported))},ExpressionStatement:function(e){this.tokenContext|=VN.expressionStatement,this.print(e.expression),this.semicolon()},File:function(e){e.program&&this.print(e.program.interpreter),this.print(e.program)},ForInStatement:fL,ForOfStatement:mL,ForStatement:function(e){this.word("for"),this.space(),this.tokenChar(40);{const t=this.enterForStatementInit();this.print(e.init),t()}this.tokenChar(59),e.test&&(this.space(),this.print(e.test)),this.token(";",!1,1),e.update&&(this.space(),this.print(e.update)),this.tokenChar(41),this.printBlock(e)},FunctionDeclaration:TL,FunctionExpression:TL,FunctionTypeAnnotation:function(e,t){this.print(e.typeParameters),this.tokenChar(40),e.this&&(this.word("this"),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token("..."),this.print(e.rest)),this.tokenChar(41);const n=t?.type;null!=n&&("ObjectTypeCallProperty"===n||"ObjectTypeInternalSlot"===n||"DeclareFunction"===n||"ObjectTypeProperty"===n&&t.method)?this.tokenChar(58):(this.space(),this.token("=>")),this.space(),this.print(e.returnType)},FunctionTypeParam:function(e){this.print(e.name),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation)},GenericTypeAnnotation:XL,Identifier:function(e){this.sourceIdentifierName(e.loc?.identifierName||e.name),this.word(this.tokenMap?this._getRawIdentifier(e):e.name)},IfStatement:function(e){this.word("if"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.space();const t=e.alternate&&lL(dL(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate))},Import:function(){this.word("import")},ImportAttribute:function(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)},ImportDeclaration:function(e){this.word("import"),this.space();const t="type"===e.importKind||"typeof"===e.importKind;t?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word("module"),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());const n=e.specifiers.slice(0),r=!!n.length;for(;r;){const e=n[0];if(!wL(e)&&!CL(e))break;this.print(n.shift()),n.length&&(this.tokenChar(44),this.space())}let i=!1;n.length?(i=!0,this.tokenChar(123),this.space(),this.printList(n,this.shouldPrintTrailingComma("}")),this.space(),this.tokenChar(125)):t&&!r&&(i=!0,this.tokenChar(123),this.tokenChar(125)),(r||t)&&(this.space(),this.word("from"),this.space()),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,i)):this.print(e.source),this.semicolon()},ImportDefaultSpecifier:function(e){this.print(e.local)},ImportExpression:function(e){this.word("import"),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40);const t=this.shouldPrintTrailingComma(")");this.print(e.source),null!=e.options&&(this.tokenChar(44),this.space(),this.print(e.options)),t&&this.tokenChar(44),this.rightParens(e)},ImportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.local)},ImportSpecifier:function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local))},IndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},InferredPredicate:function(){this.tokenChar(37),this.word("checks")},InterfaceDeclaration:function(e){this.word("interface"),this.space(),this._interfaceish(e)},InterfaceExtends:XL,InterfaceTypeAnnotation:function(e){this.word("interface"),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),this.space(),this.print(e.body)},InterpreterDirective:function(e){this.token(`#!${e.value}`),this.newline(1,!0)},IntersectionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,HL)},JSXAttribute:function(e){this.print(e.name),e.value&&(this.tokenChar(61),this.print(e.value))},JSXClosingElement:function(e){this.tokenChar(60),this.tokenChar(47),this.print(e.name),this.tokenChar(62)},JSXClosingFragment:function(){this.token("</"),this.tokenChar(62)},JSXElement:function(e){const t=e.openingElement;if(this.print(t),!t.selfClosing){this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingElement)}},JSXEmptyExpression:function(){this.printInnerComments()},JSXExpressionContainer:function(e){this.tokenChar(123),this.print(e.expression),this.rightBrace(e)},JSXFragment:function(e){this.print(e.openingFragment),this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingFragment)},JSXIdentifier:function(e){this.word(e.name)},JSXMemberExpression:function(e){this.print(e.object),this.tokenChar(46),this.print(e.property)},JSXNamespacedName:function(e){this.print(e.namespace),this.tokenChar(58),this.print(e.name)},JSXOpeningElement:function(e){this.tokenChar(60),this.print(e.name),this.print(e.typeArguments),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,void 0,void 0,ZL)),e.selfClosing&&(this.space(),this.tokenChar(47)),this.tokenChar(62)},JSXOpeningFragment:function(){this.tokenChar(60),this.tokenChar(62)},JSXSpreadAttribute:function(e){this.tokenChar(123),this.token("..."),this.print(e.argument),this.rightBrace(e)},JSXSpreadChild:function(e){this.tokenChar(123),this.token("..."),this.print(e.expression),this.rightBrace(e)},JSXText:function(e){const t=this.getPossibleRaw(e);void 0!==t?this.token(t,!0):this.token(e.value,!0)},LabeledStatement:function(e){this.print(e.label),this.tokenChar(58),this.space(),this.print(e.body)},LogicalExpression:oL,MemberExpression:function(e){if(this.print(e.object),!e.computed&&iL(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;if(rL(e.property)&&"number"==typeof e.property.value&&(t=!0),t){const t=this.enterDelimited();this.tokenChar(91),this.print(e.property),this.tokenChar(93),t()}else this.tokenChar(46),this.print(e.property)},MetaProperty:function(e){this.print(e.meta),this.tokenChar(46),this.print(e.property)},MixedTypeAnnotation:function(){this.word("mixed")},ModuleExpression:function(e){this.word("module",!0),this.space(),this.tokenChar(123),this.indent();const{body:t}=e;(t.body.length||t.directives.length)&&this.newline(),this.print(t),this.dedent(),this.rightBrace(e)},NewExpression:function(e,t){if(this.word("new"),this.space(),this.print(e.callee),this.format.minified&&0===e.arguments.length&&!e.optional&&!nL(t,{callee:e})&&!iL(t)&&!sL(t))return;if(this.print(e.typeArguments),0===e.arguments.length&&this.tokenMap&&!this.tokenMap.endMatches(e,")"))return;this.tokenChar(40);const n=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),n(),this.rightParens(e)},NullLiteral:function(){this.word("null")},NullLiteralTypeAnnotation:function(){this.word("null")},NullableTypeAnnotation:function(e){this.tokenChar(63),this.print(e.typeAnnotation)},NumberLiteralTypeAnnotation:RL,NumberTypeAnnotation:function(){this.word("number")},NumericLiteral:RL,ObjectExpression:BL,ObjectMethod:function(e){this.printJoin(e.decorators),this._methodHead(e),this.space(),this.print(e.body)},ObjectPattern:BL,ObjectProperty:function(e){if(this.printJoin(e.decorators),e.computed)this.tokenChar(91),this.print(e.key),this.tokenChar(93);else{if(NL(e.value)&&LL(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value);if(this.print(e.key),e.shorthand&&LL(e.key)&&LL(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeAnnotation:function(e){e.exact?this.token("{|"):this.tokenChar(123);const t=[...e.properties,...e.callProperties||[],...e.indexers||[],...e.internalSlots||[]];t.length&&(this.newline(),this.space(),this.printJoin(t,!0,!0,void 0,void 0,function(e){if(e&&!t[0])return 1},()=>{(1!==t.length||e.inexact)&&(this.tokenChar(44),this.space())}),this.space()),e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.tokenChar(125)},ObjectTypeCallProperty:function(e){e.static&&(this.word("static"),this.space()),this.print(e.value)},ObjectTypeIndexer:function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.tokenChar(91),e.id&&(this.print(e.id),this.tokenChar(58),this.space()),this.print(e.key),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeInternalSlot:function(e){e.static&&(this.word("static"),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeProperty:function(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeSpreadProperty:function(e){this.token("..."),this.print(e.argument)},OpaqueType:function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype)),this.semicolon()},OptionalCallExpression:function(e){this.print(e.callee),e.optional&&this.token("?."),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments),t(),this.rightParens(e)},OptionalIndexedAccessType:function(e){this.print(e.objectType),e.optional&&this.token("?."),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},OptionalMemberExpression:function(e){let{computed:t}=e;const{optional:n,property:r}=e;if(this.print(e.object),!t&&iL(r))throw new TypeError("Got a MemberExpression for MemberExpression property");rL(r)&&"number"==typeof r.value&&(t=!0),n&&this.token("?."),t?(this.tokenChar(91),this.print(r),this.tokenChar(93)):(n||this.tokenChar(46),this.print(r))},ParenthesizedExpression:function(e){this.tokenChar(40);const t=this.enterDelimited();this.print(e.expression),t(),this.rightParens(e)},PipelineBareFunction:function(e){this.print(e.callee)},PipelinePrimaryTopicReference:function(){this.tokenChar(35)},PipelineTopicExpression:function(e){this.print(e.expression)},Placeholder:function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()},PrivateName:function(e){this.tokenChar(35),this.print(e.id)},Program:function(e){this.noIndentInnerCommentsHere(),this.printInnerComments();const t=e.directives?.length;if(t){const n=e.body.length?2:1;this.printSequence(e.directives,void 0,n),e.directives[t-1].trailingComments?.length||this.newline(n)}this.printSequence(e.body)},QualifiedTypeIdentifier:function(e){this.print(e.qualification),this.tokenChar(46),this.print(e.id)},RecordExpression:function(e){const t=e.properties;let n,r;n="#{",r="}",this.token("#{"),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space()),this.token("}")},RegExpLiteral:function(e){this.word(`/${e.pattern}/${e.flags}`)},RestElement:ML,ReturnStatement:function(e){this.word("return"),yL(this,e.argument)},SequenceExpression:function(e){this.printList(e.expressions)},SpreadElement:ML,StaticBlock:function(e){this.word("static"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,!0),this.rightBrace(e))},StringLiteral:jL,StringLiteralTypeAnnotation:jL,StringTypeAnnotation:function(){this.word("string")},Super:function(){this.word("super")},SwitchCase:function(e){e.test?(this.word("case"),this.space(),this.print(e.test),this.tokenChar(58)):(this.word("default"),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,!0))},SwitchStatement:function(e){this.word("switch"),this.space(),this.tokenChar(40),this.print(e.discriminant),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,!0,void 0,function(t,n){if(!t&&e.cases[e.cases.length-1]===n)return-1}),this.rightBrace(e)},SymbolTypeAnnotation:function(){this.word("symbol")},TSAnyKeyword:function(){this.word("any")},TSArrayType:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},TSAsExpression:sO,TSBigIntKeyword:function(){this.word("bigint")},TSBooleanKeyword:function(){this.word("boolean")},TSCallSignatureDeclaration:function(e){this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSClassImplements:iO,TSConditionalType:function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)},TSConstructSignatureDeclaration:function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSConstructorType:function(e){e.abstract&&(this.word("abstract"),this.space()),this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},TSDeclareFunction:function(e,t){e.declare&&(this.word("declare"),this.space()),this._functionHead(e,t),this.semicolon()},TSDeclareMethod:function(e){this._classMethodHead(e),this.semicolon()},TSEnumBody:function(e){aO(this,e,()=>this.printList(e.members,this.shouldPrintTrailingComma("}")??!1,!0,!0))},TSEnumDeclaration:function(e){const{declare:t,const:n,id:r}=e;t&&(this.word("declare"),this.space()),n&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(r),this.space(),this.print(e.body)},TSEnumMember:function(e){const{id:t,initializer:n}=e;this.print(t),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n))},TSExportAssignment:function(e){this.word("export"),this.space(),this.tokenChar(61),this.space(),this.print(e.expression),this.semicolon()},TSExternalModuleReference:function(e){this.token("require("),this.print(e.expression),this.tokenChar(41)},TSFunctionType:function(e){this.tsPrintFunctionOrConstructorType(e)},TSImportEqualsDeclaration:function(e){const{id:t,moduleReference:n}=e;this.word("import"),this.space(),this.print(t),this.space(),this.tokenChar(61),this.space(),this.print(n),this.semicolon()},TSImportType:function(e){const{argument:t,qualifier:n,options:r}=e;this.word("import"),this.tokenChar(40),this.print(t),r&&(this.tokenChar(44),this.print(r)),this.tokenChar(41),n&&(this.tokenChar(46),this.print(n));const i=e.typeArguments;i&&this.print(i)},TSIndexSignature:function(e){const{readonly:t,static:n}=e;n&&(this.word("static"),this.space()),t&&(this.word("readonly"),this.space()),this.tokenChar(91),this._parameters(e.parameters,"]"),this.print(e.typeAnnotation),tO(this,e)},TSIndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},TSInferType:function(e){this.word("infer"),this.print(e.typeParameter)},TSInstantiationExpression:function(e){this.print(e.expression),this.print(e.typeArguments)},TSInterfaceBody:function(e){aO(this,e,()=>this.printJoin(e.body,!0,!0))},TSInterfaceDeclaration:function(e){const{declare:t,id:n,typeParameters:r,extends:i,body:s}=e;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(n),this.print(r),i?.length&&(this.space(),this.word("extends"),this.space(),this.printList(i)),this.space(),this.print(s)},TSInterfaceHeritage:iO,TSIntersectionType:function(e){nO(this,e,"&")},TSIntrinsicKeyword:function(){this.word("intrinsic")},TSLiteralType:function(e){this.print(e.literal)},TSMappedType:function(e){const{nameType:t,optional:n,readonly:r,typeAnnotation:i}=e;this.tokenChar(123);const s=this.enterDelimited();this.space(),r&&(rO(this,r),this.word("readonly"),this.space()),this.tokenChar(91),this.word(e.key.name),this.space(),this.word("in"),this.space(),this.print(e.constraint),t&&(this.space(),this.word("as"),this.space(),this.print(t)),this.tokenChar(93),n&&(rO(this,n),this.tokenChar(63)),i&&(this.tokenChar(58),this.space(),this.print(i)),this.space(),s(),this.tokenChar(125)},TSMethodSignature:function(e){const{kind:t}=e;"set"!==t&&"get"!==t||(this.word(t),this.space()),this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),tO(this,e)},TSModuleBlock:function(e){aO(this,e,()=>this.printSequence(e.body,!0))},TSModuleDeclaration:function(e){const{declare:t,id:n,kind:r}=e;t&&(this.word("declare"),this.space()),"global"!==r&&(this.word(r),this.space()),this.print(e.id),e.body?(this.space(),this.print(e.body)):this.semicolon()},TSNamedTupleMember:function(e){this.print(e.label),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType)},TSNamespaceExportDeclaration:function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id),this.semicolon()},TSNeverKeyword:function(){this.word("never")},TSNonNullExpression:function(e){this.print(e.expression),this.tokenChar(33)},TSNullKeyword:function(){this.word("null")},TSNumberKeyword:function(){this.word("number")},TSObjectKeyword:function(){this.word("object")},TSOptionalType:function(e){this.print(e.typeAnnotation),this.tokenChar(63)},TSParameterProperty:function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)},TSParenthesizedType:function(e){this.tokenChar(40),this.print(e.typeAnnotation),this.tokenChar(41)},TSPropertySignature:function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation),tO(this,e)},TSQualifiedName:function(e){this.print(e.left),this.tokenChar(46),this.print(e.right)},TSRestType:function(e){this.token("..."),this.print(e.typeAnnotation)},TSSatisfiesExpression:sO,TSStringKeyword:function(){this.word("string")},TSSymbolKeyword:function(){this.word("symbol")},TSTemplateLiteralType:function(e){this._printTemplate(e,e.types)},TSThisType:function(){this.word("this")},TSTupleType:function(e){this.tokenChar(91),this.printList(e.elementTypes,this.shouldPrintTrailingComma("]")),this.tokenChar(93)},TSTypeAliasDeclaration:function(e){const{declare:t,id:n,typeParameters:r,typeAnnotation:i}=e;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(n),this.print(r),this.space(),this.tokenChar(61),this.space(),this.print(i),this.semicolon()},TSTypeAnnotation:function(e,t){this.token("TSFunctionType"!==t.type&&"TSConstructorType"!==t.type||t.returnType!==e?":":"=>"),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TSTypeAssertion:function(e){const{typeAnnotation:t,expression:n}=e;this.tokenChar(60),this.print(t),this.tokenChar(62),this.space(),this.print(n)},TSTypeLiteral:function(e){aO(this,e,()=>this.printJoin(e.members,!0,!0))},TSTypeOperator:function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation)},TSTypeParameter:function(e){e.const&&(this.word("const"),this.space()),e.in&&(this.word("in"),this.space()),e.out&&(this.word("out"),this.space()),this.word(e.name.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TSTypeParameterDeclaration:eO,TSTypeParameterInstantiation:eO,TSTypePredicate:function(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},TSTypeQuery:function(e){this.word("typeof"),this.space(),this.print(e.exprName);const t=e.typeArguments;t&&this.print(t)},TSTypeReference:function(e){const t=e.typeArguments;this.print(e.typeName,!!t),this.print(t)},TSUndefinedKeyword:function(){this.word("undefined")},TSUnionType:function(e){nO(this,e,"|")},TSUnknownKeyword:function(){this.word("unknown")},TSVoidKeyword:function(){this.word("void")},TaggedTemplateExpression:function(e){this.print(e.tag),this.print(e.typeArguments),this.print(e.quasi)},TemplateElement:function(){throw new Error("TemplateElement printing is handled in TemplateLiteral")},TemplateLiteral:function(e){this._printTemplate(e,e.expressions)},ThisExpression:function(){this.word("this")},ThisTypeAnnotation:function(){this.word("this")},ThrowStatement:function(e){this.word("throw"),yL(this,e.argument)},TopicReference:function(){const{topicToken:e}=this.format;if(!UL.has(e)){const t=JSON.stringify(e),n=Array.from(UL,e=>JSON.stringify(e));throw new Error(`The "topicToken" generator option must be one of ${n.join(", ")} (${t} received instead).`)}this.token(e)},TryStatement:function(e){this.word("try"),this.space(),this.print(e.block),this.space(),e.handlers?this.print(e.handlers[0]):this.print(e.handler),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer))},TupleExpression:function(e){const t=e.elements,n=t.length;let r,i;r="#[",i="]",this.token("#[");for(let e=0;e<t.length;e++){const r=t[e];r&&(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e))}this.token("]")},TupleTypeAnnotation:function(e){this.tokenChar(91),this.printList(e.types),this.tokenChar(93)},TypeAlias:function(e){this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),this.space(),this.tokenChar(61),this.space(),this.print(e.right),this.semicolon()},TypeAnnotation:function(e,t){this.tokenChar(58),this.space(),"ArrowFunctionExpression"===t.type?this.tokenContext|=VN.arrowFlowReturnType:e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TypeCastExpression:function(e){this.tokenChar(40),this.print(e.expression),this.print(e.typeAnnotation),this.tokenChar(41)},TypeParameter:function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TypeParameterDeclaration:zL,TypeParameterInstantiation:zL,TypeofTypeAnnotation:function(e){this.word("typeof"),this.space(),this.print(e.argument)},UnaryExpression:function(e){const{operator:t}=e;"void"===t||"delete"===t||"typeof"===t||"throw"===t?(this.word(t),this.space()):this.token(t),this.print(e.argument)},UnionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,YL)},UpdateExpression:function(e){e.prefix?(this.token(e.operator),this.print(e.argument)):(this.print(e.argument,!0),this.token(e.operator))},V8IntrinsicIdentifier:function(e){this.tokenChar(37),this.word(e.name)},VariableDeclaration:function(e,t){e.declare&&(this.word("declare"),this.space());const{kind:n}=e;"await using"===n?(this.word("await"),this.space(),this.word("using",!0)):this.word(n,"using"===n),this.space();let r=!1;if(!uL(t))for(const t of e.declarations)t.init&&(r=!0);if(this.printList(e.declarations,void 0,void 0,e.declarations.length>1,r?function(e){this.token(",",!1,e),this.newline()}:void 0),uL(t))if(cL(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()},VariableDeclarator:function(e){this.print(e.id),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init))},Variance:function(e){"plus"===e.kind?this.tokenChar(43):this.tokenChar(45)},VoidPattern:function(){this.word("void")},VoidTypeAnnotation:function(){this.word("void")},WhileStatement:function(e){this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.printBlock(e)},WithStatement:function(e){this.word("with"),this.space(),this.tokenChar(40),this.print(e.object),this.tokenChar(41),this.printBlock(e)},YieldExpression:function(e){e.delegate?(this.word("yield",!0),this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument))):e.argument?(this.word("yield",!0),this.space(),this.print(e.argument)):this.word("yield")},_classMethodHead:function(e){if(this.printJoin(e.decorators),!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),this._methodHead(e)},_functionHead:function(e,t){e.async&&(this.word("async"),this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.space()),this.word("function"),e.generator&&(this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.tokenChar(42)),this.space(),e.id&&this.print(e.id),this._params(e,e.id,t),"TSDeclareFunction"!==e.type&&this._predicate(e)},_getRawIdentifier:function(e){if(e===OL)return DL;OL=e;const{name:t}=e,n=this.tokenMap.find(e,e=>e.value===t);return DL=n?this._originalCode.slice(n.start,n.end):e.name},_interfaceish:function(e){this.print(e.id),this.print(e.typeParameters),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),"DeclareClass"===e.type&&(e.mixins?.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins)),e.implements?.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements))),this.space(),this.print(e.body)},_methodHead:function(e){const t=e.kind,n=e.key;"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async",!0),this.space()),"method"!==t&&"init"!==t||e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(n),this.tokenChar(93)):this.print(n),e.optional&&this.tokenChar(63),this._params(e,e.computed&&"StringLiteral"!==e.key.type?void 0:e.key,void 0)},_param:function(e){this.printJoin(e.decorators),this.print(e),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},_parameters:function(e,t){const n=this.enterDelimited(),r=this.shouldPrintTrailingComma(t),i=e.length;for(let t=0;t<i;t++)this._param(e[t]),(r||t<i-1)&&(this.token(",",null,t),this.space());this.token(t),n()},_params:function(e,t,n){this.print(e.typeParameters);const r=EL.call(this,t,n);r&&this.sourceIdentifierName(r.name,r.pos),this.tokenChar(40),this._parameters(e.params,")");const i="ArrowFunctionExpression"===e.type;this.print(e.returnType,i),this._noLineTerminator=i},_predicate:function(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,t))},_printAttributes:function(e,t){const{importAttributesKeyword:n}=this.format,{attributes:r,assertions:i}=e,s="assert"===n||!n&&i;this.word(s?"assert":"with"),this.space();const a=t?1:0;this.token("{",null,a),this.space(),this.printList(r||i,this.shouldPrintTrailingComma("}")),this.space(),this.token("}",null,a)},_printTemplate:function(e,t){const n=e.quasis;let r="`";for(let e=0;e<n.length-1;e++)r+=n[e].value.raw,this.token(r+"${",!0),this.print(t[e]),r="}";r+=n[n.length-1].value.raw,this.token(r+"`",!0)},_shouldPrintArrowParamsParens:function(e){if(1!==e.params.length)return!0;if(e.typeParameters||e.returnType||e.predicate)return!0;const t=e.params[0];if(!SL(t)||t.typeAnnotation||t.optional||t.leadingComments?.length||t.trailingComments?.length)return!0;if(this.tokenMap){if(null==e.loc)return!0;if(null!==this.tokenMap.findMatching(e,"("))return!0;const t=this.tokenMap.findMatching(e,"=>");return null==t?.loc||t.loc.start.line!==e.loc.start.line}return!!this.format.retainLines},_shouldPrintDecoratorsBeforeExport:function(e){return"boolean"==typeof this.format.decoratorsBeforeExport?this.format.decoratorsBeforeExport:"number"==typeof e.start&&e.start===e.declaration.start},_variance:function(e){const t=e.variance?.kind;null!=t&&("plus"===t?this.tokenChar(43):"minus"===t&&this.tokenChar(45))},tsPrintClassMemberModifiers:function(e){const t="ClassPrivateProperty"===e.type,n="ClassAccessorProperty"===e.type||"ClassProperty"===e.type;oO(this,e,[n&&e.declare&&"declare",!t&&e.accessibility]),e.static&&(this.word("static"),this.space()),oO(this,e,[!t&&e.abstract&&"abstract",!t&&e.override&&"override",(n||t)&&e.readonly&&"readonly"])},tsPrintFunctionOrConstructorType:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")"),this.space();const r=e.returnType;this.print(r)},tsPrintPropertyOrMethodName:function(e){e.computed&&this.tokenChar(91),this.print(e.key),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)},tsPrintSignatureDeclarationBase:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")");const r=e.returnType;this.print(r)}}),{isExpression:cO,isFunction:lO,isStatement:pO,isClassBody:dO,isTSInterfaceBody:hO,isTSEnumMember:fO}=at,mO=/e/i,yO=/\.0+$/,gO=/[\n\r\u2028\u2029]/,bO=/[\n\r\u2028\u2029]|\*\//;function xO(e){return"CommentLine"===e.type||gO.test(e.value)}var{needsParens:SO}=QN,TO=class{constructor(e,t,n,r){Qe(this,"tokenContext",VN.normal),Qe(this,"_tokens",null),Qe(this,"_originalCode",null),Qe(this,"_currentNode",null),Qe(this,"_indent",0),Qe(this,"_indentRepeat",0),Qe(this,"_insideAux",!1),Qe(this,"_noLineTerminator",!1),Qe(this,"_noLineTerminatorAfterNode",null),Qe(this,"_printAuxAfterOnNextUserNode",!1),Qe(this,"_printedComments",new Set),Qe(this,"_endsWithInteger",!1),Qe(this,"_endsWithWord",!1),Qe(this,"_endsWithDiv",!1),Qe(this,"_lastCommentLine",0),Qe(this,"_endsWithInnerRaw",!1),Qe(this,"_indentInnerComments",!0),Qe(this,"tokenMap",null),Qe(this,"_boundGetRawIdentifier",this._getRawIdentifier.bind(this)),Qe(this,"_printSemicolonBeforeNextNode",-1),Qe(this,"_printSemicolonBeforeNextToken",-1),this.format=e,this._tokens=n,this._originalCode=r,this._indentRepeat=e.indent.style.length,this._inputMap=t?._inputMap,this._buf=new K_(t,e.indent.style[0])}enterForStatementInit(){return this.tokenContext|=VN.forInitHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal}enterForXStatementInit(e){return e?(this.tokenContext|=VN.forOfHead,null):(this.tokenContext|=VN.forInHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal)}enterDelimited(){const e=this.tokenContext,t=this._noLineTerminatorAfterNode;return e&VN.forInOrInitHeadAccumulate||null!==t?(this._noLineTerminatorAfterNode=null,this.tokenContext=VN.normal,()=>{this._noLineTerminatorAfterNode=t,this.tokenContext=e}):()=>{}}generate(e){return this.format.preserveFormat&&(this.tokenMap=new tL(e,this._tokens,this._originalCode)),this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent++}dedent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent--}semicolon(e=!1){if(this._maybeAddAuxComment(),e)return this._appendChar(59),void(this._noLineTerminator=!1);if(this.tokenMap){const e=this._currentNode;if(null!=e.start&&null!=e.end){if(!this.tokenMap.endMatches(e,";"))return void(this._printSemicolonBeforeNextNode=this._buf.getCurrentLine());const t=this.tokenMap.getIndexes(this._currentNode);this._catchUpTo(this._tokens[t[t.length-1]].loc.start)}}this._queue(59),this._noLineTerminator=!1}rightBrace(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}rightParens(e){this.sourceWithOffset("end",e.loc,-1),this.tokenChar(41)}space(e=!1){const{format:t}=this;if(!t.compact&&!t.preserveFormat)if(e)this._space();else if(this._buf.hasContent()){const e=this.getLastChar();32!==e&&10!==e&&this._space()}}word(e,t=!1){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e),(this._endsWithWord||this._endsWithDiv&&47===e.charCodeAt(0))&&this._space(),this._append(e,!1),this._endsWithWord=!0,this._noLineTerminator=t}number(e,t){this.word(e),this._endsWithInteger=Number.isInteger(t)&&!function(e){if(e.length>2&&48===e.charCodeAt(0)){const t=e.charCodeAt(1);return 98===t||111===t||120===t}return!1}(e)&&!mO.test(e)&&!yO.test(e)&&46!==e.charCodeAt(e.length-1)}token(e,t=!1,n=0){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e,n),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e,n);const r=this.getLastChar(),i=e.charCodeAt(0);(33===r&&("--"===e||61===i)||43===i&&43===r||45===i&&45===r||46===i&&this._endsWithInteger)&&this._space(),this._append(e,t),this._noLineTerminator=!1}tokenChar(e){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask;const t=String.fromCharCode(e);this._maybePrintInnerComments(t),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(t);const n=this.getLastChar();(43===e&&43===n||45===e&&45===n||46===e&&this._endsWithInteger)&&this._space(),this._appendChar(e),this._noLineTerminator=!1}newline(e=1,t){if(!(e<=0)){if(!t){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space()}e>2&&(e=2),e-=this._buf.getNewlineCount();for(let t=0;t<e;t++)this._newline()}}endsWith(e){return this.getLastChar()===e}getLastChar(){return this._buf.getLastChar()}endsWithCharAndNewline(){return this._buf.endsWithCharAndNewline()}removeTrailingNewline(){this._buf.removeTrailingNewline()}exactSource(e,t){e?(this._catchUp("start",e),this._buf.exactSource(e,t)):t()}source(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}sourceWithOffset(e,t,n){t&&!this.format.preserveFormat&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,n))}sourceIdentifierName(e,t){if(!this._buf._canMarkIdName)return;const n=this._buf._sourcePosition;n.identifierNamePos=t,n.identifierName=e}_space(){this._queue(32)}_newline(){this._queue(10)}_catchUpToCurrentToken(e,t=0){const n=this.tokenMap.findMatching(this._currentNode,e,t);n&&this._catchUpTo(n.loc.start),-1!==this._printSemicolonBeforeNextToken&&this._printSemicolonBeforeNextToken===this._buf.getCurrentLine()&&(this._buf.appendChar(59),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1),this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1}_append(e,t){this._maybeIndent(e.charCodeAt(0)),this._buf.append(e,t),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_appendChar(e){this._maybeIndent(e),this._buf.appendChar(e),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_queue(e){this._maybeIndent(e),this._buf.queue(e),this._endsWithWord=!1,this._endsWithInteger=!1}_maybeIndent(e){this._indent&&10!==e&&this.endsWith(10)&&this._buf.queueIndentation(this._getIndent())}_shouldIndent(e){if(this._indent&&10!==e&&this.endsWith(10))return!0}catchUp(e){if(!this.format.retainLines)return;const t=e-this._buf.getCurrentLine();for(let e=0;e<t;e++)this._newline()}_catchUp(e,t){const{format:n}=this;if(!n.preserveFormat)return void(n.retainLines&&t?.[e]&&this.catchUp(t[e].line));const r=t?.[e];null!=r&&this._catchUpTo(r)}_catchUpTo({line:e,column:t,index:n}){const r=e-this._buf.getCurrentLine();if(r>0&&this._noLineTerminator)return;for(let e=0;e<r;e++)this._newline();const i=r>0?t:t-this._buf.getCurrentColumn();if(i>0){const e=this._originalCode?this._originalCode.slice(n-i,n).replace(/[^\t\v\f\uFEFF\p{Space_Separator}]/gu," "):" ".repeat(i);this._append(e,!1)}}_getIndent(){return this._indentRepeat*this._indent}printTerminatorless(e){this._noLineTerminator=!0,this.print(e)}print(e,t,n){if(!e)return;this._endsWithInnerRaw=!1;const r=e.type,i=this.format,s=i.concise;e._compact&&(i.concise=!0);const a=this[r];if(void 0===a)throw new ReferenceError(`unknown node of type ${JSON.stringify(r)} with constructor ${JSON.stringify(e.constructor.name)}`);const o=this._currentNode;this._currentNode=e,this.tokenMap&&(this._printSemicolonBeforeNextToken=this._printSemicolonBeforeNextNode);const u=this._insideAux;this._insideAux=null==e.loc,this._maybeAddAuxComment(this._insideAux&&!u);const c=e.extra?.parenthesized;let l=c&&i.preserveFormat||c&&i.retainFunctionParens&&"FunctionExpression"===r||SO(e,o,this.tokenContext,i.preserveFormat?this._boundGetRawIdentifier:void 0);if(!l&&c&&e.leadingComments?.length&&"CommentBlock"===e.leadingComments[0].type){const t=o?.type;switch(t){case"ExpressionStatement":case"VariableDeclarator":case"AssignmentExpression":case"ReturnStatement":break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":if(o.callee!==e)break;default:l=!0}}let p,d,h=!1;!l&&this._noLineTerminator&&(e.leadingComments?.some(xO)||this.format.retainLines&&e.loc&&e.loc.start.line>this._buf.getCurrentLine())&&(l=!0,h=!0),l||(t||(t=o&&this._noLineTerminatorAfterNode===o&&GN(o,e)),t&&(e.trailingComments?.some(xO)?cO(e)&&(l=!0):(p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=e))),l&&(this.tokenChar(40),h&&this.indent(),this._endsWithInnerRaw=!1,this.tokenContext&VN.forInOrInitHeadAccumulate&&(d=this.tokenContext,this.tokenContext=VN.normal),p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=null),this._lastCommentLine=0,this._printLeadingComments(e,o);const f="Program"===r||"File"===r?null:e.loc;this.exactSource(f,a.bind(this,e,o)),l?(this._printTrailingComments(e,o),h&&(this.dedent(),this.newline()),this.tokenChar(41),this._noLineTerminator=t,d&&(this.tokenContext=d)):t&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,o)):this._printTrailingComments(e,o,n),this._currentNode=o,i.concise=s,this._insideAux=u,void 0!==p&&(this._noLineTerminatorAfterNode=p),this._endsWithInnerRaw=!1}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e},0)}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e},0)}getPossibleRaw(e){const t=e.extra;if(null!=t?.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,n,r,i,s,a,o){if(!e?.length)return;if(null==n&&this.format.retainLines){const t=e[0].loc?.start.line;null!=t&&t!==this._buf.getCurrentLine()&&(n=!0)}n&&this.indent();const u={addNewlines:s,nextNodeStartLine:0},c=r?.bind(this),l=e.length;for(let n=0;n<l;n++){const r=e[n];if(r&&(t&&this._printNewline(0===n,u),this.print(r,void 0,o||0),a?.(r,n),null!=c&&(n<l-1?c(n,!1):i&&c(n,!0)),t))if(r.trailingComments?.length||(this._lastCommentLine=0),n+1===l)this.newline(1);else{const t=e[n+1];u.nextNodeStartLine=t.loc?.start.line||0,this._printNewline(!0,u)}}n&&this.dedent()}printAndIndentOnComments(e){const t=e.leadingComments&&e.leadingComments.length>0;t&&this.indent(),this.print(e),t&&this.dedent()}printBlock(e){const t=e.body;"EmptyStatement"!==t.type&&this.space(),this.print(t)}_printTrailingComments(e,t,n){const{innerComments:r,trailingComments:i}=e;r?.length&&this._printComments(2,r,e,t,n),i?.length&&this._printComments(2,i,e,t,n)}_printLeadingComments(e,t){const n=e.leadingComments;n?.length&&this._printComments(0,n,e,t)}_maybePrintInnerComments(e,t){this._endsWithInnerRaw&&this.printInnerComments(this.tokenMap?.findMatching(this._currentNode,e,t)),this._endsWithInnerRaw=!0,this._indentInnerComments=!0}printInnerComments(e){const t=this._currentNode,n=t.innerComments;if(!n?.length)return;const r=this.endsWith(32),i=this._indentInnerComments,s=this._printedComments.size;i&&this.indent(),this._printComments(1,n,t,void 0,void 0,e),r&&s!==this._printedComments.size&&this.space(),i&&this.dedent()}noIndentInnerCommentsHere(){this._indentInnerComments=!1}printSequence(e,t,n,r){this.printJoin(e,!0,t??!1,void 0,void 0,r,void 0,n)}printList(e,t,n,r,i,s){this.printJoin(e,n,r,i??EO,t,void 0,s)}shouldPrintTrailingComma(e){if(!this.tokenMap)return null;const t=this.tokenMap.findLastIndex(this._currentNode,t=>this.tokenMap.matchesOriginal(t,e));return t<=0?null:this.tokenMap.matchesOriginal(this._tokens[t-1],",")}_printNewline(e,t){const n=this.format;if(n.retainLines||n.compact)return;if(n.concise)return void this.space();if(!e)return;const r=t.nextNodeStartLine,i=this._lastCommentLine;if(r>0&&i>0){const e=r-i;if(e>=0)return void this.newline(e||1)}this._buf.hasContent()&&this.newline(1)}_shouldPrintComment(e,t){if(e.ignore)return 0;if(this._printedComments.has(e))return 0;if(this._noLineTerminator&&bO.test(e.value))return 2;if(t&&this.tokenMap){const n=this.tokenMap.find(this._currentNode,t=>t.value===e.value);if(n&&n.start>t.start)return 2}return this._printedComments.add(e),this.format.shouldPrintComment(e.value)?1:0}_printComment(e,t){const n=this._noLineTerminator,r="CommentBlock"===e.type,i=r&&1!==t&&!this._noLineTerminator;i&&this._buf.hasContent()&&2!==t&&this.newline(1);const s=this.getLastChar();let a;if(91!==s&&123!==s&&40!==s&&this.space(),r){if(a=`/*${e.value}*/`,this.format.indent.adjustMultilineComment){const t=e.loc?.start.column;if(t){const e=new RegExp("\\n\\s{1,"+t+"}","g");a=a.replace(e,"\n")}if(this.format.concise)a=a.replace(/\n(?!$)/g,"\n");else{let e=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent(47)||this.format.retainLines)&&(e+=this._getIndent()),a=a.replace(/\n(?!$)/g,`\n${" ".repeat(e)}`)}}}else a=n?`/*${e.value}*/`:`//${e.value}`;if(this._endsWithDiv&&this._space(),this.tokenMap){const{_printSemicolonBeforeNextToken:t,_printSemicolonBeforeNextNode:n}=this;this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1,this.source("start",e.loc),this._append(a,r),this._printSemicolonBeforeNextNode=n,this._printSemicolonBeforeNextToken=t}else this.source("start",e.loc),this._append(a,r);r||n||this.newline(1,!0),i&&3!==t&&this.newline(1)}_printComments(e,t,n,r,i=0,s){const a=n.loc,o=t.length;let u=!!a;const c=u?a.start.line:0,l=u?a.end.line:0;let p=0,d=0;const h=this._noLineTerminator?function(){}:this.newline.bind(this);for(let a=0;a<o;a++){const f=t[a],m=this._shouldPrintComment(f,s);if(2===m){u=!1;break}if(u&&f.loc&&1===m){const t=f.loc.start.line,n=f.loc.end.line;if(0===e){let e=0;0===a?!this._buf.hasContent()||"CommentLine"!==f.type&&t===n||(e=d=1):e=t-p,p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.max(c-p,d)),p=c)}else if(1===e){const e=t-(0===a?c:p);p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.min(1,l-p)),p=l)}else{const e=t-(0===a?l-i:p);p=n,h(e),this._printComment(f,1)}}else{if(u=!1,1!==m)continue;if(1===o){const t=f.loc?f.loc.start.line===f.loc.end.line:!gO.test(f.value),i=t&&!pO(n)&&!dO(r)&&!hO(r)&&!fO(n);0===e?this._printComment(f,i&&"ObjectExpression"!==n.type||t&&lO(r,{body:n})?1:0):i&&2===e?this._printComment(f,1):this._printComment(f,0)}else 1!==e||"ObjectExpression"===n.type&&n.properties.length>1||"ClassBody"===n.type||"TSInterfaceBody"===n.type?this._printComment(f,0):this._printComment(f,0===a?2:a===o-1?3:0)}}2===e&&u&&p&&(this._lastCommentLine=p)}};function EO(e,t){this.token(",",!1,e),t||this.space()}function PO(e,t={},n){const r=function(e,t,n){if(t.experimental_preserveFormat){if("string"!=typeof e)throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");if(!t.retainLines)throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");if(t.compact&&"auto"!==t.compact)throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");if(t.minified)throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");if(t.jsescOption)throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");if(!Array.isArray(n.tokens))throw new Error("`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option.")}const r={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,preserveFormat:t.experimental_preserveFormat,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:" "},jsescOption:Object.assign({quotes:"double",wrap:!0,minimal:!0},t.jsescOption),topicToken:t.topicToken,importAttributesKeyword:t.importAttributesKeyword};r.minified?(r.compact=!0,r.shouldPrintComment=r.shouldPrintComment||(()=>r.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.includes("@license")||e.includes("@preserve")),"auto"===r.compact&&(r.compact="string"==typeof e&&e.length>5e5,r.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),(r.compact||r.preserveFormat)&&(r.indent.adjustMultilineComment=!1);const{auxiliaryCommentBefore:i,auxiliaryCommentAfter:s,shouldPrintComment:a}=r;return i&&!a(i)&&(r.auxiliaryCommentBefore=void 0),s&&!a(s)&&(r.auxiliaryCommentAfter=void 0),r}(n,t,e),i=t.sourceMaps?new V_(t,n):null;return new TO(r,i,e.tokens,"string"==typeof n?n:null).generate(e)}Object.assign(TO.prototype,uO);var vO=Ge(nt()),AO=Object.freeze({__proto__:null,BindingIdentifier:["Identifier"],BlockScoped:null,ExistentialTypeParam:["ExistsTypeAnnotation"],Expression:["Expression"],Flow:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],ForAwaitStatement:["ForOfStatement"],Generated:null,NumericLiteralTypeAnnotation:["NumberLiteralTypeAnnotation"],Pure:null,Referenced:null,ReferencedIdentifier:["Identifier","JSXIdentifier"],ReferencedMemberExpression:["MemberExpression"],RestProperty:["RestElement"],Scope:["Scopable","Pattern"],SpreadProperty:["RestElement"],Statement:["Statement"],User:null,Var:["VariableDeclaration"]}),{isBinding:wO,isBlockScoped:CO,isExportDeclaration:kO,isExpression:IO,isFlow:_O,isForStatement:NO,isForXStatement:LO,isIdentifier:OO,isImportDeclaration:DO,isImportSpecifier:MO,isJSXIdentifier:BO,isJSXMemberExpression:FO,isMemberExpression:RO,isRestElement:jO,isReferenced:UO,isScope:qO,isStatement:$O,isVar:JO,isVariableDeclaration:VO,react:KO,isForOfStatement:WO}=at,{isCompatTag:XO}=KO;var HO=Object.freeze({__proto__:null,isBindingIdentifier:function(){const{node:e,parent:t}=this,n=this.parentPath.parent;return OO(e)&&wO(e,t,n)},isBlockScoped:function(){return CO(this.node)},isExpression:function(){return this.isIdentifier()?this.isReferencedIdentifier():IO(this.node)},isFlow:function(){const{node:e}=this;return!!_O(e)||(DO(e)?"type"===e.importKind||"typeof"===e.importKind:kO(e)?"type"===e.exportKind:!!MO(e)&&("type"===e.importKind||"typeof"===e.importKind))},isForAwaitStatement:function(){return WO(this.node,{await:!0})},isGenerated:function(){return!this.isUser()},isPure:function(e){return this.scope.isPure(this.node,e)},isReferenced:function(){return UO(this.node,this.parent)},isReferencedIdentifier:function(e){const{node:t,parent:n}=this;if(!OO(t,e)&&!FO(n,e)){if(!BO(t,e))return!1;if(XO(t.name))return!1}return UO(t,n,this.parentPath.parent)},isReferencedMemberExpression:function(){const{node:e,parent:t}=this;return RO(e)&&UO(e,t)},isRestProperty:function(){return jO(this.node)&&this.parentPath?.isObjectPattern()},isScope:function(){return qO(this.node,this.parent)},isSpreadProperty:function(){return jO(this.node)&&this.parentPath?.isObjectExpression()},isStatement:function(){const{node:e,parent:t}=this;if($O(e)){if(VO(e)){if(LO(t,{left:e}))return!1;if(NO(t,{init:e}))return!1}return!0}return!1},isUser:function(){return this.node&&!!this.node.loc},isVar:function(){return JO(this.node)}}),{DEPRECATED_KEYS:zO,DEPRECATED_ALIASES:YO,FLIPPED_ALIAS_KEYS:GO,TYPES:QO,__internal__deprecationWarning:ZO}=at;function eD(e){return e in AO}function tD(e){return e?._exploded}function nD(e){if(tD(e))return e;e._exploded=!0;for(const t of Object.keys(e)){if(cD(t))continue;const n=t.split("|");if(1===n.length)continue;const r=e[t];delete e[t];for(const t of n)e[t]=r}rD(e),delete e.__esModule,function(e){for(const t of Object.keys(e)){if(cD(t))continue;const n=e[t];"function"==typeof n&&(e[t]={enter:n})}}(e),oD(e);for(const t of Object.keys(e)){if(cD(t))continue;if(!eD(t))continue;const n=e[t];for(const e of Object.keys(n))n[e]=uD(t,n[e]);delete e[t];const r=AO[t];if(null!==r)for(const t of r)e[t]?lD(e[t],n):e[t]=n;else lD(e,n)}for(const t of Object.keys(e)){if(cD(t))continue;let n=GO[t];if(t in zO){const e=zO[t];ZO(t,e,"Visitor "),n=[e]}else if(t in YO){const e=YO[t];ZO(t,e,"Visitor "),n=GO[e]}if(!n)continue;const r=e[t];delete e[t];for(const t of n){const n=e[t];n?lD(n,r):e[t]=Object.assign({},r)}}for(const t of Object.keys(e))cD(t)||oD(e[t]);return e}function rD(e){if(!e._verified){if("function"==typeof e)throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");for(const t of Object.keys(e)){if("enter"!==t&&"exit"!==t||iD(t,e[t]),cD(t))continue;if(!QO.includes(t))throw new Error(`You gave us a visitor for the node type ${t} but it's not a valid type in @babel/traverse 8.0.0-beta.2`);const n=e[t];if("object"==typeof n)for(const e of Object.keys(n)){if("enter"!==e&&"exit"!==e)throw new Error(`You passed \`traverse()\` a visitor object with the property ${t} that has the invalid property ${e}`);iD(`${t}.${e}`,n[e])}}e._verified=!0}}function iD(e,t){const n=[].concat(t);for(const t of n)if("function"!=typeof t)throw new TypeError(`Non-function found defined in ${e} with type ${typeof t}`)}function sD(e,t=[],n){const r={_verified:!0,_exploded:!0};for(let i=0;i<e.length;i++){const s=nD(e[i]),a=t[i];let o=s;(a||n)&&(o=aD(o,a,n)),lD(r,o);for(const e of Object.keys(s)){if(cD(e))continue;let t=s[e];(a||n)&&(t=aD(t,a,n));lD(r[e]||(r[e]={}),t)}}return r}function aD(e,t,n){const r={};for(const i of["enter","exit"]){let s=e[i];Array.isArray(s)&&(s=s.map(function(e){let r=e;return t&&(r=function(n){e.call(t,n,t)}),n&&(r=n(t?.key,i,r)),r!==e&&(r.toString=()=>e.toString()),r}),r[i]=s)}return r}function oD(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function uD(e,t){const n=HO[`is${e}`],r=function(e){if(n.call(e))return t.apply(this,arguments)};return r.toString=()=>t.toString(),r}function cD(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("denylist"===e||"noScope"===e||"skipKeys"===e))}function lD(e,t){for(const n of["enter","exit"])t[n]&&(e[n]=[].concat(e[n]||[],t[n]))}var pD={FunctionParent(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},Property(e){e.isObjectProperty()||(e.skip(),e.requeueComputedKeyAndDecorators())}};function dD(e){return sD([pD,e])}var hD=Object.freeze({__proto__:null,environmentVisitor:dD,explode:nD,isExplodedVisitor:tD,merge:sD,verify:rD}),{getAssignmentIdentifiers:fD}=at,mD={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},ObjectProperty({node:e,scope:t},n){const{name:r}=e.key;!e.shorthand||r!==n.oldName&&r!==n.newName||t.getBindingIdentifier(r)!==n.binding.identifier||(e.shorthand=!1)},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const n=e.isAssignmentExpression()?fD(e.node):e.getOuterBindingIdentifiers();for(const e in n)e===t.oldName&&(n[e].name=t.newName)}},yD=class{constructor(e,t,n){this.newName=n,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){const{declaration:e}=t.node;if(Na(e)&&!e.id)return}t.isExportAllDeclaration()||t.splitExportDeclaration()}}maybeConvertFromClassFunctionDeclaration(e){return e}maybeConvertFromClassFunctionExpression(e){return e}rename(){const{binding:e,oldName:t,newName:n}=this,{scope:r,path:i}=e,s=i.find(e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression());if(s){s.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(s)}const a=r.block,o={discriminant:!0};Ra(a)&&(a.computed&&(o.key=!0),pn(a)||(o.decorators=!0)),kj(a,nD(mD),r,this,r.path,o),r.removeOwnBinding(t),r.bindings[n]=e,this.binding.identifier.name=n,s&&(this.maybeConvertFromClassFunctionDeclaration(i),this.maybeConvertFromClassFunctionExpression(i))}},gD=class{constructor({identifier:e,scope:t,path:n,kind:r}){Qe(this,"identifier"),Qe(this,"scope"),Qe(this,"path"),Qe(this,"kind"),Qe(this,"constantViolations",[]),Qe(this,"constant",!0),Qe(this,"referencePaths",[]),Qe(this,"referenced",!1),Qe(this,"references",0),this.identifier=e,this.scope=t,this.path=n,this.kind=r,"var"!==r&&"hoisted"!==r||!function(e){const t=!e.isVariableDeclarator()||e.node.init;for(let{parentPath:n,key:r}=e;n;({parentPath:n,key:r}=n)){if(n.isFunctionParent())return!1;if("left"===r&&n.isForXStatement()||t&&"body"===r&&n.isLoop())return!0}return!1}(n)||this.reassign(n),this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,this.constantViolations.includes(e)||this.constantViolations.push(e)}reference(e){this.referencePaths.includes(e)||(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}};var bD=new WeakMap,xD=new WeakMap;function SD(){bD=new WeakMap}function TD(){xD=new WeakMap}function ED(e){const{parent:t,parentPath:n}=e;return n?n._store:bD.get(t)}function PD(e,t){if(t)return t._store||(t._store=new Map);let n=bD.get(e);return n||bD.set(e,n=new Map),n}var vD=Object.freeze({__proto__:null,clear:function(){SD(),TD()},clearPath:SD,clearScope:TD,getCachedPaths:ED,getOrCreateCachedPaths:PD,get path(){return bD},get scope(){return xD}}),{assignmentExpression:AD,callExpression:wD,cloneNode:CD,getBindingIdentifiers:kD,identifier:ID,isArrayExpression:_D,isBinary:ND,isCallExpression:LD,isClass:OD,isClassBody:DD,isClassDeclaration:MD,isExportAllDeclaration:BD,isExportDefaultDeclaration:FD,isExportNamedDeclaration:RD,isFunctionDeclaration:jD,isIdentifier:UD,isImportDeclaration:qD,isLiteral:$D,isMemberExpression:JD,isMethod:VD,isModuleSpecifier:KD,isNullLiteral:WD,isObjectExpression:XD,isProperty:HD,isPureish:zD,isRegExpLiteral:YD,isSuper:GD,isTaggedTemplateExpression:QD,isTemplateLiteral:ZD,isThisExpression:eM,isUnaryExpression:tM,isVariableDeclaration:nM,expressionStatement:rM,matchesPattern:iM,memberExpression:sM,numericLiteral:aM,toIdentifier:oM,variableDeclaration:uM,variableDeclarator:cM,isRecordExpression:lM,isTupleExpression:pM,isObjectProperty:dM,isTopicReference:hM,isMetaProperty:fM,isPrivateName:mM,isExportDeclaration:yM,buildUndefinedNode:gM,sequenceExpression:bM}=at;function xM(e,t){switch(e?.type){default:if(qD(e)||yM(e))if((BD(e)||RD(e)||qD(e))&&e.source)xM(e.source,t);else if((RD(e)||qD(e))&&e.specifiers?.length)for(const n of e.specifiers)xM(n,t);else(FD(e)||RD(e))&&e.declaration&&xM(e.declaration,t);else KD(e)?xM(e.local,t):!$D(e)||WD(e)||YD(e)||ZD(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":xM(e.object,t),xM(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":xM(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(const n of e.properties)xM(n,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":xM(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":xM(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":case"ImportExpression":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),xM(e.argument,t);break;case"AwaitExpression":t.push("await"),xM(e.argument,t);break;case"AssignmentExpression":xM(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":xM(e.id,t);break;case"ParenthesizedExpression":xM(e.expression,t);break;case"MetaProperty":xM(e.meta,t),xM(e.property,t);break;case"JSXElement":xM(e.openingElement,t);break;case"JSXOpeningElement":xM(e.name,t);break;case"JSXFragment":xM(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":xM(e.namespace,t),xM(e.name,t)}}function SM(e){"Program"===e.path.type&&(e.referencesSet=new Set,e.uidsSet=new Set),e.bindings=Object.create(null),e.globals=Object.create(null)}var TM,EM={ForStatement(e){const t=e.get("init");if(t.isVar()){const{scope:n}=e;(n.getFunctionParent()||n.getProgramParent()).registerBinding("var",t)}},Declaration(e){if(e.isBlockScoped())return;if(e.isImportDeclaration())return;if(e.isExportDeclaration())return;(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},TSImportEqualsDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier(e,t){ns(e.parent)&&e.parent.right===e.node||e.parentPath.isTSImportEqualsDeclaration()||t.references.push(e)},ForXStatement(e,t){const n=e.get("left");if(n.isPattern()||n.isIdentifier())t.constantViolations.push(e);else if(n.isVar()){const{scope:t}=e;(t.getFunctionParent()||t.getProgramParent()).registerBinding("var",n)}},ExportDeclaration:{exit(e){const{node:t,scope:n}=e;if(BD(t))return;const r=t.declaration;if(MD(r)||jD(r)){const t=r.id;if(!t)return;const i=n.getBinding(t.name);i?.reference(e)}else if(nM(r))for(const t of r.declarations)for(const r of Object.keys(kD(t))){const t=n.getBinding(r);t?.reference(e)}}},LabeledStatement(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;t.path===e&&(t=t.parent);if(t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},CatchClause(e){e.scope.registerBinding("let",e)},Function(e){const t=e.get("params");for(const n of t)e.scope.registerBinding("param",n);e.isFunctionExpression()&&e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},ClassExpression(e){e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},TSTypeAnnotation(e){e.skip()}},PM=0,vM=class e{constructor(e){Qe(this,"uid"),Qe(this,"path"),Qe(this,"block"),Qe(this,"inited"),Qe(this,"labels"),Qe(this,"bindings"),Qe(this,"referencesSet"),Qe(this,"globals"),Qe(this,"uidsSet"),Qe(this,"data"),Qe(this,"crawling");const{node:t}=e,n=xD.get(t);if(n?.path===e)return n;xD.set(t,this),this.uid=PM++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){let e,t=this.path;do{const n="key"===t.key||"decorators"===t.listKey;t=t.parentPath,n&&t.isMethod()&&(t=t.parentPath),t?.isScope()&&(e=t)}while(t&&!e);return e?.scope}get references(){throw new Error("Scope#references is not available in Babel 8. Use Scope#referencesSet instead.")}get uids(){throw new Error("Scope#uids is not available in Babel 8. Use Scope#uidsSet instead.")}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),CD(t)}generateUidIdentifier(e){return ID(this.generateUid(e))}generateUid(e="temp"){let t;e=oM(e).replace(/^_+/,"").replace(/\d+$/g,"");let n=0;do{t=`_${e}`,n>=11?t+=n-1:n>=9?t+=n-9:n>=1&&(t+=n+1),n++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.referencesSet.add(t),r.uidsSet.add(t),t}generateUidBasedOnNode(e,t){const n=[];xM(e,n);let r=n.join("$");return r=r.replace(/^_/,"")||t||"ref",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return ID(this.generateUidBasedOnNode(e,t))}isStatic(e){if(eM(e)||GD(e)||hM(e))return!0;if(UD(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const n=this.generateUidIdentifierBasedOnNode(e);return t?n:(this.push({id:n}),CD(n))}}checkBlockScopedCollisions(e,t,n,r){if("param"===t)return;if("local"===e.kind)return;if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t)throw this.path.hub.buildError(r,`Duplicate declaration "${n}"`,TypeError)}rename(e,t){const n=this.getBinding(e);if(n){t||(t=this.generateUidIdentifier(e).name);new yD(n,e,t).rename()}}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const n=t.bindings[e];console.log(" -",e,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations"),{kind:n}=e.node;for(const e of t)this.registerBinding("using"===n||"await using"===n?"const":n,e)}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding("let",e)}else if(e.isImportDeclaration()){const t="type"===e.node.importKind||"typeof"===e.node.importKind,n=e.get("specifiers");for(const e of n){const n=t||e.isImportSpecifier()&&("type"===e.node.importKind||"typeof"===e.node.importKind);this.registerBinding(n?"unknown":"module",e)}}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return gM()}registerConstantViolation(e){const t=e.getAssignmentIdentifiers();for(const n of Object.keys(t))this.getBinding(n)?.reassign(e)}registerBinding(e,t,n=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const n=t.get("declarations");for(const t of n)this.registerBinding(e,t);return}const r=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(i)){r.referencesSet.add(t);for(const r of i[t]){const i=this.getOwnBinding(t);if(i){if(i.identifier===r)continue;this.checkBlockScopedCollisions(i,e,t,r)}i?i.reassign(n):this.bindings[t]=new gD({identifier:r,scope:this,path:n,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){return this.getProgramParent().uidsSet.has(e)}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return this.getProgramParent().referencesSet.has(e)}isPure(e,t){if(UD(e)){const n=this.getBinding(e.name);return!!n&&(!t||n.constant)}if(eM(e)||fM(e)||hM(e)||mM(e))return!0;if(OD(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&(!(e.decorators?.length>0)&&this.isPure(e.body,t));if(DD(e)){for(const n of e.body)if(!this.isPure(n,t))return!1;return!0}if(ND(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(_D(e)||pM(e)){for(const n of e.elements)if(null!==n&&!this.isPure(n,t))return!1;return!0}if(XD(e)||lM(e)){for(const n of e.properties)if(!this.isPure(n,t))return!1;return!0}if(VD(e))return!(e.computed&&!this.isPure(e.key,t))&&!(e.decorators?.length>0);if(HD(e))return!(e.computed&&!this.isPure(e.key,t))&&(!(e.decorators?.length>0)&&!((dM(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t)));if(tM(e))return this.isPure(e.argument,t);if(ZD(e)){for(const n of e.expressions)if(!this.isPure(n,t))return!1;return!0}return QD(e)?iM(e.tag,"String.raw")&&!this.hasBinding("String",{noGlobals:!0})&&this.isPure(e.quasi,t):JD(e)?!e.computed&&UD(e.object)&&"Symbol"===e.object.name&&UD(e.property)&&"for"!==e.property.name&&!this.hasBinding("Symbol",{noGlobals:!0}):LD(e)?iM(e.callee,"Symbol.for")&&!this.hasBinding("Symbol",{noGlobals:!0})&&1===e.arguments.length&&en(e.arguments[0]):zD(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const n=t.data[e];if(null!=n)return n}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;SM(this),this.data=Object.create(null);let t=this;do{if(t.crawling)return;if(t.path.isProgram())break}while(t=t.parent);const n=t,r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,TM||(TM=Kj.visitors.merge([{Scope(e){SM(e.scope)}},EM])),"Program"!==e.type){for(const t of TM.enter)t.call(r,e,r);const t=TM[e.type];if(t)for(const n of t.enter)n.call(r,e,r)}e.traverse(TM,r),this.crawling=!1;for(const e of r.assignments){const t=e.getAssignmentIdentifiers();for(const r of Object.keys(t))e.scope.getBinding(r)||n.addGlobal(t[r]);e.scope.registerConstantViolation(e)}for(const e of r.references){const t=e.scope.getBinding(e.node.name);t?t.reference(e):n.addGlobal(e.node)}for(const e of r.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isPattern()?t=this.getPatternParent().path:t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);const{init:n,unique:r,kind:i="var",id:s}=e;if(!n&&!r&&("var"===i||"let"===i)&&t.isFunction()&&!t.node.name&&LD(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&UD(s))return t.pushContainer("params",s),void t.scope.registerBinding("param",t.get("params")[t.node.params.length-1]);(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const a=null==e._blockHoist?2:e._blockHoist,o=`declaration:${i}:${a}`;let u=!r&&t.getData(o);if(!u){const e=uM(i,[]);e._blockHoist=a,[u]=t.unshiftContainer("body",[e]),r||t.setData(o,u)}const c=cM(s,n),l=u.node.declarations.push(c);t.scope.registerBinding(i,u.get("declarations")[l-1])}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn't find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getPatternParent(){let e=this;do{if(!e.path.isPattern())return e.getBlockParent()}while(e=e.parent.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const n of Object.keys(t.bindings))n in e==!1&&(e[n]=t.bindings[n]);t=t.parent}while(t);return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,n=this;do{const r=n.getOwnBinding(e);if(r){if(!t?.isPattern()||"param"===r.kind||"local"===r.kind)return r}else if(!r&&"arguments"===e&&n.path.isFunction()&&!n.path.isArrowFunctionExpression())break;t=n.path}while(n=n.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){return this.getBinding(e)?.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return t?.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(t,n){if(!t)return!1;let r,i,s;"object"==typeof n?(r=n.noGlobals,i=n.noUids,s=n.upToScope):"boolean"==typeof n&&(r=n);let a=this;do{if(s===a)break;if(a.hasOwnBinding(t))return!0}while(a=a.parent);return!(i||!this.hasUid(t))||(!(r||!e.globals.includes(t))||!(r||!e.contextVariables.includes(t)))}parentHasBinding(e,t){return this.parent?.hasBinding(e,t)}moveBindingTo(e,t){const n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){this.getBinding(e)?.scope.removeOwnBinding(e),this.getProgramParent().uidsSet.delete(e)}hoistVariables(e=e=>this.push({id:e})){this.crawl();const t=new Set;for(const n of Object.keys(this.bindings)){const r=this.bindings[n];if(!r)continue;const{path:i}=r;if(!i.isVariableDeclarator())continue;const{parent:s,parentPath:a}=i;if("var"!==s.kind||t.has(s))continue;let o;t.add(i.parent);const u=[];for(const t of s.declarations){o??(o=t.id),t.init&&u.push(AD("=",t.id,t.init));const n=Object.keys(kD(t,!1,!0,!0));for(const r of n)e(ID(r),null!=t.init)}if(a.parentPath.isFor({left:s}))a.replaceWith(o);else if(0===u.length)a.remove();else{const e=1===u.length?u[0]:bM(u);a.parentPath.isForStatement({init:s})?a.replaceWith(e):a.replaceWith(rM(e))}}}};Qe(vM,"globals",["decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","globalThis","isFinite","isNaN","parseFloat","parseInt","undefined","unescape","AggregateError","Array","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float16Array","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","Intl","Iterator","JSON","Map","Math","NaN","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Symbol","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError","WeakMap","WeakRef","WeakSet"]),Qe(vM,"contextVariables",["arguments","undefined","Infinity","NaN"]);var AM=vM,{VISITOR_KEYS:wM}=at;var{createFlowUnionType:CM,createTSUnionType:kM,createUnionTypeAnnotation:IM,isFlowType:_M,isTSType:NM}=at;function LM(e){return e.every(e=>_M(e))?CM(e):e.every(e=>NM(e))?kM(e):void 0}var{BOOLEAN_NUMBER_BINARY_OPERATORS:OM,createTypeAnnotationBasedOnTypeof:DM,numberTypeAnnotation:MM,voidTypeAnnotation:BM}=at;function FM(e,t,n){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter(e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return n&&"unknown"===r&&n.push(e),"before"===r})}function RM(e,t){const n=t.node.operator,r=t.get("right").resolve(),i=t.get("left").resolve();let s,a,o;if(i.isIdentifier({name:e})?s=r:r.isIdentifier({name:e})&&(s=i),s)return"==="===n?s.getTypeAnnotation():OM.includes(n)?MM():void 0;if("==="!==n&&"=="!==n)return;if(i.isUnaryExpression({operator:"typeof"})?(a=i,o=r):r.isUnaryExpression({operator:"typeof"})&&(a=r,o=i),!a)return;if(!a.get("argument").isIdentifier({name:e}))return;if(o=o.resolve(),!o.isLiteral())return;const u=o.node.value;return"string"==typeof u?DM(u):void 0}function jM(e,t,n){const r=function(e,t,n){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if("test"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(n)!==e)return;t=r}}(e,t,n);if(!r)return;const i=[r.get("test")],s=[];for(let e=0;e<i.length;e++){const t=i[e];if(t.isLogicalExpression())"&&"===t.node.operator&&(i.push(t.get("left")),i.push(t.get("right")));else if(t.isBinaryExpression()){const e=RM(n,t);e&&s.push(e)}}return s.length?{typeAnnotation:LM(s),ifStatement:r}:jM(e,r,n)}var{BOOLEAN_BINARY_OPERATORS:UM,BOOLEAN_UNARY_OPERATORS:qM,NUMBER_BINARY_OPERATORS:$M,NUMBER_UNARY_OPERATORS:JM,STRING_UNARY_OPERATORS:VM,anyTypeAnnotation:KM,arrayTypeAnnotation:WM,booleanTypeAnnotation:XM,buildMatchMemberExpression:HM,genericTypeAnnotation:zM,identifier:YM,nullLiteralTypeAnnotation:GM,numberTypeAnnotation:QM,stringTypeAnnotation:ZM,tupleTypeAnnotation:eB,unionTypeAnnotation:tB,voidTypeAnnotation:nB,isIdentifier:rB}=at;function iB(e){return e.typeAnnotation}function sB(e){return e.typeAnnotation}function aB(){return zM(YM("Array"))}function oB(){return aB()}function uB(){return zM(YM("Function"))}iB.validParent=!0,sB.validParent=!0,oB.validParent=!0;var cB=HM("Array.from"),lB=HM("Object.keys"),pB=HM("Object.values"),dB=HM("Object.entries");function hB(e){if((e=e.resolve()).isFunction()){const{node:t}=e;if(t.async)return t.generator?zM(YM("AsyncIterator")):zM(YM("Promise"));if(t.generator)return zM(YM("Iterator"));if(e.node.returnType)return e.node.returnType}}var fB=Object.freeze({__proto__:null,ArrayExpression:aB,ArrowFunctionExpression:uB,AssignmentExpression:function(){return this.get("right").getTypeAnnotation()},BinaryExpression:function(e){const t=e.operator;if($M.includes(t))return QM();if(UM.includes(t))return XM();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?QM():t.isBaseType("string")||e.isBaseType("string")?ZM():tB([ZM(),QM()])}},BooleanLiteral:function(){return XM()},CallExpression:function(){const{callee:e}=this.node;return lB(e)?WM(ZM()):cB(e)||pB(e)||rB(e,{name:"Array"})?WM(KM()):dB(e)?WM(eB([ZM(),KM()])):hB(this.get("callee"))},ClassDeclaration:uB,ClassExpression:uB,ConditionalExpression:function(){return LM([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])},FunctionDeclaration:uB,FunctionExpression:uB,Identifier:function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,n){const r=[],i=[];let s=FM(e,t,i);const a=jM(e,t,n);if(a){const t=FM(e,a.ifStatement);s=s.filter(e=>!t.includes(e)),r.push(a.typeAnnotation)}if(s.length){s.push(...i);for(const e of s)r.push(e.getTypeAnnotation())}if(!r.length)return;return LM(r)}(t,this,e.name):"undefined"===e.name?BM():"NaN"===e.name||"Infinity"===e.name?MM():void e.name},LogicalExpression:function(){return LM([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])},NewExpression:function(e){if("Identifier"===e.callee.type)return zM(e.callee)},NullLiteral:function(){return GM()},NumericLiteral:function(){return QM()},ObjectExpression:function(){return zM(YM("Object"))},ParenthesizedExpression:function(){return this.get("expression").getTypeAnnotation()},RegExpLiteral:function(){return zM(YM("RegExp"))},RestElement:oB,SequenceExpression:function(){return this.get("expressions").pop().getTypeAnnotation()},StringLiteral:function(){return ZM()},TSAsExpression:sB,TSNonNullExpression:function(){return this.get("expression").getTypeAnnotation()},TaggedTemplateExpression:function(){return hB(this.get("tag"))},TemplateLiteral:function(){return ZM()},TypeCastExpression:iB,UnaryExpression:function(e){const t=e.operator;return"void"===t?nB():JM.includes(t)?QM():VM.includes(t)?ZM():qM.includes(t)?XM():void 0},UpdateExpression:function(e){const t=e.operator;if("++"===t||"--"===t)return QM()},VariableDeclarator:function(){if(this.get("id").isIdentifier())return this.get("init").getTypeAnnotation()}}),{anyTypeAnnotation:mB,isAnyTypeAnnotation:yB,isArrayTypeAnnotation:gB,isBooleanTypeAnnotation:bB,isEmptyTypeAnnotation:xB,isFlowBaseAnnotation:SB,isGenericTypeAnnotation:TB,isIdentifier:EB,isMixedTypeAnnotation:PB,isNumberTypeAnnotation:vB,isStringTypeAnnotation:AB,isTSArrayType:wB,isTSTypeAnnotation:CB,isTSTypeReference:kB,isTupleTypeAnnotation:IB,isTypeAnnotation:_B,isUnionTypeAnnotation:NB,isVoidTypeAnnotation:LB,stringTypeAnnotation:OB,voidTypeAnnotation:DB}=at;var MB=new WeakSet;function BB(){const e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;if(!MB.has(e)){MB.add(e);try{let t=fB[e.type];if(t)return t.call(this,e);if(t=fB[this.parentPath.type],t?.validParent)return this.parentPath.getTypeAnnotation()}finally{MB.delete(e)}}}else if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?OB():"left"===e.key&&t.isForOfStatement()?mB():DB()}}function FB(e,t,n){if("string"===e)return AB(t);if("number"===e)return vB(t);if("boolean"===e)return bB(t);if("any"===e)return yB(t);if("mixed"===e)return PB(t);if("empty"===e)return xB(t);if("void"===e)return LB(t);if(n)return!1;throw new Error(`Unknown base type ${e}`)}var RB=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&"consequent"===e.key||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}],{getBindingIdentifiers:jB}=at;function UB(){const e=jB(this.node,!1,!1,!0);Object.keys(e).forEach(e=>this.scope.removeBinding(e))}function qB(){if(this.parentPath)for(const e of RB)if(e(this,this.parentPath))return!0}function $B(){Array.isArray(this.container)?(this.container.splice(this.key,1),pF.call(this,this.key,-1)):qF.call(this,null)}function JB(){this._traverseFlags|=xj|bj,this.parent&&ED(this)?.delete(this.node),this.node=null}function VB(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")}var{arrowFunctionExpression:KB,assertExpression:WB,assignmentExpression:XB,blockStatement:HB,callExpression:zB,cloneNode:YB,expressionStatement:GB,isAssignmentExpression:QB,isCallExpression:ZB,isExportNamedDeclaration:eF,isExpression:tF,isIdentifier:nF,isSequenceExpression:rF,isSuper:iF,thisExpression:sF}=at;function aF(e,t){pF.call(this,e,t.length);const n=[];this.container.splice(e,0,...t);for(let r=0;r<t.length;r++){const t=e+r,i=this.getSibling(t);n.push(i),this.context?.queue&&Rj.call(i,this.context)}const r=qj.call(this);for(const e of n){Lj.call(e),e.debug("Inserted.");for(const t of r)t.maybeQueue(e,!0)}return n}function oF(e){return aF.call(this,this.key,e)}function uF(e){return aF.call(this,this.key+1,e)}var cF=e=>e[e.length-1];function lF(e){return rF(e.parent)&&(cF(e.parent.expressions)!==e.node||lF(e.parentPath))}function pF(e,t){if(!this.parent)return;const n=ED(this);if(n)for(const[,r]of n)"number"==typeof r.key&&r.container===this.container&&r.key>=e&&(r.key+=t)}function dF(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(let t=0;t<e.length;t++){const n=e[t];let r;if(n?"object"!=typeof n?r="contains a non-object node":n.type?n instanceof Sj&&(r="has a NodePath when it expected a raw object"):r="without a type":r="has falsy node",r){const e=Array.isArray(n)?"array":typeof n;throw new Error(`Node list ${r} with the index of ${t} and type of ${e}`)}}return e}var{FUNCTION_TYPES:hF,arrowFunctionExpression:fF,assignmentExpression:mF,awaitExpression:yF,blockStatement:gF,buildUndefinedNode:bF,callExpression:xF,cloneNode:SF,conditionalExpression:TF,expressionStatement:EF,getBindingIdentifiers:PF,identifier:vF,inheritLeadingComments:AF,inheritTrailingComments:wF,inheritsComments:CF,isBlockStatement:kF,isEmptyStatement:IF,isExpression:_F,isExpressionStatement:NF,isIfStatement:LF,isProgram:OF,isStatement:DF,isVariableDeclaration:MF,removeComments:BF,returnStatement:FF,sequenceExpression:RF,validate:jF,yieldExpression:UF}=at;function qF(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?jF(this.parent,this.key,[e]):jF(this.parent,this.key,e),this.debug(`Replace with ${e?.type}`),ED(this)?.set(e,this).delete(this.node),this.node=this.container[this.key]=e}function $F(e,t){const n=[];let r=!0;for(const i of e)if(IF(i)||(r=!1),_F(i))n.push(i);else if(NF(i))n.push(i.expression);else if(MF(i)){if("var"!==i.kind)return;for(const e of i.declarations){const r=PF(e);for(const e of Object.keys(r))t.push(SF(r[e]));e.init&&n.push(mF("=",e.id,e.init))}r=!0}else if(LF(i)){const e=i.consequent?$F([i.consequent],t):bF(),r=i.alternate?$F([i.alternate],t):bF();if(!e||!r)return;n.push(TF(i.test,e,r))}else if(kF(i)){const e=$F(i.body,t);if(!e)return;n.push(e)}else{if(!IF(i))return;0===e.indexOf(i)&&(r=!0)}return r&&n.push(bF()),1===n.length?n[0]:RF(n)}var JF=["Number","String","Math"],VF=["isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","btoa","atob"],KF=["random"];function WF(e){return JF.includes(e)}function XF(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}var HF=new Map([["undefined",void 0],["Infinity",1/0],["NaN",NaN]]);function zF(t,n){const{node:r}=t,{seen:i}=n;if(i.has(r)){const e=i.get(r);return e.resolved?e.value:void XF(t,n)}{const s={resolved:!1};i.set(r,s);const a=function(t,n){if(!n.confident)return;if(t.isSequenceExpression()){const e=t.get("expressions");return zF(e[e.length-1],n)}if(t.isStringLiteral()||t.isNumericLiteral()||t.isBooleanLiteral())return t.node.value;if(t.isNullLiteral())return null;if(t.isTemplateLiteral())return YF(t,t.node.quasis,n);if(t.isTaggedTemplateExpression()&&t.get("tag").isMemberExpression()){const e=t.get("tag.object"),{node:{name:r}}=e,i=t.get("tag.property");if(e.isIdentifier()&&"String"===r&&!t.scope.getBinding(r)&&i.isIdentifier()&&"raw"===i.node.name)return YF(t,t.node.quasi.quasis,n,!0)}if(t.isConditionalExpression()){const e=zF(t.get("test"),n);if(!n.confident)return;return zF(e?t.get("consequent"):t.get("alternate"),n)}if(t.isExpressionWrapper())return zF(t.get("expression"),n);if(t.isMemberExpression()&&!t.parentPath.isCallExpression({callee:t.node})){const e=t.get("property"),r=t.get("object");if(r.isLiteral()){const i=r.node.value,s=typeof i;let a=null;if(t.node.computed){if(a=zF(e,n),!n.confident)return}else e.isIdentifier()&&(a=e.node.name);if(!("number"!==s&&"string"!==s||null==a||"number"!=typeof a&&"string"!=typeof a))return i[a]}}if(t.isReferencedIdentifier()){const e=t.scope.getBinding(t.node.name);if(e){if(e.constantViolations.length>0||t.node.start<e.path.node.end)return void XF(e.path,n);const r=e.path.scope;if("var"===e.kind&&r!==e.scope){let i=!r.path.parentPath.isBlockStatement();for(let s=r.parent;s;s=s.parent){if(s===t.scope){if(i)return void XF(e.path,n);break}s.path.parentPath?.isBlockStatement()&&(i=!0)}}if(e.hasValue)return e.value}const r=t.node.name;if(HF.has(r))return e?void XF(e.path,n):HF.get(r);const i=t.resolve();if(i===t)return void XF(t,n);const s=zF(i,n);return"object"==typeof s&&null!==s&&e.references>1?void XF(i,n):s}if(t.isUnaryExpression({prefix:!0})){if("void"===t.node.operator)return;const e=t.get("argument");if("typeof"===t.node.operator&&(e.isFunction()||e.isClass()))return"function";const r=zF(e,n);if(!n.confident)return;switch(t.node.operator){case"!":return!r;case"+":return+r;case"-":return-r;case"~":return~r;case"typeof":return typeof r}}if(t.isArrayExpression()){const e=[],r=t.get("elements");for(const t of r){const r=t.evaluate();if(!r.confident)return void XF(r.deopt,n);e.push(r.value)}return e}if(t.isObjectExpression()){const e={},r=t.get("properties");for(const t of r){if(t.isObjectMethod()||t.isSpreadElement())return void XF(t,n);const r=t.get("key");let i;if(t.node.computed){if(i=r.evaluate(),!i.confident)return void XF(i.deopt,n);i=i.value}else i=r.isIdentifier()?r.node.name:r.node.value;let s=t.get("value").evaluate();if(!s.confident)return void XF(s.deopt,n);s=s.value,e[i]=s}return e}if(t.isLogicalExpression()){const e=n.confident,r=zF(t.get("left"),n),i=n.confident;n.confident=e;const s=zF(t.get("right"),n),a=n.confident;switch(t.node.operator){case"||":if(n.confident=i&&(!!r||a),!n.confident)return;return r||s;case"&&":if(n.confident=i&&(!r||a),!n.confident)return;return r&&s;case"??":if(n.confident=i&&(null!=r||a),!n.confident)return;return r??s}}if(t.isBinaryExpression()){const e=zF(t.get("left"),n);if(!n.confident)return;const r=zF(t.get("right"),n);if(!n.confident)return;switch(t.node.operator){case"-":return e-r;case"+":return e+r;case"/":return e/r;case"*":return e*r;case"%":return e%r;case"**":return e**r;case"<":return e<r;case">":return e>r;case"<=":return e<=r;case">=":return e>=r;case"==":return e==r;case"!=":return e!=r;case"===":return e===r;case"!==":return e!==r;case"|":return e|r;case"&":return e&r;case"^":return e^r;case"<<":return e<<r;case">>":return e>>r;case">>>":return e>>>r}}if(t.isCallExpression()){const r=t.get("callee");let i,s;if(r.isIdentifier()&&!t.scope.getBinding(r.node.name)&&(WF(r.node.name)||function(e){return VF.includes(e)}(r.node.name))&&(s=e[r.node.name]),r.isMemberExpression()){const t=r.get("object"),n=r.get("property");if(t.isIdentifier()&&n.isIdentifier()&&WF(t.node.name)&&!function(e){return KF.includes(e)}(n.node.name)){i=e[t.node.name];const r=n.node.name;Object.hasOwn(i,r)&&(s=i[r])}if(t.isLiteral()&&n.isIdentifier()){const e=typeof t.node.value;"string"!==e&&"number"!==e||(i=t.node.value,s=i[n.node.name])}}if(s){const e=t.get("arguments").map(e=>zF(e,n));if(!n.confident)return;return s.apply(i,e)}}XF(t,n)}(t,n);return n.confident&&(s.resolved=!0,s.value=a),a}}function YF(e,t,n,r=!1){let i="",s=0;const a=e.isTemplateLiteral()?e.get("expressions"):e.get("quasi.expressions");for(const e of t){if(!n.confident)break;i+=r?e.value.raw:e.value.cooked;const t=a[s++];t&&(i+=String(zF(t,n)))}if(n.confident)return i}var{arrowFunctionExpression:GF,assignmentExpression:QF,binaryExpression:ZF,blockStatement:eR,callExpression:tR,conditionalExpression:nR,expressionStatement:rR,identifier:iR,isIdentifier:sR,jsxIdentifier:aR,logicalExpression:oR,LOGICAL_OPERATORS:uR,memberExpression:cR,metaProperty:lR,numericLiteral:pR,objectExpression:dR,restElement:hR,returnStatement:fR,sequenceExpression:mR,spreadElement:yR,stringLiteral:gR,super:bR,thisExpression:xR,toExpression:SR,unaryExpression:TR,toBindingIdentifierName:ER,isFunction:PR,isAssignmentPattern:vR,isRestElement:AR,getFunctionName:wR,cloneNode:CR,variableDeclaration:kR,variableDeclarator:IR,exportNamedDeclaration:_R,exportSpecifier:NR,inherits:LR}=at;var OR=dD({CallExpression(e,{allSuperCalls:t}){e.get("callee").isSuper()&&t.push(e)}});function DR(e,t=!0,n=!0,r=!0){let i,s=e.findParent(e=>e.isArrowFunctionExpression()?(i??(i=e),!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1}));const a=s.isClassMethod({kind:"constructor"});if(s.isClassProperty()||s.isClassPrivateProperty())if(i)s=i;else{if(!n)throw e.buildCodeFrameError("Unable to transform arrow inside class property");e.replaceWith(tR(GF([],SR(e.node)),[])),s=e.get("callee"),e=s.get("body")}const{thisPaths:o,argumentsPaths:u,newTargetPaths:c,superProps:l,superCalls:p}=function(e){const t=[],n=[],r=[],i=[],s=[];return e.traverse(RR,{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}),{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}}(e);if(a&&p.length>0){if(!n)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");if(!r)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=[];s.traverse(OR,{allSuperCalls:e});const t=function(e){return FR(e,"supercall",()=>{const t=e.scope.generateUidIdentifier("args");return GF([hR(t)],tR(bR(),[yR(iR(t.name))]))})}(s);e.forEach(e=>{const n=iR(t);n.loc=e.node.callee.loc,e.get("callee").replaceWith(n)})}if(u.length>0){const e=FR(s,"arguments",()=>{const e=()=>iR("arguments");return s.scope.path.isProgram()?nR(ZF("===",TR("typeof",e()),gR("undefined")),s.scope.buildUndefinedNode(),e()):e()});u.forEach(t=>{const n=iR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(c.length>0){const e=FR(s,"newtarget",()=>lR(iR("new"),iR("target")));c.forEach(t=>{const n=iR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(l.length>0){if(!n)throw l[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=l.reduce((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const n=e.parentPath,r=n.node.operator.slice(0,-1),i=n.node.right,s=function(e){return uR.includes(e)}(r);if(e.node.computed){const a=e.scope.generateDeclaredUidIdentifier("tmp"),o=e.node.object,u=e.node.property;n.get("left").replaceWith(cR(o,QF("=",a,u),!0)),n.get("right").replaceWith(t(s?"=":r,cR(o,iR(a.name),!0),i))}else{const a=e.node.object,o=e.node.property;n.get("left").replaceWith(cR(a,o)),n.get("right").replaceWith(t(s?"=":r,cR(a,iR(o.name)),i))}return s?n.replaceWith(oR(r,n.node.left,n.node.right)):n.node.operator="=",[n.get("left"),n.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,n=e.scope.generateDeclaredUidIdentifier("tmp"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,i=[QF("=",n,cR(e.node.object,r?QF("=",r,e.node.property):e.node.property,e.node.computed)),QF("=",cR(e.node.object,r?iR(r.name):e.node.property,e.node.computed),ZF(e.parentPath.node.operator[0],iR(n.name),pR(1)))];e.parentPath.node.prefix||i.push(iR(n.name)),t.replaceWith(mR(i));return[t.get("expressions.0.right"),t.get("expressions.1.left")]}return[e];function t(e,t,n){return"="===e?QF("=",t,n):ZF(e,t,n)}}(t)),[]);e.forEach(e=>{const t=e.node.computed?"":e.get("property").node.name,n=e.parentPath,r=n.isAssignmentExpression({left:e.node}),i=n.isCallExpression({callee:e.node}),a=n.isTaggedTemplateExpression({tag:e.node}),u=function(e,t,n){const r=t?"set":"get";return FR(e,`superprop_${r}:${n||""}`,()=>{const r=[];let i;if(n)i=cR(bR(),iR(n));else{const t=e.scope.generateUidIdentifier("prop");r.unshift(t),i=cR(bR(),iR(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");r.push(t),i=QF("=",i,iR(t.name))}return GF(r,i)})}(s,r,t),c=[];if(e.node.computed&&c.push(e.get("property").node),r){const e=n.node.right;c.push(e)}const l=tR(iR(u),c);i?(n.unshiftContainer("arguments",xR()),e.replaceWith(cR(l,iR("call"))),o.push(n.get("arguments.0"))):r?n.replaceWith(l):a?(e.replaceWith(tR(cR(l,iR("bind"),!1),[xR()])),o.push(e.get("arguments.0"))):e.replaceWith(l)})}let d;return(o.length>0||!t)&&(d=function(e,t){return FR(e,"this",n=>{if(!t||!MR(e))return xR();e.traverse(BR,{supers:new WeakSet,thisBinding:n})})}(s,a),(t||a&&MR(s))&&(o.forEach(e=>{const t=e.isJSX()?aR(d):iR(d);t.loc=e.node.loc,e.replaceWith(t)}),t||(d=null))),{thisBinding:d,fnPath:e}}function MR(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}var BR=dD({CallExpression(e,{supers:t,thisBinding:n}){e.get("callee").isSuper()&&(t.has(e.node)||(t.add(e.node),e.replaceWithMultiple([e.node,QF("=",iR(n),iR("this"))])))}});function FR(e,t,n){const r="binding:"+t;let i=e.getData(r);if(!i){const s=e.scope.generateUidIdentifier(t);i=s.name,e.setData(r,i),e.scope.push({id:s,init:n(i)})}return i}var RR=dD({ThisExpression(e,{thisPaths:t}){t.push(e)},JSXIdentifier(e,{thisPaths:t}){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e,{superCalls:t}){e.get("callee").isSuper()&&t.push(e)},MemberExpression(e,{superProps:t}){e.get("object").isSuper()&&t.push(e)},Identifier(e,{argumentsPaths:t}){if(!e.isReferencedIdentifier({name:"arguments"}))return;let n=e.scope;do{if(n.hasOwnBinding("arguments"))return void n.rename("arguments");if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);t.push(e)},MetaProperty(e,{newTargetPaths:t}){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&t.push(e)}});var jR={"ReferencedIdentifier|BindingIdentifier"(e,t){e.node.name===t.name&&(t.needsRename=!0,e.stop())},Scope(e,t){e.scope.hasOwnBinding(t.name)&&e.skip()}};var{STATEMENT_OR_BLOCK_KEYS:UR,VISITOR_KEYS:qR,isBlockStatement:$R,isExpression:JR,isIdentifier:VR,isLiteral:KR,isStringLiteral:WR,isType:XR,matchesPattern:HR}=at;function zR(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function YR(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function GR(e,t){for(let n=0;n<t;n++){const t=e[n];if(YR(t.parent.type,t.parentKey))return!0}return!1}var QR=Symbol();function ZR(e,t,n){const r={this:zR(e),target:zR(t)};if(r.target.node!==r.this.node)return function(e,t,n){let r,i=n.get(e.node);if(i){if(r=i.get(t.node))return r===QR?"unknown":r}else n.set(e.node,i=new Map);i.set(t.node,QR);const s=function(e,t,n){if(!t.isFunctionDeclaration())return"before"===ZR(e,t,n)?"before":"unknown";if(t.parentPath.isExportDeclaration())return"unknown";const r=t.scope.getBinding(t.node.id.name);if(!r.references)return"before";const i=r.referencePaths;let s;for(const r of i){if(!!r.find(e=>e.node===t.node))continue;if("callee"!==r.key||!r.parentPath.isCallExpression())return"unknown";const i=ZR(e,r,n);if(s&&s!==i)return"unknown";s=i}return s}(e,t,n);return i.set(t.node,s),s}(e,r.target,n);const i={target:t.getAncestry(),this:e.getAncestry()};if(i.target.includes(e))return"after";if(i.this.includes(t))return"before";let s;const a={target:0,this:0};for(;!s&&a.this<i.this.length;){const e=i.this[a.this];a.target=i.target.indexOf(e),a.target>=0?s=e:a.this++}if(!s)throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");if(GR(i.this,a.this-1)||GR(i.target,a.target-1))return"unknown";const o={this:i.this[a.this-1],target:i.target[a.target-1]};if(o.target.listKey&&o.this.listKey&&o.target.container===o.this.container)return o.target.key>o.this.key?"before":"after";const u=qR[s.type],c=u.indexOf(o.this.parentKey);return u.indexOf(o.target.parentKey)>c?"before":"after"}function ej(e,t){if(!t?.includes(this))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const n=this.scope.getBinding(this.node.name);if(!n)return;if(!n.constant)return;if("module"===n.kind)return;if(n.path!==this){const r=n.path.resolve(e,t);if(this.find(e=>e.node===r.node))return;return r}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const n=this.toComputedKey();if(!KR(n))return;const r=n.value,i=this.get("object").resolve(e,t);if(i.isObjectExpression()){const n=i.get("properties");for(const i of n){if(!i.isProperty())continue;const n=i.get("key");let s=i.isnt("computed")&&n.isIdentifier({name:r});if(s=s||n.isLiteral({value:r}),s)return i.get("value").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+r)){const n=i.get("elements")[r];if(n)return n.resolve(e,t)}}}}var{getAssignmentIdentifiers:tj,getBindingIdentifiers:nj,getOuterBindingIdentifiers:rj,numericLiteral:ij,unaryExpression:sj}=at;function aj(e,t,n){return e&&t.push(...lj(e,n)),t}function oj(e){e.forEach(e=>{e.type=1})}function uj(e,t){e.forEach(e=>{e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(sj("void",ij(0))):e.path.remove())})}function cj(e,t){const n=[];if(t.canHaveBreak){let r=[];for(let i=0;i<e.length;i++){const s=e[i],a=Object.assign({},t,{inCaseClause:!1});s.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak)?a.shouldPopulateBreak=!0:a.shouldPopulateBreak=!1;const o=lj(s,a);if(o.length>0&&o.every(e=>1===e.type)){r.length>0&&o.every(e=>e.path.isBreakStatement({label:null}))?(oj(r),n.push(...r),r.some(e=>e.path.isDeclaration())&&(n.push(...o),t.shouldPreserveBreak||uj(o,!0)),t.shouldPreserveBreak||uj(o,!1)):(n.push(...o),t.shouldPopulateBreak||t.shouldPreserveBreak||uj(o,!0));break}if(i===e.length-1)n.push(...o);else{r=[];for(let e=0;e<o.length;e++){const t=o[e];1===t.type&&n.push(t),0===t.type&&r.push(t)}}}}else if(e.length)for(let r=e.length-1;r>=0;r--){const i=lj(e[r],t);if(i.length>1||1===i.length&&!i[0].path.isVariableDeclaration()&&!i[0].path.isEmptyStatement()){n.push(...i);break}}return n}function lj(e,t){let n=[];if(e.isIfStatement())n=aj(e.get("consequent"),n,t),n=aj(e.get("alternate"),n,t);else{if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return aj(e.get("body"),n,t);if(e.isProgram()||e.isBlockStatement())return cj(e.get("body"),t);if(e.isFunction())return lj(e.get("body"),t);if(e.isTryStatement())n=aj(e.get("block"),n,t),n=aj(e.get("handler"),n,t);else{if(e.isCatchClause())return aj(e.get("body"),n,t);if(e.isSwitchStatement())return function(e,t,n){let r=[];for(let i=0;i<e.length;i++){const s=lj(e[i],n),a=[],o=[];for(const e of s)0===e.type&&a.push(e),1===e.type&&o.push(e);a.length&&(r=a),t.push(...o)}return t.push(...r),t}(e.get("cases"),n,t);if(e.isSwitchCase())return cj(e.get("consequent"),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0,shouldPreserveBreak:t.shouldPreserveBreak});e.isBreakStatement()?n.push(function(e){return{type:1,path:e}}(e)):n.push(function(e){return{type:0,path:e}}(e))}}return n}function pj(e,t){const n=this.node,r=n[e];return Array.isArray(r)?r.map((i,s)=>Sj.get({listKey:e,parentPath:this,parent:n,container:r,key:s}).setContext(t)):Sj.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function dj(e,t){let n=this;for(const r of e)n="."===r?n.parentPath:Array.isArray(n)?n[r]:n.get(r,t);return n}var{addComment:hj,addComments:fj}=at;function mj(e,t){if(!t?.length)return e;const n=new Set(t);return e.filter(e=>!n.has(e))}var{validate:yj}=at,gj=(0,vO.default)("babel"),bj=1,xj=4,Sj=class e{constructor(e,t){Qe(this,"contexts",[]),Qe(this,"state",null),Qe(this,"opts",null),Qe(this,"_traverseFlags",0),Qe(this,"skipKeys",null),Qe(this,"parentPath",null),Qe(this,"container",null),Qe(this,"listKey",null),Qe(this,"key",null),Qe(this,"node",null),Qe(this,"type",null),Qe(this,"_store",null),this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}get removed(){return(1&this._traverseFlags)>0}set removed(e){e?this._traverseFlags|=1:this._traverseFlags&=-2}get shouldStop(){return(2&this._traverseFlags)>0}set shouldStop(e){e?this._traverseFlags|=2:this._traverseFlags&=-3}get shouldSkip(){return(4&this._traverseFlags)>0}set shouldSkip(e){e?this._traverseFlags|=4:this._traverseFlags&=-5}static get({hub:t,parentPath:n,parent:r,container:i,listKey:s,key:a}){if(!t&&n&&(t=n.hub),!r)throw new Error("To get a node path the parent needs to exist");const o=i[a],u=PD(r,n);let c=u.get(o);return c||(c=new e(t,r),o&&u.set(o,c)),jj.call(c,n,i,s,a),c}getScope(e){return this.isScope()?new AM(this):e}setData(e,t){return null==this.data&&(this.data=Object.create(null)),this.data[e]=t}getData(e,t){null==this.data&&(this.data=Object.create(null));let n=this.data[e];return void 0===n&&void 0!==t&&(n=this.data[e]=t),n}hasNode(){return null!=this.node}buildCodeFrameError(e,t=SyntaxError){return this.hub.buildError(this.node,e,t)}traverse(e,t){Kj(this.node,e,this.scope,t,this)}set(e,t){yj(this.node,e,t),this.node[e]=t}getPathLocation(){const e=[];let t=this;do{let n=t.key;t.inList&&(n=`${t.listKey}[${n}]`),e.unshift(n)}while(t=t.parentPath);return e.join(".")}debug(e){gj.enabled&&gj(`${this.getPathLocation()} ${this.type}: ${e}`)}toString(){return PO(this.node).code}get inList(){return!!this.listKey}set inList(e){e||(this.listKey=null)}get parentKey(){return this.listKey||this.key}},Tj={findParent:function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},find:function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},getFunctionParent:function(){return this.findParent(e=>e.isFunction())},getStatementParent:function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e},getEarliestCommonAncestorFrom:function(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,n){let r;const i=wM[e.type];for(const e of n){const n=e[t+1];if(!r){r=n;continue}if(n.listKey&&r.listKey===n.listKey&&n.key<r.key){r=n;continue}i.indexOf(r.parentKey)>i.indexOf(n.parentKey)&&(r=n)}return r})},getDeepestCommonAncestorFrom:function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let n,r,i=1/0;const s=e.map(e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.length<i&&(i=t.length),t}),a=s[0];e:for(let e=0;e<i;e++){const t=a[e];for(const n of s)if(n[e]!==t)break e;n=e,r=t}if(r)return t?t(r,n,s):r;throw new Error("Couldn't find intersection")},getAncestry:function(){let e=this;const t=[];do{t.push(e)}while(e=e.parentPath);return t},isAncestor:function(e){return e.isDescendant(this)},isDescendant:function(e){return!!this.findParent(t=>t===e)},inType:function(...e){let t=this;for(;t;){if(e.includes(t.node.type))return!0;t=t.parentPath}return!1},getTypeAnnotation:function(){let e=this.getData("typeAnnotation");return null!=e||(e=BB.call(this)||mB(),(_B(e)||CB(e))&&(e=e.typeAnnotation),this.setData("typeAnnotation",e)),e},isBaseType:function(e,t){return FB(e,this.getTypeAnnotation(),t)},couldBeBaseType:function(e){const t=this.getTypeAnnotation();if(yB(t))return!0;if(NB(t)){for(const n of t.types)if(yB(n)||FB(e,n,!0))return!0;return!1}return FB(e,t,!0)},baseTypeStrictlyMatches:function(e){const t=this.getTypeAnnotation(),n=e.getTypeAnnotation();return!(yB(t)||!SB(t))&&n.type===t.type},isGenericType:function(e){const t=this.getTypeAnnotation();return!("Array"!==e||!(wB(t)||gB(t)||IB(t)))||(TB(t)&&EB(t.id,{name:e})||kB(t)&&EB(t.typeName,{name:e}))},replaceWithMultiple:function(e){Oj.call(this);const t=dF.call(this,e);AF(t[0],this.node),wF(t[t.length-1],this.node),ED(this)?.delete(this.node),this.node=this.container[this.key]=null;const n=this.insertAfter(e);return this.node?this.requeue():this.remove(),n},replaceWithSourceString:function(e){let t;Oj.call(this);try{t=Vk(e=`(${e})`)}catch(t){const n=t.loc;throw n&&(t.message+=" - make sure this is an expression.\n"+oI(e,{start:{line:n.line,column:n.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}const n=t.program.body[0].expression;return Kj.removeProperties(n),this.replaceWith(n)},replaceWith:function(e){if(Oj.call(this),this.removed)throw new Error("You can't replace this node, we've already removed it");let t=e instanceof Sj?e.node:e;if(!t)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===t)return[this];if(this.isProgram()&&!OF(t))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(t))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof t)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let n="";if(this.isNodeType("Statement")&&_F(t)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(t)||this.parentPath.isExportDefaultDeclaration()||(t=EF(t),n="expression")),this.isNodeType("Expression")&&DF(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);const r=this.node;return r&&(CF(t,r),BF(r)),qF.call(this,t),this.type=t.type,Lj.call(this),this.requeue(),[n?this.get(n):this]},replaceExpressionWithStatements:function(e){Oj.call(this);const t=[],n=$F(e,t);if(n){for(const e of t)this.scope.push({id:e});return this.replaceWith(n)[0].get("expressions")}const r=this.getFunctionParent(),i=r?.node.async,s=r?.node.generator,a=fF([],gF(e));this.replaceWith(xF(a,[]));const o=this.get("callee");o.get("body").scope.hoistVariables(e=>this.scope.push({id:e}));const u=o.getCompletionRecords();for(const e of u){if(!e.isExpressionStatement())continue;const t=e.findParent(e=>e.isLoop());if(t){let n=t.getData("expressionReplacementReturnUid");n?n=vF(n.name):(n=o.scope.generateDeclaredUidIdentifier("ret"),o.get("body").pushContainer("body",FF(SF(n))),t.setData("expressionReplacementReturnUid",n)),e.get("expression").replaceWith(mF("=",SF(n),e.node.expression))}else e.replaceWith(FF(e.node.expression))}o.arrowFunctionToExpression();const c=o,l=i&&Kj.hasType(this.get("callee.body").node,"AwaitExpression",hF),p=s&&Kj.hasType(this.get("callee.body").node,"YieldExpression",hF);return l&&(c.set("async",!0),p||this.replaceWith(yF(this.node))),p&&(c.set("generator",!0),this.replaceWith(UF(this.node,!0))),c.get("body.body")},replaceInline:function(e){if(Oj.call(this),Array.isArray(e)){if(Array.isArray(this.container)){e=dF.call(this,e);const t=uF.call(this,e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)},evaluateTruthy:function(){const e=this.evaluate();if(e.confident)return!!e.value},evaluate:function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=zF(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}},toComputedKey:function(){let e;if(this.isMemberExpression())e=this.node.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");e=this.node.key}return this.node.computed||sR(e)&&(e=gR(e.name)),e},ensureBlock:function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can't convert array path to a block statement");if(!t)throw new Error("Can't convert node without a body");if(e.isBlockStatement())return t;const n=[];let r,i,s="body";e.isStatement()?(i="body",r=0,n.push(e.node)):(s+=".body.0",this.isFunction()?(r="argument",n.push(fR(e.node))):(r="expression",n.push(rR(e.node)))),this.node.body=eR(n);const a=this.get(s);return jj.call(e,a,i?a.node[i]:a.node,i,r),this.node},unwrapFunctionEnvironment:function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");DR(this)},arrowFunctionToExpression:function({allowInsertArrow:e=!0,allowInsertArrowWithRest:t=e,noNewArrows:n=!0}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");let r=this;n||(r=r.ensureFunctionName(!1)??r);const{thisBinding:i,fnPath:s}=DR(r,n,e,t);if(s.ensureBlock(),function(e,t){e.node.type=t}(s,"FunctionExpression"),!n){const e=i?null:s.scope.generateUidIdentifier("arrowCheckId");return e&&s.parentPath.scope.push({id:e,init:dR([])}),s.get("body").unshiftContainer("body",rR(tR(this.hub.addHelper("newArrowCheck"),[xR(),iR(e?e.name:i)]))),s.replaceWith(tR(cR(s.node,iR("bind")),[e?iR(e.name):xR()])),s.get("callee.object")}return s},splitExportDeclaration:function(){if(!this.isExportDeclaration()||this.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(this.isExportNamedDeclaration()&&this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const e=this.get("declaration");if(this.isExportDefaultDeclaration()){const t=e.isFunctionDeclaration()||e.isClassDeclaration(),n=e.isFunctionExpression()||e.isClassExpression(),r=e.isScope()?e.scope.parent:e.scope;let i=e.node.id,s=!1;i?n&&r.hasBinding(i.name)&&(s=!0,i=r.generateUidIdentifier(i.name)):(s=!0,i=r.generateUidIdentifier("default"),(t||n)&&(e.node.id=CR(i)));const a=t?e.node:kR("var",[IR(CR(i),e.node)]),o=_R(null,[NR(CR(i),iR("default"))]);return this.insertAfter(o),this.replaceWith(a),s&&r.registerDeclaration(this),this}if(this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const t=e.getOuterBindingIdentifiers(),n=Object.keys(t).map(e=>NR(iR(e),iR(e))),r=_R(null,n);return this.insertAfter(r),this.replaceWith(e.node),this},ensureFunctionName:function(e){if(this.node.id)return this;const t=wR(this.node,this.parent);if(null==t)return this;let{name:n}=t;if(!e&&/[\uD800-\uDFFF]/.test(n))return null;if(n.startsWith("get ")||n.startsWith("set "))return null;n=ER(n.replace(/[/ ]/g,"_"));const r=iR(n);LR(r,t.originalNode);const i={needsRename:!1,name:n},{scope:s}=this,a=s.getOwnBinding(n);if(a?"param"===a.kind&&(i.needsRename=!0):(s.parent.hasBinding(n)||s.hasGlobal(n))&&this.traverse(jR,i),!i.needsRename)return this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(s.hasBinding(r.name)&&!s.hasGlobal(r.name))return s.rename(r.name),this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(!PR(this.node))return null;const o=s.generateUidIdentifier(r.name),u=[];for(let e=0,t=function(e){const t=e.params.findIndex(e=>vR(e)||AR(e));return-1===t?e.params.length:t}(this.node);e<t;e++)u.push(s.generateUidIdentifier("x"));const c=QI.expression.ast`
2
2
  (function (${o}) {
3
3
  function ${r}(${u}) {
4
4
  return ${CR(o)}.apply(this, arguments);