java-wrapper.3.2.0.source-code.rosaenlg_tiny_es_ES_3.2.0_comp.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-wrapper Show documentation
Show all versions of java-wrapper Show documentation
Java wrapper around RosaeNLG (JavaScript Natural Language Generation library), using GraalVM
/**
* Bundle of RosaeNLG, for es (with comp)
* Version: 3.2.0
* SPDX-License-Identifier: Apache-2.0
* Copyright 2020, Ludan Stoecklé
* Generated: 2022-01-22
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).rosaenlg_es_ES={})}(this,(function(e){"use strict";console.log("using RosaeNLG (Apache 2.0) version 3.2.0 for es (with comp)");var t="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}var i=r,s=n;function a(e){if(i===setTimeout)return setTimeout(e,0);if((i===r||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}"function"==typeof t.setTimeout&&(i=setTimeout),"function"==typeof t.clearTimeout&&(s=clearTimeout);var o,u=[],l=!1,c=-1;function p(){l&&o&&(l=!1,o.length?u=o.concat(u):c=-1,u.length&&h())}function h(){if(!l){var e=a(p);l=!0;for(var t=u.length;t;){for(o=u,u=[];++c1)for(var r=1;r=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,F=function(e){return I.exec(e).slice(1)};function O(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:"/";if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(e=n+"/"+e,t="/"===n.charAt(0))}return(t?"/":"")+(e=_(L(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function N(e){var t=j(e),r="/"===B(e,-1);return(e=_(L(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function j(e){return"/"===e.charAt(0)}var M={extname:function(e){return F(e)[3]},basename:function(e,t){var r=F(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},dirname:function(e){var t=F(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},sep:"/",delimiter:":",relative:function(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=O(e).substr(1),t=O(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),a=s,o=0;o>18&63]+R[i>>12&63]+R[i>>6&63]+R[63&i]);return s.join("")}function X(e){var t;z||W();for(var r=e.length,n=r%3,i="",s=[],a=16383,o=0,u=r-n;ou?u:o+a));return 1===n?(t=e[r-1],i+=R[t>>2],i+=R[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=R[t>>10],i+=R[t>>4&63],i+=R[t<<2&63],i+="="),s.push(i),s.join("")}function J(e,t,r,n,i){var s,a,o=8*i-n-1,u=(1<>1,c=-7,p=r?i-1:0,h=r?-1:1,d=e[t+p];for(p+=h,s=d&(1<<-c)-1,d>>=-c,c+=o;c>0;s=256*s+e[t+p],p+=h,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+e[t+p],p+=h,c-=8);if(0===s)s=1-l;else{if(s===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),s-=l}return(d?-1:1)*a*Math.pow(2,s-n)}function $(e,t,r,n,i,s){var a,o,u,l=8*s-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,f=n?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=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=c?(o=0,a=c):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[r+d]=255&o,d+=f,o/=256,i-=8);for(a=a<0;e[r+d]=255&a,d+=f,a/=256,l-=8);e[r+d-f]|=128*m}var K={}.toString,Y=Array.isArray||function(e){return"[object Array]"==K.call(e)};function H(){return Q.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function G(e,t){if(H()=H())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+H().toString(16)+" bytes");return 0|e}function ie(e){return!(null==e||!e._isBuffer)}function se(e,t){if(ie(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 r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Fe(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Oe(e).length;default:if(n)return Fe(e).length;t=(""+t).toLowerCase(),n=!0}}function ae(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ee(this,t,r);case"utf8":case"utf-8":return ge(this,t,r);case"ascii":return ve(this,t,r);case"latin1":case"binary":return xe(this,t,r);case"base64":return ye(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return De(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function oe(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function ue(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=Q.from(t,n)),ie(t))return 0===t.length?-1:le(e,t,r,n,i);if("number"==typeof t)return t&=255,Q.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):le(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function le(e,t,r,n,i){var s,a=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(s=r;so&&(r=o-u),s=r;s>=0;s--){for(var p=!0,h=0;hi&&(n=i):n=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");n>s/2&&(n=s/2);for(var a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function ye(e,t,r){return 0===t&&r===e.length?X(e):X(e.slice(t,r))}function ge(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+p<=r)switch(p){case 1:l<128&&(c=l);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&l)<<6|63&s)>127&&(c=u);break;case 3:s=e[i+1],a=e[i+2],128==(192&s)&&128==(192&a)&&(u=(15&l)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=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&l)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(c=u)}null===c?(c=65533,p=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=p}return function(e){var t=e.length;if(t<=be)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},Q.prototype.compare=function(e,t,r,n,i){if(!ie(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),o=Math.min(s,a),u=this.slice(n,i),l=e.slice(t,r),c=0;ci)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return ce(this,e,t,r);case"utf8":case"utf-8":return pe(this,e,t,r);case"ascii":return he(this,e,t,r);case"latin1":case"binary":return de(this,e,t,r);case"base64":return fe(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},Q.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var be=4096;function ve(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",s=t;sr)throw new RangeError("Trying to access beyond buffer length")}function Te(e,t,r,n,i,s){if(!ie(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Ae(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Pe(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function we(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ce(e,t,r,n,i){return i||we(e,0,r,4),$(e,t,r,n,23,4),r+4}function ke(e,t,r,n,i){return i||we(e,0,r,8),$(e,t,r,n,52,8),r+8}Q.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},Q.prototype.readUInt8=function(e,t){return t||Se(e,1,this.length),this[e]},Q.prototype.readUInt16LE=function(e,t){return t||Se(e,2,this.length),this[e]|this[e+1]<<8},Q.prototype.readUInt16BE=function(e,t){return t||Se(e,2,this.length),this[e]<<8|this[e+1]},Q.prototype.readUInt32LE=function(e,t){return t||Se(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Q.prototype.readUInt32BE=function(e,t){return t||Se(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Q.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Se(e,t,this.length);for(var n=this[e],i=1,s=0;++s=(i*=128)&&(n-=Math.pow(2,8*t)),n},Q.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Se(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},Q.prototype.readInt8=function(e,t){return t||Se(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Q.prototype.readInt16LE=function(e,t){t||Se(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Q.prototype.readInt16BE=function(e,t){t||Se(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Q.prototype.readInt32LE=function(e,t){return t||Se(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Q.prototype.readInt32BE=function(e,t){return t||Se(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Q.prototype.readFloatLE=function(e,t){return t||Se(e,4,this.length),J(this,e,!0,23,4)},Q.prototype.readFloatBE=function(e,t){return t||Se(e,4,this.length),J(this,e,!1,23,4)},Q.prototype.readDoubleLE=function(e,t){return t||Se(e,8,this.length),J(this,e,!0,52,8)},Q.prototype.readDoubleBE=function(e,t){return t||Se(e,8,this.length),J(this,e,!1,52,8)},Q.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||Te(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+i]=e/s&255;return t+r},Q.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,1,255,0),Q.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Q.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,2,65535,0),Q.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ae(this,e,t,!0),t+2},Q.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,2,65535,0),Q.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ae(this,e,t,!1),t+2},Q.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,4,4294967295,0),Q.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Pe(this,e,t,!0),t+4},Q.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,4,4294967295,0),Q.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Pe(this,e,t,!1),t+4},Q.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Te(this,e,t,r,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+r},Q.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Te(this,e,t,r,i-1,-i)}var s=r-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+r},Q.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,1,127,-128),Q.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Q.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,2,32767,-32768),Q.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ae(this,e,t,!0),t+2},Q.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,2,32767,-32768),Q.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ae(this,e,t,!1),t+2},Q.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,4,2147483647,-2147483648),Q.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Pe(this,e,t,!0),t+4},Q.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Q.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Pe(this,e,t,!1),t+4},Q.prototype.writeFloatLE=function(e,t,r){return Ce(this,e,t,!0,r)},Q.prototype.writeFloatBE=function(e,t,r){return Ce(this,e,t,!1,r)},Q.prototype.writeDoubleLE=function(e,t,r){return ke(this,e,t,!0,r)},Q.prototype.writeDoubleBE=function(e,t,r){return ke(this,e,t,!1,r)},Q.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(s<1e3||!Q.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(s=t;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function Oe(e){return function(e){var t,r,n,i,s,a;z||W();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 V(3*o/4-s),n=s>0?o-4:o;var u=0;for(t=0,r=0;t>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=U[e.charCodeAt(t)]<<2|U[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=U[e.charCodeAt(t)]<<10|U[e.charCodeAt(t+1)]<<4|U[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(_e,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Ne(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function je(e){return null!=e&&(!!e._isBuffer||Me(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Me(e.slice(0,0))}(e))}function Me(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var Le="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e};function Be(e,t){var r={seen:[],stylize:Ue};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),qe(t)?r.showHidden=t:t&&tt(r,t),$e(r.showHidden)&&(r.showHidden=!1),$e(r.depth)&&(r.depth=2),$e(r.colors)&&(r.colors=!1),$e(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Re),Ve(r,e,r.depth)}function Re(e,t){var r=Be.styles[t];return r?"["+Be.colors[r][0]+"m"+e+"["+Be.colors[r][1]+"m":e}function Ue(e,t){return e}function Ve(e,t,r){if(e.customInspect&&t&&Qe(t.inspect)&&t.inspect!==Be&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Je(n)||(n=Ve(e,n,r)),n}var i=function(e,t){if($e(t))return e.stylize("undefined","undefined");if(Je(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(n=t,"number"==typeof n)return e.stylize(""+t,"number");var n;if(qe(t))return e.stylize(""+t,"boolean");if(Xe(t))return e.stylize("null","null")}(e,t);if(i)return i;var s=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(t)),Ge(t)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return ze(t);if(0===s.length){if(Qe(t)){var o=t.name?": "+t.name:"";return e.stylize("[Function"+o+"]","special")}if(Ke(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(He(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Ge(t))return ze(t)}var u,l,c="",p=!1,h=["{","}"];(u=t,Array.isArray(u)&&(p=!0,h=["[","]"]),Qe(t))&&(c=" [Function"+(t.name?": "+t.name:"")+"]");return Ke(t)&&(c=" "+RegExp.prototype.toString.call(t)),He(t)&&(c=" "+Date.prototype.toUTCString.call(t)),Ge(t)&&(c=" "+ze(t)),0!==s.length||p&&0!=t.length?r<0?Ke(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=p?function(e,t,r,n,i){for(var s=[],a=0,o=t.length;a60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,c,h)):h[0]+c+h[1]}function ze(e){return"["+Error.prototype.toString.call(e)+"]"}function We(e,t,r,n,i,s){var a,o,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?o=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(o=e.stylize("[Setter]","special")),rt(n,i)||(a="["+i+"]"),o||(e.seen.indexOf(u.value)<0?(o=Xe(r)?Ve(e,u.value,null):Ve(e,u.value,r-1)).indexOf("\n")>-1&&(o=s?o.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+o.split("\n").map((function(e){return" "+e})).join("\n")):o=e.stylize("[Circular]","special")),$e(a)){if(s&&i.match(/^\d+$/))return o;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function qe(e){return"boolean"==typeof e}function Xe(e){return null===e}function Je(e){return"string"==typeof e}function $e(e){return void 0===e}function Ke(e){return Ye(e)&&"[object RegExp]"===et(e)}function Ye(e){return"object"==typeof e&&null!==e}function He(e){return Ye(e)&&"[object Date]"===et(e)}function Ge(e){return Ye(e)&&("[object Error]"===et(e)||e instanceof Error)}function Qe(e){return"function"==typeof e}function Ze(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function et(e){return Object.prototype.toString.call(e)}function tt(e,t){if(!t||!Ye(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}function rt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nt(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,s=Math.min(r,n);i=0){var a=n.indexOf("\n",s+1);n=n.substring(a+1)}this.stack=n}}}function mt(e,t){return"string"==typeof e?e.length=0;o--)if(u[o]!==l[o])return!1;for(o=u.length-1;o>=0;o--)if(!vt(e[a=u[o]],t[a],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function xt(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function Et(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function Dt(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&>(i,r,"Missing expected exception"+n);var s="string"==typeof n,a=!e&&i&&!r;if((!e&&Ge(i)&&s&&Et(i,r)||a)&>(i,r,"Got unwanted exception"+n),e&&i&&r&&!Et(i,r)||!e&&i)throw i}pt.AssertionError=ft,Le(ft,Error),pt.fail=gt,pt.ok=bt,pt.equal=function e(t,r,n){t!=r&>(t,r,n,"==",e)},pt.notEqual=function e(t,r,n){t==r&>(t,r,n,"!=",e)},pt.deepEqual=function e(t,r,n){vt(t,r,!1)||gt(t,r,n,"deepEqual",e)},pt.deepStrictEqual=function e(t,r,n){vt(t,r,!0)||gt(t,r,n,"deepStrictEqual",e)},pt.notDeepEqual=function e(t,r,n){vt(t,r,!1)&>(t,r,n,"notDeepEqual",e)},pt.notDeepStrictEqual=function e(t,r,n){vt(t,r,!0)&>(t,r,n,"notDeepStrictEqual",e)},pt.strictEqual=function e(t,r,n){t!==r&>(t,r,n,"===",e)},pt.notStrictEqual=function e(t,r,n){t===r&>(t,r,n,"!==",e)},pt.throws=function(e,t,r){Dt(!0,e,t,r)},pt.doesNotThrow=function(e,t,r){Dt(!1,e,t,r)},pt.ifError=function(e){if(e)throw e};var St={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Tt="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",At={5:Tt,"5module":Tt+" export import",6:Tt+" const class extends export import super"},Pt=/^in(stanceof)?$/,wt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ct="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",kt=new RegExp("["+wt+"]"),_t=new RegExp("["+wt+Ct+"]");wt=Ct=null;var It=[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,157,310,10,21,11,7,153,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,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,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,85,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,159,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,230,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,35,56,264,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,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,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,2357,44,11,6,17,0,370,43,1301,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,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Ft=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,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,406,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,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,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,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Ot(e,t){for(var r=65536,n=0;ne)return!1;if((r+=t[n+1])>=e)return!0}}function Nt(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&kt.test(String.fromCharCode(e)):!1!==t&&Ot(e,It)))}function jt(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&_t.test(String.fromCharCode(e)):!1!==t&&(Ot(e,It)||Ot(e,Ft)))))}var Mt=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Lt(e,t){return new Mt(e,{beforeExpr:!0,binop:t})}var Bt={beforeExpr:!0},Rt={startsExpr:!0},Ut={};function Vt(e,t){return void 0===t&&(t={}),t.keyword=e,Ut[e]=new Mt(e,t)}var zt={num:new Mt("num",Rt),regexp:new Mt("regexp",Rt),string:new Mt("string",Rt),name:new Mt("name",Rt),eof:new Mt("eof"),bracketL:new Mt("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Mt("]"),braceL:new Mt("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Mt("}"),parenL:new Mt("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Mt(")"),comma:new Mt(",",Bt),semi:new Mt(";",Bt),colon:new Mt(":",Bt),dot:new Mt("."),question:new Mt("?",Bt),questionDot:new Mt("?."),arrow:new Mt("=>",Bt),template:new Mt("template"),invalidTemplate:new Mt("invalidTemplate"),ellipsis:new Mt("...",Bt),backQuote:new Mt("`",Rt),dollarBraceL:new Mt("${",{beforeExpr:!0,startsExpr:!0}),eq:new Mt("=",{beforeExpr:!0,isAssign:!0}),assign:new Mt("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Mt("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Mt("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Lt("||",1),logicalAND:Lt("&&",2),bitwiseOR:Lt("|",3),bitwiseXOR:Lt("^",4),bitwiseAND:Lt("&",5),equality:Lt("==/!=/===/!==",6),relational:Lt(">/<=/>=",7),bitShift:Lt("<>>/>>>",8),plusMin:new Mt("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Lt("%",10),star:Lt("*",10),slash:Lt("/",10),starstar:new Mt("**",{beforeExpr:!0}),coalesce:Lt("??",1),_break:Vt("break"),_case:Vt("case",Bt),_catch:Vt("catch"),_continue:Vt("continue"),_debugger:Vt("debugger"),_default:Vt("default",Bt),_do:Vt("do",{isLoop:!0,beforeExpr:!0}),_else:Vt("else",Bt),_finally:Vt("finally"),_for:Vt("for",{isLoop:!0}),_function:Vt("function",Rt),_if:Vt("if"),_return:Vt("return",Bt),_switch:Vt("switch"),_throw:Vt("throw",Bt),_try:Vt("try"),_var:Vt("var"),_const:Vt("const"),_while:Vt("while",{isLoop:!0}),_with:Vt("with"),_new:Vt("new",{beforeExpr:!0,startsExpr:!0}),_this:Vt("this",Rt),_super:Vt("super",Rt),_class:Vt("class",Rt),_extends:Vt("extends",Bt),_export:Vt("export"),_import:Vt("import",Rt),_null:Vt("null",Rt),_true:Vt("true",Rt),_false:Vt("false",Rt),_in:Vt("in",{beforeExpr:!0,binop:7}),_instanceof:Vt("instanceof",{beforeExpr:!0,binop:7}),_typeof:Vt("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Vt("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Vt("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Wt=/\r\n?|\n|\u2028|\u2029/,qt=new RegExp(Wt.source,"g");function Xt(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Jt=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,$t=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,Kt=Object.prototype,Yt=Kt.hasOwnProperty,Ht=Kt.toString;function Gt(e,t){return Yt.call(e,t)}var Qt=Array.isArray||function(e){return"[object Array]"===Ht.call(e)};function Zt(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var er=function(e,t){this.line=e,this.column=t};er.prototype.offset=function(e){return new er(this.line,this.column+e)};var tr=function(e,t,r){this.start=t,this.end=r,null!==e.sourceFile&&(this.source=e.sourceFile)};function rr(e,t){for(var r=1,n=0;;){qt.lastIndex=n;var i=qt.exec(e);if(!(i&&i.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),Qt(t.onToken)){var n=t.onToken;t.onToken=function(e){return n.push(e)}}return Qt(t.onComment)&&(t.onComment=function(e,t){return function(r,n,i,s,a,o){var u={type:r?"Block":"Line",value:n,start:i,end:s};e.locations&&(u.loc=new tr(this,a,o)),e.ranges&&(u.range=[i,s]),t.push(u)}}(t,t.onComment)),t}function sr(e,t){return 2|(e?4:0)|(t?8:0)}var ar=function(e,t,r){this.options=e=ir(e),this.sourceFile=e.sourceFile,this.keywords=Zt(At[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var n="";if(!0!==e.allowReserved){for(var i=e.ecmaVersion;!(n=St[i]);i--);"module"===e.sourceType&&(n+=" await")}this.reservedWords=Zt(n);var s=(n?n+" ":"")+St.strict;this.reservedWordsStrict=Zt(s),this.reservedWordsStrictBind=Zt(s+" "+St.strictBind),this.input=String(t),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Wt).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=zt.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},or={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};ar.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},or.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},or.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},or.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},or.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},or.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},or.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},ar.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},ar.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var r=this,n=0;n=,?^&]/.test(i)||"!"===i&&"="===this.input.charAt(n+1))}e+=t[0].length,$t.lastIndex=e,e+=$t.exec(this.input)[0].length,";"===this.input[e]&&e++}},ur.eat=function(e){return this.type===e&&(this.next(),!0)},ur.isContextual=function(e){return this.type===zt.name&&this.value===e&&!this.containsEsc},ur.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},ur.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ur.canInsertSemicolon=function(){return this.type===zt.eof||this.type===zt.braceR||Wt.test(this.input.slice(this.lastTokEnd,this.start))},ur.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ur.semicolon=function(){this.eat(zt.semi)||this.insertSemicolon()||this.unexpected()},ur.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ur.expect=function(e){this.eat(e)||this.unexpected()},ur.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},ur.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}},ur.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,n=e.doubleProto;if(!t)return r>=0||n>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),n>=0&&this.raiseRecoverable(n,"Redefinition of __proto__ property")},ur.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!e);case zt._class:return e&&this.unexpected(),this.parseClass(s,!0);case zt._if:return this.parseIfStatement(s);case zt._return:return this.parseReturnStatement(s);case zt._switch:return this.parseSwitchStatement(s);case zt._throw:return this.parseThrowStatement(s);case zt._try:return this.parseTryStatement(s);case zt._const:case zt._var:return n=n||this.value,e&&"var"!==n&&this.unexpected(),this.parseVarStatement(s,n);case zt._while:return this.parseWhileStatement(s);case zt._with:return this.parseWithStatement(s);case zt.braceL:return this.parseBlock(!0,s);case zt.semi:return this.parseEmptyStatement(s);case zt._export:case zt._import:if(this.options.ecmaVersion>10&&i===zt._import){$t.lastIndex=this.pos;var a=$t.exec(this.input),o=this.pos+a[0].length,u=this.input.charCodeAt(o);if(40===u||46===u)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===zt._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!e);var l=this.value,c=this.parseExpression();return i===zt.name&&"Identifier"===c.type&&this.eat(zt.colon)?this.parseLabeledStatement(s,l,c,e):this.parseExpressionStatement(s,c)}},pr.parseBreakContinueStatement=function(e,t){var r="break"===t;this.next(),this.eat(zt.semi)||this.insertSemicolon()?e.label=null:this.type!==zt.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var n=0;n=6?this.eat(zt.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},pr.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(hr),this.enterScope(0),this.expect(zt.parenL),this.type===zt.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===zt._var||this.type===zt._const||r){var n=this.startNode(),i=r?"let":this.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),(this.type===zt._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===n.declarations.length?(this.options.ecmaVersion>=9&&(this.type===zt._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,n)):(t>-1&&this.unexpected(t),this.parseFor(e,n))}var s=new cr,a=this.parseExpression(!0,s);return this.type===zt._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===zt._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(a,!1,s),this.checkLVal(a),this.parseForIn(e,a)):(this.checkExpressionErrors(s,!0),t>-1&&this.unexpected(t),this.parseFor(e,a))},pr.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,mr|(r?0:yr),!1,t)},pr.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(zt._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},pr.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(zt.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},pr.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(zt.braceL),this.labels.push(dr),this.enterScope(0);for(var r=!1;this.type!==zt.braceR;)if(this.type===zt._case||this.type===zt._default){var n=this.type===zt._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),n?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(zt.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},pr.parseThrowStatement=function(e){return this.next(),Wt.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var fr=[];pr.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===zt._catch){var t=this.startNode();if(this.next(),this.eat(zt.parenL)){t.param=this.parseBindingAtom();var r="Identifier"===t.param.type;this.enterScope(r?32:0),this.checkLVal(t.param,r?4:2),this.expect(zt.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(zt._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},pr.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},pr.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(hr),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},pr.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},pr.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},pr.parseLabeledStatement=function(e,t,r,n){for(var i=0,s=this.labels;i=0;o--){var u=this.labels[o];if(u.statementStart!==e.start)break;u.statementStart=this.start,u.kind=a}return this.labels.push({name:t,kind:a,statementStart:this.start}),e.body=this.parseStatement(n?-1===n.indexOf("label")?n+"label":n:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},pr.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},pr.parseBlock=function(e,t,r){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(zt.braceL),e&&this.enterScope(0);this.type!==zt.braceR;){var n=this.parseStatement(null);t.body.push(n)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},pr.parseFor=function(e,t){return e.init=t,this.expect(zt.semi),e.test=this.type===zt.semi?null:this.parseExpression(),this.expect(zt.semi),e.update=this.type===zt.parenR?null:this.parseExpression(),this.expect(zt.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},pr.parseForIn=function(e,t){var r=this.type===zt._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)?this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===t.type&&this.raise(t.start,"Invalid left-hand side in for-loop"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(zt.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")},pr.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(zt.eq)?n.init=this.parseMaybeAssign(t):"const"!==r||this.type===zt._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===n.id.type||t&&(this.type===zt._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(zt.comma))break}return e},pr.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?1:2,!1)};var mr=1,yr=2;pr.parseFunction=function(e,t,r,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!n)&&(this.type===zt.star&&t&yr&&this.unexpected(),e.generator=this.eat(zt.star)),this.options.ecmaVersion>=8&&(e.async=!!n),t&mr&&(e.id=4&t&&this.type!==zt.name?null:this.parseIdent(),!e.id||t&yr||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var i=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(sr(e.async,e.generator)),t&mr||(e.id=this.type===zt.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(e,t&mr?"FunctionDeclaration":"FunctionExpression")},pr.parseFunctionParams=function(e){this.expect(zt.parenL),e.params=this.parseBindingList(zt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},pr.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var n=this.startNode(),i=!1;for(n.body=[],this.expect(zt.braceL);this.type!==zt.braceR;){var s=this.parseClassElement(null!==e.superClass);s&&(n.body.push(s),"MethodDefinition"===s.type&&"constructor"===s.kind&&(i&&this.raise(s.start,"Duplicate constructor in the same class"),i=!0))}return this.strict=r,this.next(),e.body=this.finishNode(n,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},pr.parseClassElement=function(e){var t=this;if(this.eat(zt.semi))return null;var r=this.startNode(),n=function(e,n){void 0===n&&(n=!1);var i=t.start,s=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===zt.parenL||n&&t.canInsertSemicolon())||(r.key&&t.unexpected(),r.computed=!1,r.key=t.startNodeAt(i,s),r.key.name=e,t.finishNode(r.key,"Identifier"),!1))};r.kind="method",r.static=n("static");var i=this.eat(zt.star),s=!1;i||(this.options.ecmaVersion>=8&&n("async",!0)?(s=!0,i=this.options.ecmaVersion>=9&&this.eat(zt.star)):n("get")?r.kind="get":n("set")&&(r.kind="set")),r.key||this.parsePropertyName(r);var a=r.key,o=!1;return r.computed||r.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?r.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==r.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),i&&this.raise(a.start,"Constructor can't be a generator"),s&&this.raise(a.start,"Constructor can't be an async method"),r.kind="constructor",o=e),this.parseClassMethod(r,i,s,o),"get"===r.kind&&0!==r.value.params.length&&this.raiseRecoverable(r.value.start,"getter should have no params"),"set"===r.kind&&1!==r.value.params.length&&this.raiseRecoverable(r.value.start,"setter should have exactly one param"),"set"===r.kind&&"RestElement"===r.value.params[0].type&&this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params"),r},pr.parseClassMethod=function(e,t,r,n){return e.value=this.parseMethod(t,r,n),this.finishNode(e,"MethodDefinition")},pr.parseClassId=function(e,t){this.type===zt.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},pr.parseClassSuper=function(e){e.superClass=this.eat(zt._extends)?this.parseExprSubscripts():null},pr.parseExport=function(e,t){if(this.next(),this.eat(zt.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==zt.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(zt._default)){var r;if(this.checkExport(t,"default",this.lastTokStart),this.type===zt._function||(r=this.isAsyncFunction())){var n=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(n,4|mr,!1,r)}else if(this.type===zt._class){var i=this.startNode();e.declaration=this.parseClass(i,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==zt.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var s=0,a=e.specifiers;s=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var n=0,i=e.properties;n=6)switch(this.type){case zt.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(zt.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case zt.braceL:return this.parseObj(!0)}return this.parseIdent()},gr.parseBindingList=function(e,t,r){for(var n=[],i=!0;!this.eat(e);)if(i?i=!1:this.expect(zt.comma),t&&this.type===zt.comma)n.push(null);else{if(r&&this.afterTrailingComma(e))break;if(this.type===zt.ellipsis){var s=this.parseRestBinding();this.parseBindingListItem(s),n.push(s),this.type===zt.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),n.push(a)}return n},gr.parseBindingListItem=function(e){return e},gr.parseMaybeDefault=function(e,t,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(zt.eq))return r;var n=this.startNodeAt(e,t);return n.left=r,n.right=this.parseMaybeAssign(),this.finishNode(n,"AssignmentPattern")},gr.checkLVal=function(e,t,r){switch(void 0===t&&(t=0),e.type){case"Identifier":2===t&&"let"===e.name&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(t?"Binding ":"Assigning to ")+e.name+" in strict mode"),r&&(Gt(r,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),r[e.name]=!0),0!==t&&5!==t&&this.declareName(e.name,t,e.start);break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":t&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ObjectPattern":for(var n=0,i=e.properties;n=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var n,i=e.key;switch(i.type){case"Identifier":n=i.name;break;case"Literal":n=String(i.value);break;default:return}var s=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===n&&"init"===s&&(t.proto&&(r?r.doubleProto<0&&(r.doubleProto=i.start):this.raiseRecoverable(i.start,"Redefinition of __proto__ property")),t.proto=!0);else{var a=t[n="$"+n];if(a)("init"===s?this.strict&&a.init||a.get||a.set:a.init||a[s])&&this.raiseRecoverable(i.start,"Redefinition of property");else a=t[n]={init:!1,get:!1,set:!1};a[s]=!0}}},br.parseExpression=function(e,t){var r=this.start,n=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===zt.comma){var s=this.startNodeAt(r,n);for(s.expressions=[i];this.eat(zt.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return i},br.parseMaybeAssign=function(e,t,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var n=!1,i=-1,s=-1;t?(i=t.parenthesizedAssign,s=t.trailingComma,t.parenthesizedAssign=t.trailingComma=-1):(t=new cr,n=!0);var a=this.start,o=this.startLoc;this.type!==zt.parenL&&this.type!==zt.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(e,t);if(r&&(u=r.call(this,u,a,o)),this.type.isAssign){var l=this.startNodeAt(a,o);return l.operator=this.value,l.left=this.type===zt.eq?this.toAssignable(u,!1,t):u,n||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=l.left.start&&(t.shorthandAssign=-1),this.checkLVal(u),this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,"AssignmentExpression")}return n&&this.checkExpressionErrors(t,!0),i>-1&&(t.parenthesizedAssign=i),s>-1&&(t.trailingComma=s),u},br.parseMaybeConditional=function(e,t){var r=this.start,n=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(zt.question)){var s=this.startNodeAt(r,n);return s.test=i,s.consequent=this.parseMaybeAssign(),this.expect(zt.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return i},br.parseExprOps=function(e,t){var r=this.start,n=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)||i.start===r&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,r,n,-1,e)},br.parseExprOp=function(e,t,r,n,i){var s=this.type.binop;if(null!=s&&(!i||this.type!==zt._in)&&s>n){var a=this.type===zt.logicalOR||this.type===zt.logicalAND,o=this.type===zt.coalesce;o&&(s=zt.logicalAND.binop);var u=this.value;this.next();var l=this.start,c=this.startLoc,p=this.parseExprOp(this.parseMaybeUnary(null,!1),l,c,s,i),h=this.buildBinary(t,r,e,p,u,a||o);return(a&&this.type===zt.coalesce||o&&(this.type===zt.logicalOR||this.type===zt.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(h,t,r,n,i)}return e},br.buildBinary=function(e,t,r,n,i,s){var a=this.startNodeAt(e,t);return a.left=r,a.operator=i,a.right=n,this.finishNode(a,s?"LogicalExpression":"BinaryExpression")},br.parseMaybeUnary=function(e,t){var r,n=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))r=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),a=this.type===zt.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),a?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,r=this.finishNode(s,a?"UpdateExpression":"UnaryExpression")}else{if(r=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return r;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(n,i);o.operator=this.value,o.prefix=!1,o.argument=r,this.checkLVal(r),this.next(),r=this.finishNode(o,"UpdateExpression")}}return!t&&this.eat(zt.starstar)?this.buildBinary(n,i,r,this.parseMaybeUnary(null,!1),"**",!1):r},br.parseExprSubscripts=function(e){var t=this.start,r=this.startLoc,n=this.parseExprAtom(e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var i=this.parseSubscripts(n,t,r);return e&&"MemberExpression"===i.type&&(e.parenthesizedAssign>=i.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=i.start&&(e.parenthesizedBind=-1)),i},br.parseSubscripts=function(e,t,r,n){for(var i=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&this.potentialArrowAt===e.start,s=!1;;){var a=this.parseSubscript(e,t,r,n,i,s);if(a.optional&&(s=!0),a===e||"ArrowFunctionExpression"===a.type){if(s){var o=this.startNodeAt(t,r);o.expression=a,a=this.finishNode(o,"ChainExpression")}return a}e=a}},br.parseSubscript=function(e,t,r,n,i,s){var a=this.options.ecmaVersion>=11,o=a&&this.eat(zt.questionDot);n&&o&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var u=this.eat(zt.bracketL);if(u||o&&this.type!==zt.parenL&&this.type!==zt.backQuote||this.eat(zt.dot)){var l=this.startNodeAt(t,r);l.object=e,l.property=u?this.parseExpression():this.parseIdent("never"!==this.options.allowReserved),l.computed=!!u,u&&this.expect(zt.bracketR),a&&(l.optional=o),e=this.finishNode(l,"MemberExpression")}else if(!n&&this.eat(zt.parenL)){var c=new cr,p=this.yieldPos,h=this.awaitPos,d=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var f=this.parseExprList(zt.parenR,this.options.ecmaVersion>=8,!1,c);if(i&&!o&&!this.canInsertSemicolon()&&this.eat(zt.arrow))return this.checkPatternErrors(c,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=h,this.awaitIdentPos=d,this.parseArrowExpression(this.startNodeAt(t,r),f,!0);this.checkExpressionErrors(c,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=h||this.awaitPos,this.awaitIdentPos=d||this.awaitIdentPos;var m=this.startNodeAt(t,r);m.callee=e,m.arguments=f,a&&(m.optional=o),e=this.finishNode(m,"CallExpression")}else if(this.type===zt.backQuote){(o||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(t,r);y.tag=e,y.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(y,"TaggedTemplateExpression")}return e},br.parseExprAtom=function(e){this.type===zt.slash&&this.readRegexp();var t,r=this.potentialArrowAt===this.start;switch(this.type){case zt._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),t=this.startNode(),this.next(),this.type!==zt.parenL||this.allowDirectSuper||this.raise(t.start,"super() call outside constructor of a subclass"),this.type!==zt.dot&&this.type!==zt.bracketL&&this.type!==zt.parenL&&this.unexpected(),this.finishNode(t,"Super");case zt._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case zt.name:var n=this.start,i=this.startLoc,s=this.containsEsc,a=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(zt._function))return this.parseFunction(this.startNodeAt(n,i),0,!1,!0);if(r&&!this.canInsertSemicolon()){if(this.eat(zt.arrow))return this.parseArrowExpression(this.startNodeAt(n,i),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===zt.name&&!s)return a=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(zt.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,i),[a],!0)}return a;case zt.regexp:var o=this.value;return(t=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},t;case zt.num:case zt.string:return this.parseLiteral(this.value);case zt._null:case zt._true:case zt._false:return(t=this.startNode()).value=this.type===zt._null?null:this.type===zt._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case zt.parenL:var u=this.start,l=this.parseParenAndDistinguishExpression(r);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=u),e.parenthesizedBind<0&&(e.parenthesizedBind=u)),l;case zt.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(zt.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case zt.braceL:return this.parseObj(!1,e);case zt._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case zt._class:return this.parseClass(this.startNode(),!1);case zt._new:return this.parseNew();case zt.backQuote:return this.parseTemplate();case zt._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},br.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case zt.parenL:return this.parseDynamicImport(e);case zt.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},br.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(zt.parenR)){var t=this.start;this.eat(zt.comma)&&this.eat(zt.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},br.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},br.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},br.parseParenExpression=function(){this.expect(zt.parenL);var e=this.parseExpression();return this.expect(zt.parenR),e},br.parseParenAndDistinguishExpression=function(e){var t,r=this.start,n=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,a=this.start,o=this.startLoc,u=[],l=!0,c=!1,p=new cr,h=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==zt.parenR;){if(l?l=!1:this.expect(zt.comma),i&&this.afterTrailingComma(zt.parenR,!0)){c=!0;break}if(this.type===zt.ellipsis){s=this.start,u.push(this.parseParenItem(this.parseRestBinding())),this.type===zt.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}u.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(zt.parenR),e&&!this.canInsertSemicolon()&&this.eat(zt.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=d,this.parseParenArrowList(r,n,u);u.length&&!c||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(p,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=d||this.awaitPos,u.length>1?((t=this.startNodeAt(a,o)).expressions=u,this.finishNodeAt(t,"SequenceExpression",f,m)):t=u[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(r,n);return y.expression=t,this.finishNode(y,"ParenthesizedExpression")}return t},br.parseParenItem=function(e){return e},br.parseParenArrowList=function(e,t,r){return this.parseArrowExpression(this.startNodeAt(e,t),r)};var vr=[];br.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(zt.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"'new.target' can only be used in functions"),this.finishNode(e,"MetaProperty")}var n=this.start,i=this.startLoc,s=this.type===zt._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),n,i,!0),s&&"ImportExpression"===e.callee.type&&this.raise(n,"Cannot use new with import()"),this.eat(zt.parenL)?e.arguments=this.parseExprList(zt.parenR,this.options.ecmaVersion>=8,!1):e.arguments=vr,this.finishNode(e,"NewExpression")},br.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===zt.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===zt.backQuote,this.finishNode(r,"TemplateElement")},br.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var n=this.parseTemplateElement({isTagged:t});for(r.quasis=[n];!n.tail;)this.type===zt.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(zt.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(zt.braceR),r.quasis.push(n=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")},br.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===zt.name||this.type===zt.num||this.type===zt.string||this.type===zt.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===zt.star)&&!Wt.test(this.input.slice(this.lastTokEnd,this.start))},br.parseObj=function(e,t){var r=this.startNode(),n=!0,i={};for(r.properties=[],this.next();!this.eat(zt.braceR);){if(n)n=!1;else if(this.expect(zt.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(zt.braceR))break;var s=this.parseProperty(e,t);e||this.checkPropClash(s,i,t),r.properties.push(s)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},br.parseProperty=function(e,t){var r,n,i,s,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(zt.ellipsis))return e?(a.argument=this.parseIdent(!1),this.type===zt.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===zt.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,t),this.type===zt.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(e||t)&&(i=this.start,s=this.startLoc),e||(r=this.eat(zt.star)));var o=this.containsEsc;return this.parsePropertyName(a),!e&&!o&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(a)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(zt.star),this.parsePropertyName(a,t)):n=!1,this.parsePropertyValue(a,e,r,n,i,s,t,o),this.finishNode(a,"Property")},br.parsePropertyValue=function(e,t,r,n,i,s,a,o){if((r||n)&&this.type===zt.colon&&this.unexpected(),this.eat(zt.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===zt.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,n);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===zt.comma||this.type===zt.braceR||this.type===zt.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((r||n)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=i),e.kind="init",t?e.value=this.parseMaybeDefault(i,s,e.key):this.type===zt.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,s,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(r||n)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var u="get"===e.kind?0:1;if(e.value.params.length!==u){var l=e.value.start;"get"===e.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},br.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(zt.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(zt.bracketR),e.key;e.computed=!1}return e.key=this.type===zt.num||this.type===zt.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},br.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},br.parseMethod=function(e,t,r){var n=this.startNode(),i=this.yieldPos,s=this.awaitPos,a=this.awaitIdentPos;return this.initFunction(n),this.options.ecmaVersion>=6&&(n.generator=e),this.options.ecmaVersion>=8&&(n.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|sr(t,n.generator)|(r?128:0)),this.expect(zt.parenL),n.params=this.parseBindingList(zt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(n,!1,!0),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=a,this.finishNode(n,"FunctionExpression")},br.parseArrowExpression=function(e,t,r){var n=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;return this.enterScope(16|sr(r,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=n,this.awaitPos=i,this.awaitIdentPos=s,this.finishNode(e,"ArrowFunctionExpression")},br.parseFunctionBody=function(e,t,r){var n=t&&this.type!==zt.braceL,i=this.strict,s=!1;if(n)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);i&&!a||(s=this.strictDirective(this.end))&&a&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],s&&(this.strict=!0),this.checkParams(e,!i&&!s&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,s&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=o}this.exitScope()},br.isSimpleParamList=function(e){for(var t=0,r=e;t-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&1&i.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var s=this.currentScope();n=this.treatFunctionsAsVar?s.lexical.indexOf(e)>-1:s.lexical.indexOf(e)>-1||s.var.indexOf(e)>-1,s.functions.push(e)}else for(var a=this.scopeStack.length-1;a>=0;--a){var o=this.scopeStack[a];if(o.lexical.indexOf(e)>-1&&!(32&o.flags&&o.lexical[0]===e)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(e)>-1){n=!0;break}if(o.var.push(e),this.inModule&&1&o.flags&&delete this.undefinedExports[e],3&o.flags)break}n&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")},Er.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Er.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Er.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},Er.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags&&!(16&t.flags))return t}};var Sr=function(e,t,r){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new tr(e,r)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Tr=ar.prototype;function Ar(e,t,r,n){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=n),this.options.ranges&&(e.range[1]=r),e}Tr.startNode=function(){return new Sr(this,this.start,this.startLoc)},Tr.startNodeAt=function(e,t){return new Sr(this,e,t)},Tr.finishNode=function(e,t){return Ar.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Tr.finishNodeAt=function(e,t,r,n){return Ar.call(this,e,t,r,n)};var Pr=function(e,t,r,n,i){this.token=e,this.isExpr=!!t,this.preserveSpace=!!r,this.override=n,this.generator=!!i},wr={b_stat:new Pr("{",!1),b_expr:new Pr("{",!0),b_tmpl:new Pr("${",!1),p_stat:new Pr("(",!1),p_expr:new Pr("(",!0),q_tmpl:new Pr("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Pr("function",!1),f_expr:new Pr("function",!0),f_expr_gen:new Pr("function",!0,!1,null,!0),f_gen:new Pr("function",!1,!1,null,!0)},Cr=ar.prototype;Cr.initialContext=function(){return[wr.b_stat]},Cr.braceIsBlock=function(e){var t=this.curContext();return t===wr.f_expr||t===wr.f_stat||(e!==zt.colon||t!==wr.b_stat&&t!==wr.b_expr?e===zt._return||e===zt.name&&this.exprAllowed?Wt.test(this.input.slice(this.lastTokEnd,this.start)):e===zt._else||e===zt.semi||e===zt.eof||e===zt.parenR||e===zt.arrow||(e===zt.braceL?t===wr.b_stat:e!==zt._var&&e!==zt._const&&e!==zt.name&&!this.exprAllowed):!t.isExpr)},Cr.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},Cr.updateContext=function(e){var t,r=this.type;r.keyword&&e===zt.dot?this.exprAllowed=!1:(t=r.updateContext)?t.call(this,e):this.exprAllowed=r.beforeExpr},zt.parenR.updateContext=zt.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===wr.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},zt.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?wr.b_stat:wr.b_expr),this.exprAllowed=!0},zt.dollarBraceL.updateContext=function(){this.context.push(wr.b_tmpl),this.exprAllowed=!0},zt.parenL.updateContext=function(e){var t=e===zt._if||e===zt._for||e===zt._with||e===zt._while;this.context.push(t?wr.p_stat:wr.p_expr),this.exprAllowed=!0},zt.incDec.updateContext=function(){},zt._function.updateContext=zt._class.updateContext=function(e){!e.beforeExpr||e===zt.semi||e===zt._else||e===zt._return&&Wt.test(this.input.slice(this.lastTokEnd,this.start))||(e===zt.colon||e===zt.braceL)&&this.curContext()===wr.b_stat?this.context.push(wr.f_stat):this.context.push(wr.f_expr),this.exprAllowed=!1},zt.backQuote.updateContext=function(){this.curContext()===wr.q_tmpl?this.context.pop():this.context.push(wr.q_tmpl),this.exprAllowed=!1},zt.star.updateContext=function(e){if(e===zt._function){var t=this.context.length-1;this.context[t]===wr.f_expr?this.context[t]=wr.f_expr_gen:this.context[t]=wr.f_gen}this.exprAllowed=!0},zt.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==zt.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var kr="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",_r=kr+" Extended_Pictographic",Ir={9:kr,10:_r,11:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic"},Fr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Or="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Nr=Or+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",jr={9:Or,10:Nr,11:"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},Mr={};function Lr(e){var t=Mr[e]={binary:Zt(Ir[e]+" "+Fr),nonBinary:{General_Category:Zt(Fr),Script:Zt(jr[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}Lr(9),Lr(10),Lr(11);var Br=ar.prototype,Rr=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Mr[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ur(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function Vr(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function zr(e){return e>=65&&e<=90||e>=97&&e<=122}function Wr(e){return zr(e)||95===e}function qr(e){return Wr(e)||Xr(e)}function Xr(e){return e>=48&&e<=57}function Jr(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function $r(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function Kr(e){return e>=48&&e<=55}Rr.prototype.reset=function(e,t,r){var n=-1!==r.indexOf("u");this.start=0|e,this.source=t+"",this.flags=r,this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchN=n&&this.parser.options.ecmaVersion>=9},Rr.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},Rr.prototype.at=function(e,t){void 0===t&&(t=!1);var r=this.source,n=r.length;if(e>=n)return-1;var i=r.charCodeAt(e);if(!t&&!this.switchU||i<=55295||i>=57344||e+1>=n)return i;var s=r.charCodeAt(e+1);return s>=56320&&s<=57343?(i<<10)+s-56613888:i},Rr.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var r=this.source,n=r.length;if(e>=n)return n;var i,s=r.charCodeAt(e);return!t&&!this.switchU||s<=55295||s>=57344||e+1>=n||(i=r.charCodeAt(e+1))<56320||i>57343?e+1:e+2},Rr.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},Rr.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Rr.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Rr.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},Br.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,n=0;n-1&&this.raise(e.start,"Duplicate regular expression flag")}},Br.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Br.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1},Br.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Br.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Br.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var n=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return-1!==i&&i=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},Br.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Br.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Br.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!Vr(t)&&(e.lastIntValue=t,e.advance(),!0)},Br.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;-1!==(r=e.current())&&!Vr(r);)e.advance();return e.pos!==t},Br.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},Br.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},Br.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},Br.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Ur(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Ur(e.lastIntValue);return!0}return!1},Br.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,n=e.current(r);return e.advance(r),92===n&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(n=e.lastIntValue),function(e){return Nt(e,!0)||36===e||95===e}(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)},Br.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,n=e.current(r);return e.advance(r),92===n&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(n=e.lastIntValue),function(e){return jt(e,!0)||36===e||95===e||8204===e||8205===e}(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)},Br.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},Br.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1},Br.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},Br.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Br.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Br.regexp_eatZero=function(e){return 48===e.current()&&!Xr(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Br.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},Br.regexp_eatControlLetter=function(e){var t=e.current();return!!zr(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Br.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var r,n=e.pos,i=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var s=e.lastIntValue;if(i&&s>=55296&&s<=56319){var a=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=1024*(s-55296)+(o-56320)+65536,!0}e.pos=a,e.lastIntValue=s}return!0}if(i&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((r=e.lastIntValue)>=0&&r<=1114111))return!0;i&&e.raise("Invalid unicode escape"),e.pos=n}return!1},Br.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},Br.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},Br.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},Br.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,n),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i),!0}return!1},Br.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){Gt(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")},Br.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},Br.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Wr(t=e.current());)e.lastStringValue+=Ur(t),e.advance();return""!==e.lastStringValue},Br.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";qr(t=e.current());)e.lastStringValue+=Ur(t),e.advance();return""!==e.lastStringValue},Br.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Br.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},Br.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;!e.switchU||-1!==t&&-1!==r||e.raise("Invalid character class"),-1!==t&&-1!==r&&t>r&&e.raise("Range out of order in character class")}}},Br.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(99===r||Kr(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var n=e.current();return 93!==n&&(e.lastIntValue=n,e.advance(),!0)},Br.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Br.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!Xr(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},Br.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},Br.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Xr(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t},Br.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Jr(r=e.current());)e.lastIntValue=16*e.lastIntValue+$r(r),e.advance();return e.pos!==t},Br.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*r+e.lastIntValue:e.lastIntValue=8*t+r}else e.lastIntValue=t;return!0}return!1},Br.regexp_eatOctalDigit=function(e){var t=e.current();return Kr(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Br.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var n=0;n>10),56320+(1023&e)))}Hr.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Yr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Hr.getToken=function(){return this.next(),new Yr(this)},"undefined"!=typeof Symbol&&(Hr[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===zt.eof,value:t}}}}),Hr.curContext=function(){return this.context[this.context.length-1]},Hr.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(zt.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Hr.readToken=function(e){return Nt(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Hr.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},Hr.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),r=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations)for(qt.lastIndex=r;(e=qt.exec(this.input))&&e.index8&&e<14||e>=5760&&Jt.test(String.fromCharCode(e))))break e;++this.pos}}},Hr.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},Hr.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(zt.ellipsis)):(++this.pos,this.finishToken(zt.dot))},Hr.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(zt.assign,2):this.finishOp(zt.slash,1)},Hr.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,n=42===e?zt.star:zt.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++r,n=zt.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(zt.assign,r+1):this.finishOp(n,r)},Hr.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(zt.assign,3);return this.finishOp(124===e?zt.logicalOR:zt.logicalAND,2)}return 61===t?this.finishOp(zt.assign,2):this.finishOp(124===e?zt.bitwiseOR:zt.bitwiseAND,1)},Hr.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(zt.assign,2):this.finishOp(zt.bitwiseXOR,1)},Hr.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!Wt.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(zt.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(zt.assign,2):this.finishOp(zt.plusMin,1)},Hr.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(zt.assign,r+1):this.finishOp(zt.bitShift,r)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(r=2),this.finishOp(zt.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Hr.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(zt.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(zt.arrow)):this.finishOp(61===e?zt.eq:zt.prefix,1)},Hr.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(zt.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(zt.assign,3);return this.finishOp(zt.coalesce,2)}}return this.finishOp(zt.question,1)},Hr.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(zt.parenL);case 41:return++this.pos,this.finishToken(zt.parenR);case 59:return++this.pos,this.finishToken(zt.semi);case 44:return++this.pos,this.finishToken(zt.comma);case 91:return++this.pos,this.finishToken(zt.bracketL);case 93:return++this.pos,this.finishToken(zt.bracketR);case 123:return++this.pos,this.finishToken(zt.braceL);case 125:return++this.pos,this.finishToken(zt.braceR);case 58:return++this.pos,this.finishToken(zt.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(zt.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(zt.prefix,1)}this.raise(this.pos,"Unexpected character '"+Qr(e)+"'")},Hr.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},Hr.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var n=this.input.charAt(this.pos);if(Wt.test(n)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===n)t=!0;else if("]"===n&&t)t=!1;else if("/"===n&&!t)break;e="\\"===n}++this.pos}var i=this.input.slice(r,this.pos);++this.pos;var s=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(s);var o=this.regexpState||(this.regexpState=new Rr(this));o.reset(r,i,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var u=null;try{u=new RegExp(i,a)}catch(e){}return this.finishToken(zt.regexp,{pattern:i,flags:a,value:u})},Hr.readInt=function(e,t,r){for(var n=this.options.ecmaVersion>=12&&void 0===t,i=r&&48===this.input.charCodeAt(this.pos),s=this.pos,a=0,o=0,u=0,l=null==t?1/0:t;u=97?c-97+10:c>=65?c-65+10:c>=48&&c<=57?c-48:1/0)>=e)break;o=c,a=a*e+p}}return n&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=t&&this.pos-s!==t?null:a},Hr.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return null==r&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=Gr(this.input.slice(t,this.pos)),++this.pos):Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(zt.num,r)},Hr.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var r=this.pos-t>=2&&48===this.input.charCodeAt(t);r&&this.strict&&this.raise(t,"Invalid number");var n=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&110===n){var i=Gr(this.input.slice(t,this.pos));return++this.pos,Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(zt.num,i)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),46!==n||r||(++this.pos,this.readInt(10),n=this.input.charCodeAt(this.pos)),69!==n&&101!==n||r||(43!==(n=this.input.charCodeAt(++this.pos))&&45!==n||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),Nt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s,a=(s=this.input.slice(t,this.pos),r?parseInt(s,8):parseFloat(s.replace(/_/g,"")));return this.finishToken(zt.num,a)},Hr.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},Hr.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var n=this.input.charCodeAt(this.pos);if(n===e)break;92===n?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):(Xt(n,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(zt.string,t)};var Zr={};Hr.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==Zr)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Hr.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Zr;this.raise(e,t)},Hr.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==zt.template&&this.type!==zt.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(zt.template,e)):36===r?(this.pos+=2,this.finishToken(zt.dollarBraceL)):(++this.pos,this.finishToken(zt.backQuote));if(92===r)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Xt(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Hr.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(n,8);return i>255&&(n=n.slice(0,-1),i=parseInt(n,8)),this.pos+=n.length-1,t=this.input.charCodeAt(this.pos),"0"===n&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-n.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return Xt(t)?"":String.fromCharCode(t)}},Hr.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return null===r&&this.invalidStringToken(t,"Bad character escape sequence"),r},Hr.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,n=this.options.ecmaVersion>=6;this.pos1&&"boolean"!=typeof t)throw new Dn('"allowMissing" argument must be a boolean');var r=qn(e),n=r.length>0?r[0]:"",i=Xn("%"+n+"%",t),s=i.name,a=i.value,o=!1,u=i.alias;u&&(n=u[0],Rn(r,Bn([0,1],u)));for(var l=1,c=!0;l=r.length){var f=Tn(a,p);a=(c=!!f)&&"get"in f&&!("originalValue"in f.get)?f.get:a[p]}else c=vn(a,p),a=a[p];c&&!o&&(jn[s]=a)}}return a},$n=w((function(e){var t=Jn("%Function.prototype.apply%"),r=Jn("%Function.prototype.call%"),n=Jn("%Reflect.apply%",!0)||bn.call(r,t),i=Jn("%Object.getOwnPropertyDescriptor%",!0),s=Jn("%Object.defineProperty%",!0),a=Jn("%Math.max%");if(s)try{s({},"a",{value:1})}catch(e){s=null}e.exports=function(e){var t=n(bn,r,arguments);if(i&&s){var o=i(t,"length");o.configurable&&s(t,"length",{value:1+a(0,e.length-(arguments.length-1))})}return t};var o=function(){return n(bn,t,arguments)};s?s(e.exports,"apply",{value:o}):e.exports.apply=o})),Kn=$n(Jn("String.prototype.indexOf")),Yn=function(e,t){var r=Jn(e,!!t);return"function"==typeof r&&Kn(e,".prototype.")>-1?$n(r):r},Hn=dn()&&"symbol"==typeof Symbol.toStringTag;if(Hn){An=Yn("Object.prototype.hasOwnProperty"),Pn=Yn("RegExp.prototype.exec"),wn={};var Gn=function(){throw wn};Cn={toString:Gn,valueOf:Gn},"symbol"==typeof Symbol.toPrimitive&&(Cn[Symbol.toPrimitive]=Gn)}var Qn=Yn("Object.prototype.toString"),Zn=Object.getOwnPropertyDescriptor,ei=Hn?function(e){if(!e||"object"!=typeof e)return!1;var t=Zn(e,"lastIndex");if(!(t&&An(t,"value")))return!1;try{Pn(e,Cn)}catch(e){return e===wn}}:function(e){return!(!e||"object"!=typeof e&&"function"!=typeof e)&&"[object RegExp]"===Qn(e)},ti=w((function(e,t){var r=(t=e.exports=s).TOKEN_TYPES={LINE_COMMENT:"//",BLOCK_COMMENT:"/**/",SINGLE_QUOTE:"'",DOUBLE_QUOTE:'"',TEMPLATE_QUOTE:"`",REGEXP:"//g"},n=t.BRACKETS={"(":")","{":"}","[":"]"},i={")":"(","}":"{","]":"["};function s(e,r,n){n=n||{},r=r||t.defaultState();for(var i=n.start||0,s=n.end||e.length,o=i;o=1&&i<=o.split("\n").length){var l=o.split("\n"),c=Math.max(i-3,0),p=Math.min(l.length,i+3),h=l.slice(c,p).map((function(e,t){var r=t+c+1,n=(r==i?" > ":" ")+r+"| ",a=n+e;return r===i&&s>0&&(a+="\n",a+=Array(n.length+s).join("-")+"^"),a})).join("\n");n=(a||"Pug")+":"+u+"\n"+h+"\n\n"+t}else n=(a||"Pug")+":"+u+"\n\n"+t;var d=new Error(n);return d.code="PUG:"+e,d.msg=t,d.line=i,d.column=s,d.filename=a,d.src=o,d.toJSON=function(){return{code:this.code,msg:this.msg,line:this.line,column:this.column,filename:this.filename}},d};function ni(e,t){if(t=t||{},"string"!=typeof e)throw new Error('Expected source code to be a string but got "'+typeof e+'"');if("object"!=typeof t)throw new Error('Expected "options" to be an object but got "'+typeof t+'"');e=e.replace(/^\uFEFF/,""),this.input=e.replace(/\r\n|\r/g,"\n"),this.originalInput=this.input,this.filename=t.filename,this.interpolated=t.interpolated||!1,this.lineno=t.startingLine||1,this.colno=t.startingColumn||1,this.plugins=t.plugins||[],this.yseop=t.yseop,this.indentStack=[0],this.indentRe=null,this.interpolationAllowed=!0,this.whitespaceRe=/[ \n\t]/,this.tokens=[],this.ended=!1}ni.prototype={constructor:ni,error:function(e,t){throw ri(e,t,{line:this.lineno,column:this.colno,filename:this.filename,src:this.originalInput})},assert:function(e,t){e||this.error("ASSERT_FAILED",t)},isExpression:function(e){return ln(e,{throw:!0})},assertExpression:function(e,t){try{return this.callLexerFunction("isExpression",e),!0}catch(e){if(t)return!1;if(!e.loc)throw e;this.incrementLine(e.loc.line-1),this.incrementColumn(e.loc.column);const r="Syntax Error: "+e.message.replace(/ \([0-9]+:[0-9]+\)$/,"");this.error("SYNTAX_ERROR",r)}},assertNestingCorrect:function(e){ti(e).isNesting()&&this.error("INCORRECT_NESTING","Nesting must match on expression `"+e+"`")},tok:function(e,t){const r={type:e,loc:{start:{line:this.lineno,column:this.colno},filename:this.filename}};return void 0!==t&&(r.val=t),r},tokEnd:function(e){return e.loc.end={line:this.lineno,column:this.colno},e},incrementLine:function(e){this.lineno+=e,e&&(this.colno=1)},incrementColumn:function(e){this.colno+=e},consume:function(e){this.input=this.input.substr(e)},scan:function(e,t){let r;if(r=e.exec(this.input)){const e=r[0].length,n=r[1],i=e-(n?n.length:0),s=this.tok(t,n);return this.consume(e),this.incrementColumn(i),s}},scanEndOfLine:function(e,t){let r;if(r=e.exec(this.input)){let e,n,i=0;(e=/^([ ]+)([^ ]*)/.exec(r[0]))&&(i=e[1].length,this.incrementColumn(i));const s=this.input.substr(r[0].length);if(":"===s[0])return this.input=s,n=this.tok(t,r[1]),this.incrementColumn(r[0].length-i),n;if(/^[ \t]*(\n|$)/.test(s))return this.input=s.substr(/^[ \t]*/.exec(s)[0].length),n=this.tok(t,r[1]),this.incrementColumn(r[0].length-i),n}},bracketExpression:function(e){e=e||0;const t=this.input[e];pt("("===t||"{"===t||"["===t,'The start character should be "(", "{" or "["');const r=ti.BRACKETS[t];let n;try{n=ti.parseUntil(this.input,r,{start:e+1})}catch(t){if(void 0!==t.index){let r=t.index,n=this.input.substr(e).indexOf("\n"),i=n+e,s=0;for(;r>i&&-1!==n;)this.incrementLine(1),r-=i+1,s+=i+1,n=i=this.input.substr(s).indexOf("\n");this.incrementColumn(r)}throw"CHARACTER_PARSER:END_OF_STRING_REACHED"===t.code?this.error("NO_END_BRACKET","The end of the string reached with no closing bracket "+r+" found."):"CHARACTER_PARSER:MISMATCHED_BRACKET"===t.code&&this.error("BRACKET_MISMATCH",t.message),t}return n},scanIndentation:function(){let e,t;return this.indentRe?e=this.indentRe.exec(this.input):(t=/^\n(\t*) */,e=t.exec(this.input),e&&!e[1].length&&(t=/^\n( *)/,e=t.exec(this.input)),e&&e[1].length&&(this.indentRe=t)),e},eos:function(){if(!this.input.length){this.interpolated&&this.error("NO_END_BRACKET","End of line was reached with no closing bracket for interpolation.");for(let e=0;this.indentStack[e];e++)this.tokens.push(this.tokEnd(this.tok("outdent")));return this.tokens.push(this.tokEnd(this.tok("eos"))),this.ended=!0,!0}},blank:function(){let e;if(e=/^\n[ \t]*\n/.exec(this.input))return this.consume(e[0].length-1),this.incrementLine(1),!0},comment:function(){let e;if(e=/^\/\/(-)?([^\n]*)/.exec(this.input)){this.consume(e[0].length);const t=this.tok("comment",e[2]);return t.buffer="-"!=e[1],this.yseop&&(t.buffer=!0),this.interpolationAllowed=t.buffer,this.tokens.push(t),this.incrementColumn(e[0].length),this.tokEnd(t),this.callLexerFunction("pipelessText"),!0}},interpolation:function(){if(/^#\{/.test(this.input)){const e=this.bracketExpression(1);this.consume(e.end+1);const t=this.tok("interpolation",e.src);this.tokens.push(t),this.incrementColumn(2),this.assertExpression(e.src);const r=e.src.split("\n"),n=r.length-1;return this.incrementLine(n),this.incrementColumn(r[n].length+1),this.tokEnd(t),!0}},tag:function(){let e;if(e=/^(\w(?:[-:\w]*\w)?)/.exec(this.input)){const t=e[1],r=e[0].length;this.consume(r);const n=this.tok("tag",t);return this.tokens.push(n),this.incrementColumn(r),this.tokEnd(n),!0}},filter:function(e){const t=this.scan(/^:([\w\-]+)/,"filter"),r=e&&e.inInclude;if(t)return this.tokens.push(t),this.incrementColumn(t.val.length),this.tokEnd(t),this.callLexerFunction("attrs"),r||(this.interpolationAllowed=!1,this.callLexerFunction("pipelessText")),!0},doctype:function(){const e=this.scanEndOfLine(/^doctype *([^\n]*)/,"doctype");if(e)return this.tokens.push(this.tokEnd(e)),!0},id:function(){const e=this.scan(/^#([\w-]+)/,"id");if(e)return this.tokens.push(e),this.incrementColumn(e.val.length),this.tokEnd(e),!0;/^#/.test(this.input)&&this.error("INVALID_ID",'"'+/.[^ \t\(\#\.\:]*/.exec(this.input.substr(1))[0]+'" is not a valid ID.')},className:function(){const e=this.scan(/^\.([_a-z0-9\-]*[_a-z][_a-z0-9\-]*)/i,"class");if(e)return this.tokens.push(e),this.incrementColumn(e.val.length),this.tokEnd(e),!0;/^\.[_a-z0-9\-]+/i.test(this.input)&&this.error("INVALID_CLASS_NAME","Class names must contain at least one letter or underscore."),/^\./.test(this.input)&&this.error("INVALID_CLASS_NAME",'"'+/.[^ \t\(\#\.\:]*/.exec(this.input.substr(1))[0]+'" is not a valid class name. Class names can only contain "_", "-", a-z and 0-9, and must contain at least one of "_", or a-z')},endInterpolation:function(){if(this.interpolated&&"]"===this.input[0])return this.input=this.input.substr(1),this.ended=!0,!0},addText:function(e,t,r,n){let i;if(t+r==="")return;r=r||"",n=n||0;let s=this.interpolated?t.indexOf("]"):-1,a=this.interpolationAllowed?t.indexOf("#["):-1,o=this.interpolationAllowed?t.indexOf("\\#["):-1;const u=/(\\)?([#!]){((?:.|\n)*)$/.exec(t),l=this.interpolationAllowed&&u?u.index:1/0;if(-1===s&&(s=1/0),-1===a&&(a=1/0),-1===o&&(o=1/0),o!==1/0&∨)this.indentStack[1]this.indentStack[0]){this.tokens.push(this.tokEnd(this.tok("start-pipeless-text")));const r=[],n=[];let i,s=0;do{let a=this.input.substr(s+1).indexOf("\n");-1==a&&(a=this.input.length-s-1);const o=this.input.substr(s+1,a),u=this.indentRe.exec("\n"+o),l=u&&u[1].length;if(i=l>=t,n.push(i),i=i||!o.trim(),i)s+=o.length+1,r.push(o.substr(t));else if(l>this.indentStack[0])return this.tokens.pop(),e.call(this,u[1].length)}while(this.input.length-s&&i);for(this.consume(s);0===this.input.length&&""===r[r.length-1];)r.pop();return r.forEach(function(e,r){let i;this.incrementLine(1),0!==r&&(i=this.tok("newline")),n[r]&&this.incrementColumn(t),i&&this.tokens.push(this.tokEnd(i)),this.addText("text",e)}.bind(this)),this.tokens.push(this.tokEnd(this.tok("end-pipeless-text"))),!0}},slash:function(){const e=this.scan(/^\//,"slash");if(e)return this.tokens.push(this.tokEnd(e)),!0},colon:function(){const e=this.scan(/^: +/,":");if(e)return this.tokens.push(this.tokEnd(e)),!0},fail:function(){this.error("UNEXPECTED_TEXT",'unexpected text "'+this.input.substr(0,5)+'"')},callLexerFunction:function(e,...t){const r=[...t],n=[this].concat(r);for(let t=0;t0&&(e.consolidated=r.join(","))}(t);case"Case":case"Filter":case"Mixin":case"Tag":case"InterpolatedTag":case"Item":case"Syn":case"When":case"Code":case"Protect":case"Choosebest":case"Titlecase":case"RecordSaid":case"DeleteSaid":case"RecordValue":case"DeleteValue":case"While":case"Eachz":t.block&&(t.block=e(t.block,r,n,i));break;case"Each":t.block&&(t.block=e(t.block,r,n,i)),t.alternate&&(t.alternate=e(t.alternate,r,n,i));break;case"Conditional":t.consequent&&(t.consequent=e(t.consequent,r,n,i)),t.alternate&&(t.alternate=e(t.alternate,r,n,i));break;case"Include":e(t.block,r,n,i),e(t.file,r,n,i);break;case"Extends":e(t.file,r,n,i);break;case"RawInclude":t.filters=s(t.filters),e(t.file,r,n,i);break;case"Attrs":case"BlockComment":case"Comment":case"Doctype":case"IncludeFilter":case"MixinBlock":case"YieldBlock":case"Text":break;case"FileReference":i.includeDependencies&&t.ast&&e(t.ast,r,n,i);break;default:throw new Error("Unexpected node type "+t.type)}return a.shift(),n&&n(t,o),t};const mi=M;var yi=gi;function gi(e,t){return t=bi(t),e=JSON.parse(JSON.stringify(e)),fi(e,(function(e){if(void 0===e.str&&("Include"===e.type||"RawInclude"===e.type||"JsInclude"===e.type||"Extends"===e.type)){const r=e.file;if("FileReference"!==r.type)throw new Error('Expected file.type to be "FileReference"');let n,i;try{n=t.resolve(r.path,r.filename,t),r.fullPath=n,i=t.read(n,t)}catch(t){throw t.message+="\n at "+e.filename+" line "+e.line,t}"JsInclude"===e.type&&(i="-\n"+i.split(/\r?\n/).map((e=>" "+e)).join("\n"),e.type="Include"),r.str=i,"Extends"!==e.type&&"Include"!==e.type||(r.ast=gi.string(i,on({},t,{filename:n})))}}))}function bi(e){return gi.validateOptions(e),on({resolve:gi.resolve,read:gi.read},e)}function vi(){throw ri.apply(null,arguments)}gi.string=function(e,t){const r=(t=on(bi(t),{src:e})).lex(e,t);return gi(t.parse(r,t),t)},gi.file=function(e,t){const r=(t=on(bi(t),{filename:e})).read(e);return gi.string(r,t)},gi.resolve=function(e,t,r){if("/"!==(e=e.trim())[0]&&!t)throw new Error('the "filename" option is required to use includes and extends with "relative" paths');if("/"===e[0]&&!r.basedir)throw new Error('the "basedir" option is required to use includes and extends with "absolute" paths');return e=mi.join("/"===e[0]?r.basedir:mi.dirname(t.trim()),e)},gi.read=function(e,t){if(t.staticFs){const r=t.staticFs[e]||t.staticFs[e.replace(/\//g,"\\")]||t.staticFs[e.replace(/\\/g,"/")];if(!r){const t=new Error;throw t.name="InvalidArgumentError",t.message=`rosaenlg-pug-load: using file content from staticFs opt but cannot be found for ${e}`,t}return r}return k.readFileSync(e.replace(/\\/g,"/"),"utf8")},gi.validateOptions=function(e){if("object"!=typeof e)throw new TypeError("options must be an object");if("function"!=typeof e.lex)throw new TypeError("options.lex must be a function");if("function"!=typeof e.parse)throw new TypeError("options.parse must be a function");if(e.resolve&&"function"!=typeof e.resolve)throw new TypeError("options.resolve must be a function");if(e.read&&"function"!=typeof e.read)throw new TypeError("options.read must be a function")};var xi=Ei;function Ei(e){pt("Block"===e.type,"The top level element should always be a block");var t=null;if(e.nodes.length){var r="Extends"===e.nodes[0].type;!function(e,t){var r=!1;fi(e,(function(e){"Extends"===e.type&&(t&&!r?r=!0:vi("EXTENDS_NOT_FIRST",'Declaration of template inheritance ("extends") should be the first thing in the file. There can only be one extends statement per file.',e))}))}(e,r),r&&(t=e.nodes.shift())}if((e=function(e,t){return fi(e,(function(e,t){"RawInclude"===e.type&&t({type:"Text",val:e.file.str.replace(/\r/g,"")})}),(function(e,t){if("Include"===e.type){var r=Ei(e.file.ast);r.hasExtends&&(r=function(e){return fi(e,(function(e,t){"NamedBlock"===e.type&&t({type:"Block",nodes:e.nodes})}))}(r)),t(function(e,t){if(!t||!t.nodes.length)return e;var r=!1;function n(e){var t=e;for(const r of e.nodes)r.textOnly||("Block"===r.type?t=n(r):r.block&&r.block.nodes.length&&(t=n(r.block)));return t}e=fi(e,null,(function(e,n){"YieldBlock"===e.type&&(r=!0,e.type="Block",e.nodes=[t])})),r||n(e).nodes.push(t);return e}(r,e.block))}}))}(e)).declaredBlocks=function(e){var t={};return fi(e,(function(e){"NamedBlock"===e.type&&"replace"===e.mode&&(t[e.name]=t[e.name]||[],t[e.name].push(e))})),t}(e),t){var n=[],i=[];e.nodes.forEach((function e(t){"NamedBlock"===t.type?i.push(t):"Block"===t.type?t.nodes.forEach(e):"Mixin"===t.type&&!1===t.call?n.push(t):vi("UNEXPECTED_NODES_IN_EXTENDING_ROOT","Only named blocks and mixins can appear at the top level of an extending template",t)}));var s=Ei(t.file.ast);!function(e,t){var r={};fi(t,(function(t){if("NamedBlock"===t.type){if(r[t.name]===t.name)return t.ignore=!0;r[t.name]=t.name;var n=e[t.name]?Di(e[t.name]):[];n.length&&(t.parents=n,n.forEach((function(e){switch(t.mode){case"append":e.nodes=e.nodes.concat(t.nodes);break;case"prepend":e.nodes=t.nodes.concat(e.nodes);break;case"replace":e.nodes=t.nodes}})))}}),(function(e){"NamedBlock"!==e.type||e.ignore||delete r[e.name]}))}(s.declaredBlocks,e);var a=[];return fi(s,(function(e){"NamedBlock"===e.type&&a.push(e.name)})),i.forEach((function(e){-1===a.indexOf(e.name)&&vi("UNEXPECTED_BLOCK","Unexpected block "+e.name,e)})),Object.keys(e.declaredBlocks).forEach((function(t){s.declaredBlocks[t]=e.declaredBlocks[t]})),s.nodes=n.concat(s.nodes),s.hasExtends=!0,s}return e}function Di(e,t){return t=t||[],e.forEach((function(e){e.parents&&Di(e.parents,t),t.push(e)})),t}var Si={html:"",xml:'',transitional:'',strict:'',frameset:'',1.1:'',basic:'',mobile:'',plist:''},Ti={has_own_property:[],merge:["style"],classes_array:["classes","escape"],classes_object:["has_own_property"],classes:["classes_array","classes_object"],style:["has_own_property"],attr:["escape"],attrs:["attr","classes","has_own_property","style"],match_html:[],escape:["match_html"],rethrow:[]},Ai={dependencies:!0,internals:!0,has_own_property:!0,classes_array:!0,classes_object:!0,match_html:!0},Pi={has_own_property:"var pug_has_own_property=Object.prototype.hasOwnProperty;",merge:'function pug_merge(e,r){if(1===arguments.length){for(var t=e[0],g=1;g]/;',escape:'function pug_escape(e){var a=""+e,t=pug_match_html.exec(a);if(!t)return e;var r,c,n,s="";for(r=t.index,c=0;r ":" ")+t+"| "+n}).join("\\n");throw n.path=e,n.message=(e||"Pug")+":"+r+"\\n"+i+"\\n\\n"+n.message,n}'},wi=function(e){var t=[];e=e.filter((function(e){return!Ai[e]}));for(var r=0;r]/;function Oi(e){var t=""+e,r=Fi.exec(t);if(!r)return e;var n,i,s,a="";for(n=r.index,i=0;n ":" ")+r+"| "+e})).join("\n");throw t.path=r,t.message=(r||"Pug")+":"+n+"\n"+s+"\n\n"+t.message,t}},ji=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=!0,n=!0,i=!0,s=!0;class a{constructor(e,t={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,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,this.updateContext=null}}const o=new Map;function u(e,t={}){t.keyword=e;const r=new a(e,t);return o.set(e,r),r}function l(e,t){return new a(e,{beforeExpr:r,binop:t})}const c={num:new a("num",{startsExpr:n}),bigint:new a("bigint",{startsExpr:n}),decimal:new a("decimal",{startsExpr:n}),regexp:new a("regexp",{startsExpr:n}),string:new a("string",{startsExpr:n}),name:new a("name",{startsExpr:n}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:r,startsExpr:n}),bracketHashL:new a("#[",{beforeExpr:r,startsExpr:n}),bracketBarL:new a("[|",{beforeExpr:r,startsExpr:n}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:r,startsExpr:n}),braceBarL:new a("{|",{beforeExpr:r,startsExpr:n}),braceHashL:new a("#{",{beforeExpr:r,startsExpr:n}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:r,startsExpr:n}),parenR:new a(")"),comma:new a(",",{beforeExpr:r}),semi:new a(";",{beforeExpr:r}),colon:new a(":",{beforeExpr:r}),doubleColon:new a("::",{beforeExpr:r}),dot:new a("."),question:new a("?",{beforeExpr:r}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:r}),template:new a("template"),ellipsis:new a("...",{beforeExpr:r}),backQuote:new a("`",{startsExpr:n}),dollarBraceL:new a("${",{beforeExpr:r,startsExpr:n}),at:new a("@"),hash:new a("#",{startsExpr:n}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:r,isAssign:true}),assign:new a("_=",{beforeExpr:r,isAssign:true}),incDec:new a("++/--",{prefix:s,postfix:!0,startsExpr:n}),bang:new a("!",{beforeExpr:r,prefix:s,startsExpr:n}),tilde:new a("~",{beforeExpr:r,prefix:s,startsExpr:n}),pipeline:l("|>",0),nullishCoalescing:l("??",1),logicalOR:l("||",1),logicalAND:l("&&",2),bitwiseOR:l("|",3),bitwiseXOR:l("^",4),bitwiseAND:l("&",5),equality:l("==/!=/===/!==",6),relational:l(">/<=/>=",7),bitShift:l("<>>/>>>",8),plusMin:new a("+/-",{beforeExpr:r,binop:9,prefix:s,startsExpr:n}),modulo:new a("%",{beforeExpr:r,binop:10,startsExpr:n}),star:new a("*",{binop:10}),slash:l("/",10),exponent:new a("**",{beforeExpr:r,binop:11,rightAssociative:!0}),_break:u("break"),_case:u("case",{beforeExpr:r}),_catch:u("catch"),_continue:u("continue"),_debugger:u("debugger"),_default:u("default",{beforeExpr:r}),_do:u("do",{isLoop:i,beforeExpr:r}),_else:u("else",{beforeExpr:r}),_finally:u("finally"),_for:u("for",{isLoop:i}),_function:u("function",{startsExpr:n}),_if:u("if"),_return:u("return",{beforeExpr:r}),_switch:u("switch"),_throw:u("throw",{beforeExpr:r,prefix:s,startsExpr:n}),_try:u("try"),_var:u("var"),_const:u("const"),_while:u("while",{isLoop:i}),_with:u("with"),_new:u("new",{beforeExpr:r,startsExpr:n}),_this:u("this",{startsExpr:n}),_super:u("super",{startsExpr:n}),_class:u("class",{startsExpr:n}),_extends:u("extends",{beforeExpr:r}),_export:u("export"),_import:u("import",{startsExpr:n}),_null:u("null",{startsExpr:n}),_true:u("true",{startsExpr:n}),_false:u("false",{startsExpr:n}),_in:u("in",{beforeExpr:r,binop:7}),_instanceof:u("instanceof",{beforeExpr:r,binop:7}),_typeof:u("typeof",{beforeExpr:r,prefix:s,startsExpr:n}),_void:u("void",{beforeExpr:r,prefix:s,startsExpr:n}),_delete:u("delete",{beforeExpr:r,prefix:s,startsExpr:n})},p=/\r\n?|[\n\u2028\u2029]/,h=new RegExp(p.source,"g");function d(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const f=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function m(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}}class y{constructor(e,t){this.line=void 0,this.column=void 0,this.line=e,this.column=t}}class g{constructor(e,t){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=e,this.end=t}}function b(e){return e[e.length-1]}const v=Object.freeze({AccessorIsGenerator:"A %0ter 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",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules",AwaitNotInAsyncFunction:"'await' is only allowed within async functions",BadGetterArity:"getter must not have any formal parameters",BadSetterArity:"setter must have exactly one formal parameter",BadSetterRestParameter:"setter 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:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DecoratorStaticBlock:"Decorators can't be used with a static block",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:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",DuplicateStaticBlock:"Duplicate static block in the same class",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?",ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"'return' outside of function",ImportBindingIsString:'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly %0",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'",InvalidBigIntLiteral:"Invalid BigIntLiteral",InvalidCodePoint:"Code point out of bounds",InvalidDecimal:"Invalid decimal",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'",InvalidOrUnexpectedToken:"Unexpected character '%0'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 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:"Label '%0' is already declared",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",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",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:'Duplicate key "%0" is not allowed in module attributes',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found '\\u%0'",ModuleExportUndefined:"Export '%0' 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",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can't contain getter or setter",PatternHasMethod:"Object pattern can't contain methods",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)",PrivateNameRedeclaration:"Duplicate private name #%0",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, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to '%0' in strict mode",StrictEvalArgumentsBinding:"Binding '%0' 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",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:"Unexpected keyword '%0'",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",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token '%0'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",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:"The only valid meta property for %0 is %0.%1",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",VarRedeclaration:"Identifier '%0' has already been declared",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator",YieldInParameter:"Yield expression is not allowed in formal parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});class x{constructor(e,t,r,n){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=e,this.isExpr=!!t,this.preserveSpace=!!r,this.override=n}}const E={braceStatement:new x("{",!1),braceExpression:new x("{",!0),recordExpression:new x("#{",!0),templateQuasi:new x("${",!1),parenStatement:new x("(",!1),parenExpression:new x("(",!0),template:new x("`",!0,!0,(e=>e.readTmplToken())),functionExpression:new x("function",!0),functionStatement:new x("function",!1)};c.parenR.updateContext=c.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===E.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},c.name.updateContext=function(e){let t=!1;e!==c.dot&&("of"!==this.state.value||this.state.exprAllowed||e===c._function||e===c._class||(t=!0)),this.state.exprAllowed=t,this.state.isIterator&&(this.state.isIterator=!1)},c.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?E.braceStatement:E.braceExpression),this.state.exprAllowed=!0},c.dollarBraceL.updateContext=function(){this.state.context.push(E.templateQuasi),this.state.exprAllowed=!0},c.parenL.updateContext=function(e){const t=e===c._if||e===c._for||e===c._with||e===c._while;this.state.context.push(t?E.parenStatement:E.parenExpression),this.state.exprAllowed=!0},c.incDec.updateContext=function(){},c._function.updateContext=c._class.updateContext=function(e){!e.beforeExpr||e===c.semi||e===c._else||e===c._return&&this.hasPrecedingLineBreak()||(e===c.colon||e===c.braceL)&&this.curContext()===E.b_stat?this.state.context.push(E.functionStatement):this.state.context.push(E.functionExpression),this.state.exprAllowed=!1},c.backQuote.updateContext=function(){this.curContext()===E.template?this.state.context.pop():this.state.context.push(E.template),this.state.exprAllowed=!1},c.braceHashL.updateContext=function(){this.state.context.push(E.recordExpression),this.state.exprAllowed=!0};let D="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",S="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const T=new RegExp("["+D+"]"),A=new RegExp("["+D+S+"]");D=S=null;const P=[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,157,310,10,21,11,7,153,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,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,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,85,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,159,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,230,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,35,56,264,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,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,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,2357,44,11,6,17,0,370,43,1301,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,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],w=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,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,406,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,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,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,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function C(e,t){let r=65536;for(let n=0,i=t.length;ne)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function k(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&T.test(String.fromCharCode(e)):C(e,P)))}function _(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&A.test(String.fromCharCode(e)):C(e,P)||C(e,w))))}const I=["implements","interface","let","package","private","protected","public","static","yield"],F=["eval","arguments"],O=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"]),N=new Set(I),j=new Set(F);function M(e,t){return t&&"await"===e||"enum"===e}function L(e,t){return M(e,t)||N.has(e)}function B(e){return j.has(e)}function R(e,t){return L(e,t)||B(e)}function U(e){return O.has(e)}const V=/^in(stanceof)?$/;const z=256,W=128,q=1024,X=2048;class J{constructor(e){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class ${constructor(e,t){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=e,this.inModule=t}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inStaticBlock(){return(128&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new J(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(e){return!!(2&e.flags||!this.inModule&&1&e.flags)}declareName(e,t,r){let n=this.currentScope();if(8&t||16&t)this.checkRedeclarationInScope(n,e,t,r),16&t?n.functions.push(e):n.lexical.push(e),8&t&&this.maybeExportDefined(n,e);else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(n=this.scopeStack[i],this.checkRedeclarationInScope(n,e,t,r),n.var.push(e),this.maybeExportDefined(n,e),!(259&n.flags));--i);this.inModule&&1&n.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,r,n){this.isRedeclaredInScope(e,t,r)&&this.raise(n,v.VarRedeclaration,t)}isRedeclaredInScope(e,t,r){return!!(1&r)&&(8&r?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:16&r?e.lexical.indexOf(t)>-1||!this.treatFunctionsAsVarInScope(e)&&e.var.indexOf(t)>-1:e.lexical.indexOf(t)>-1&&!(8&e.flags&&e.lexical[0]===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.indexOf(t)>-1)}checkLocalExport(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&-1===this.scopeStack[0].functions.indexOf(e.name)&&this.undefinedExports.set(e.name,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if(259&t.flags)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((259&t.flags||64&t.flags)&&!(4&t.flags))return t}}}class K extends J{constructor(...e){super(...e),this.declareFunctions=[]}}class Y extends ${createScope(e){return new K(e)}declareName(e,t,r){const n=this.currentScope();if(t&X)return this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e),void n.declareFunctions.push(e);super.declareName(...arguments)}isRedeclaredInScope(e,t,r){return!!super.isRedeclaredInScope(...arguments)||!!(r&X)&&(!e.declareFunctions.includes(t)&&(e.lexical.includes(t)||e.functions.includes(t)))}checkLocalExport(e){-1===this.scopeStack[0].declareFunctions.indexOf(e.name)&&super.checkLocalExport(e)}}const H=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),G=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint"',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function Q(e){return"type"===e.importKind||"typeof"===e.importKind}function Z(e){return(e.type===c.name||!!e.type.keyword)&&"from"!==e.value}const ee={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const te=/\*?\s*@((?:no)?flow)\b/;const re={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:"♦"},ne=/^[\da-fA-F]+$/,ie=/^\d+$/,se=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",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 ae(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function oe(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return oe(e.object)+"."+oe(e.property);throw new Error("Node had unexpected type: "+e.type)}E.j_oTag=new x("... ",!0,!0),c.jsxName=new a("jsxName"),c.jsxText=new a("jsxText",{beforeExpr:!0}),c.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),c.jsxTagEnd=new a("jsxTagEnd"),c.jsxTagStart.updateContext=function(){this.state.context.push(E.j_expr),this.state.context.push(E.j_oTag),this.state.exprAllowed=!1},c.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===E.j_oTag&&e===c.slash||t===E.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===E.j_expr):this.state.exprAllowed=!0};class ue extends J{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class le extends ${createScope(e){return new ue(e)}declareName(e,t,r){const n=this.currentScope();if(t&q)return this.maybeExportDefined(n,e),void n.exportOnlyBindings.push(e);super.declareName(...arguments),2&t&&(1&t||(this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e)),n.types.push(e)),256&t&&n.enums.push(e),512&t&&n.constEnums.push(e),t&W&&n.classes.push(e)}isRedeclaredInScope(e,t,r){if(e.enums.indexOf(t)>-1){if(256&r){return!!(512&r)!==e.constEnums.indexOf(t)>-1}return!0}return r&W&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(1&r):!!(2&r&&e.types.indexOf(t)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(e){-1===this.scopeStack[0].types.indexOf(e.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(e.name)&&super.checkLocalExport(e)}}class ce{constructor(){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 pe(e,t){return(e?2:0)|(t?1:0)}function he(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function de(e){if(!e)throw new Error("Assert fail")}const fe=Object.freeze({ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateModifier:"Duplicate modifier: '%0'",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",EmptyHeritageClauseType:"'%0' 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.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0')",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier",IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier",InvalidModifierOnTypeMember:"'%0' modifier cannot appear on a type member.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0')",ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",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:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});function me(e){return"private"===e||"public"===e||"protected"===e}c.placeholder=new a("%%",{startsExpr:!0});function ye(e,t){return e.some((e=>Array.isArray(e)?e[0]===t:e===t))}function ge(e,t,r){const n=e.find((e=>Array.isArray(e)?e[0]===t:e===t));return n&&Array.isArray(n)?n[1][r]:null}const be=["minimal","smart","fsharp"],ve=["hash","bar"];const xe={estree:e=>class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let r=null;try{r=new RegExp(e,t)}catch(e){}const n=this.estreeParseLiteral(r);return n.regex={pattern:e,flags:t},n}estreeParseBigIntLiteral(e){let t;try{t=BigInt(e)}catch(e){t=null}const r=this.estreeParseLiteral(t);return r.bigint=String(r.value||e),r}estreeParseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}directiveToStmt(e){const t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.extra.expressionValue,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)}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){var t;return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!(null!=(t=e.expression.extra)&&t.parenthesized)}stmtToDirective(e){const t=super.stmtToDirective(e),r=e.expression.value;return this.addExtra(t.value,"expressionValue",r),t}parseBlockBody(e,...t){super.parseBlockBody(e,...t);const r=e.directives.map((e=>this.directiveToStmt(e)));e.body=r.concat(e.body),delete e.directives}pushClassMethod(e,t,r,n,i,s){this.parseMethod(t,r,n,i,s,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case c.num:case c.string:return this.estreeParseLiteral(this.state.value);case c.regexp:return this.estreeParseRegExpLiteral(this.state.value);case c.bigint:return this.estreeParseBigIntLiteral(this.state.value);case c.decimal:return this.estreeParseDecimalLiteral(this.state.value);case c._null:return this.estreeParseLiteral(null);case c._true:return this.estreeParseLiteral(!0);case c._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseMaybePrivateName(...e){const t=super.parseMaybePrivateName(...e);return"PrivateName"===t.type&&this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(t):t}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete(e=e).id,e.name=t,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?"PrivateIdentifier"===e.type:super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,t,r,n){const i=super.parseLiteral(e,t,r,n);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,t,r=!1){super.parseFunctionBody(e,t,r),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,r,n,i,s,a=!1){let o=this.startNode();return o.kind=e.kind,o=super.parseMethod(o,t,r,n,i,s,a),o.type="FunctionExpression",delete o.kind,e.value=o,"ClassPrivateMethod"===s&&(e.computed=!1),s="MethodDefinition",this.finishNode(e,s)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return this.getPluginOption("estree","classFeatures")&&(t.type="PropertyDefinition",t.computed=!1),t}parseObjectMethod(e,t,r,n,i){const s=super.parseObjectMethod(e,t,r,n,i);return s&&(s.type="Property","method"===s.kind&&(s.kind="init"),s.shorthand=!1),s}parseObjectProperty(e,t,r,n,i){const s=super.parseObjectProperty(e,t,r,n,i);return s&&(s.kind="init",s.type="Property"),s}toAssignable(e,t=!1){return null!=e&&this.isObjectProperty(e)?(this.toAssignable(e.value,t),e):super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,...t){"get"===e.kind||"set"===e.kind?this.raise(e.key.start,v.PatternHasAccessor):e.method?this.raise(e.key.start,v.PatternHasMethod):super.toAssignableObjectExpressionProp(e,...t)}finishCallExpression(e,t){return super.finishCallExpression(e,t),"Import"===e.callee.type&&(e.type="ImportExpression",e.source=e.arguments[0],delete e.arguments,delete e.callee),e}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e){switch(super.parseExport(e),e.type){case"ExportAllDeclaration":e.exported=null;break;case"ExportNamedDeclaration":1===e.specifiers.length&&"ExportNamespaceSpecifier"===e.specifiers[0].type&&(e.type="ExportAllDeclaration",e.exported=e.specifiers[0].exported,delete e.specifiers)}return e}parseSubscript(e,t,r,n,i){const s=super.parseSubscript(e,t,r,n,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==s.type&&"OptionalCallExpression"!==s.type||(s.type=s.type.substring(8)),i.stop){const e=this.startNodeAtNode(s);return e.expression=s,this.finishNode(e,"ChainExpression")}}else"MemberExpression"!==s.type&&"CallExpression"!==s.type||(s.optional=!1);return s}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isOptionalChain(e){return"ChainExpression"===e.type}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return e.method||"get"===e.kind||"set"===e.kind}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,se.UnterminatedJsxContent);const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(c.jsxTagStart)):super.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:default:d(r)?(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 r;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\n":"\r\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):d(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(c.string,t)}jsxReadEntity(){let e,t="",r=0,n=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends e{constructor(...e){super(...e),this.flowPragma=void 0}getScopeHandler(){return Y}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==c.string&&e!==c.semi&&e!==c.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=te.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||c.colon);const r=this.flowParseType();return this.state.inType=t,r}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(c.modulo);const n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,G.UnexpectedSpaceBetweenModuloChecks),this.eat(c.parenL)?(e.value=this.parseExpression(),this.expect(c.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(c.colon);let t=null,r=null;return this.match(c.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(c.modulo)&&(r=this.flowParsePredicate())),[t,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(c.parenL);const i=this.flowParseFunctionTypeParams();return r.params=i.params,r.rest=i.rest,r.this=i._this,this.expect(c.parenR),[r.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(c._class))return this.flowParseDeclareClass(e);if(this.match(c._function))return this.flowParseDeclareFunction(e);if(this.match(c._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(c.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,G.NestedDeclareModule),this.flowParseDeclareModule(e));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(e);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(e);if(this.isContextual("interface"))return this.flowParseDeclareInterface(e);if(this.match(c._export))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(c.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),r=t.body=[];for(this.expect(c.braceL);!this.match(c.braceR);){let e=this.startNode();this.match(c._import)?(this.next(),this.isContextual("type")||this.match(c._typeof)||this.raise(this.state.lastTokStart,G.InvalidNonTypeImportInDeclareModule),this.parseImport(e)):(this.expectContextual("declare",G.UnsupportedStatementInDeclareModule),e=this.flowParseDeclare(e,!0)),r.push(e)}this.scope.exit(),this.expect(c.braceR),this.finishNode(t,"BlockStatement");let n=null,i=!1;return r.forEach((e=>{!function(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}(e)?"DeclareModuleExports"===e.type&&(i&&this.raise(e.start,G.DuplicateDeclareModuleExports),"ES"===n&&this.raise(e.start,G.AmbiguousDeclareModuleKind),n="CommonJS",i=!0):("CommonJS"===n&&this.raise(e.start,G.AmbiguousDeclareModuleKind),n="ES")})),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(c._export),this.eat(c._default))return this.match(c._function)||this.match(c._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(c._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=ee[e];throw this.raise(this.state.start,G.UnsupportedDeclareExportKind,e,t)}if(this.match(c._var)||this.match(c._function)||this.match(c._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(c.star)||this.match(c.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(e=this.parseExport(e)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t=!1){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(c._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(c.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(this.state.start,G.UnexpectedReservedUnderscore)}checkReservedType(e,t,r){H.has(e)&&this.raise(t,r?G.AssignReservedType:G.UnexpectedReservedType,e)}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.start,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(c.eq),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,9,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(c.colon)&&(e.supertype=this.flowParseTypeInitialiser(c.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(c.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,r=this.startNode(),n=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=n,r.bound=i.typeAnnotation,this.match(c.eq)?(this.eat(c.eq),r.default=this.flowParseType()):e&&this.raise(t,G.MissingTypeParamDefault),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(c.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const e=this.flowParseTypeParameter(r);t.params.push(e),e.default&&(r=!0),this.isRelational(">")||this.expect(c.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(c.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(c.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual("interface"),e.extends=[],this.eat(c._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(c.num)||this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,r){return e.static=t,this.lookahead().type===c.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(c.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(c.bracketR),this.expect(c.bracketR),this.isRelational("<")||this.match(c.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(c.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(c.parenL),this.match(c._this)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(c.parenR)||this.expect(c.comma));!this.match(c.parenR)&&!this.match(c.ellipsis);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(c.parenR)||this.expect(c.comma);return this.eat(c.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(c.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:r,allowProto:n,allowInexact:i}){const s=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,u;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let l=!1;for(t&&this.match(c.braceBarL)?(this.expect(c.braceBarL),o=c.braceBarR,u=!0):(this.expect(c.braceL),o=c.braceR,u=!1),a.exact=u;!this.match(o);){let t=!1,s=null,o=null;const p=this.startNode();if(n&&this.isContextual("proto")){const t=this.lookahead();t.type!==c.colon&&t.type!==c.question&&(this.next(),s=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==c.colon&&e.type!==c.question&&(this.next(),t=!0)}const h=this.flowParseVariance();if(this.eat(c.bracketL))null!=s&&this.unexpected(s),this.eat(c.bracketL)?(h&&this.unexpected(h.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,t))):a.indexers.push(this.flowParseObjectTypeIndexer(p,t,h));else if(this.match(c.parenL)||this.isRelational("<"))null!=s&&this.unexpected(s),h&&this.unexpected(h.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(p,t));else{let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==c.name&&t.type!==c.string&&t.type!==c.num||(e=this.state.value,this.next())}const n=this.flowParseObjectTypeProperty(p,t,s,h,e,r,null!=i?i:!u);null===n?(l=!0,o=this.state.lastTokStart):a.properties.push(n)}this.flowObjectTypeSemicolon(),!o||this.match(c.braceR)||this.match(c.braceBarR)||this.raise(o,G.UnexpectedExplicitInexactInObject)}this.expect(o),r&&(a.inexact=l);const p=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=s,p}flowParseObjectTypeProperty(e,t,r,n,i,s,a){if(this.eat(c.ellipsis)){return this.match(c.comma)||this.match(c.semi)||this.match(c.braceR)||this.match(c.braceBarR)?(s?a||this.raise(this.state.lastTokStart,G.InexactInsideExact):this.raise(this.state.lastTokStart,G.InexactInsideNonObject),n&&this.raise(n.start,G.InexactVariance),null):(s||this.raise(this.state.lastTokStart,G.UnexpectedSpreadType),null!=r&&this.unexpected(r),n&&this.raise(n.start,G.SpreadVariance),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"))}{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=r,e.kind=i;let a=!1;return this.isRelational("<")||this.match(c.parenL)?(e.method=!0,null!=r&&this.unexpected(r),n&&this.unexpected(n.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e),!s&&"constructor"===e.key.name&&e.value.this&&this.raise(e.value.this.start,G.ThisParamBannedInConstructor)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(c.question)&&(a=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=a,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,r=e.start,n=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.value.this.start,"get"===e.kind?G.GetterMayNotHaveThisParam:G.SetterMayNotHaveThisParam),n!==t&&("get"===e.kind?this.raise(r,v.BadGetterArity):this.raise(r,v.BadSetterArity)),"set"===e.kind&&e.value.rest&&this.raise(r,v.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(c.semi)||this.eat(c.comma)||this.match(c.braceR)||this.match(c.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;let n=r||this.flowParseRestrictedIdentifier(!0);for(;this.eat(c.dot);){const r=this.startNodeAt(e,t);r.qualification=n,r.id=this.flowParseRestrictedIdentifier(!0),n=this.finishNode(r,"QualifiedTypeIdentifier")}return n}flowParseGenericType(e,t,r){const n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(c._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(c.bracketL);this.state.possuper.parseFunctionBody(e,!0,r))):super.parseFunctionBody(e,!1,r)}parseFunctionBodyAndFinish(e,t,r=!1){if(this.match(c.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,r)}parseStatement(e,t){if(this.state.strict&&this.match(c.name)&&"interface"===this.state.value){const e=this.lookahead();if(e.type===c.name||U(e.value)){const e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}const r=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(c._class)||this.match(c.name)||this.match(c._function)||this.match(c._var)||this.match(c._export))return this.flowParseDeclare(e)}else if(this.match(c.name)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(c.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,r,n){if(!this.match(c.question))return e;if(n){const i=this.tryParse((()=>super.parseConditional(e,t,r)));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}this.expect(c.question);const i=this.state.clone(),s=this.state.noArrowAt,a=this.startNodeAt(t,r);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[l,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const e=[...s];if(p.length>0){this.state=i,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(i.start,G.AmbiguousConditionalArrow),u&&1===l.length&&(this.state=i,this.state.noArrowAt=e.concat(l[0].start),({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=s,this.expect(c.colon),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssignAllowIn(),t=!this.match(c.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const r=[e],n=[];for(;0!==r.length;){const e=r.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),r.push(e.body)):"ConditionalExpression"===e.type&&(r.push(e.consequent),r.push(e.alternate))}return t?(n.forEach((e=>this.finishArrowValidation(e))),[n,[]]):function(e,t){const r=[],n=[];for(let i=0;ie.params.every((e=>this.isAssignable(e,!0)))))}finishArrowValidation(e){var t;this.toAssignableList(e.params,null==(t=e.extra)?void 0:t.trailingComma,!1),this.scope.enter(6),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=t(),this.state.noArrowParamsConversionAt.pop()):r=t(),r}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(c.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(c.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExport(e){const t=super.parseExport(e);return"ExportNamedDeclaration"!==t.type&&"ExportAllDeclaration"!==t.type||(t.exportKind=t.exportKind||"value"),t}parseExportDeclaration(e){if(this.isContextual("type")){e.exportKind="type";const t=this.startNode();return this.next(),this.match(c.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual("opaque")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual("interface")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){e.exportKind="value";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==c.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,r=super.maybeParseExportNamespaceSpecifier(e);return r&&"type"===e.exportKind&&this.unexpected(t),r}parseClassId(e,t,r){super.parseClassId(e,t,r),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,r){const n=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,r),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(n,G.DeclareClassElement):t.value&&this.raise(t.value.start,G.DeclareClassFieldInitializer))}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(c.braceBarL,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?this.finishOp(c.question,1):function(e,t){return 64===e&&64===t}(e,t)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(e):this.finishOp(c.relational,1)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every(((e,r)=>"ObjectMethod"!==e.type&&(r===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=>this.isAssignable(e)));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toAssignable(e,t=!1){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e),t):super.toAssignable(e,t)}toAssignableList(e,t,r){for(let t=0;t1)&&t||this.raise(i.typeAnnotation.start,G.TypeCastInPattern)}return e}parseArrayLike(e,t,r,n){const i=super.parseArrayLike(e,t,r,n);return t&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(e,...t){if("TypeCastExpression"!==e.type)return super.checkLVal(e,...t)}parseClassProperty(e){return this.match(c.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(c.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(c.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(c.colon)&&super.isNonstaticConstructor(e)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}pushClassMethod(e,t,r,n,i,s){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,r,n,i,s),t.params&&i){const e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,G.ThisParamBannedInConstructor)}else if("MethodDefinition"===t.type&&i&&t.value.params){const e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(t.start,G.ThisParamBannedInConstructor)}}pushClassPrivateMethod(e,t,r,n){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(c.comma))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);const t=this.getObjectOrClassMethodParams(e);if(t.length>0){const r=t[0];this.isThisParam(r)&&"get"===e.kind?this.raise(r.start,G.GetterMayNotHaveThisParam):this.isThisParam(r)&&this.raise(r.start,G.SetterMayNotHaveThisParam)}}parsePropertyName(e,t){const r=this.flowParseVariance(),n=super.parsePropertyName(e,t);return e.variance=r,n}parseObjPropValue(e,t,r,n,i,s,a,o){let u;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&!a&&(u=this.flowParseTypeParameterDeclaration(),this.match(c.parenL)||this.unexpected()),super.parseObjPropValue(e,t,r,n,i,s,a,o),u&&((e.value||e).typeParameters=u)}parseAssignableListItemTypes(e){return this.eat(c.question)&&("Identifier"!==e.type&&this.raise(e.start,G.OptionalBindingPattern),this.isThisParam(e)&&this.raise(e.start,G.ThisParamMayNotBeOptional),e.optional=!0),this.match(c.colon)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(e.start,G.ThisParamAnnotationRequired),this.match(c.eq)&&this.isThisParam(e)&&this.raise(e.start,G.ThisParamNoDefault),this.resetEndLocation(e),e}parseMaybeDefault(e,t,r){const n=super.parseMaybeDefault(e,t,r);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.startsuper.parseMaybeAssign(e,t,r)),s),!i.error)return i.node;const{context:n}=this.state;n[n.length-1]===E.j_oTag?n.length-=2:n[n.length-1]===E.j_expr&&(n.length-=1)}if(null!=(n=i)&&n.error||this.isRelational("<")){var a,o;let n;s=s||this.state.clone();const u=this.tryParse((i=>{var s;n=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(n,(()=>{const i=super.parseMaybeAssign(e,t,r);return this.resetStartLocationFromNode(i,n),i}));"ArrowFunctionExpression"!==a.type&&null!=(s=a.extra)&&s.parenthesized&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=n,this.resetStartLocationFromNode(o,n),a}),s);let l=null;if(u.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(n.start,G.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;l=u.node}if(null!=(a=i)&&a.node)return this.state=i.failState,i.node;if(l)return this.state=u.failState,l;if(null!=(o=i)&&o.thrown)throw i.error;if(u.thrown)throw u.error;throw this.raise(n.start,G.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(e,t,r)}parseArrow(e){if(this.match(c.colon)){const t=this.tryParse((()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(c.arrow)||this.unexpected(),r}));if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(){return this.match(c.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(e.start)){for(let t=0;t0&&this.raise(e.params[t].start,G.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,r,n){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const n=this.startNodeAt(t,r);n.callee=e,n.arguments=this.parseCallExpressionArguments(c.parenR,!1),e=this.finishNode(n,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),s=this.tryParse((e=>this.parseAsyncArrowWithTypeParameters(t,r)||e()),i);if(!s.error&&!s.aborted)return s.node;const a=this.tryParse((()=>super.parseSubscripts(e,t,r,n)),i);if(a.node&&!a.error)return a.node;if(s.node)return this.state=s.failState,s.node;if(a.node)return this.state=a.failState,a.node;throw s.error||a.error}return super.parseSubscripts(e,t,r,n)}parseSubscript(e,t,r,n,i){if(this.match(c.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,n)return i.stop=!0,e;this.next();const s=this.startNodeAt(t,r);return s.callee=e,s.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(c.parenL),s.arguments=this.parseCallExpressionArguments(c.parenR,!1),s.optional=!0,this.finishCallExpression(s,!0)}if(!n&&this.shouldParseTypes()&&this.isRelational("<")){const n=this.startNodeAt(t,r);n.callee=e;const s=this.tryParse((()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(c.parenL),n.arguments=this.parseCallExpressionArguments(c.parenR,!1),i.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,i.optionalChainMember))));if(s.node)return s.error&&(this.state=s.failState),s.node}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){let t=null;this.shouldParseTypes()&&this.isRelational("<")&&(t=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),e.typeArguments=t,super.parseNewArguments(e)}parseAsyncArrowWithTypeParameters(e,t){const r=this.startNodeAt(e,t);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(c.braceBarR,2)}parseTopLevel(e,t){const r=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,G.UnterminatedFlowComment),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,G.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const e=this.input.indexOf("*-/",this.state.pos+=2);if(-1===e)throw this.raise(this.state.pos-2,v.UnterminatedComment);this.state.pos=e+3}else super.skipBlockComment()}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const r=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===r&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===r&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,v.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,G.EnumBooleanMemberNotInitialized,r,t)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:r}){const n=r[0].toUpperCase()+r.slice(1);this.raise(e,G.EnumInvalidMemberName,r,n,t)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:r}){this.raise(e,G.EnumDuplicateMemberName,r,t)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,G.EnumInconsistentMemberValues,t)}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:r}){return this.raise(e,null===r?G.EnumInvalidExplicitTypeUnknownSupplied:G.EnumInvalidExplicitType,t,r)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:r,memberName:n}){let i=null;switch(r){case"boolean":case"number":case"string":i=G.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=G.EnumInvalidMemberInitializerSymbolType;break;default:i=G.EnumInvalidMemberInitializerUnknownType}return this.raise(e,i,t,n,r)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,G.EnumNumberMemberNotInitialized,t,r)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,G.EnumStringMemberInconsistentlyInitailized,t)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(c.comma)||this.match(c.braceR);switch(this.state.type){case c.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:e}}case c.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:e}}case c._true:case c._false:{const r=this.parseBooleanLiteral();return t()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(c.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,r){const{explicitType:n}=t;null!==n&&n!==r&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const r=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;for(;!this.match(c.braceR);){if(this.eat(c.ellipsis)){i=!0;break}const s=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),u=a.name;if(""===u)continue;/^[a-z]/.test(u)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:e,memberName:u}),r.has(u)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:e,memberName:u}),r.add(u);const l={enumName:e,explicitType:t,memberName:u};switch(s.id=a,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"boolean"),s.init=o.value,n.booleanMembers.push(this.finishNode(s,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"number"),s.init=o.value,n.numberMembers.push(this.finishNode(s,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,l,"string"),s.init=o.value,n.stringMembers.push(this.finishNode(s,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,l);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,l);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,l);break;default:n.defaultedMembers.push(this.finishNode(s,"EnumDefaultedMember"))}}this.match(c.braceR)||this.expect(c.comma)}return{members:n,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:r}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(const t of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(t.start,{enumName:r});return t}for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:r});return e}flowEnumParseExplicitType({enumName:e}){if(this.eatContextual("of")){if(!this.match(c.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:null});const{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:e,suppliedType:t}),t}return null}flowEnumBody(e,{enumName:t,nameLoc:r}){const n=this.flowEnumParseExplicitType({enumName:t});this.expect(c.braceL);const{members:i,hasUnknownMembers:s}=this.flowEnumMembers({enumName:t,explicitType:n});switch(e.hasUnknownMembers=s,n){case"boolean":return e.explicitType=!0,e.members=i.booleanMembers,this.expect(c.braceR),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=i.numberMembers,this.expect(c.braceR),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(c.braceR),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=i.defaultedMembers,this.expect(c.braceR),this.finishNode(e,"EnumSymbolBody");default:{const n=()=>(e.members=[],this.expect(c.braceR),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;const s=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(s||a||o||u){if(s||a){if(!a&&!o&&s>=u){for(const e of i.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.booleanMembers,this.expect(c.braceR),this.finishNode(e,"EnumBooleanBody")}if(!s&&!o&&a>=u){for(const e of i.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:t,memberName:e.id.name});return e.members=i.numberMembers,this.expect(c.braceR),this.finishNode(e,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(r,{enumName:t}),n()}return e.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:t}),this.expect(c.braceR),this.finishNode(e,"EnumStringBody")}return n()}}}flowParseEnumDeclaration(e){const t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),{enumName:t.name,nameLoc:t.start}),this.finishNode(e,"EnumDeclaration")}updateContext(e){this.match(c.name)&&"of"===this.state.value&&e===c.name&&"interface"===this.input.slice(this.state.lastTokStart,this.state.lastTokEnd)?this.state.exprAllowed=!1:super.updateContext(e)}isLookaheadToken_lt(){const e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){const t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}maybeUnwrapTypeCastExpression(e){return"TypeCastExpression"===e.type?e.expression:e}},typescript:e=>class extends e{getScopeHandler(){return le}tsIsIdentifier(){return this.match(c.name)}tsNextTokenCanFollowModifier(){return this.next(),(this.match(c.bracketL)||this.match(c.braceL)||this.match(c.star)||this.match(c.ellipsis)||this.match(c.hash)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsParseModifier(e){if(!this.match(c.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e,t,r,n){for(;;){const i=this.state.start,s=this.tsParseModifier(t.concat(null!=r?r:[]));if(!s)break;me(s)?e.accessibility?this.raise(i,fe.DuplicateAccessibilityModifier):e.accessibility=s:(Object.hasOwnProperty.call(e,s)&&this.raise(i,fe.DuplicateModifier,s),e[s]=!0),null!=r&&r.includes(s)&&this.raise(i,n,s)}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(c.braceR);case"HeritageClauseElement":return this.match(c.braceL);case"TupleElementTypes":return this.match(c.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const r=[];for(;!this.tsIsListTerminator(e);)r.push(t());return r}tsParseDelimitedList(e,t){return he(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,r){const n=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(n.push(i),!this.eat(c.comma)){if(this.tsIsListTerminator(e))break;return void(r&&this.expect(c.comma))}}return n}tsParseBracketedList(e,t,r,n){n||(r?this.expect(c.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return r?this.expect(c.bracketR):this.expectRelational(">"),i}tsParseImportType(){const e=this.startNode();return this.expect(c._import),this.expect(c.parenL),this.match(c.string)||this.raise(this.state.start,fe.UnsupportedImportTypeArgument),e.argument=this.parseExprAtom(),this.expect(c.parenR),this.eat(c.dot)&&(e.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(e){let t=this.parseIdentifier();for(;this.eat(c.dot);){const r=this.startNodeAtNode(t);r.left=t,r.right=this.parseIdentifier(e),t=this.finishNode(r,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(e.typeParameters=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(c._typeof),this.match(c._import)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(!0),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsEatThenParseType(c._extends),e.default=this.tsEatThenParseType(c.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(c.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===e.params.length&&this.raise(e.start,fe.EmptyTypeParameters),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===c._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const r=e===c.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(c.parenL),t.parameters=this.tsParseBindingListForSignature(),(r||this.match(e))&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(c.parenR,41).map((e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,fe.UnsupportedSignatureParameterKind,e.type),e)))}tsParseTypeMemberSemicolon(){this.eat(c.comma)||this.semicolon()}tsParseSignatureMember(e,t){return this.tsFillSignature(c.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(c.name)&&this.match(c.colon)}tsTryParseIndexSignature(e){if(!this.match(c.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(c.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(c.bracketR),e.parameters=[t];const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(c.question)&&(e.optional=!0);const r=e;if(this.match(c.parenL)||this.isRelational("<")){t&&this.raise(e.start,fe.ReadonlyForMethodSignature);const n=r;return this.tsFillSignature(c.colon,n),this.tsParseTypeMemberSemicolon(),this.finishNode(n,"TSMethodSignature")}{const e=r;t&&(e.readonly=!0);const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(c.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(c._new)){const t=this.startNode();return this.next(),this.match(c.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers(e,["readonly"],["declare","abstract","private","protected","public","static"],fe.InvalidModifierOnTypeMember);const t=this.tsTryParseIndexSignature(e);return t||(this.parsePropertyName(e,!1),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(c.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(c.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(c.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(c.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(c._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(c._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(c.braceL),this.match(c.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(c.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(c.bracketR),this.match(c.plusMin)?(e.optional=this.state.value,this.next(),this.expect(c.question)):this.eat(c.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(c.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1,r=null;return e.elementTypes.forEach((e=>{var n;let{type:i}=e;!t||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&e.optional||this.raise(e.start,fe.OptionalTypeBeforeRequired),t=t||"TSNamedTupleMember"===i&&e.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(e=e.typeAnnotation).type);const s="TSNamedTupleMember"===i;r=null!=(n=r)?n:s,r!==s&&this.raise(e.start,fe.MixedLabeledAndUnlabeledElements)})),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const{start:e,startLoc:t}=this.state,r=this.eat(c.ellipsis);let n=this.tsParseType();const i=this.eat(c.question);if(this.eat(c.colon)){const e=this.startNodeAtNode(n);e.optional=i,"TSTypeReference"!==n.type||n.typeParameters||"Identifier"!==n.typeName.type?(this.raise(n.start,fe.InvalidTupleMemberLabel),e.label=n):e.label=n.typeName,e.elementType=this.tsParseType(),n=this.finishNode(e,"TSNamedTupleMember")}else if(i){const e=this.startNodeAtNode(n);e.typeAnnotation=n,n=this.finishNode(e,"TSOptionalType")}if(r){const r=this.startNodeAt(e,t);r.typeAnnotation=n,n=this.finishNode(r,"TSRestType")}return n}tsParseParenthesizedType(){const e=this.startNode();return this.expect(c.parenL),e.typeAnnotation=this.tsParseType(),this.expect(c.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const r=this.startNode();return"TSConstructorType"===e&&(r.abstract=!!t,t&&this.next(),this.next()),this.tsFillSignature(c.arrow,r),this.finishNode(r,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case c.num:case c.bigint:case c.string:case c._true:case c._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){const e=this.startNode();return e.literal=this.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case c.name:case c._void:case c._null:{const e=this.match(c._void)?"TSVoidKeyword":this.match(c._null)?"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!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}case c.string:case c.num:case c.bigint:case c._true:case c._false:return this.tsParseLiteralTypeNode();case c.plusMin:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();if(t.type!==c.num&&t.type!==c.bigint)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case c._this:return this.tsParseThisTypeOrThisTypePredicate();case c._typeof:return this.tsParseTypeQuery();case c._import:return this.tsParseImportType();case c.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case c.bracketL:return this.tsParseTupleType();case c.parenL:return this.tsParseParenthesizedType();case c.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(c.bracketL);)if(this.match(c.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(c.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(c.bracketR),e=this.finishNode(t,"TSIndexedAccessType")}return e}tsParseTypeOperator(e){const t=this.startNode();return this.expectContextual(e),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(e.start,fe.UnexpectedReadonly)}}tsParseInferType(){const e=this.startNode();this.expectContextual("infer");const t=this.startNode();return t.name=this.parseIdentifierName(t.start),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseTypeOperatorOrHigher(){const e=["keyof","unique","readonly"].find((e=>this.isContextual(e)));return e?this.tsParseTypeOperator(e):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(e,t,r){const n=this.startNode(),i=this.eat(r),s=[];do{s.push(t())}while(this.eat(r));return 1!==s.length||i?(n.types=s,this.finishNode(n,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),c.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),c.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(c.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(c.name)||this.match(c._this))return this.next(),!0;if(this.match(c.braceL)){let e=1;for(this.next();e>0;)this.match(c.braceL)?++e:this.match(c.braceR)&&--e,this.next();return!0}if(this.match(c.bracketL)){let e=1;for(this.next();e>0;)this.match(c.bracketL)?++e:this.match(c.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(c.parenR)||this.match(c.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(c.colon)||this.match(c.comma)||this.match(c.question)||this.match(c.eq))return!0;if(this.match(c.parenR)&&(this.next(),this.match(c.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType((()=>{const t=this.startNode();this.expect(e);const r=this.startNode(),n=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(n&&this.match(c._this)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(r.parameterName=e,r.asserts=!0,e=this.finishNode(r,"TSTypePredicate")):(this.resetStartLocationFromNode(e,r),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return n?(r.parameterName=this.parseIdentifier(),r.asserts=n,t.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return r.parameterName=i,r.typeAnnotation=s,r.asserts=n,t.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(c.colon)?this.tsParseTypeOrTypePredicateAnnotation(c.colon):void 0}tsTryParseTypeAnnotation(){return this.match(c.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(c.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(!this.match(c.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const e=this.state.containsEsc;return this.next(),!(!this.match(c.name)&&!this.match(c._this))&&(e&&this.raise(this.state.lastTokStart,v.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType((()=>{e&&this.expect(c.colon),t.typeAnnotation=this.tsParseType()})),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){de(this.state.inType);const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(c._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(c.question),t.trueType=this.tsParseType(),this.expect(c.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===c._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(c._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const e=this.startNode(),t=this.tsTryNextParseConstantContext();return e.typeAnnotation=t||this.tsNextThenParseType(),this.expectRelational(">"),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(t,fe.EmptyHeritageClauseType,e),r}tsParseExpressionWithTypeArguments(){const e=this.startNode();return e.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(e){e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript interface declaration",130),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(c._extends)&&(e.extends=this.tsParseHeritageClause("extends"));const t=this.startNode();return t.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(t,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript type alias",2),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsInType((()=>{if(this.expect(c.eq),this.isContextual("intrinsic")&&this.lookahead().type!==c.dot){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()})),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(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}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType((()=>this.expect(e)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(e){return this.tsInType((()=>(e(),this.tsParseType())))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(c.eq)&&(e.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t){return t&&(e.const=!0),e.id=this.parseIdentifier(),this.checkLVal(e.id,"typescript enum declaration",t?779:267),this.expect(c.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(c.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(c.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,c.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,"module or namespace declaration",1024),this.eat(c.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(z),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual("global")?(e.global=!0,e.id=this.parseIdentifier()):this.match(c.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(c.braceL)?(this.scope.enter(z),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){return e.isExport=t||!1,e.id=this.parseIdentifier(),this.checkLVal(e.id,"import equals declaration",9),this.expect(c.eq),e.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();if(this.expectContextual("require"),this.expect(c.parenL),!this.match(c.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(c.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),r=e();return this.state=t,r}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(),r=e();return void 0!==r&&!1!==r?r:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,r=this.state.type;return this.isContextual("let")&&(r=c._var,t="let"),this.tsInDeclareContext((()=>{switch(r){case c._function:return e.declare=!0,this.parseFunctionStatement(e,!1,!0);case c._class:return e.declare=!0,this.parseClass(e,!0,!1);case c._const:if(this.match(c._const)&&this.isLookaheadContextual("enum"))return this.expect(c._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case c._var:return t=t||this.state.value,this.parseVarStatement(e,t);case c.name:{const t=this.state.value;return"global"===t?this.tsParseAmbientExternalModuleDeclaration(e):this.tsParseDeclaration(e,t,!0)}}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(e,t){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);if(t)return t.declare=!0,t;break}case"global":if(this.match(c.braceL)){this.scope.enter(z),this.prodParam.enter(0);const r=e;return r.global=!0,r.id=t,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,r){switch(t){case"abstract":if(this.tsCheckLineTerminator(r)&&(this.match(c._class)||this.match(c.name)))return this.tsParseAbstractDeclaration(e);break;case"enum":if(r||this.match(c.name))return r&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminator(r)&&this.match(c.name))return this.tsParseInterfaceDeclaration(e);break;case"module":if(this.tsCheckLineTerminator(r)){if(this.match(c.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.match(c.name))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(r)&&this.match(c.name))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(r)&&this.match(c.name))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const r=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch((()=>{const r=this.startNodeAt(e,t);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(c.arrow),r}));return this.state.maybeInArrowParameters=r,n?this.parseArrowExpression(n,null,!0):void 0}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))))),0===e.params.length&&this.raise(e.start,fe.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(c.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const r=this.state.start,n=this.state.startLoc;let i,s=!1;void 0!==e&&(i=this.parseAccessModifier(),s=!!this.tsParseModifier(["readonly"]),!1===e&&(i||s)&&this.raise(r,fe.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||s){const e=this.startNodeAt(r,n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),s&&(e.readonly=s),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,fe.UnsupportedParameterPropertyKind),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,r=!1){this.match(c.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(c.colon));const n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;n&&!this.match(c.braceL)&&this.isLineTerminator()?this.finishNode(e,n):"TSDeclareFunction"===n&&this.state.isDeclareContext&&(this.raise(e.start,fe.DeclareFunctionHasImplementation),e.declare)?super.parseFunctionBodyAndFinish(e,n,r):super.parseFunctionBodyAndFinish(e,t,r)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,"function name",1024):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(e){e.forEach((e=>{"TSTypeCastExpression"===(null==e?void 0:e.type)&&this.raise(e.typeAnnotation.start,fe.UnexpectedTypeAnnotation)}))}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(...e){const t=super.parseArrayLike(...e);return"ArrayExpression"===t.type&&this.tsCheckForInvalidTypeCasts(t.elements),t}parseSubscript(e,t,r,n,i){if(!this.hasPrecedingLineBreak()&&this.match(c.bang)){this.state.exprAllowed=!1,this.next();const n=this.startNodeAt(t,r);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}if(this.isRelational("<")){const s=this.tsTryParseAndCatch((()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,r);if(e)return e}const s=this.startNodeAt(t,r);s.callee=e;const a=this.tsParseTypeArguments();if(a){if(!n&&this.eat(c.parenL))return s.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.tsCheckForInvalidTypeCasts(s.arguments),s.typeParameters=a,i.optionalChainMember&&(s.optional=!1),this.finishCallExpression(s,i.optionalChainMember);if(this.match(c.backQuote)){const n=this.parseTaggedTemplateExpression(e,t,r,i);return n.typeParameters=a,n}}this.unexpected()}));if(s)return s}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch((()=>{const e=this.tsParseTypeArguments();return this.match(c.parenL)||this.unexpected(),e}));t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,r,n){if(he(c._in.binop)>n&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(t,r);i.expression=e;const s=this.tsTryNextParseConstantContext();return i.typeAnnotation=s||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,r,n)}return super.parseExprOp(e,t,r,n)}checkReservedWord(e,t,r,n){}checkDuplicateExports(){}parseImport(e){if(this.match(c.name)||this.match(c.star)||this.match(c.braceL)){const t=this.lookahead();if(this.match(c.name)&&t.type===c.eq)return this.tsParseImportEqualsDeclaration(e);!this.isContextual("type")||t.type===c.comma||t.type===c.name&&"from"===t.value||(e.importKind="type",this.next())}e.importKind||(e.importKind="value");const t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(t.start,"A type-only import can specify a default import or named bindings, but not both."),t}parseExport(e){if(this.match(c._import))return this.expect(c._import),this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(c.eq)){const t=e;return t.expression=this.parseExpression(),this.semicolon(),this.finishNode(t,"TSExportAssignment")}if(this.eatContextual("as")){const t=e;return this.expectContextual("namespace"),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===c.braceL?(this.next(),e.exportKind="type"):e.exportKind="value",super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===c._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0),e}if("interface"===this.state.value){const e=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(e,t){if(this.state.type===c._const){const e=this.lookahead();if(e.type===c.name&&"enum"===e.value){const e=this.startNode();return this.expect(c._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(e,t,r){this.tsParseModifiers(t,["declare","private","public","protected"]);const n=()=>{super.parseClassMember(e,t,r)};t.declare?this.tsInDeclareContext(n):n()}parseClassMemberWithIsStatic(e,t,r,n){this.tsParseModifiers(t,["abstract","readonly","declare"]);const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(t.start,fe.IndexSignatureHasAbstract),n&&this.raise(t.start,fe.IndexSignatureHasStatic),t.accessibility&&this.raise(t.start,fe.IndexSignatureHasAccessibility,t.accessibility),void(t.declare&&this.raise(t.start,fe.IndexSignatureHasDeclare));!this.state.inAbstractClass&&t.abstract&&this.raise(t.start,fe.NonAbstractClassHasAbstractMethod),super.parseClassMemberWithIsStatic(e,t,r,n)}parsePostMemberNameModifiers(e){this.eat(c.question)&&(e.optional=!0),e.readonly&&this.match(c.parenL)&&this.raise(e.start,fe.ClassMethodHasReadonly),e.declare&&this.match(c.parenL)&&this.raise(e.start,fe.ClassMethodHasDeclare)}parseExpressionStatement(e,t){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t):void 0)||super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,r,n){if(!n||!this.match(c.question))return super.parseConditional(e,t,r,n);const i=this.tryParse((()=>super.parseConditional(e,t,r)));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,e)}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(c.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(c.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,r=this.state.startLoc,n=this.eatContextual("declare");if(n&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,fe.ExpectedAmbientAfterExportDeclare);let i;return this.match(c.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(e)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||n)&&(e.exportKind="type"),i&&n&&(this.resetStartLocation(i,t,r),i.declare=!0),i}parseClassId(e,t,r){if((!t||r)&&this.isContextual("implements"))return;super.parseClassId(e,t,r,e.declare?1024:139);const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(c.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),this.state.isDeclareContext&&this.match(c.eq)&&this.raise(this.state.start,fe.DeclareClassFieldHasInitializer),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,fe.PrivateElementHasAbstract),e.accessibility&&this.raise(e.start,fe.PrivateElementHasAccessibility,e.accessibility),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,r,n,i,s){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,fe.ConstructorHasTypeParameters),a&&(t.typeParameters=a),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,...t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(c.bang)&&(e.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(e.id.typeAnnotation=r,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(c.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){var t,r,n,i,s,a,o;let u,l,p,h;if(this.hasPlugin("jsx")&&(this.match(c.jsxTagStart)||this.isRelational("<"))){if(u=this.state.clone(),l=this.tryParse((()=>super.parseMaybeAssign(...e)),u),!l.error)return l.node;const{context:t}=this.state;t[t.length-1]===E.j_oTag?t.length-=2:t[t.length-1]===E.j_expr&&(t.length-=1)}if(!(null!=(t=l)&&t.error||this.isRelational("<")))return super.parseMaybeAssign(...e);u=u||this.state.clone();const d=this.tryParse((t=>{var r;h=this.tsParseTypeParameters();const n=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==n.type||n.extra&&n.extra.parenthesized)&&t(),0!==(null==(r=h)?void 0:r.params.length)&&this.resetStartLocationFromNode(n,h),n.typeParameters=h,n}),u);if(!d.error&&!d.aborted)return d.node;if(!l&&(de(!this.hasPlugin("jsx")),p=this.tryParse((()=>super.parseMaybeAssign(...e)),u),!p.error))return p.node;if(null!=(r=l)&&r.node)return this.state=l.failState,l.node;if(d.node)return this.state=d.failState,d.node;if(null!=(n=p)&&n.node)return this.state=p.failState,p.node;if(null!=(i=l)&&i.thrown)throw l.error;if(d.thrown)throw d.error;if(null!=(s=p)&&s.thrown)throw p.error;throw(null==(a=l)?void 0:a.error)||d.error||(null==(o=p)?void 0:o.error)}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(c.colon)){const t=this.tryParse((e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(c.colon);return!this.canInsertSemicolon()&&this.match(c.arrow)||e(),t}));if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e){this.eat(c.question)&&("Identifier"===e.type||this.state.isDeclareContext||this.state.inType||this.raise(e.start,fe.PatternIsOptional),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e,t=!1){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e),t);case"TSParameterProperty":return super.toAssignable(e,t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t),e;default:return super.toAssignable(e,t)}}checkLVal(e,t,...r){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,"parameter property",...r);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,...r);default:return void super.checkLVal(e,t,...r)}}parseBindingAtom(){switch(this.state.type){case c._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(c.parenL)){const r=super.parseMaybeDecoratorArguments(e);return r.typeParameters=t,r}this.unexpected(this.state.start,c.parenL)}return super.parseMaybeDecoratorArguments(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(c.bang)||this.match(c.colon)||super.isClassProperty()}parseMaybeDefault(...e){const t=super.parseMaybeDefault(...e);return"AssignmentPattern"===t.type&&t.typeAnnotation&&t.right.startthis.tsParseTypeArguments()));t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),r=this.getObjectOrClassMethodParams(e)[0];return r&&"Identifier"===r.type&&"this"===r.name?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInDeclareContext(e){const t=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return e()}finally{this.state.isDeclareContext=t}}parseClass(e,...t){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,...t)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e){if(this.match(c._class))return e.abstract=!0,this.parseClass(e,!0,!1);if(this.isContextual("interface")){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(e.start,fe.NonClassMethodPropertyHasAbstractModifer),this.next(),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,c._class)}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(c.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(c.modulo),this.match(c.name)){const e=this.parseIdentifierName(this.state.start),r=this.createIdentifier(t,e);if(r.type="V8IntrinsicIdentifier",this.match(c.parenL))return r}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(c.placeholder)){const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),t.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(c.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const r=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,r?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(e){void 0!==e&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(e){"Placeholder"!==e.type&&super.checkLVal(...arguments)}toAssignable(e){return e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?(e.expectedNode="Pattern",e):super.toAssignable(...arguments)}isLet(e){if(super.isLet(e))return!0;if(!this.isContextual("let"))return!1;if(e)return!1;return this.lookahead().type===c.placeholder}verifyBreakContinue(e){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra&&t.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(c.colon)){const r=e;return r.label=this.finishPlaceholder(t,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(e,t,r){const n=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s)if(this.match(c._extends)||this.match(c.placeholder)||this.match(c.braceL))e.id=s;else{if(r||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,n);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,r);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass,i),this.finishNode(e,n)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(c.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=t,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(e)}isExportDefaultSpecifier(){if(this.match(c._default)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(c.placeholder.label,this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return!!(e.specifiers&&e.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(e){const{specifiers:t}=e;null!=t&&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(...arguments);if(e.specifiers=[],!this.isContextual("from")&&!this.match(c.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const r=this.startNodeAtNode(t);if(r.local=t,this.finishNode(r,"ImportDefaultSpecifier"),e.specifiers.push(r),this.eat(c.comma)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},Ee=Object.keys(xe),De={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class Se{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=c.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[E.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.strictErrors=new Map,this.exportedIdentifiers=[],this.tokensLength=0}init(e){this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.curLine=e.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new y(this.curLine,this.pos-this.lineStart)}clone(e){const t=new Se,r=Object.keys(this);for(let n=0,i=r.length;n=48&&e<=57};const Ae=new Set(["g","m","s","i","y","u"]),Pe={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},we={bin:[48,49]};we.oct=[...we.bin,50,51,52,53,54,55],we.dec=[...we.oct,56,57],we.hex=[...we.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Ce{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new g(e.startLoc,e.endLoc)}}class ke{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class _e{constructor(e){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new ke)}exit(){const e=this.stack.pop(),t=this.current();for(const[r,n]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(r)||t.undefinedPrivateNames.set(r,n):this.raise(n,v.InvalidPrivateFieldResolution,r)}declarePrivateName(e,t,r){const n=this.current();let i=n.privateNames.has(e);if(3&t){const r=i&&n.loneAccessors.get(e);if(r){const s=4&r,a=4&t;i=(3&r)===(3&t)||s!==a,i||n.loneAccessors.delete(e)}else i||n.loneAccessors.set(e,t)}i&&this.raise(r,v.PrivateNameRedeclaration,e),n.privateNames.add(e),n.undefinedPrivateNames.delete(e)}usePrivateName(e,t){let r;for(r of this.stack)if(r.privateNames.has(e))return;r?r.undefinedPrivateNames.set(e,t):this.raise(t,v.InvalidPrivateFieldResolution,e)}}class Ie{constructor(e=0){this.type=void 0,this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class Fe extends Ie{constructor(e){super(e),this.errors=new Map}recordDeclarationError(e,t){this.errors.set(e,t)}clearDeclarationError(e){this.errors.delete(e)}iterateErrors(e){this.errors.forEach(e)}}class Oe{constructor(e){this.stack=[new Ie],this.raise=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(e,t),i=r[--n]}this.raise(e,t)}recordParenthesizedIdentifierError(e,t){const{stack:r}=this,n=r[r.length-1];if(n.isCertainlyParameterDeclaration())this.raise(e,t);else{if(!n.canBeArrowParameterDeclaration())return;n.recordDeclarationError(e,t)}}recordAsyncArrowParametersError(e,t){const{stack:r}=this;let n=r.length-1,i=r[n];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(e,t),i=r[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(((t,r)=>{this.raise(r,t);let n=e.length-2,i=e[n];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(r),i=e[--n]}))}}function Ne(){return new Ie}class je{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Me{constructor(e,t,r){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=t,this.end=0,this.loc=new g(r),null!=e&&e.options.ranges&&(this.range=[t,0]),null!=e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new Me,t=Object.keys(this);for(let r=0,n=t.length;r"ParenthesizedExpression"===e.type?Le(e.expression):e;const Be={kind:"loop"},Re={kind:"switch"},Ue=/[\uD800-\uDFFF]/u;class Ve extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(e){return this.plugins.has(e)}getPluginOption(e,t){if(this.hasPlugin(e))return this.plugins.get(e)[t]}}{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,r){if(0===this.state.leadingComments.length)return;let n=null,i=t.length;for(;null===n&&i>0;)n=t[--i];if(null===n)return;for(let e=0;e0?n.trailingComments=s:void 0!==n.trailingComments&&(n.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let r,n,i,s,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const r=b(t);r.trailingComments&&r.trailingComments[0].start>=e.end&&(i=r.trailingComments,delete r.trailingComments)}for(t.length>0&&b(t).start>=e.start&&(r=t.pop());t.length>0&&b(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r)switch(e.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(e,e.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(e,e.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(e,e.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(e,e.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(e,e.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==e.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==e.type)&&this.adjustCommentsAfterTrailingComma(e,[this.state.commentPreviousNode]);if(n){if(n.leadingComments)if(n!==e&&n.leadingComments.length>0&&b(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,delete n.leadingComments;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(b(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);const t=this.state.leadingComments.slice(0,s);t.length&&(e.leadingComments=t),i=this.state.leadingComments.slice(s),0===i.length&&(i=null)}if(this.state.commentPreviousNode=e,i)if(i.length&&i[0].start>=e.start&&b(i).end<=e.end)e.innerComments=i;else{const t=i.findIndex((t=>t.end>=e.end));t>0?(e.innerComments=i.slice(0,t),e.trailingComments=i.slice(t)):e.trailingComments=i}t.push(e)}}{getLocationForPosition(e){let t;return t=e===this.state.start?this.state.startLoc:e===this.state.lastTokStart?this.state.lastTokStartLoc:e===this.state.end?this.state.endLoc:e===this.state.lastTokEnd?this.state.lastTokEndLoc:function(e,t){let r,n=1,i=0;for(h.lastIndex=0;(r=h.exec(e))&&r.indexr[t]))+` (${n.line}:${n.column})`;if(this.options.errorRecovery){const t=this.state.errors;for(let r=t.length-1;r>=0;r--){const n=t[r];if(n.pos===e)return Object.assign(n,{message:i});if(n.posn[t]))+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:e},t),s)}_raise(e,t){const r=new SyntaxError(t);if(Object.assign(r,e),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(r),r;throw r}}{constructor(e,t){super(),this.isLookahead=void 0,this.tokens=[],this.state=new Se,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Ce(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,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}lookahead(){const e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){f.lastIndex=e;return e+f.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(((e,t)=>this.raise(t,e))),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const e=this.curContext();if(null!=e&&e.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.length)return void this.finishToken(c.eof);const t=null==e?void 0:e.override;t?t(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(e,t,r,n,i,s){const a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new g(i,s)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(t,v.UnterminatedComment);let n;for(this.state.pos=r+2,h.lastIndex=t;(n=h.exec(this.input))&&n.index=48&&t<=57)throw this.raise(this.state.pos,v.UnexpectedDigitAfterHash);if(123===t||91===t&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===t?v.RecordExpressionHashIncorrectStartSyntaxType:v.TupleExpressionHashIncorrectStartSyntaxType);123===t?this.finishToken(c.braceHashL):this.finishToken(c.bracketHashL),this.state.pos+=2}else this.finishOp(c.hash,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(c.ellipsis)):(++this.state.pos,this.finishToken(c.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.assign,2):this.finishOp(c.slash,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;!d(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(c.question)):(this.state.pos+=2,this.finishToken(c.questionDot))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(c.parenL);case 41:return++this.state.pos,void this.finishToken(c.parenR);case 59:return++this.state.pos,void this.finishToken(c.semi);case 44:return++this.state.pos,void this.finishToken(c.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,v.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(c.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.bracketL);return;case 93:return++this.state.pos,void this.finishToken(c.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,v.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(c.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.braceL);return;case 125:return++this.state.pos,void this.finishToken(c.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.doubleColon,2):(++this.state.pos,this.finishToken(c.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(c.backQuote);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:case 62:return void this.readToken_lt_gt(e);case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(c.tilde,1);case 64:return++this.state.pos,void this.finishToken(c.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(k(e))return void this.readWord()}throw this.raise(this.state.pos,v.InvalidOrUnexpectedToken,String.fromCodePoint(e))}finishOp(e,t){const r=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,r)}readRegexp(){const e=this.state.pos;let t,r;for(;;){if(this.state.pos>=this.length)throw this.raise(e,v.UnterminatedRegExp);const n=this.input.charAt(this.state.pos);if(p.test(n))throw this.raise(e,v.UnterminatedRegExp);if(t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\"===n}++this.state.pos}const n=this.input.slice(e,this.state.pos);++this.state.pos;let i="";for(;this.state.pos-1&&this.raise(this.state.pos+1,v.DuplicateRegExpFlags);else{if(!_(t)&&92!==t)break;this.raise(this.state.pos+1,v.MalformedRegExpFlags)}++this.state.pos,i+=e}this.finishToken(c.regexp,{pattern:n,flags:i})}readInt(e,t,r,n=!0){const i=this.state.pos,s=16===e?Pe.hex:Pe.decBinOct,a=16===e?we.hex:10===e?we.dec:8===e?we.oct:we.bin;let o=!1,u=0;for(let i=0,l=null==t?1/0:t;i=97?t-97+10:t>=65?t-65+10:Te(t)?t-48:1/0,l>=e)if(this.options.errorRecovery&&l<=9)l=0,this.raise(this.state.start+i+2,v.InvalidDigit,e);else{if(!r)break;l=0,o=!0}++this.state.pos,u=u*e+l}else{const e=this.input.charCodeAt(this.state.pos-1),t=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(t)||s.indexOf(e)>-1||s.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,v.UnexpectedNumericSeparator),n||this.raise(this.state.pos,v.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=t&&this.state.pos-i!==t||o?null:u}readRadixNumber(e){const t=this.state.pos;let r=!1;this.state.pos+=2;const n=this.readInt(e);null==n&&this.raise(this.state.start+2,v.InvalidDigit,e);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,r=!0;else if(109===i)throw this.raise(t,v.InvalidDecimal);if(k(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,v.NumberIdentifier);if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(c.bigint,e)}else this.finishToken(c.num,n)}readNumber(e){const t=this.state.pos;let r=!1,n=!1,i=!1,s=!1,a=!1;e||null!==this.readInt(10)||this.raise(t,v.InvalidNumber);const o=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(o){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(t,v.StrictOctalLiteral),!this.state.strict){const r=e.indexOf("_");r>0&&this.raise(r+t,v.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(e)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||a||(++this.state.pos,this.readInt(10),r=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||a||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(t,v.InvalidOrMissingExponent),r=!0,s=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((r||o)&&this.raise(t,v.InvalidBigIntLiteral),++this.state.pos,n=!0),109===u&&(this.expectPlugin("decimal",this.state.pos),(s||o)&&this.raise(t,v.InvalidDecimal),++this.state.pos,i=!0),k(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,v.NumberIdentifier);const l=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(n)return void this.finishToken(c.bigint,l);if(i)return void this.finishToken(c.decimal,l);const p=a?parseInt(l,8):parseFloat(l);this.finishToken(c.num,p)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,e),++this.state.pos,null!==t&&t>1114111){if(!e)return null;this.raise(r,v.InvalidCodePoint)}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedString);const n=this.input.charCodeAt(this.state.pos);if(n===e)break;if(92===n)t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===n||8233===n)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(d(n))throw this.raise(this.state.start,v.UnterminatedString);++this.state.pos}}t+=this.input.slice(r,this.state.pos++),this.finishToken(c.string,t)}readTmplToken(){let e="",t=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,v.UnterminatedTemplate);const n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(c.template)?36===n?(this.state.pos+=2,void this.finishToken(c.dollarBraceL)):(++this.state.pos,void this.finishToken(c.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(c.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);const n=this.readEscapedChar(!0);null===n?r=!0:e+=n,t=this.state.pos}else if(d(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}}recordStrictModeErrors(e,t){this.state.strict&&!this.state.strictErrors.has(e)?this.raise(e,t):this.state.strictErrors.set(e,t)}readEscapedChar(e){const t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:{const e=this.readHexChar(2,!1,t);return null===e?null:String.fromCharCode(e)}case 117:{const e=this.readCodePoint(t);return null===e?null:String.fromCodePoint(e)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(e)return null;this.recordStrictModeErrors(this.state.pos-1,v.StrictNumericEscape);default:if(r>=48&&r<=55){const t=this.state.pos-1;let r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(r,8);n>255&&(r=r.slice(0,-1),n=parseInt(r,8)),this.state.pos+=r.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==r||56===i||57===i){if(e)return null;this.recordStrictModeErrors(t,v.StrictNumericEscape)}return String.fromCharCode(n)}return String.fromCharCode(r)}}readHexChar(e,t,r){const n=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(r?this.raise(n,v.InvalidEscapeSequence):this.state.pos=n-1),i}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let r=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,e)}unexpected(e,t="Unexpected token"){throw"string"!=typeof t&&(t=`Unexpected token, expected "${t.label}"`),this.raise(null!=e?e:this.state.start,t)}expectPlugin(e,t){if(!this.hasPlugin(e))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:[e]},`This experimental syntax requires enabling the parser plugin: '${e}'`);return!0}expectOnePlugin(e,t){if(!e.some((e=>this.hasPlugin(e))))throw this.raiseWithData(null!=t?t:this.state.start,{missingPlugin:e},`This experimental syntax requires enabling one of the following parser plugin(s): '${e.join(", ")}'`)}tryParse(e,t=this.state.clone()){const r={node:null};try{const n=e(((e=null)=>{throw r.node=e,r}));if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,{node:n,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:n,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const n=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:n};if(e===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:n};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssign:r,doubleProto:n}=e;if(!t)return r>=0||n>=0;r>=0&&this.unexpected(r),n>=0&&this.raise(n,v.DuplicateProto)}isLiteralPropertyName(){return this.match(c.name)||!!this.state.type.keyword||this.match(c.string)||this.match(c.num)||this.match(c.bigint)||this.match(c.decimal)}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)}isOptionalChain(e){return"OptionalMemberExpression"===e.type||"OptionalCallExpression"===e.type}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 r=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const n=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new ce;const o=this.classScope;this.classScope=new _e(this.raise.bind(this));const u=this.expressionScope;return this.expressionScope=new Oe(this.raise.bind(this)),()=>{this.state.labels=t,this.state.exportedIdentifiers=r,this.inModule=n,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let e=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(e|=2),this.scope.enter(1),this.prodParam.enter(e)}}{startNode(){return new Me(this,this.state.start,this.state.startLoc)}startNodeAt(e,t){return new Me(this,e,t)}startNodeAtNode(e){return this.startNodeAt(e.start,e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.options.ranges&&(e.range[1]=r),this.processComment(e),e}resetStartLocation(e,t,r){e.start=t,e.loc.start=r,this.options.ranges&&(e.range[0]=t)}resetEndLocation(e,t=this.state.lastTokEnd,r=this.state.lastTokEndLoc){e.end=t,e.loc.end=r,this.options.ranges&&(e.range[1]=t)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.start,t.loc.start)}}{toAssignable(e,t=!1){var r,n;let i;switch(("ParenthesizedExpression"===e.type||null!=(r=e.extra)&&r.parenthesized)&&(i=Le(e),t?"Identifier"===i.type?this.expressionScope.recordParenthesizedIdentifierError(e.start,v.InvalidParenthesizedAssignment):"MemberExpression"!==i.type&&this.raise(e.start,v.InvalidParenthesizedAssignment):this.raise(e.start,v.InvalidParenthesizedAssignment)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(let r=0,n=e.properties.length,i=n-1;rthis.parseExpressionBase(t))):this.allowInAnd((()=>this.parseExpressionBase(t)))}parseExpressionBase(e){const t=this.state.start,r=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(c.comma)){const i=this.startNodeAt(t,r);for(i.expressions=[n];this.eat(c.comma);)i.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t,r){return this.disallowInAnd((()=>this.parseMaybeAssign(e,t,r)))}parseMaybeAssignAllowIn(e,t,r){return this.allowInAnd((()=>this.parseMaybeAssign(e,t,r)))}parseMaybeAssign(e,t,r){const n=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let e=this.parseYield();return t&&(e=t.call(this,e,n,i)),e}let s;e?s=!1:(e=new je,s=!0),(this.match(c.parenL)||this.match(c.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e,r);if(t&&(a=t.call(this,a,n,i)),this.state.type.isAssign){const t=this.startNodeAt(n,i),r=this.state.value;return t.operator=r,this.match(c.eq)?(t.left=this.toAssignable(a,!0),e.doubleProto=-1):t.left=a,e.shorthandAssign>=t.left.start&&(e.shorthandAssign=-1),this.checkLVal(a,"assignment expression"),this.next(),t.right=this.parseMaybeAssign(),this.finishNode(t,"AssignmentExpression")}return s&&this.checkExpressionErrors(e,!0),a}parseMaybeConditional(e,t){const r=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,s=this.parseExprOps(e);return this.shouldExitDescending(s,i)?s:this.parseConditional(s,r,n,t)}parseConditional(e,t,r,n){if(this.eat(c.question)){const n=this.startNodeAt(t,r);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(c.colon),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseExprOps(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return this.shouldExitDescending(i,n)?i:this.parseExprOp(i,t,r,-1)}parseExprOp(e,t,r,n){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(c._in))&&i>n){const s=this.state.type;if(s===c.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)}const a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value,s!==c.exponent||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,v.UnexpectedTokenUnaryExponentiation);const o=s===c.logicalOR||s===c.logicalAND,u=s===c.nullishCoalescing;if(u&&(i=c.logicalAND.binop),this.next(),s===c.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(c.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,v.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(s,i),this.finishNode(a,o||u?"LogicalExpression":"BinaryExpression");const l=this.state.type;if(u&&(l===c.logicalOR||l===c.logicalAND)||o&&l===c.nullishCoalescing)throw this.raise(this.state.start,v.MixingCoalesceWithLogical);return this.parseExprOp(a,t,r,n)}return e}parseExprOpRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;switch(e){case c.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t),r,n)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(t)))}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){const r=this.state.start,n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,n,e.rightAssociative?t-1:t)}parseMaybeUnary(e){const t=this.state.start,r=this.state.startLoc,n=this.isContextual("await");if(n&&this.isAwaitAllowed())return this.next(),this.parseAwait(t,r);if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const i=this.match(c.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(c._throw)&&this.expectPlugin("throwExpressions");const t=this.match(c._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(e,!0),this.state.strict&&t){const e=s.argument;"Identifier"===e.type?this.raise(s.start,v.StrictDelete):this.hasPropertyAsPrivateName(e)&&this.raise(s.start,v.DeletePrivateField)}if(!i)return this.finishNode(s,"UnaryExpression")}const a=this.parseUpdate(s,i,e);if(n){if((this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(c.modulo))&&!this.isAmbiguousAwait())return this.raiseOverwrite(t,this.hasPlugin("topLevelAwait")?v.AwaitNotInAsyncContext:v.AwaitNotInAsyncFunction),this.parseAwait(t,r)}return a}parseUpdate(e,t,r){if(t)return this.checkLVal(e.argument,"prefix operation"),this.finishNode(e,"UpdateExpression");const n=this.state.start,i=this.state.startLoc;let s=this.parseExprSubscripts(r);if(this.checkExpressionErrors(r,!1))return s;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(n,i);e.operator=this.state.value,e.prefix=!1,e.argument=s,this.checkLVal(s,"postfix operation"),this.next(),s=this.finishNode(e,"UpdateExpression")}return s}parseExprSubscripts(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return this.shouldExitDescending(i,n)?i:this.parseSubscripts(i,t,r)}parseSubscripts(e,t,r,n){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,r,n,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,r,n,i){if(!n&&this.eat(c.doubleColon))return this.parseBind(e,t,r,n,i);if(this.match(c.backQuote))return this.parseTaggedTemplateExpression(e,t,r,i);let s=!1;if(this.match(c.questionDot)){if(n&&40===this.lookaheadCharCode())return i.stop=!0,e;i.optionalChainMember=s=!0,this.next()}return!n&&this.match(c.parenL)?this.parseCoverCallAndAsyncArrowHead(e,t,r,i,s):s||this.match(c.bracketL)||this.eat(c.dot)?this.parseMember(e,t,r,i,s):(i.stop=!0,e)}parseMember(e,t,r,n,i){const s=this.startNodeAt(t,r),a=this.eat(c.bracketL);s.object=e,s.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return this.isPrivateName(o)&&("Super"===s.object.type&&this.raise(t,v.SuperPrivateField),this.classScope.usePrivateName(this.getPrivateNameSV(o),o.start)),s.property=o,a&&this.expect(c.bracketR),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,r,n,i){const s=this.startNodeAt(t,r);return s.object=e,s.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(s,"BindExpression"),t,r,n)}parseCoverCallAndAsyncArrowHead(e,t,r,n,i){const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(t,r);return a.callee=e,n.maybeAsyncArrow&&this.expressionScope.enter(new Fe(2)),n.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(c.parenR,!1):this.parseCallExpressionArguments(c.parenR,n.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,a),this.finishCallExpression(a,n.optionalChainMember),n.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(n.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),a)):(n.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=s,a}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,r,n){const i=this.startNodeAt(t,r);return i.tag=e,i.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(t,v.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&e.start===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(2===e.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===e.arguments.length||e.arguments.length>2)this.raise(e.start,v.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(t.start,v.ImportCallSpreadArgument);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,r,n,i){const s=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(a)a=!1;else if(this.expect(c.comma),this.match(e)){!r||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,v.ImportCallArgumentTrailingComma),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}s.push(this.parseExprListItem(!1,t?new je:void 0,t?{start:0}:void 0,n))}return this.state.inFSharpPipelineDirectBody=o,s}shouldParseAsyncArrow(){return this.match(c.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var r;return this.expect(c.arrow),this.parseArrowExpression(e,t.arguments,!0,null==(r=t.extra)?void 0:r.trailingComma),e}parseNoCallExpr(){const e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)}parseExprAtom(e){this.state.type===c.slash&&this.readRegexp();const t=this.state.potentialArrowAt===this.state.start;let r;switch(this.state.type){case c._super:return this.parseSuper();case c._import:return r=this.startNode(),this.next(),this.match(c.dot)?this.parseImportMetaProperty(r):(this.match(c.parenL)||this.raise(this.state.lastTokStart,v.UnsupportedImport),this.finishNode(r,"Import"));case c._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case c.name:{const e=this.state.containsEsc,r=this.parseIdentifier();if(!e&&"async"===r.name&&!this.canInsertSemicolon()){if(this.match(c._function)){const e=this.state.context.length-1;if(this.state.context[e]!==E.functionStatement)throw new Error("Internal error");return this.state.context[e]=E.functionExpression,this.next(),this.parseFunction(this.startNodeAtNode(r),void 0,!0)}if(this.match(c.name))return this.parseAsyncArrowUnaryFunction(r)}return t&&this.match(c.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(r),[r],!1)):r}case c._do:return this.parseDo();case c.regexp:{const e=this.state.value;return r=this.parseLiteral(e.value,"RegExpLiteral"),r.pattern=e.pattern,r.flags=e.flags,r}case c.num:return this.parseLiteral(this.state.value,"NumericLiteral");case c.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case c.decimal:return this.parseLiteral(this.state.value,"DecimalLiteral");case c.string:return this.parseLiteral(this.state.value,"StringLiteral");case c._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case c._true:case c._false:return this.parseBooleanLiteral();case c.parenL:return this.parseParenAndDistinguishExpression(t);case c.bracketBarL:case c.bracketHashL:return this.parseArrayLike(this.state.type===c.bracketBarL?c.bracketBarR:c.bracketR,!1,!0,e);case c.bracketL:return this.parseArrayLike(c.bracketR,!0,!1,e);case c.braceBarL:case c.braceHashL:return this.parseObjectLike(this.state.type===c.braceBarL?c.braceBarR:c.braceR,!1,!0,e);case c.braceL:return this.parseObjectLike(c.braceR,!1,!1,e);case c._function:return this.parseFunctionOrFunctionSent();case c.at:this.parseDecorators();case c._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case c._new:return this.parseNewOrNewTarget();case c.backQuote:return this.parseTemplate(!1);case c.doubleColon:{r=this.startNode(),this.next(),r.object=null;const e=r.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(r,"BindExpression");throw this.raise(e.start,v.UnsupportedBind)}case c.hash:{if(this.state.inPipeline)return r=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(r.start,v.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(r.start,v.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(r,"PipelinePrimaryTopicReference");const e=this.input.codePointAt(this.state.end);if(k(e)||92===e){const e=this.state.start;if(r=this.parseMaybePrivateName(!0),this.match(c._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(this.getPrivateNameSV(r),r.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(e);this.raise(this.state.start,v.PrivateInExpectedIn,this.getPrivateNameSV(r))}return r}}case c.relational:if("<"===this.state.value){const e=this.input.codePointAt(this.nextTokenStart());(k(e)||62===e)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(e){const t=this.startNodeAtNode(e);this.prodParam.enter(pe(!0,this.prodParam.hasYield));const r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,v.LineTerminatorBeforeArrow),this.expect(c.arrow),this.parseArrowExpression(t,r,!0),t}parseDo(){this.expectPlugin("doExpressions");const e=this.startNode();this.next();const t=this.state.labels;return this.state.labels=[],e.body=this.parseBlock(),this.state.labels=t,this.finishNode(e,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(c.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(e.start,v.UnexpectedSuper):this.raise(e.start,v.SuperNotAllowed),this.match(c.parenL)||this.match(c.bracketL)||this.match(c.dot)||this.raise(e.start,v.UnsupportedSuper),this.finishNode(e,"Super")}parseBooleanLiteral(){const e=this.startNode();return e.value=this.match(c._true),this.next(),this.finishNode(e,"BooleanLiteral")}parseMaybePrivateName(e){if(this.match(c.hash)){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]),e||this.raise(this.state.pos,v.UnexpectedPrivateField);const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),t.id=this.parseIdentifier(!0),this.finishNode(t,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(c.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,r){e.meta=t,"function"===t.name&&"sent"===r&&(this.isContextual(r)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==r||n)&&this.raise(e.property.start,v.UnsupportedMetaProperty,t.name,r),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raiseWithData(t.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},v.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}parseLiteral(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;const i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,r=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new Fe(1));const i=this.state.maybeInArrowParameters,s=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,o=this.state.startLoc,u=[],l=new je,p={start:0};let h,d,f=!0;for(;!this.match(c.parenR);){if(f)f=!1;else if(this.expect(c.comma,p.start||null),this.match(c.parenR)){d=this.state.start;break}if(this.match(c.ellipsis)){const e=this.state.start,t=this.state.startLoc;h=this.state.start,u.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}u.push(this.parseMaybeAssignAllowIn(l,this.parseParenItem,p))}const m=this.state.lastTokEnd,y=this.state.lastTokEndLoc;this.expect(c.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=s;let g=this.startNodeAt(t,r);if(e&&this.shouldParseArrow()&&(g=this.parseArrow(g)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(g,u,!1),g;if(this.expressionScope.exit(),u.length||this.unexpected(this.state.lastTokStart),d&&this.unexpected(d),h&&this.unexpected(h),this.checkExpressionErrors(l,!0),p.start&&this.unexpected(p.start),this.toReferencedListDeep(u,!0),u.length>1?(n=this.startNodeAt(a,o),n.expressions=u,this.finishNodeAt(n,"SequenceExpression",m,y)):n=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",t),n;const b=this.startNodeAt(t,r);return b.expression=n,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(c.arrow))return e}parseParenItem(e,t,r){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(c.dot)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const r=this.parseMetaProperty(e,t,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let e=v.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(e+=" or class properties"),this.raise(r.start,e)}return r}return this.parseNew(e)}parseNew(e){return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,v.ImportCallNotNewExpression):this.isOptionalChain(e.callee)?this.raise(this.state.lastTokEnd,v.OptionalChainingNoNew):this.eat(c.questionDot)&&this.raise(this.state.start,v.OptionalChainingNoNew),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(c.parenL)){const t=this.parseExprList(c.parenR);this.toReferencedList(t),e.arguments=t}else e.arguments=[]}parseTemplateElement(e){const t=this.startNode();return null===this.state.value&&(e||this.raise(this.state.start+1,v.InvalidEscapeSequenceTemplate)),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(c.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(c.dollarBraceL),t.expressions.push(this.parseTemplateSubstitution()),this.expect(c.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(c.comma),this.match(e)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(t,n);t||this.checkProto(i,r,s,n),r&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(i.start,v.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),o.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return t?u="ObjectPattern":r&&(u="RecordExpression"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(c.bracketL)||this.match(c.star))}parsePropertyDefinition(e,t){let r=[];if(this.match(c.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,v.UnsupportedPropertyDecorator);this.match(c.at);)r.push(this.parseDecorator());const n=this.startNode();let i,s,a=!1,o=!1,u=!1;if(this.match(c.ellipsis))return r.length&&this.unexpected(),e?(this.next(),n.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(n,"RestElement")):this.parseSpread();r.length&&(n.decorators=r,r=[]),n.method=!1,(e||t)&&(i=this.state.start,s=this.state.startLoc),e||(a=this.eat(c.star));const l=this.state.containsEsc,p=this.parsePropertyName(n,!1);if(!e&&!a&&!l&&this.maybeAsyncOrAccessorProp(n)){const e=p.name;"async"!==e||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(c.star),this.parsePropertyName(n,!1)),"get"!==e&&"set"!==e||(u=!0,n.kind=e,this.match(c.star)&&(a=!0,this.raise(this.state.pos,v.AccessorIsGenerator,e),this.next()),this.parsePropertyName(n,!1))}return this.parseObjPropValue(n,i,s,a,o,e,u,t),n}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){var t;const r=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e),i=e.start;n.length!==r&&("get"===e.kind?this.raise(i,v.BadGetterArity):this.raise(i,v.BadSetterArity)),"set"===e.kind&&"RestElement"===(null==(t=n[n.length-1])?void 0:t.type)&&this.raise(i,v.BadSetterRestParameter)}parseObjectMethod(e,t,r,n,i){return i?(this.parseMethod(e,t,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):r||t||this.match(c.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(e,t,r,n,i){return e.shorthand=!1,this.eat(c.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(c.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,r,n,i,s,a,o){const u=this.parseObjectMethod(e,n,i,s,a)||this.parseObjectProperty(e,t,r,s,o);return u||this.unexpected(),u}parsePropertyName(e,t){if(this.eat(c.bracketL))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(c.bracketR);else{const r=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(c.num)||this.match(c.string)||this.match(c.bigint)||this.match(c.decimal)?this.parseExprAtom():this.parseMaybePrivateName(t),this.isPrivateName(e.key)||(e.computed=!1),this.state.inPropertyName=r}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,r,n,i,s,a=!1){this.initFunction(e,r),e.generator=!!t;const o=n;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(pe(r,e.generator)),this.parseFunctionParams(e,o),this.parseFunctionBodyAndFinish(e,s,!0),this.prodParam.exit(),this.scope.exit(),e}parseArrayLike(e,t,r,n){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!r,n,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,r?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,r,n){this.scope.enter(6);let i=pe(r,!1);!this.match(c.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,r);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),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,r){e.params=this.toAssignableList(t,r,!1)}parseFunctionBodyAndFinish(e,t,r=!1){this.parseFunctionBody(e,!1,r),this.finishNode(e,t)}parseFunctionBody(e,t,r=!1){const n=t&&!this.match(c.braceL);if(this.expressionScope.enter(Ne()),n)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const n=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);if(i&&s){const t="method"!==e.kind&&"constructor"!==e.kind||!e.key?e.start:e.key.end;this.raise(t,v.IllegalLanguageModeDirective)}const a=!n&&this.state.strict;this.checkParams(e,!(this.state.strict||t||r||s),t,a),this.state.strict&&e.id&&this.checkLVal(e.id,"function name",65,void 0,void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(e){for(let t=0,r=e.length;t=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),t,r,e);return this.state.inFSharpPipelineDirectBody=n,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.eat(c.braceL);const t=this.initializeScopes(!0);this.enterInitialScopes();const r=this.startNode();try{e.body=this.parseProgram(r,c.braceR,"module")}finally{t()}return this.eat(c.braceR),this.finishNode(e,"ModuleExpression")}}{parseTopLevel(e,t){return e.program=this.parseProgram(t),e.comments=this.state.comments,this.options.tokens&&(e.tokens=this.tokens),this.finishNode(e,"File")}parseProgram(e,t=c.eof,r=this.options.sourceType){if(e.sourceType=r,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(const[e]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(e);this.raise(t,v.ModuleExportUndefined,e)}return this.finishNode(e,"Program")}stmtToDirective(e){const t=e.expression,r=this.startNodeAt(t.start,t.loc.start),n=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),s=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",s),n.value=this.finishNodeAt(r,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(n,"Directive",e.end,e.loc.end)}parseInterpreterDirective(){if(!this.match(c.interpreterDirective))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(e){if(!this.isContextual("let"))return!1;const t=this.nextTokenStart(),r=this.input.charCodeAt(t);if(91===r)return!0;if(e)return!1;if(123===r)return!0;if(k(r)){let e=t+1;for(;_(this.input.charCodeAt(e));)++e;const r=this.input.slice(t,e);if(!V.test(r))return!0}return!1}parseStatement(e,t){return this.match(c.at)&&this.parseDecorators(!0),this.parseStatementContent(e,t)}parseStatementContent(e,t){let r=this.state.type;const n=this.startNode();let i;switch(this.isLet(e)&&(r=c._var,i="let"),r){case c._break:case c._continue:return this.parseBreakContinueStatement(n,r.keyword);case c._debugger:return this.parseDebuggerStatement(n);case c._do:return this.parseDoStatement(n);case c._for:return this.parseForStatement(n);case c._function:if(46===this.lookaheadCharCode())break;return e&&(this.state.strict?this.raise(this.state.start,v.StrictFunction):"if"!==e&&"label"!==e&&this.raise(this.state.start,v.SloppyFunction)),this.parseFunctionStatement(n,!1,!e);case c._class:return e&&this.unexpected(),this.parseClass(n,!0);case c._if:return this.parseIfStatement(n);case c._return:return this.parseReturnStatement(n);case c._switch:return this.parseSwitchStatement(n);case c._throw:return this.parseThrowStatement(n);case c._try:return this.parseTryStatement(n);case c._const:case c._var:return i=i||this.state.value,e&&"var"!==i&&this.raise(this.state.start,v.UnexpectedLexicalDeclaration),this.parseVarStatement(n,i);case c._while:return this.parseWhileStatement(n);case c._with:return this.parseWithStatement(n);case c.braceL:return this.parseBlock();case c.semi:return this.parseEmptyStatement(n);case c._import:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case c._export:{let e;return this.options.allowImportExportEverywhere||t||this.raise(this.state.start,v.UnexpectedImportExport),this.next(),r===c._import?(e=this.parseImport(n),"ImportDeclaration"!==e.type||e.importKind&&"value"!==e.importKind||(this.sawUnambiguousESM=!0)):(e=this.parseExport(n),("ExportNamedDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&("ExportAllDeclaration"!==e.type||e.exportKind&&"value"!==e.exportKind)&&"ExportDefaultDeclaration"!==e.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(n),e}default:if(this.isAsyncFunction())return e&&this.raise(this.state.start,v.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(n,!0,!e)}const s=this.state.value,a=this.parseExpression();return r===c.name&&"Identifier"===a.type&&this.eat(c.colon)?this.parseLabeledStatement(n,s,a,e):this.parseExpressionStatement(n,a)}assertModuleNodeAllowed(e){this.options.allowImportExportEverywhere||this.inModule||this.raiseWithData(e.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},v.ImportOutsideModule)}takeDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];t.length&&(e.decorators=t,this.resetStartLocationFromNode(e,t[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(c._class)}parseDecorators(e){const t=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(c.at);){const e=this.parseDecorator();t.push(e)}if(this.match(c._export))e||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,v.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,v.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const t=this.state.start,r=this.state.startLoc;let n;if(this.eat(c.parenL))n=this.parseExpression(),this.expect(c.parenR);else for(n=this.parseIdentifier(!1);this.eat(c.dot);){const e=this.startNodeAt(t,r);e.object=n,e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(n),this.state.decoratorStack.pop()}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e){if(this.eat(c.parenL)){const t=this.startNodeAtNode(e);return t.callee=e,t.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.toReferencedList(t.arguments),this.finishNode(t,"CallExpression")}return e}parseBreakContinueStatement(e,t){const r="break"===t;return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){const r="break"===t;let n;for(n=0;nthis.parseStatement("do"))),this.state.labels.pop(),this.expect(c._while),e.test=this.parseHeaderExpression(),this.eat(c.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Be);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(0),this.expect(c.parenL),this.match(c.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const r=this.isLet();if(this.match(c._var)||this.match(c._const)||r){const n=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),(this.match(c._in)||this.isContextual("of"))&&1===n.declarations.length?this.parseForIn(e,n,t):(t>-1&&this.unexpected(t),this.parseFor(e,n))}const n=new je,i=this.parseExpression(!0,n);if(this.match(c._in)||this.isContextual("of")){this.toAssignable(i,!0);const r=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,r),this.parseForIn(e,i,t)}return this.checkExpressionErrors(n,!0),t>-1&&this.unexpected(t),this.parseFor(e,i)}parseFunctionStatement(e,t,r){return this.next(),this.parseFunction(e,1|(r?0:2),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(c._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,v.IllegalReturn),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 r,n;for(this.expect(c.braceL),this.state.labels.push(Re),this.scope.enter(0);!this.match(c.braceR);)if(this.match(c._case)||this.match(c._default)){const e=this.match(c._case);r&&this.finishNode(r,"SwitchCase"),t.push(r=this.startNode()),r.consequent=[],this.next(),e?r.test=this.parseExpression():(n&&this.raise(this.state.lastTokStart,v.MultipleDefaultsInSwitch),n=!0,r.test=null),this.expect(c.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,v.NewlineAfterThrow),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom(),t="Identifier"===e.type;return this.scope.enter(t?8:0),this.checkLVal(e,"catch clause",9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(c._catch)){const t=this.startNode();this.next(),this.match(c.parenL)?(this.expect(c.parenL),t.param=this.parseCatchClauseParam(),this.expect(c.parenR)):(t.param=null,this.scope.enter(0)),t.body=this.withTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(c._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,v.NoCatchOrFinally),this.finishNode(e,"TryStatement")}parseVarStatement(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Be),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("while"))),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(this.state.start,v.StrictWith),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("with"))),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,r,n){for(const e of this.state.labels)e.name===t&&this.raise(r.start,v.LabelRedeclaration,t);const i=this.state.type.isLoop?"loop":this.match(c._switch)?"switch":null;for(let t=this.state.labels.length-1;t>=0;t--){const r=this.state.labels[t];if(r.statementStart!==e.start)break;r.statementStart=this.state.start,r.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(n?-1===n.indexOf("label")?n+"label":n:"label"),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,r){const n=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(c.braceL),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,c.braceR,r),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,r,n,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,r,n,i)}parseBlockOrModuleBlockBody(e,t,r,n,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(n);){const n=this.parseStatement(null,r);if(t&&!o){if(this.isValidDirective(n)){const e=this.stmtToDirective(n);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(n)}i&&i.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(c.semi)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(c.parenR)?null:this.parseExpression(),this.expect(c.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,r){const n=this.match(c._in);return this.next(),n?r>-1&&this.unexpected(r):e.await=r>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||n&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type?"AssignmentPattern"===t.type&&this.raise(t.start,v.InvalidLhs,"for-loop"):this.raise(t.start,v.ForInOfLoopInitializer,n?"for-in":"for-of"),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(c.parenR),e.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,r){const n=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=r;;){const e=this.startNode();if(this.parseVarId(e,r),this.eat(c.eq)?e.init=t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==r||this.match(c._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(c._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,v.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,v.DeclarationMissingInitializer,"Const declarations"),e.init=null),n.push(this.finishNode(e,"VariableDeclarator")),!this.eat(c.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"variable declaration","var"===t?5:9,void 0,"var"!==t)}parseFunction(e,t=0,r=!1){const n=1&t,i=2&t,s=!(!n||4&t);this.initFunction(e,r),this.match(c.star)&&i&&this.raise(this.state.start,v.GeneratorInSingleStatementContext),e.generator=this.eat(c.star),n&&(e.id=this.parseFunctionId(s));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(pe(r,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),n&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||this.match(c.name)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(c.parenL),this.expressionScope.enter(new Ie(3)),e.params=this.parseBindingList(c.parenR,41,!1,t),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:9:17,e.id.start)}parseClass(e,t,r){this.next(),this.takeDecorators(e);const n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,r),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(c.eq)||this.match(c.semi)||this.match(c.braceR)}isClassMethod(){return this.match(c.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e,t){this.classScope.enter();const r={constructorAllowsSuper:e,hadConstructor:!1,hadStaticBlock:!1};let n=[];const i=this.startNode();if(i.body=[],this.expect(c.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(c.braceR);){if(this.eat(c.semi)){if(n.length>0)throw this.raise(this.state.lastTokEnd,v.DecoratorSemicolon);continue}if(this.match(c.at)){n.push(this.parseDecorator());continue}const e=this.startNode();n.length&&(e.decorators=n,this.resetStartLocationFromNode(e,n[0]),n=[]),this.parseClassMember(i,e,r),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,v.DecoratorConstructor)}})),this.state.strict=t,this.next(),n.length)throw this.raise(this.state.start,v.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const r=this.parseIdentifier(!0);if(this.isClassMethod()){const n=t;return n.kind="method",n.computed=!1,n.key=r,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){const n=t;return n.computed=!1,n.key=r,n.static=!1,e.body.push(this.parseClassProperty(n)),!0}return!1}parseClassMember(e,t,r){const n=this.isContextual("static");if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(c.braceL))return void this.parseClassStaticBlock(e,t,r)}this.parseClassMemberWithIsStatic(e,t,r,n)}parseClassMemberWithIsStatic(e,t,r,n){const i=t,s=t,a=t,o=t,u=i,l=i;if(t.static=n,this.eat(c.star))return u.kind="method",this.parseClassElementName(u),this.isPrivateName(u.key)?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,v.ConstructorIsGenerator),void this.pushClassMethod(e,i,!0,!1,!1,!1));const p=this.state.containsEsc,h=this.parseClassElementName(t),d=this.isPrivateName(h),f="Identifier"===h.type,m=this.state.start;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(u.kind="method",d)return void this.pushClassPrivateMethod(e,s,!1,!1);const t=this.isNonstaticConstructor(i);let n=!1;t&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(h.start,v.DuplicateConstructor),r.hadConstructor=!0,n=r.constructorAllowsSuper),this.pushClassMethod(e,i,!1,!1,t,n)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if(!f||"async"!==h.name||p||this.isLineTerminator())!f||"get"!==h.name&&"set"!==h.name||p||this.match(c.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected():(u.kind=h.name,this.parseClassElementName(i),this.isPrivateName(u.key)?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,v.ConstructorIsAccessor),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const t=this.eat(c.star);l.optional&&this.unexpected(m),u.kind="method",this.parseClassElementName(u),this.parsePostMemberNameModifiers(l),this.isPrivateName(u.key)?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,v.ConstructorIsAsync),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const t=this.parsePropertyName(e,!0);return e.computed||!e.static||"prototype"!==t.name&&"prototype"!==t.value||this.raise(t.start,v.StaticPrototype),this.isPrivateName(t)&&"constructor"===this.getPrivateNameSV(t)&&this.raise(t.start,v.ConstructorClassPrivateField),t}parseClassStaticBlock(e,t,r){var n;this.expectPlugin("classStaticBlock",t.start),this.scope.enter(208);const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const s=t.body=[];this.parseBlockOrModuleBlockBody(s,void 0,!1,c.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=i,e.body.push(this.finishNode(t,"StaticBlock")),r.hadStaticBlock&&this.raise(t.start,v.DuplicateStaticBlock),null!=(n=t.decorators)&&n.length&&this.raise(t.start,v.DecoratorStaticBlock),r.hadStaticBlock=!0}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,v.ConstructorClassField),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){this.expectPlugin("classPrivateProperties",t.key.start);const r=this.parseClassPrivateProperty(t);e.body.push(r),this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.start)}pushClassMethod(e,t,r,n,i,s){e.body.push(this.parseMethod(t,r,n,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,r,n){this.expectPlugin("classPrivateMethods",t.key.start);const i=this.parseMethod(t,r,n,!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.classScope.declarePrivateName(this.getPrivateNameSV(i.key),s,i.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return e.typeAnnotation&&!this.match(c.eq)||this.expectPlugin("classProperties"),this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseInitializer(e){this.scope.enter(80),this.expressionScope.enter(Ne()),this.prodParam.enter(0),e.value=this.eat(c.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,r,n=139){this.match(c.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,"class name",n)):r||!t?e.id=null:this.unexpected(null,v.MissingClassName)}parseClassSuper(e){e.superClass=this.eat(c._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),r=!t||this.eat(c.comma),n=r&&this.eatExportStar(e),i=n&&this.maybeParseExportNamespaceSpecifier(e),s=r&&(!i||this.eat(c.comma)),a=t||n;if(n&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&r&&!n&&!o||i&&s&&!o)throw this.unexpected(null,c.braceL);let u;if(a||o?(u=!1,this.parseExportFrom(e,a)):u=this.maybeParseExportDeclaration(e),a||o||u)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(c._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,c.braceL)}eatExportStar(e){return this.eat(c.star)}maybeParseExportDefaultSpecifier(e){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const t=this.startNode();return t.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(t,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual("as")){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){return!!this.match(c.braceL)&&(e.specifiers||(e.specifiers=[]),e.specifiers.push(...this.parseExportSpecifiers()),e.source=null,e.declaration=null,!0)}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const e=this.nextTokenStart();return!p.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(c._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,5,t);if(this.match(c._class))return this.parseClass(e,!0,!0);if(this.match(c.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,v.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(c._const)||this.match(c._var)||this.isLet())throw this.raise(this.state.start,v.UnsupportedDefaultExport);{const e=this.parseMaybeAssignAllowIn();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(c.name)){const e=this.state.value;if("async"===e&&!this.state.containsEsc||"let"===e)return!1;if(("type"===e||"interface"===e)&&!this.state.containsEsc){const e=this.lookahead();if(e.type===c.name&&"from"!==e.value||e.type===c.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(c._default))return!1;const e=this.nextTokenStart(),t=this.isUnparsedContextual(e,"from");if(44===this.input.charCodeAt(e)||this.match(c.name)&&t)return!0;if(this.match(c._default)&&t){const t=this.input.charCodeAt(this.nextTokenStartSince(e+4));return 34===t||39===t}return!1}parseExportFrom(e,t){if(this.eatContextual("from")){e.source=this.parseImportSource(),this.checkExport(e);const t=this.maybeParseImportAssertions();t&&(e.assertions=t)}else t?this.unexpected():e.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(c.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,v.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(e,t,r,n){if(t)if(r){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){var i;const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!=4||null!=(i=t.extra)&&i.parenthesized||this.raise(t.start,v.ExportDefaultFromAsIdentifier)}}else if(e.specifiers&&e.specifiers.length)for(const t of e.specifiers){const{exported:e}=t,r="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,r),!n&&t.local){const{local:e}=t;"StringLiteral"===e.type?this.raise(t.start,v.ExportBindingIsString,e.value,r):(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type){const t=e.declaration.id;if(!t)throw new Error("Assertion failure");this.checkDuplicateExports(e,t.name)}else if("VariableDeclaration"===e.declaration.type)for(const t of e.declaration.declarations)this.checkDeclaration(t.id);if(this.state.decoratorStack[this.state.decoratorStack.length-1].length)throw this.raise(e.start,v.UnsupportedDecoratorExport)}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.state.exportedIdentifiers.indexOf(t)>-1&&this.raise(e.start,"default"===t?v.DuplicateDefaultExport:v.DuplicateExport,t),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(t)t=!1;else if(this.expect(c.comma),this.eat(c.braceR))break;const r=this.startNode();r.local=this.parseModuleExportName(),r.exported=this.eatContextual("as")?this.parseModuleExportName():r.local.__clone(),e.push(this.finishNode(r,"ExportSpecifier"))}return e}parseModuleExportName(){if(this.match(c.string)){this.expectPlugin("moduleStringNames");const e=this.parseLiteral(this.state.value,"StringLiteral"),t=e.value.match(Ue);return t&&this.raise(e.start,v.ModuleExportNameHasLoneSurrogate,t[0].charCodeAt(0).toString(16)),e}return this.parseIdentifier(!0)}parseImport(e){if(e.specifiers=[],!this.match(c.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(c.comma),r=t&&this.maybeParseStarImportSpecifier(e);t&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual("from")}e.source=this.parseImportSource();const t=this.maybeParseImportAssertions();if(t)e.assertions=t;else{const t=this.maybeParseModuleAttributes();t&&(e.attributes=t)}return this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(c.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(c.name)}parseImportSpecifierLocal(e,t,r,n){t.local=this.parseIdentifier(),this.checkLVal(t.local,n,9),e.specifiers.push(this.finishNode(t,r))}parseAssertEntries(){const e=[],t=new Set;do{if(this.match(c.braceR))break;const r=this.startNode(),n=this.state.value;if(this.match(c.string)?r.key=this.parseLiteral(n,"StringLiteral"):r.key=this.parseIdentifier(!0),this.expect(c.colon),"type"!==n&&this.raise(r.key.start,v.ModuleAttributeDifferentFromType,n),t.has(n)&&this.raise(r.key.start,v.ModuleAttributesWithDuplicateKeys,n),t.add(n),!this.match(c.string))throw this.unexpected(this.state.start,v.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(c.comma));return e}maybeParseModuleAttributes(){if(!this.match(c._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const e=[],t=new Set;do{const r=this.startNode();if(r.key=this.parseIdentifier(!0),"type"!==r.key.name&&this.raise(r.key.start,v.ModuleAttributeDifferentFromType,r.key.name),t.has(r.key.name)&&this.raise(r.key.start,v.ModuleAttributesWithDuplicateKeys,r.key.name),t.add(r.key.name),this.expect(c.colon),!this.match(c.string))throw this.unexpected(this.state.start,v.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),e.push(r)}while(this.eat(c.comma));return e}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(c.braceL);const e=this.parseAssertEntries();return this.eat(c.braceR),e}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(c.star)){const t=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(t)t=!1;else{if(this.eat(c.colon))throw this.raise(this.state.start,v.DestructureNamedImport);if(this.expect(c.comma),this.eat(c.braceR))break}this.parseImportSpecifier(e)}}parseImportSpecifier(e){const t=this.startNode();if(t.imported=this.parseModuleExportName(),this.eatContextual("as"))t.local=this.parseIdentifier();else{const{imported:e}=t;if("StringLiteral"===e.type)throw this.raise(t.start,v.ImportBindingIsString,e.value);this.checkReservedWord(e.name,t.start,!0,!0),t.local=e.__clone()}this.checkLVal(t.local,"import specifier",9),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}{constructor(e,t){super(e=function(e){const t={};for(const r of Object.keys(De))t[r]=e&&null!=e[r]?e[r]:De[r];return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=function(e){const t=new Map;for(const r of e){const[e,n]=Array.isArray(r)?r:[r,{}];t.has(e)||t.set(e,n||{})}return t}(this.options.plugins),this.filename=e.sourceFilename}getScopeHandler(){return $}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}}function ze(e,t){let r=Ve;return null!=e&&e.plugins&&(!function(e){if(ye(e,"decorators")){if(ye(e,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=ge(e,"decorators","decoratorsBeforeExport");if(null==t)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(ye(e,"flow")&&ye(e,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(ye(e,"placeholders")&&ye(e,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(ye(e,"pipelineOperator")&&!be.includes(ge(e,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+be.map((e=>`'${e}'`)).join(", "));if(ye(e,"moduleAttributes")){if(ye(e,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==ge(e,"moduleAttributes","version"))throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(ye(e,"recordAndTuple")&&!ve.includes(ge(e,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+ve.map((e=>`'${e}'`)).join(", "))}(e.plugins),r=function(e){const t=Ee.filter((t=>ye(e,t))),r=t.join("/");let n=We[r];if(!n){n=Ve;for(const e of t)n=xe[e](n);We[r]=n}return n}(e.plugins)),new r(e,t)}const We={};t.parse=function(e,t){var r;if("unambiguous"!==(null==(r=t)?void 0:r.sourceType))return ze(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const r=ze(t,e),n=r.parse();if(r.sawUnambiguousESM)return n;if(r.ambiguousScriptDifferentAst)try{return t.sourceType="script",ze(t,e).parse()}catch(e){}else n.program.sourceType="script";return n}catch(r){try{return t.sourceType="script",ze(t,e).parse()}catch(e){}throw r}},t.parseExpression=function(e,t){const r=ze(t,e);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()},t.tokTypes=c})),Mi=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const r=Object.keys(t);for(const n of r)if(e[n]!==t[n])return!1;return!0}})),Li=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isArrayExpression=function(e,t){if(!e)return!1;if("ArrayExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAssignmentExpression=function(e,t){if(!e)return!1;if("AssignmentExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBinaryExpression=function(e,t){if(!e)return!1;if("BinaryExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterpreterDirective=function(e,t){if(!e)return!1;if("InterpreterDirective"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDirective=function(e,t){if(!e)return!1;if("Directive"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDirectiveLiteral=function(e,t){if(!e)return!1;if("DirectiveLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBlockStatement=function(e,t){if(!e)return!1;if("BlockStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBreakStatement=function(e,t){if(!e)return!1;if("BreakStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isCallExpression=function(e,t){if(!e)return!1;if("CallExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isCatchClause=function(e,t){if(!e)return!1;if("CatchClause"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isConditionalExpression=function(e,t){if(!e)return!1;if("ConditionalExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isContinueStatement=function(e,t){if(!e)return!1;if("ContinueStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDebuggerStatement=function(e,t){if(!e)return!1;if("DebuggerStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDoWhileStatement=function(e,t){if(!e)return!1;if("DoWhileStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEmptyStatement=function(e,t){if(!e)return!1;if("EmptyStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExpressionStatement=function(e,t){if(!e)return!1;if("ExpressionStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFile=function(e,t){if(!e)return!1;if("File"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForInStatement=function(e,t){if(!e)return!1;if("ForInStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForStatement=function(e,t){if(!e)return!1;if("ForStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionDeclaration=function(e,t){if(!e)return!1;if("FunctionDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionExpression=function(e,t){if(!e)return!1;if("FunctionExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIdentifier=function(e,t){if(!e)return!1;if("Identifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIfStatement=function(e,t){if(!e)return!1;if("IfStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isLabeledStatement=function(e,t){if(!e)return!1;if("LabeledStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringLiteral=function(e,t){if(!e)return!1;if("StringLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumericLiteral=function(e,t){if(!e)return!1;if("NumericLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullLiteral=function(e,t){if(!e)return!1;if("NullLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanLiteral=function(e,t){if(!e)return!1;if("BooleanLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRegExpLiteral=function(e,t){if(!e)return!1;if("RegExpLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isLogicalExpression=function(e,t){if(!e)return!1;if("LogicalExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMemberExpression=function(e,t){if(!e)return!1;if("MemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNewExpression=function(e,t){if(!e)return!1;if("NewExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isProgram=function(e,t){if(!e)return!1;if("Program"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectExpression=function(e,t){if(!e)return!1;if("ObjectExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectMethod=function(e,t){if(!e)return!1;if("ObjectMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectProperty=function(e,t){if(!e)return!1;if("ObjectProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRestElement=function(e,t){if(!e)return!1;if("RestElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isReturnStatement=function(e,t){if(!e)return!1;if("ReturnStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSequenceExpression=function(e,t){if(!e)return!1;if("SequenceExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isParenthesizedExpression=function(e,t){if(!e)return!1;if("ParenthesizedExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSwitchCase=function(e,t){if(!e)return!1;if("SwitchCase"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSwitchStatement=function(e,t){if(!e)return!1;if("SwitchStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThisExpression=function(e,t){if(!e)return!1;if("ThisExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThrowStatement=function(e,t){if(!e)return!1;if("ThrowStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTryStatement=function(e,t){if(!e)return!1;if("TryStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUnaryExpression=function(e,t){if(!e)return!1;if("UnaryExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUpdateExpression=function(e,t){if(!e)return!1;if("UpdateExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariableDeclaration=function(e,t){if(!e)return!1;if("VariableDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariableDeclarator=function(e,t){if(!e)return!1;if("VariableDeclarator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isWhileStatement=function(e,t){if(!e)return!1;if("WhileStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isWithStatement=function(e,t){if(!e)return!1;if("WithStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAssignmentPattern=function(e,t){if(!e)return!1;if("AssignmentPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrayPattern=function(e,t){if(!e)return!1;if("ArrayPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrowFunctionExpression=function(e,t){if(!e)return!1;if("ArrowFunctionExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassBody=function(e,t){if(!e)return!1;if("ClassBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassExpression=function(e,t){if(!e)return!1;if("ClassExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassDeclaration=function(e,t){if(!e)return!1;if("ClassDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportAllDeclaration=function(e,t){if(!e)return!1;if("ExportAllDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDefaultDeclaration=function(e,t){if(!e)return!1;if("ExportDefaultDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportNamedDeclaration=function(e,t){if(!e)return!1;if("ExportNamedDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportSpecifier=function(e,t){if(!e)return!1;if("ExportSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isForOfStatement=function(e,t){if(!e)return!1;if("ForOfStatement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportDeclaration=function(e,t){if(!e)return!1;if("ImportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportDefaultSpecifier=function(e,t){if(!e)return!1;if("ImportDefaultSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ImportNamespaceSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportSpecifier=function(e,t){if(!e)return!1;if("ImportSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMetaProperty=function(e,t){if(!e)return!1;if("MetaProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassMethod=function(e,t){if(!e)return!1;if("ClassMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectPattern=function(e,t){if(!e)return!1;if("ObjectPattern"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSpreadElement=function(e,t){if(!e)return!1;if("SpreadElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSuper=function(e,t){if(!e)return!1;if("Super"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTaggedTemplateExpression=function(e,t){if(!e)return!1;if("TaggedTemplateExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTemplateElement=function(e,t){if(!e)return!1;if("TemplateElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTemplateLiteral=function(e,t){if(!e)return!1;if("TemplateLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isYieldExpression=function(e,t){if(!e)return!1;if("YieldExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAwaitExpression=function(e,t){if(!e)return!1;if("AwaitExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImport=function(e,t){if(!e)return!1;if("Import"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBigIntLiteral=function(e,t){if(!e)return!1;if("BigIntLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ExportNamespaceSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOptionalMemberExpression=function(e,t){if(!e)return!1;if("OptionalMemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOptionalCallExpression=function(e,t){if(!e)return!1;if("OptionalCallExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isAnyTypeAnnotation=function(e,t){if(!e)return!1;if("AnyTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArrayTypeAnnotation=function(e,t){if(!e)return!1;if("ArrayTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBooleanLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NullLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassImplements=function(e,t){if(!e)return!1;if("ClassImplements"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareClass=function(e,t){if(!e)return!1;if("DeclareClass"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareFunction=function(e,t){if(!e)return!1;if("DeclareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareInterface=function(e,t){if(!e)return!1;if("DeclareInterface"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareModule=function(e,t){if(!e)return!1;if("DeclareModule"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareModuleExports=function(e,t){if(!e)return!1;if("DeclareModuleExports"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareTypeAlias=function(e,t){if(!e)return!1;if("DeclareTypeAlias"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareOpaqueType=function(e,t){if(!e)return!1;if("DeclareOpaqueType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareVariable=function(e,t){if(!e)return!1;if("DeclareVariable"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareExportDeclaration=function(e,t){if(!e)return!1;if("DeclareExportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclareExportAllDeclaration=function(e,t){if(!e)return!1;if("DeclareExportAllDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclaredPredicate=function(e,t){if(!e)return!1;if("DeclaredPredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExistsTypeAnnotation=function(e,t){if(!e)return!1;if("ExistsTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionTypeAnnotation=function(e,t){if(!e)return!1;if("FunctionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionTypeParam=function(e,t){if(!e)return!1;if("FunctionTypeParam"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isGenericTypeAnnotation=function(e,t){if(!e)return!1;if("GenericTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInferredPredicate=function(e,t){if(!e)return!1;if("InferredPredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceExtends=function(e,t){if(!e)return!1;if("InterfaceExtends"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceDeclaration=function(e,t){if(!e)return!1;if("InterfaceDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isInterfaceTypeAnnotation=function(e,t){if(!e)return!1;if("InterfaceTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isIntersectionTypeAnnotation=function(e,t){if(!e)return!1;if("IntersectionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isMixedTypeAnnotation=function(e,t){if(!e)return!1;if("MixedTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEmptyTypeAnnotation=function(e,t){if(!e)return!1;if("EmptyTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNullableTypeAnnotation=function(e,t){if(!e)return!1;if("NullableTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NumberLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberTypeAnnotation=function(e,t){if(!e)return!1;if("NumberTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeAnnotation=function(e,t){if(!e)return!1;if("ObjectTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeInternalSlot=function(e,t){if(!e)return!1;if("ObjectTypeInternalSlot"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeCallProperty=function(e,t){if(!e)return!1;if("ObjectTypeCallProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeIndexer=function(e,t){if(!e)return!1;if("ObjectTypeIndexer"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeProperty=function(e,t){if(!e)return!1;if("ObjectTypeProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectTypeSpreadProperty=function(e,t){if(!e)return!1;if("ObjectTypeSpreadProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isOpaqueType=function(e,t){if(!e)return!1;if("OpaqueType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isQualifiedTypeIdentifier=function(e,t){if(!e)return!1;if("QualifiedTypeIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("StringLiteralTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStringTypeAnnotation=function(e,t){if(!e)return!1;if("StringTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSymbolTypeAnnotation=function(e,t){if(!e)return!1;if("SymbolTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isThisTypeAnnotation=function(e,t){if(!e)return!1;if("ThisTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTupleTypeAnnotation=function(e,t){if(!e)return!1;if("TupleTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeofTypeAnnotation=function(e,t){if(!e)return!1;if("TypeofTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeAlias=function(e,t){if(!e)return!1;if("TypeAlias"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeAnnotation=function(e,t){if(!e)return!1;if("TypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeCastExpression=function(e,t){if(!e)return!1;if("TypeCastExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameter=function(e,t){if(!e)return!1;if("TypeParameter"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TypeParameterDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TypeParameterInstantiation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isUnionTypeAnnotation=function(e,t){if(!e)return!1;if("UnionTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVariance=function(e,t){if(!e)return!1;if("Variance"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isVoidTypeAnnotation=function(e,t){if(!e)return!1;if("VoidTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumDeclaration=function(e,t){if(!e)return!1;if("EnumDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBooleanBody=function(e,t){if(!e)return!1;if("EnumBooleanBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumNumberBody=function(e,t){if(!e)return!1;if("EnumNumberBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumStringBody=function(e,t){if(!e)return!1;if("EnumStringBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumSymbolBody=function(e,t){if(!e)return!1;if("EnumSymbolBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBooleanMember=function(e,t){if(!e)return!1;if("EnumBooleanMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumNumberMember=function(e,t){if(!e)return!1;if("EnumNumberMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumStringMember=function(e,t){if(!e)return!1;if("EnumStringMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumDefaultedMember=function(e,t){if(!e)return!1;if("EnumDefaultedMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXAttribute=function(e,t){if(!e)return!1;if("JSXAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXClosingElement=function(e,t){if(!e)return!1;if("JSXClosingElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXElement=function(e,t){if(!e)return!1;if("JSXElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXEmptyExpression=function(e,t){if(!e)return!1;if("JSXEmptyExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXExpressionContainer=function(e,t){if(!e)return!1;if("JSXExpressionContainer"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXSpreadChild=function(e,t){if(!e)return!1;if("JSXSpreadChild"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXIdentifier=function(e,t){if(!e)return!1;if("JSXIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXMemberExpression=function(e,t){if(!e)return!1;if("JSXMemberExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXNamespacedName=function(e,t){if(!e)return!1;if("JSXNamespacedName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXOpeningElement=function(e,t){if(!e)return!1;if("JSXOpeningElement"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXSpreadAttribute=function(e,t){if(!e)return!1;if("JSXSpreadAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXText=function(e,t){if(!e)return!1;if("JSXText"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXFragment=function(e,t){if(!e)return!1;if("JSXFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXOpeningFragment=function(e,t){if(!e)return!1;if("JSXOpeningFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isJSXClosingFragment=function(e,t){if(!e)return!1;if("JSXClosingFragment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isNoop=function(e,t){if(!e)return!1;if("Noop"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPlaceholder=function(e,t){if(!e)return!1;if("Placeholder"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isV8IntrinsicIdentifier=function(e,t){if(!e)return!1;if("V8IntrinsicIdentifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isArgumentPlaceholder=function(e,t){if(!e)return!1;if("ArgumentPlaceholder"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isBindExpression=function(e,t){if(!e)return!1;if("BindExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassProperty=function(e,t){if(!e)return!1;if("ClassProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelineTopicExpression=function(e,t){if(!e)return!1;if("PipelineTopicExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelineBareFunction=function(e,t){if(!e)return!1;if("PipelineBareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPipelinePrimaryTopicReference=function(e,t){if(!e)return!1;if("PipelinePrimaryTopicReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassPrivateProperty=function(e,t){if(!e)return!1;if("ClassPrivateProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isClassPrivateMethod=function(e,t){if(!e)return!1;if("ClassPrivateMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isImportAttribute=function(e,t){if(!e)return!1;if("ImportAttribute"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDecorator=function(e,t){if(!e)return!1;if("Decorator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDoExpression=function(e,t){if(!e)return!1;if("DoExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDefaultSpecifier=function(e,t){if(!e)return!1;if("ExportDefaultSpecifier"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isPrivateName=function(e,t){if(!e)return!1;if("PrivateName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRecordExpression=function(e,t){if(!e)return!1;if("RecordExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTupleExpression=function(e,t){if(!e)return!1;if("TupleExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isDecimalLiteral=function(e,t){if(!e)return!1;if("DecimalLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isStaticBlock=function(e,t){if(!e)return!1;if("StaticBlock"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleExpression=function(e,t){if(!e)return!1;if("ModuleExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSParameterProperty=function(e,t){if(!e)return!1;if("TSParameterProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSDeclareFunction=function(e,t){if(!e)return!1;if("TSDeclareFunction"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSDeclareMethod=function(e,t){if(!e)return!1;if("TSDeclareMethod"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSQualifiedName=function(e,t){if(!e)return!1;if("TSQualifiedName"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSCallSignatureDeclaration=function(e,t){if(!e)return!1;if("TSCallSignatureDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConstructSignatureDeclaration=function(e,t){if(!e)return!1;if("TSConstructSignatureDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSPropertySignature=function(e,t){if(!e)return!1;if("TSPropertySignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSMethodSignature=function(e,t){if(!e)return!1;if("TSMethodSignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIndexSignature=function(e,t){if(!e)return!1;if("TSIndexSignature"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSAnyKeyword=function(e,t){if(!e)return!1;if("TSAnyKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBooleanKeyword=function(e,t){if(!e)return!1;if("TSBooleanKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBigIntKeyword=function(e,t){if(!e)return!1;if("TSBigIntKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIntrinsicKeyword=function(e,t){if(!e)return!1;if("TSIntrinsicKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNeverKeyword=function(e,t){if(!e)return!1;if("TSNeverKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNullKeyword=function(e,t){if(!e)return!1;if("TSNullKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNumberKeyword=function(e,t){if(!e)return!1;if("TSNumberKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSObjectKeyword=function(e,t){if(!e)return!1;if("TSObjectKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSStringKeyword=function(e,t){if(!e)return!1;if("TSStringKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSSymbolKeyword=function(e,t){if(!e)return!1;if("TSSymbolKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUndefinedKeyword=function(e,t){if(!e)return!1;if("TSUndefinedKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUnknownKeyword=function(e,t){if(!e)return!1;if("TSUnknownKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSVoidKeyword=function(e,t){if(!e)return!1;if("TSVoidKeyword"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSThisType=function(e,t){if(!e)return!1;if("TSThisType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSFunctionType=function(e,t){if(!e)return!1;if("TSFunctionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConstructorType=function(e,t){if(!e)return!1;if("TSConstructorType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeReference=function(e,t){if(!e)return!1;if("TSTypeReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypePredicate=function(e,t){if(!e)return!1;if("TSTypePredicate"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeQuery=function(e,t){if(!e)return!1;if("TSTypeQuery"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeLiteral=function(e,t){if(!e)return!1;if("TSTypeLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSArrayType=function(e,t){if(!e)return!1;if("TSArrayType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTupleType=function(e,t){if(!e)return!1;if("TSTupleType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSOptionalType=function(e,t){if(!e)return!1;if("TSOptionalType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSRestType=function(e,t){if(!e)return!1;if("TSRestType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNamedTupleMember=function(e,t){if(!e)return!1;if("TSNamedTupleMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSUnionType=function(e,t){if(!e)return!1;if("TSUnionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIntersectionType=function(e,t){if(!e)return!1;if("TSIntersectionType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSConditionalType=function(e,t){if(!e)return!1;if("TSConditionalType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInferType=function(e,t){if(!e)return!1;if("TSInferType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSParenthesizedType=function(e,t){if(!e)return!1;if("TSParenthesizedType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeOperator=function(e,t){if(!e)return!1;if("TSTypeOperator"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSIndexedAccessType=function(e,t){if(!e)return!1;if("TSIndexedAccessType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSMappedType=function(e,t){if(!e)return!1;if("TSMappedType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSLiteralType=function(e,t){if(!e)return!1;if("TSLiteralType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExpressionWithTypeArguments=function(e,t){if(!e)return!1;if("TSExpressionWithTypeArguments"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInterfaceDeclaration=function(e,t){if(!e)return!1;if("TSInterfaceDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSInterfaceBody=function(e,t){if(!e)return!1;if("TSInterfaceBody"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAliasDeclaration=function(e,t){if(!e)return!1;if("TSTypeAliasDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSAsExpression=function(e,t){if(!e)return!1;if("TSAsExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAssertion=function(e,t){if(!e)return!1;if("TSTypeAssertion"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSEnumDeclaration=function(e,t){if(!e)return!1;if("TSEnumDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSEnumMember=function(e,t){if(!e)return!1;if("TSEnumMember"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSModuleDeclaration=function(e,t){if(!e)return!1;if("TSModuleDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSModuleBlock=function(e,t){if(!e)return!1;if("TSModuleBlock"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSImportType=function(e,t){if(!e)return!1;if("TSImportType"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSImportEqualsDeclaration=function(e,t){if(!e)return!1;if("TSImportEqualsDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExternalModuleReference=function(e,t){if(!e)return!1;if("TSExternalModuleReference"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNonNullExpression=function(e,t){if(!e)return!1;if("TSNonNullExpression"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSExportAssignment=function(e,t){if(!e)return!1;if("TSExportAssignment"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSNamespaceExportDeclaration=function(e,t){if(!e)return!1;if("TSNamespaceExportDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeAnnotation=function(e,t){if(!e)return!1;if("TSTypeAnnotation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TSTypeParameterInstantiation"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TSTypeParameterDeclaration"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeParameter=function(e,t){if(!e)return!1;if("TSTypeParameter"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isExpression=function(e,t){if(!e)return!1;const r=e.type;if("ArrayExpression"===r||"AssignmentExpression"===r||"BinaryExpression"===r||"CallExpression"===r||"ConditionalExpression"===r||"FunctionExpression"===r||"Identifier"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"LogicalExpression"===r||"MemberExpression"===r||"NewExpression"===r||"ObjectExpression"===r||"SequenceExpression"===r||"ParenthesizedExpression"===r||"ThisExpression"===r||"UnaryExpression"===r||"UpdateExpression"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"MetaProperty"===r||"Super"===r||"TaggedTemplateExpression"===r||"TemplateLiteral"===r||"YieldExpression"===r||"AwaitExpression"===r||"Import"===r||"BigIntLiteral"===r||"OptionalMemberExpression"===r||"OptionalCallExpression"===r||"TypeCastExpression"===r||"JSXElement"===r||"JSXFragment"===r||"BindExpression"===r||"PipelinePrimaryTopicReference"===r||"DoExpression"===r||"RecordExpression"===r||"TupleExpression"===r||"DecimalLiteral"===r||"ModuleExpression"===r||"TSAsExpression"===r||"TSTypeAssertion"===r||"TSNonNullExpression"===r||"Placeholder"===r&&("Expression"===e.expectedNode||"Identifier"===e.expectedNode||"StringLiteral"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isBinary=function(e,t){if(!e)return!1;const r=e.type;if("BinaryExpression"===r||"LogicalExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isScopable=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"ClassDeclaration"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isBlockParent=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"StaticBlock"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isBlock=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"Program"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isStatement=function(e,t){if(!e)return!1;const r=e.type;if("BlockStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"DebuggerStatement"===r||"DoWhileStatement"===r||"EmptyStatement"===r||"ExpressionStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"IfStatement"===r||"LabeledStatement"===r||"ReturnStatement"===r||"SwitchStatement"===r||"ThrowStatement"===r||"TryStatement"===r||"VariableDeclaration"===r||"WhileStatement"===r||"WithStatement"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ForOfStatement"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"TSImportEqualsDeclaration"===r||"TSExportAssignment"===r||"TSNamespaceExportDeclaration"===r||"Placeholder"===r&&("Statement"===e.expectedNode||"Declaration"===e.expectedNode||"BlockStatement"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isTerminatorless=function(e,t){if(!e)return!1;const r=e.type;if("BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r||"YieldExpression"===r||"AwaitExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isCompletionStatement=function(e,t){if(!e)return!1;const r=e.type;if("BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isConditional=function(e,t){if(!e)return!1;const r=e.type;if("ConditionalExpression"===r||"IfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isLoop=function(e,t){if(!e)return!1;const r=e.type;if("DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"WhileStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isWhile=function(e,t){if(!e)return!1;const r=e.type;if("DoWhileStatement"===r||"WhileStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isExpressionWrapper=function(e,t){if(!e)return!1;const r=e.type;if("ExpressionStatement"===r||"ParenthesizedExpression"===r||"TypeCastExpression"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFor=function(e,t){if(!e)return!1;const r=e.type;if("ForInStatement"===r||"ForStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isForXStatement=function(e,t){if(!e)return!1;const r=e.type;if("ForInStatement"===r||"ForOfStatement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFunction=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFunctionParent=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPureish=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"FunctionExpression"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"ArrowFunctionExpression"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("FunctionDeclaration"===r||"VariableDeclaration"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"EnumDeclaration"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"Placeholder"===r&&"Declaration"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isPatternLike=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isLVal=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"MemberExpression"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"TSParameterProperty"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,n.default)(e,t);return!1},t.isTSEntityName=function(e,t){if(!e)return!1;const r=e.type;if("Identifier"===r||"TSQualifiedName"===r||"Placeholder"===r&&"Identifier"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isLiteral=function(e,t){if(!e)return!1;const r=e.type;if("StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"TemplateLiteral"===r||"BigIntLiteral"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isImmutable=function(e,t){if(!e)return!1;const r=e.type;if("StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"BigIntLiteral"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXOpeningElement"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r||"DecimalLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isUserWhitespacable=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ObjectProperty"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isMethod=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isObjectMember=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMethod"===r||"ObjectProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isProperty=function(e,t){if(!e)return!1;const r=e.type;if("ObjectProperty"===r||"ClassProperty"===r||"ClassPrivateProperty"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isUnaryLike=function(e,t){if(!e)return!1;const r=e.type;if("UnaryExpression"===r||"SpreadElement"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPattern=function(e,t){if(!e)return!1;const r=e.type;if("AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&"Pattern"===e.expectedNode)return void 0===t||(0,n.default)(e,t);return!1},t.isClass=function(e,t){if(!e)return!1;const r=e.type;if("ClassExpression"===r||"ClassDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isExportDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isModuleSpecifier=function(e,t){if(!e)return!1;const r=e.type;if("ExportSpecifier"===r||"ImportDefaultSpecifier"===r||"ImportNamespaceSpecifier"===r||"ImportSpecifier"===r||"ExportNamespaceSpecifier"===r||"ExportDefaultSpecifier"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlow=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ClassImplements"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"DeclaredPredicate"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"FunctionTypeParam"===r||"GenericTypeAnnotation"===r||"InferredPredicate"===r||"InterfaceExtends"===r||"InterfaceDeclaration"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r||"OpaqueType"===r||"QualifiedTypeIdentifier"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"TypeAlias"===r||"TypeAnnotation"===r||"TypeCastExpression"===r||"TypeParameter"===r||"TypeParameterDeclaration"===r||"TypeParameterInstantiation"===r||"UnionTypeAnnotation"===r||"Variance"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowType=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"GenericTypeAnnotation"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"UnionTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowBaseAnnotation=function(e,t){if(!e)return!1;const r=e.type;if("AnyTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NumberTypeAnnotation"===r||"StringTypeAnnotation"===r||"SymbolTypeAnnotation"===r||"ThisTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isFlowPredicate=function(e,t){if(!e)return!1;const r=e.type;if("DeclaredPredicate"===r||"InferredPredicate"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumBody=function(e,t){if(!e)return!1;const r=e.type;if("EnumBooleanBody"===r||"EnumNumberBody"===r||"EnumStringBody"===r||"EnumSymbolBody"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isEnumMember=function(e,t){if(!e)return!1;const r=e.type;if("EnumBooleanMember"===r||"EnumNumberMember"===r||"EnumStringMember"===r||"EnumDefaultedMember"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isJSX=function(e,t){if(!e)return!1;const r=e.type;if("JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXEmptyExpression"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXIdentifier"===r||"JSXMemberExpression"===r||"JSXNamespacedName"===r||"JSXOpeningElement"===r||"JSXSpreadAttribute"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isPrivate=function(e,t){if(!e)return!1;const r=e.type;if("ClassPrivateProperty"===r||"ClassPrivateMethod"===r||"PrivateName"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSTypeElement=function(e,t){if(!e)return!1;const r=e.type;if("TSCallSignatureDeclaration"===r||"TSConstructSignatureDeclaration"===r||"TSPropertySignature"===r||"TSMethodSignature"===r||"TSIndexSignature"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSType=function(e,t){if(!e)return!1;const r=e.type;if("TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSFunctionType"===r||"TSConstructorType"===r||"TSTypeReference"===r||"TSTypePredicate"===r||"TSTypeQuery"===r||"TSTypeLiteral"===r||"TSArrayType"===r||"TSTupleType"===r||"TSOptionalType"===r||"TSRestType"===r||"TSUnionType"===r||"TSIntersectionType"===r||"TSConditionalType"===r||"TSInferType"===r||"TSParenthesizedType"===r||"TSTypeOperator"===r||"TSIndexedAccessType"===r||"TSMappedType"===r||"TSLiteralType"===r||"TSExpressionWithTypeArguments"===r||"TSImportType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isTSBaseType=function(e,t){if(!e)return!1;const r=e.type;if("TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSIntrinsicKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSLiteralType"===r)return void 0===t||(0,n.default)(e,t);return!1},t.isNumberLiteral=function(e,t){if(console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),!e)return!1;if("NumberLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRegexLiteral=function(e,t){if(console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),!e)return!1;if("RegexLiteral"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isRestProperty=function(e,t){if(console.trace("The node type RestProperty has been renamed to RestElement"),!e)return!1;if("RestProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1},t.isSpreadProperty=function(e,t){if(console.trace("The node type SpreadProperty has been renamed to SpreadElement"),!e)return!1;if("SpreadProperty"===e.type)return void 0===t||(0,n.default)(e,t);return!1};var r,n=(r=Mi)&&r.__esModule?r:{default:r}})),Bi=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!(0,Li.isMemberExpression)(e))return!1;const n=Array.isArray(t)?t:t.split("."),i=[];let s;for(s=e;(0,Li.isMemberExpression)(s);s=s.object)i.push(s.property);if(i.push(s),i.lengthn.length)return!1;for(let e=0,t=i.length-1;e(0,n.default)(e,r,t)};var r,n=(r=Bi)&&r.__esModule?r:{default:r}})),Ui=w((function(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=(0,((r=Ri)&&r.__esModule?r:{default:r}).default)("React.Component");t.default=n})),Vi=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return!!e&&/^[a-z]/.test(e)}}));var zi=function(){this.__data__=[],this.size=0};var Wi=function(e,t){return e===t||e!=e&&t!=t};var qi=function(e,t){for(var r=e.length;r--;)if(Wi(e[r][0],t))return r;return-1},Xi=Array.prototype.splice;var Ji=function(e){var t=this.__data__,r=qi(t,e);return!(r<0)&&(r==t.length-1?t.pop():Xi.call(t,r,1),--this.size,!0)};var $i=function(e){var t=this.__data__,r=qi(t,e);return r<0?void 0:t[r][1]};var Ki=function(e){return qi(this.__data__,e)>-1};var Yi=function(e,t){var r=this.__data__,n=qi(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function Hi(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991},xa={};xa["[object Float32Array]"]=xa["[object Float64Array]"]=xa["[object Int8Array]"]=xa["[object Int16Array]"]=xa["[object Int32Array]"]=xa["[object Uint8Array]"]=xa["[object Uint8ClampedArray]"]=xa["[object Uint16Array]"]=xa["[object Uint32Array]"]=!0,xa["[object Arguments]"]=xa["[object Array]"]=xa["[object ArrayBuffer]"]=xa["[object Boolean]"]=xa["[object DataView]"]=xa["[object Date]"]=xa["[object Error]"]=xa["[object Function]"]=xa["[object Map]"]=xa["[object Number]"]=xa["[object Object]"]=xa["[object RegExp]"]=xa["[object Set]"]=xa["[object String]"]=xa["[object WeakMap]"]=!1;var Ea=function(e){return ua(e)&&va(e.length)&&!!xa[fs(e)]};var Da=function(e){return function(t){return e(t)}},Sa=w((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r&&rs.process,s=function(){try{var e=n&&n.require&&n.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=s})),Ta=Sa&&Sa.isTypedArray,Aa=Ta?Da(Ta):Ea,Pa=Object.prototype.hasOwnProperty;var wa=function(e,t){var r=fa(e),n=!r&&da(e),i=!r&&!n&&ya(e),s=!r&&!n&&!i&&Aa(e),a=r||n||i||s,o=a?oa(e.length,String):[],u=o.length;for(var l in e)!t&&!Pa.call(e,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||s&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||ba(l,u))||o.push(l);return o},Ca=Object.prototype;var ka=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ca)};var _a=function(e,t){return function(r){return e(t(r))}},Ia=_a(Object.keys,Object),Fa=Object.prototype.hasOwnProperty;var Oa=function(e){if(!ka(e))return Ia(e);var t=[];for(var r in Object(e))Fa.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Na=function(e){return null!=e&&va(e.length)&&!gs(e)};var ja=function(e){return Na(e)?wa(e):Oa(e)};var Ma=function(e,t){return e&&aa(t,ja(t),e)};var La=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},Ba=Object.prototype.hasOwnProperty;var Ra=function(e){if(!ms(e))return La(e);var t=ka(e),r=[];for(var n in e)("constructor"!=n||!t&&Ba.call(e,n))&&r.push(n);return r};var Ua=function(e){return Na(e)?wa(e,!0):Ra(e)};var Va=function(e,t){return e&&aa(t,Ua(t),e)},za=w((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,i=n&&n.exports===r?is.Buffer:void 0,s=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=s?s(r):new e.constructor(r);return e.copy(n),n}}));var Wa=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++re)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function l(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&i.test(String.fromCharCode(e)):u(e,a)))}function c(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&s.test(String.fromCharCode(e)):u(e,a)||u(e,o))))}})),eu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isReservedWord=o,t.isStrictReservedWord=u,t.isStrictBindOnlyReservedWord=l,t.isStrictBindReservedWord=function(e,t){return u(e,t)||l(e)},t.isKeyword=function(e){return i.has(e)};const r=["implements","interface","let","package","private","protected","public","static","yield"],n=["eval","arguments"],i=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"]),s=new Set(r),a=new Set(n);function o(e,t){return t&&"await"===e||"enum"===e}function u(e,t){return o(e,t)||s.has(e)}function l(e){return a.has(e)}})),tu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return Zo.isIdentifierName}}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return Zo.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return Zo.isIdentifierStart}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return eu.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return eu.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return eu.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return eu.isStrictReservedWord}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return eu.isKeyword}})})),ru=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=!0){if("string"!=typeof e)return!1;if(t&&((0,tu.isKeyword)(e)||(0,tu.isStrictReservedWord)(e,!0)))return!1;return(0,tu.isIdentifierName)(e)}})),nu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.ASSIGNMENT_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;t.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"];t.FLATTENABLE_KEYS=["body","expressions"];t.FOR_INIT_KEYS=["left","init"];t.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"];const r=["||","&&","??"];t.LOGICAL_OPERATORS=r;t.UPDATE_OPERATORS=["++","--"];const n=[">","<",">=","<="];t.BOOLEAN_NUMBER_BINARY_OPERATORS=n;const i=["==","===","!=","!=="];t.EQUALITY_BINARY_OPERATORS=i;const s=[...i,"in","instanceof"];t.COMPARISON_BINARY_OPERATORS=s;const a=[...s,...n];t.BOOLEAN_BINARY_OPERATORS=a;const o=["-","/","%","*","**","&","|",">>",">>>","<<","^"];t.NUMBER_BINARY_OPERATORS=o;const u=["+",...o,...a];t.BINARY_OPERATORS=u;const l=["=","+=",...o.map((e=>e+"=")),...r.map((e=>e+"="))];t.ASSIGNMENT_OPERATORS=l;const c=["delete","!"];t.BOOLEAN_UNARY_OPERATORS=c;const p=["+","-","~"];t.NUMBER_UNARY_OPERATORS=p;const h=["typeof"];t.STRING_UNARY_OPERATORS=h;const d=["void","throw",...c,...p,...h];t.UNARY_OPERATORS=d;t.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]};const f=Symbol.for("var used to be block scoped");t.BLOCK_SCOPED_SYMBOL=f;const m=Symbol.for("should not be considered a local binding");t.NOT_LOCAL_BINDING=m})),iu=w((function(e,t){function r(e,t,r,n){(null==n?void 0:n.validate)&&(n.optional&&null==r||n.validate(e,t,r))}function n(e,t,r){if(null==r)return;const n=uu.NODE_PARENT_VALIDATIONS[r.type];n&&n(e,t,r)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,i){if(!e)return;const s=uu.NODE_FIELDS[e.type];if(!s)return;const a=s[t];r(e,t,i,a),n(e,t,i)},t.validateField=r,t.validateChild=n})),su=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.validate=h,t.typeIs=d,t.validateType=function(e){return h(d(e))},t.validateOptional=function(e){return{validate:e,optional:!0}},t.validateOptionalType=function(e){return{validate:d(e),optional:!0}},t.arrayOf=f,t.arrayOfType=m,t.validateArrayOfType=function(e){return h(m(e))},t.assertEach=y,t.assertOneOf=function(...e){function t(t,r,n){if(e.indexOf(n)<0)throw new TypeError(`Property ${r} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(n)}`)}return t.oneOf=e,t},t.assertNodeType=g,t.assertNodeOrValueType=function(...e){function t(t,r,i){for(const s of e)if(p(i)===s||(0,n.default)(s,i))return void(0,iu.validateChild)(t,r,i);throw new TypeError(`Property ${r} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==i?void 0:i.type)}`)}return t.oneOfNodeOrValueTypes=e,t},t.assertValueType=b,t.assertShape=function(e){function t(t,r,n){const i=[];for(const r of Object.keys(e))try{(0,iu.validateField)(t,r,n[r],e[r])}catch(e){if(e instanceof TypeError){i.push(e.message);continue}throw e}if(i.length)throw new TypeError(`Property ${r} of ${t.type} expected to have the following:\n${i.join("\n")}`)}return t.shapeOf=e,t},t.assertOptionalChainStart=function(){return function(e){var t;let r=e;for(;e;){const{type:e}=r;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(r.optional)return;r=r.object}else{if(r.optional)return;r=r.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=r)?void 0:t.type}`)}},t.chain=v,t.default=function(e,t={}){const r=t.inherits&&D[t.inherits]||{};let n=t.fields;if(!n&&(n={},r.fields)){const e=Object.getOwnPropertyNames(r.fields);for(const t of e){const e=r.fields[t];n[t]={default:e.default,optional:e.optional,validate:e.validate}}}const h=t.visitor||r.visitor||[],d=t.aliases||r.aliases||[],f=t.builder||r.builder||t.visitor||[];for(const r of Object.keys(t))if(-1===x.indexOf(r))throw new Error(`Unknown type option "${r}" on ${e}`);t.deprecatedAlias&&(l[t.deprecatedAlias]=e);for(const e of h.concat(f))n[e]=n[e]||{};for(const t of Object.keys(n)){const r=n[t];void 0!==r.default&&-1===f.indexOf(t)&&(r.optional=!0),void 0===r.default?r.default=null:r.validate||null==r.default||(r.validate=b(p(r.default)));for(const n of Object.keys(r))if(-1===E.indexOf(n))throw new Error(`Unknown field key "${n}" on ${e}.${t}`)}i[e]=t.visitor=h,u[e]=t.builder=f,o[e]=t.fields=n,s[e]=t.aliases=d,d.forEach((t=>{a[t]=a[t]||[],a[t].push(e)})),t.validate&&(c[e]=t.validate);D[e]=t},t.NODE_PARENT_VALIDATIONS=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.FLIPPED_ALIAS_KEYS=t.ALIAS_KEYS=t.VISITOR_KEYS=void 0;var r,n=(r=Qo)&&r.__esModule?r:{default:r};const i={};t.VISITOR_KEYS=i;const s={};t.ALIAS_KEYS=s;const a={};t.FLIPPED_ALIAS_KEYS=a;const o={};t.NODE_FIELDS=o;const u={};t.BUILDER_KEYS=u;const l={};t.DEPRECATED_KEYS=l;const c={};function p(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function h(e){return{validate:e}}function d(e){return"string"==typeof e?g(e):g(...e)}function f(e){return v(b("array"),y(e))}function m(e){return f(d(e))}function y(e){function t(t,r,n){if(Array.isArray(n))for(let i=0;i=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}t.NODE_PARENT_VALIDATIONS=c;const x=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"],E=["default","optional","validate"];const D={}})),au=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.classMethodOrDeclareMethodCommon=t.classMethodOrPropertyCommon=t.patternLikeCommon=t.functionDeclarationCommon=t.functionTypeAnnotationCommon=t.functionCommon=void 0,i(Qo),i(ru);var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}r.default=e,t&&t.set(e,r);return r}(su);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}(0,r.default)("ArrayExpression",{fields:{elements:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,r.default)("AssignmentExpression",{fields:{operator:{validate:(0,r.assertValueType)("string")},left:{validate:(0,r.assertNodeType)("LVal")},right:{validate:(0,r.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,r.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,r.assertOneOf)(...nu.BINARY_OPERATORS)},left:{validate:function(){const e=(0,r.assertNodeType)("Expression"),t=(0,r.assertNodeType)("Expression","PrivateName"),n=function(r,n,i){("in"===r.operator?t:e)(r,n,i)};return n.oneOfNodeTypes=["Expression","PrivateName"],n}()},right:{validate:(0,r.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,r.default)("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}}}),(0,r.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,r.assertNodeType)("DirectiveLiteral")}}}),(0,r.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}}}),(0,r.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Directive"))),default:[]},body:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,r.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,r.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,r.default)("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:(0,r.assertNodeType)("Expression","V8IntrinsicIdentifier")},arguments:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))}},{optional:{validate:(0,r.assertOneOf)(!0,!1),optional:!0}},{typeArguments:{validate:(0,r.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}})}),(0,r.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,r.assertNodeType)("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:(0,r.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),(0,r.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,r.assertNodeType)("Expression")},consequent:{validate:(0,r.assertNodeType)("Expression")},alternate:{validate:(0,r.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,r.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,r.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,r.default)("DebuggerStatement",{aliases:["Statement"]}),(0,r.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,r.assertNodeType)("Expression")},body:{validate:(0,r.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,r.default)("EmptyStatement",{aliases:["Statement"]}),(0,r.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,r.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,r.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,r.assertNodeType)("Program")},comments:{validate:Object.assign((()=>{}),{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}),optional:!0},tokens:{validate:(0,r.assertEach)(Object.assign((()=>{}),{type:"any"})),optional:!0}}}),(0,r.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,r.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,r.assertNodeType)("Expression")},body:{validate:(0,r.assertNodeType)("Statement")}}}),(0,r.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,r.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,r.assertNodeType)("Expression"),optional:!0},update:{validate:(0,r.assertNodeType)("Expression"),optional:!0},body:{validate:(0,r.assertNodeType)("Statement")}}});const s={params:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Identifier","Pattern","RestElement","TSParameterProperty")))},generator:{default:!1},async:{default:!1}};t.functionCommon=s;const a={returnType:{validate:(0,r.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}};t.functionTypeAnnotationCommon=a;const o=Object.assign({},s,{declare:{validate:(0,r.assertValueType)("boolean"),optional:!0},id:{validate:(0,r.assertNodeType)("Identifier"),optional:!0}});t.functionDeclarationCommon=o,(0,r.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},o,a,{body:{validate:(0,r.assertNodeType)("BlockStatement")}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:()=>{}}),(0,r.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},s,a,{id:{validate:(0,r.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,r.assertNodeType)("BlockStatement")}})});const u={typeAnnotation:{validate:(0,r.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator")))}};t.patternLikeCommon=u,(0,r.default)("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},u,{name:{validate:(0,r.chain)((0,r.assertValueType)("string"),Object.assign((function(e,t,r){}),{type:"string"}))},optional:{validate:(0,r.assertValueType)("boolean"),optional:!0}}),validate(e,t,r){}}),(0,r.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,r.assertNodeType)("Expression")},consequent:{validate:(0,r.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,r.assertNodeType)("Statement")}}}),(0,r.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,r.assertNodeType)("Identifier")},body:{validate:(0,r.assertNodeType)("Statement")}}}),(0,r.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,r.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,r.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,r.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,r.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,r.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,r.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:(0,r.assertValueType)("string")},flags:{validate:(0,r.chain)((0,r.assertValueType)("string"),Object.assign((function(e,t,r){}),{type:"string"})),default:""}}}),(0,r.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,r.assertOneOf)(...nu.LOGICAL_OPERATORS)},left:{validate:(0,r.assertNodeType)("Expression")},right:{validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("MemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:(0,r.assertNodeType)("Expression")},property:{validate:function(){const e=(0,r.assertNodeType)("Identifier","PrivateName"),t=(0,r.assertNodeType)("Expression"),n=function(r,n,i){(r.computed?t:e)(r,n,i)};return n.oneOfNodeTypes=["Expression","Identifier","PrivateName"],n}()},computed:{default:!1}},{optional:{validate:(0,r.assertOneOf)(!0,!1),optional:!0}})}),(0,r.default)("NewExpression",{inherits:"CallExpression"}),(0,r.default)("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceFile:{validate:(0,r.assertValueType)("string")},sourceType:{validate:(0,r.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,r.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Directive"))),default:[]},body:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),(0,r.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ObjectMethod","ObjectProperty","SpreadElement")))}}}),(0,r.default)("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},s,a,{kind:Object.assign({validate:(0,r.assertOneOf)("method","get","set")},{default:"method"}),computed:{default:!1},key:{validate:function(){const e=(0,r.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,r.assertNodeType)("Expression"),n=function(r,n,i){(r.computed?t:e)(r,n,i)};return n.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],n}()},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0},body:{validate:(0,r.assertNodeType)("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,r.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{default:!1},key:{validate:function(){const e=(0,r.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,r.assertNodeType)("Expression"),n=function(r,n,i){(r.computed?t:e)(r,n,i)};return n.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral"],n}()},value:{validate:(0,r.assertNodeType)("Expression","PatternLike")},shorthand:{validate:(0,r.chain)((0,r.assertValueType)("boolean"),Object.assign((function(e,t,r){}),{type:"boolean"}),(function(e,t,r){})),default:!1},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:((0,r.assertNodeType)("Identifier","Pattern"),(0,r.assertNodeType)("Expression"),function(e,t,r){})}),(0,r.default)("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},u,{argument:{validate:(0,r.assertNodeType)("LVal")}}),validate(e,t){}}),(0,r.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,r.assertNodeType)("Expression"),optional:!0}}}),(0,r.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,r.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,r.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Statement")))}}}),(0,r.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,r.assertNodeType)("Expression")},cases:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("SwitchCase")))}}}),(0,r.default)("ThisExpression",{aliases:["Expression"]}),(0,r.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:(0,r.chain)((0,r.assertNodeType)("BlockStatement"),Object.assign((function(e){}),{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:(0,r.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,r.assertNodeType)("BlockStatement")}}}),(0,r.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,r.assertNodeType)("Expression")},operator:{validate:(0,r.assertOneOf)(...nu.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,r.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,r.assertNodeType)("Expression")},operator:{validate:(0,r.assertOneOf)(...nu.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,r.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,r.assertValueType)("boolean"),optional:!0},kind:{validate:(0,r.assertOneOf)("var","let","const")},declarations:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("VariableDeclarator")))}},validate(e,t,r){}}),(0,r.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,r.assertNodeType)("LVal")},definite:{optional:!0,validate:(0,r.assertValueType)("boolean")},init:{optional:!0,validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,r.assertNodeType)("Expression")},body:{validate:(0,r.assertNodeType)("Statement")}}}),(0,r.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,r.assertNodeType)("Expression")},body:{validate:(0,r.assertNodeType)("Statement")}}}),(0,r.default)("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{left:{validate:(0,r.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression")},right:{validate:(0,r.assertNodeType)("Expression")},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0}})}),(0,r.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{elements:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeOrValueType)("null","PatternLike")))},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0}})}),(0,r.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},s,a,{expression:{validate:(0,r.assertValueType)("boolean")},body:{validate:(0,r.assertNodeType)("BlockStatement","Expression")}})}),(0,r.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","TSDeclareMethod","TSIndexSignature")))}}}),(0,r.default)("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:(0,r.assertNodeType)("Identifier"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,r.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,r.assertNodeType)("Expression")},superTypeParameters:{validate:(0,r.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,r.assertNodeType)("InterfaceExtends"),optional:!0}}}),(0,r.default)("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:(0,r.assertNodeType)("Identifier")},typeParameters:{validate:(0,r.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,r.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,r.assertNodeType)("Expression")},superTypeParameters:{validate:(0,r.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0},mixins:{validate:(0,r.assertNodeType)("InterfaceExtends"),optional:!0},declare:{validate:(0,r.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,r.assertValueType)("boolean"),optional:!0}},validate:((0,r.assertNodeType)("Identifier"),function(e,t,r){})}),(0,r.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,r.assertNodeType)("StringLiteral")},exportKind:(0,r.validateOptional)((0,r.assertOneOf)("type","value")),assertions:{optional:!0,validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ImportAttribute")))}}}),(0,r.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,r.assertNodeType)("FunctionDeclaration","TSDeclareFunction","ClassDeclaration","Expression")}}}),(0,r.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{optional:!0,validate:(0,r.chain)((0,r.assertNodeType)("Declaration"),Object.assign((function(e,t,r){}),{oneOfNodeTypes:["Declaration"]}),(function(e,t,r){}))},assertions:{optional:!0,validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ImportAttribute")))},specifiers:{default:[],validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)(function(){const e=(0,r.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier");return(0,r.assertNodeType)("ExportSpecifier"),e}()))},source:{validate:(0,r.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,r.validateOptional)((0,r.assertOneOf)("type","value"))}}),(0,r.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,r.assertNodeType)("Identifier")},exported:{validate:(0,r.assertNodeType)("Identifier","StringLiteral")}}}),(0,r.default)("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,r.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,r.assertNodeType)("Expression")},body:{validate:(0,r.assertNodeType)("Statement")},await:{default:!1}}}),(0,r.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{assertions:{optional:!0,validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ImportAttribute")))},specifiers:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,r.assertNodeType)("StringLiteral")},importKind:{validate:(0,r.assertOneOf)("type","typeof","value"),optional:!0}}}),(0,r.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,r.assertNodeType)("Identifier")}}}),(0,r.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,r.assertNodeType)("Identifier")}}}),(0,r.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,r.assertNodeType)("Identifier")},imported:{validate:(0,r.assertNodeType)("Identifier","StringLiteral")},importKind:{validate:(0,r.assertOneOf)("type","typeof"),optional:!0}}}),(0,r.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,r.chain)((0,r.assertNodeType)("Identifier"),Object.assign((function(e,t,r){}),{oneOfNodeTypes:["Identifier"]}))},property:{validate:(0,r.assertNodeType)("Identifier")}}});const l={abstract:{validate:(0,r.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,r.assertOneOf)("public","private","protected"),optional:!0},static:{default:!1},computed:{default:!1},optional:{validate:(0,r.assertValueType)("boolean"),optional:!0},key:{validate:(0,r.chain)(function(){const e=(0,r.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,r.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}(),(0,r.assertNodeType)("Identifier","StringLiteral","NumericLiteral","Expression"))}};t.classMethodOrPropertyCommon=l;const c=Object.assign({},s,l,{kind:{validate:(0,r.assertOneOf)("get","set","method","constructor"),default:"method"},access:{validate:(0,r.chain)((0,r.assertValueType)("string"),(0,r.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Decorator"))),optional:!0}});t.classMethodOrDeclareMethodCommon=c,(0,r.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},c,a,{body:{validate:(0,r.assertNodeType)("BlockStatement")}})}),(0,r.default)("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},u,{properties:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("RestElement","ObjectProperty")))}})}),(0,r.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("Super",{aliases:["Expression"]}),(0,r.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,r.assertNodeType)("Expression")},quasi:{validate:(0,r.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,r.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,r.default)("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,r.assertShape)({raw:{validate:(0,r.assertValueType)("string")},cooked:{validate:(0,r.assertValueType)("string"),optional:!0}})},tail:{default:!1}}}),(0,r.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("TemplateElement")))},expressions:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Expression","TSType")),(function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${r.length+1} quasis but got ${e.quasis.length}`)}))}}}),(0,r.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,r.chain)((0,r.assertValueType)("boolean"),Object.assign((function(e,t,r){}),{type:"boolean"})),default:!1},argument:{optional:!0,validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,r.assertNodeType)("Expression")}}}),(0,r.default)("Import",{aliases:["Expression"]}),(0,r.default)("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,r.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,r.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,r.assertNodeType)("Identifier")}}}),(0,r.default)("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,r.assertNodeType)("Expression")},property:{validate:function(){const e=(0,r.assertNodeType)("Identifier"),t=(0,r.assertNodeType)("Expression"),n=function(r,n,i){(r.computed?t:e)(r,n,i)};return n.oneOfNodeTypes=["Expression","Identifier"],n}()},computed:{default:!1},optional:{validate:(0,r.assertValueType)("boolean")}}}),(0,r.default)("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:(0,r.assertNodeType)("Expression")},arguments:{validate:(0,r.chain)((0,r.assertValueType)("array"),(0,r.assertEach)((0,r.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:(0,r.assertValueType)("boolean")},typeArguments:{validate:(0,r.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,r.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}})}));w((function(e){var t=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}n.default=e,t&&t.set(e,n);return n}(su);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}const n=(e,r="TypeParameterDeclaration")=>{(0,t.default)(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends","mixins","implements","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)(r),extends:(0,t.validateOptional)((0,t.arrayOfType)("InterfaceExtends")),mixins:(0,t.validateOptional)((0,t.arrayOfType)("InterfaceExtends")),implements:(0,t.validateOptional)((0,t.arrayOfType)("ClassImplements")),body:(0,t.validateType)("ObjectTypeAnnotation")}})};(0,t.default)("AnyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow","FlowType"],fields:{elementType:(0,t.validateType)("FlowType")}}),(0,t.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TypeParameterInstantiation")}}),n("DeclareClass"),(0,t.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),predicate:(0,t.validateOptionalType)("DeclaredPredicate")}}),n("DeclareInterface"),(0,t.default)("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)(["Identifier","StringLiteral"]),body:(0,t.validateType)("BlockStatement"),kind:(0,t.validateOptional)((0,t.assertOneOf)("CommonJS","ES"))}}),(0,t.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,t.validateType)("TypeAnnotation")}}),(0,t.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TypeParameterDeclaration"),right:(0,t.validateType)("FlowType")}}),(0,t.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,t.validateOptionalType)("FlowType")}}),(0,t.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier")}}),(0,t.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{declaration:(0,t.validateOptionalType)("Flow"),specifiers:(0,t.validateOptional)((0,t.arrayOfType)(["ExportSpecifier","ExportNamespaceSpecifier"])),source:(0,t.validateOptionalType)("StringLiteral"),default:(0,t.validateOptional)((0,t.assertValueType)("boolean"))}}),(0,t.default)("DeclareExportAllDeclaration",{visitor:["source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{source:(0,t.validateType)("StringLiteral"),exportKind:(0,t.validateOptional)((0,t.assertOneOf)("type","value"))}}),(0,t.default)("DeclaredPredicate",{visitor:["value"],aliases:["Flow","FlowPredicate"],fields:{value:(0,t.validateType)("Flow")}}),(0,t.default)("ExistsTypeAnnotation",{aliases:["Flow","FlowType"]}),(0,t.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow","FlowType"],fields:{typeParameters:(0,t.validateOptionalType)("TypeParameterDeclaration"),params:(0,t.validate)((0,t.arrayOfType)("FunctionTypeParam")),rest:(0,t.validateOptionalType)("FunctionTypeParam"),this:(0,t.validateOptionalType)("FunctionTypeParam"),returnType:(0,t.validateType)("FlowType")}}),(0,t.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{name:(0,t.validateOptionalType)("Identifier"),typeAnnotation:(0,t.validateType)("FlowType"),optional:(0,t.validateOptional)((0,t.assertValueType)("boolean"))}}),(0,t.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow","FlowType"],fields:{id:(0,t.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,t.validateOptionalType)("TypeParameterInstantiation")}}),(0,t.default)("InferredPredicate",{aliases:["Flow","FlowPredicate"]}),(0,t.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,t.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,t.validateOptionalType)("TypeParameterInstantiation")}}),n("InterfaceDeclaration"),(0,t.default)("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["Flow","FlowType"],fields:{extends:(0,t.validateOptional)((0,t.arrayOfType)("InterfaceExtends")),body:(0,t.validateType)("ObjectTypeAnnotation")}}),(0,t.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,t.validate)((0,t.arrayOfType)("FlowType"))}}),(0,t.default)("MixedTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow","FlowType"],fields:{typeAnnotation:(0,t.validateType)("FlowType")}}),(0,t.default)("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,t.validate)((0,t.assertValueType)("number"))}}),(0,t.default)("NumberTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["Flow","FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,t.validate)((0,t.arrayOfType)(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:(0,t.validateOptional)((0,t.arrayOfType)("ObjectTypeIndexer")),callProperties:(0,t.validateOptional)((0,t.arrayOfType)("ObjectTypeCallProperty")),internalSlots:(0,t.validateOptional)((0,t.arrayOfType)("ObjectTypeInternalSlot")),exact:{validate:(0,t.assertValueType)("boolean"),default:!1},inexact:(0,t.validateOptional)((0,t.assertValueType)("boolean"))}}),(0,t.default)("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,t.validateType)("Identifier"),value:(0,t.validateType)("FlowType"),optional:(0,t.validate)((0,t.assertValueType)("boolean")),static:(0,t.validate)((0,t.assertValueType)("boolean")),method:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{value:(0,t.validateType)("FlowType"),static:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,t.validateOptionalType)("Identifier"),key:(0,t.validateType)("FlowType"),value:(0,t.validateType)("FlowType"),static:(0,t.validate)((0,t.assertValueType)("boolean")),variance:(0,t.validateOptionalType)("Variance")}}),(0,t.default)("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{key:(0,t.validateType)(["Identifier","StringLiteral"]),value:(0,t.validateType)("FlowType"),kind:(0,t.validate)((0,t.assertOneOf)("init","get","set")),static:(0,t.validate)((0,t.assertValueType)("boolean")),proto:(0,t.validate)((0,t.assertValueType)("boolean")),optional:(0,t.validate)((0,t.assertValueType)("boolean")),variance:(0,t.validateOptionalType)("Variance"),method:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{argument:(0,t.validateType)("FlowType")}}),(0,t.default)("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,t.validateOptionalType)("FlowType"),impltype:(0,t.validateType)("FlowType")}}),(0,t.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{id:(0,t.validateType)("Identifier"),qualification:(0,t.validateType)(["Identifier","QualifiedTypeIdentifier"])}}),(0,t.default)("StringLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,t.validate)((0,t.assertValueType)("string"))}}),(0,t.default)("StringTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("SymbolTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("ThisTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,t.validate)((0,t.arrayOfType)("FlowType"))}}),(0,t.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow","FlowType"],fields:{argument:(0,t.validateType)("FlowType")}}),(0,t.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TypeParameterDeclaration"),right:(0,t.validateType)("FlowType")}}),(0,t.default)("TypeAnnotation",{aliases:["Flow"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,t.validateType)("FlowType")}}),(0,t.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{expression:(0,t.validateType)("Expression"),typeAnnotation:(0,t.validateType)("TypeAnnotation")}}),(0,t.default)("TypeParameter",{aliases:["Flow"],visitor:["bound","default","variance"],fields:{name:(0,t.validate)((0,t.assertValueType)("string")),bound:(0,t.validateOptionalType)("TypeAnnotation"),default:(0,t.validateOptionalType)("FlowType"),variance:(0,t.validateOptionalType)("Variance")}}),(0,t.default)("TypeParameterDeclaration",{aliases:["Flow"],visitor:["params"],fields:{params:(0,t.validate)((0,t.arrayOfType)("TypeParameter"))}}),(0,t.default)("TypeParameterInstantiation",{aliases:["Flow"],visitor:["params"],fields:{params:(0,t.validate)((0,t.arrayOfType)("FlowType"))}}),(0,t.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,t.validate)((0,t.arrayOfType)("FlowType"))}}),(0,t.default)("Variance",{aliases:["Flow"],builder:["kind"],fields:{kind:(0,t.validate)((0,t.assertOneOf)("minus","plus"))}}),(0,t.default)("VoidTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,t.default)("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:(0,t.validateType)("Identifier"),body:(0,t.validateType)(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),(0,t.default)("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,t.validate)((0,t.assertValueType)("boolean")),members:(0,t.validateArrayOfType)("EnumBooleanMember"),hasUnknownMembers:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,t.validate)((0,t.assertValueType)("boolean")),members:(0,t.validateArrayOfType)("EnumNumberMember"),hasUnknownMembers:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:(0,t.validate)((0,t.assertValueType)("boolean")),members:(0,t.validateArrayOfType)(["EnumStringMember","EnumDefaultedMember"]),hasUnknownMembers:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,t.validateArrayOfType)("EnumDefaultedMember"),hasUnknownMembers:(0,t.validate)((0,t.assertValueType)("boolean"))}}),(0,t.default)("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,t.validateType)("Identifier"),init:(0,t.validateType)("BooleanLiteral")}}),(0,t.default)("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,t.validateType)("Identifier"),init:(0,t.validateType)("NumericLiteral")}}),(0,t.default)("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,t.validateType)("Identifier"),init:(0,t.validateType)("StringLiteral")}}),(0,t.default)("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,t.validateType)("Identifier")}})})),w((function(e){var t=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}n.default=e,t&&t.set(e,n);return n}(su);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}(0,t.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,t.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,t.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),(0,t.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,t.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),(0,t.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,t.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,t.assertNodeType)("JSXClosingElement")},children:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))},selfClosing:{validate:(0,t.assertValueType)("boolean"),optional:!0}}}),(0,t.default)("JSXEmptyExpression",{aliases:["JSX"]}),(0,t.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,t.assertNodeType)("Expression","JSXEmptyExpression")}}}),(0,t.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,t.assertNodeType)("Expression")}}}),(0,t.default)("JSXIdentifier",{builder:["name"],aliases:["JSX"],fields:{name:{validate:(0,t.assertValueType)("string")}}}),(0,t.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX"],fields:{object:{validate:(0,t.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,t.assertNodeType)("JSXIdentifier")}}}),(0,t.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,t.assertNodeType)("JSXIdentifier")},name:{validate:(0,t.assertNodeType)("JSXIdentifier")}}}),(0,t.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,t.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:(0,t.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,t.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,t.assertNodeType)("Expression")}}}),(0,t.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,t.assertValueType)("string")}}}),(0,t.default)("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["JSX","Immutable","Expression"],fields:{openingFragment:{validate:(0,t.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,t.assertNodeType)("JSXClosingFragment")},children:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),(0,t.default)("JSXOpeningFragment",{aliases:["JSX","Immutable"]}),(0,t.default)("JSXClosingFragment",{aliases:["JSX","Immutable"]})}));var ou=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.PLACEHOLDERS_FLIPPED_ALIAS=t.PLACEHOLDERS_ALIAS=t.PLACEHOLDERS=void 0;const r=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"];t.PLACEHOLDERS=r;const n={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};t.PLACEHOLDERS_ALIAS=n;for(const e of r){const t=su.ALIAS_KEYS[e];(null==t?void 0:t.length)&&(n[e]=t)}const i={};t.PLACEHOLDERS_FLIPPED_ALIAS=i,Object.keys(n).forEach((e=>{n[e].forEach((t=>{Object.hasOwnProperty.call(i,t)||(i[t]=[]),i[t].push(e)}))}))}));w((function(e){var t=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}n.default=e,t&&t.set(e,n);return n}(su);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}(0,t.default)("Noop",{visitor:[]}),(0,t.default)("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:(0,t.assertNodeType)("Identifier")},expectedNode:{validate:(0,t.assertOneOf)(...ou.PLACEHOLDERS)}}}),(0,t.default)("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,t.assertValueType)("string")}}})})),w((function(e){var t=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}n.default=e,t&&t.set(e,n);return n}(su);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}(0,t.default)("ArgumentPlaceholder",{}),(0,t.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{object:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign((()=>{}),{oneOfNodeTypes:["Expression"]})}}}),(0,t.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},au.classMethodOrPropertyCommon,{value:{validate:(0,t.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,t.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,t.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("Decorator"))),optional:!0},readonly:{validate:(0,t.assertValueType)("boolean"),optional:!0},declare:{validate:(0,t.assertValueType)("boolean"),optional:!0}})}),(0,t.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,t.assertNodeType)("Expression")}}}),(0,t.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,t.assertNodeType)("Expression")}}}),(0,t.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]}),(0,t.default)("ClassPrivateProperty",{visitor:["key","value","decorators"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:(0,t.assertNodeType)("PrivateName")},value:{validate:(0,t.assertNodeType)("Expression"),optional:!0},typeAnnotation:{validate:(0,t.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("Decorator"))),optional:!0}}}),(0,t.default)("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},au.classMethodOrDeclareMethodCommon,au.functionTypeAnnotationCommon,{key:{validate:(0,t.assertNodeType)("PrivateName")},body:{validate:(0,t.assertNodeType)("BlockStatement")}})}),(0,t.default)("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:(0,t.assertNodeType)("Identifier","StringLiteral")},value:{validate:(0,t.assertNodeType)("StringLiteral")}}}),(0,t.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,t.assertNodeType)("Expression")}}}),(0,t.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,t.assertNodeType)("BlockStatement")}}}),(0,t.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,t.assertNodeType)("Identifier")}}}),(0,t.default)("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,t.assertNodeType)("Identifier")}}}),(0,t.default)("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("ObjectProperty","SpreadElement")))}}}),(0,t.default)("TupleExpression",{fields:{elements:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,t.default)("DecimalLiteral",{builder:["value"],fields:{value:{validate:(0,t.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,t.default)("StaticBlock",{visitor:["body"],fields:{body:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent"]}),(0,t.default)("ModuleExpression",{visitor:["body"],fields:{body:{validate:(0,t.assertNodeType)("Program")}},aliases:["Expression"]})})),w((function(e){var t=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=i?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}n.default=e,t&&t.set(e,n);return n}(su);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}const n=(0,t.assertValueType)("boolean"),i={returnType:{validate:(0,t.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,t.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}};(0,t.default)("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,t.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,t.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,t.assertNodeType)("Identifier","AssignmentPattern")}}}),(0,t.default)("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},au.functionDeclarationCommon,i)}),(0,t.default)("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},au.classMethodOrDeclareMethodCommon,i)}),(0,t.default)("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,t.validateType)("TSEntityName"),right:(0,t.validateType)("Identifier")}});const s={typeParameters:(0,t.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,t.validateArrayOfType)(["Identifier","RestElement"]),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation")},a={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:s};(0,t.default)("TSCallSignatureDeclaration",a),(0,t.default)("TSConstructSignatureDeclaration",a);const o={key:(0,t.validateType)("Expression"),computed:(0,t.validate)(n),optional:(0,t.validateOptional)(n)};(0,t.default)("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation","initializer"],fields:Object.assign({},o,{readonly:(0,t.validateOptional)(n),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation"),initializer:(0,t.validateOptionalType)("Expression")})}),(0,t.default)("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},s,o)}),(0,t.default)("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,t.validateOptional)(n),parameters:(0,t.validateArrayOfType)("Identifier"),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation")}});const u=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of u)(0,t.default)(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});(0,t.default)("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});const l={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"]};(0,t.default)("TSFunctionType",Object.assign({},l,{fields:s})),(0,t.default)("TSConstructorType",Object.assign({},l,{fields:Object.assign({},s,{abstract:(0,t.validateOptional)(n)})})),(0,t.default)("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,t.validateType)("TSEntityName"),typeParameters:(0,t.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,t.default)("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,t.validateType)(["Identifier","TSThisType"]),typeAnnotation:(0,t.validateOptionalType)("TSTypeAnnotation"),asserts:(0,t.validateOptional)(n)}}),(0,t.default)("TSTypeQuery",{aliases:["TSType"],visitor:["exprName"],fields:{exprName:(0,t.validateType)(["TSEntityName","TSImportType"])}}),(0,t.default)("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,t.validateArrayOfType)("TSTypeElement")}}),(0,t.default)("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,t.validateType)("TSType")}}),(0,t.default)("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,t.validateArrayOfType)(["TSType","TSNamedTupleMember"])}}),(0,t.default)("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:(0,t.validateType)("Identifier"),optional:{validate:n,default:!1},elementType:(0,t.validateType)("TSType")}});const c={aliases:["TSType"],visitor:["types"],fields:{types:(0,t.validateArrayOfType)("TSType")}};(0,t.default)("TSUnionType",c),(0,t.default)("TSIntersectionType",c),(0,t.default)("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,t.validateType)("TSType"),extendsType:(0,t.validateType)("TSType"),trueType:(0,t.validateType)("TSType"),falseType:(0,t.validateType)("TSType")}}),(0,t.default)("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,t.validateType)("TSTypeParameter")}}),(0,t.default)("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,t.validate)((0,t.assertValueType)("string")),typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,t.validateType)("TSType"),indexType:(0,t.validateType)("TSType")}}),(0,t.default)("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation","nameType"],fields:{readonly:(0,t.validateOptional)(n),typeParameter:(0,t.validateType)("TSTypeParameter"),optional:(0,t.validateOptional)(n),typeAnnotation:(0,t.validateOptionalType)("TSType"),nameType:(0,t.validateOptionalType)("TSType")}}),(0,t.default)("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:(0,t.validateType)(["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral"])}}),(0,t.default)("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,t.validateType)("TSEntityName"),typeParameters:(0,t.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,t.default)("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,t.validateOptional)(n),id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,t.validateOptional)((0,t.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,t.validateType)("TSInterfaceBody")}}),(0,t.default)("TSInterfaceBody",{visitor:["body"],fields:{body:(0,t.validateArrayOfType)("TSTypeElement")}}),(0,t.default)("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,t.validateOptional)(n),id:(0,t.validateType)("Identifier"),typeParameters:(0,t.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSAsExpression",{aliases:["Expression"],visitor:["expression","typeAnnotation"],fields:{expression:(0,t.validateType)("Expression"),typeAnnotation:(0,t.validateType)("TSType")}}),(0,t.default)("TSTypeAssertion",{aliases:["Expression"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,t.validateType)("TSType"),expression:(0,t.validateType)("Expression")}}),(0,t.default)("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,t.validateOptional)(n),const:(0,t.validateOptional)(n),id:(0,t.validateType)("Identifier"),members:(0,t.validateArrayOfType)("TSEnumMember"),initializer:(0,t.validateOptionalType)("Expression")}}),(0,t.default)("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,t.validateType)(["Identifier","StringLiteral"]),initializer:(0,t.validateOptionalType)("Expression")}}),(0,t.default)("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:(0,t.validateOptional)(n),global:(0,t.validateOptional)(n),id:(0,t.validateType)(["Identifier","StringLiteral"]),body:(0,t.validateType)(["TSModuleBlock","TSModuleDeclaration"])}}),(0,t.default)("TSModuleBlock",{aliases:["Scopable","Block","BlockParent"],visitor:["body"],fields:{body:(0,t.validateArrayOfType)("Statement")}}),(0,t.default)("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:(0,t.validateType)("StringLiteral"),qualifier:(0,t.validateOptionalType)("TSEntityName"),typeParameters:(0,t.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,t.default)("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:(0,t.validate)(n),id:(0,t.validateType)("Identifier"),moduleReference:(0,t.validateType)(["TSEntityName","TSExternalModuleReference"])}}),(0,t.default)("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,t.validateType)("StringLiteral")}}),(0,t.default)("TSNonNullExpression",{aliases:["Expression"],visitor:["expression"],fields:{expression:(0,t.validateType)("Expression")}}),(0,t.default)("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,t.validateType)("Expression")}}),(0,t.default)("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,t.validateType)("Identifier")}}),(0,t.default)("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,t.assertNodeType)("TSType")}}}),(0,t.default)("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("TSType")))}}}),(0,t.default)("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:(0,t.chain)((0,t.assertValueType)("array"),(0,t.assertEach)((0,t.assertNodeType)("TSTypeParameter")))}}}),(0,t.default)("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,t.assertValueType)("string")},constraint:{validate:(0,t.assertNodeType)("TSType"),optional:!0},default:{validate:(0,t.assertNodeType)("TSType"),optional:!0}}})}));var uu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"VISITOR_KEYS",{enumerable:!0,get:function(){return su.VISITOR_KEYS}}),Object.defineProperty(t,"ALIAS_KEYS",{enumerable:!0,get:function(){return su.ALIAS_KEYS}}),Object.defineProperty(t,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return su.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(t,"NODE_FIELDS",{enumerable:!0,get:function(){return su.NODE_FIELDS}}),Object.defineProperty(t,"BUILDER_KEYS",{enumerable:!0,get:function(){return su.BUILDER_KEYS}}),Object.defineProperty(t,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return su.DEPRECATED_KEYS}}),Object.defineProperty(t,"NODE_PARENT_VALIDATIONS",{enumerable:!0,get:function(){return su.NODE_PARENT_VALIDATIONS}}),Object.defineProperty(t,"PLACEHOLDERS",{enumerable:!0,get:function(){return ou.PLACEHOLDERS}}),Object.defineProperty(t,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return ou.PLACEHOLDERS_ALIAS}}),Object.defineProperty(t,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return ou.PLACEHOLDERS_FLIPPED_ALIAS}}),t.TYPES=void 0;var r,n=(r=Yo)&&r.__esModule?r:{default:r};(0,n.default)(su.VISITOR_KEYS),(0,n.default)(su.ALIAS_KEYS),(0,n.default)(su.FLIPPED_ALIAS_KEYS),(0,n.default)(su.NODE_FIELDS),(0,n.default)(su.BUILDER_KEYS),(0,n.default)(su.DEPRECATED_KEYS),(0,n.default)(ou.PLACEHOLDERS_ALIAS),(0,n.default)(ou.PLACEHOLDERS_FLIPPED_ALIAS);const i=Object.keys(su.VISITOR_KEYS).concat(Object.keys(su.FLIPPED_ALIAS_KEYS)).concat(Object.keys(su.DEPRECATED_KEYS));t.TYPES=i})),lu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,...t){const i=uu.BUILDER_KEYS[e],s=t.length;if(s>i.length)throw new Error(`${e}: Too many arguments passed. Received ${s} but can receive no more than ${i.length}`);const a={type:e};let o=0;i.forEach((n=>{const i=uu.NODE_FIELDS[e][n];let u;o=0)){if((0,Li.isAnyTypeAnnotation)(u))return[u];if((0,Li.isFlowBaseAnnotation)(u))i[u.type]=u;else if((0,Li.isUnionTypeAnnotation)(u))s.indexOf(u.types)<0&&(t=t.concat(u.types),s.push(u.types));else if((0,Li.isGenericTypeAnnotation)(u)){const t=r(u.id);if(n[t]){let r=n[t];r.typeParameters?u.typeParameters&&(r.typeParameters.params=e(r.typeParameters.params.concat(u.typeParameters.params))):r=u.typeParameters}else n[t]=u}else a.push(u)}}for(const e of Object.keys(i))a.push(i[e]);for(const e of Object.keys(n))a.push(n[e]);return a}})),bu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(0,n.default)(e);return 1===t.length?t[0]:(0,cu.unionTypeAnnotation)(t)};var r,n=(r=gu)&&r.__esModule?r:{default:r}})),vu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={},r={},n=[],i=[];for(let t=0;t=0)){if((0,Li.isTSAnyKeyword)(s))return[s];(0,Li.isTSBaseType)(s)?r[s.type]=s:(0,Li.isTSUnionType)(s)?n.indexOf(s.types)<0&&(e=e.concat(s.types),n.push(s.types)):i.push(s)}}for(const e of Object.keys(r))i.push(r[e]);for(const e of Object.keys(t))i.push(t[e]);return i}})),xu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.map((e=>e.typeAnnotation)),r=(0,n.default)(t);return 1===r.length?r[0]:(0,cu.tsUnionType)(r)};var r,n=(r=vu)&&r.__esModule?r:{default:r}})),Eu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ArrayExpression",{enumerable:!0,get:function(){return cu.arrayExpression}}),Object.defineProperty(t,"AssignmentExpression",{enumerable:!0,get:function(){return cu.assignmentExpression}}),Object.defineProperty(t,"BinaryExpression",{enumerable:!0,get:function(){return cu.binaryExpression}}),Object.defineProperty(t,"InterpreterDirective",{enumerable:!0,get:function(){return cu.interpreterDirective}}),Object.defineProperty(t,"Directive",{enumerable:!0,get:function(){return cu.directive}}),Object.defineProperty(t,"DirectiveLiteral",{enumerable:!0,get:function(){return cu.directiveLiteral}}),Object.defineProperty(t,"BlockStatement",{enumerable:!0,get:function(){return cu.blockStatement}}),Object.defineProperty(t,"BreakStatement",{enumerable:!0,get:function(){return cu.breakStatement}}),Object.defineProperty(t,"CallExpression",{enumerable:!0,get:function(){return cu.callExpression}}),Object.defineProperty(t,"CatchClause",{enumerable:!0,get:function(){return cu.catchClause}}),Object.defineProperty(t,"ConditionalExpression",{enumerable:!0,get:function(){return cu.conditionalExpression}}),Object.defineProperty(t,"ContinueStatement",{enumerable:!0,get:function(){return cu.continueStatement}}),Object.defineProperty(t,"DebuggerStatement",{enumerable:!0,get:function(){return cu.debuggerStatement}}),Object.defineProperty(t,"DoWhileStatement",{enumerable:!0,get:function(){return cu.doWhileStatement}}),Object.defineProperty(t,"EmptyStatement",{enumerable:!0,get:function(){return cu.emptyStatement}}),Object.defineProperty(t,"ExpressionStatement",{enumerable:!0,get:function(){return cu.expressionStatement}}),Object.defineProperty(t,"File",{enumerable:!0,get:function(){return cu.file}}),Object.defineProperty(t,"ForInStatement",{enumerable:!0,get:function(){return cu.forInStatement}}),Object.defineProperty(t,"ForStatement",{enumerable:!0,get:function(){return cu.forStatement}}),Object.defineProperty(t,"FunctionDeclaration",{enumerable:!0,get:function(){return cu.functionDeclaration}}),Object.defineProperty(t,"FunctionExpression",{enumerable:!0,get:function(){return cu.functionExpression}}),Object.defineProperty(t,"Identifier",{enumerable:!0,get:function(){return cu.identifier}}),Object.defineProperty(t,"IfStatement",{enumerable:!0,get:function(){return cu.ifStatement}}),Object.defineProperty(t,"LabeledStatement",{enumerable:!0,get:function(){return cu.labeledStatement}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return cu.stringLiteral}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return cu.numericLiteral}}),Object.defineProperty(t,"NullLiteral",{enumerable:!0,get:function(){return cu.nullLiteral}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return cu.booleanLiteral}}),Object.defineProperty(t,"RegExpLiteral",{enumerable:!0,get:function(){return cu.regExpLiteral}}),Object.defineProperty(t,"LogicalExpression",{enumerable:!0,get:function(){return cu.logicalExpression}}),Object.defineProperty(t,"MemberExpression",{enumerable:!0,get:function(){return cu.memberExpression}}),Object.defineProperty(t,"NewExpression",{enumerable:!0,get:function(){return cu.newExpression}}),Object.defineProperty(t,"Program",{enumerable:!0,get:function(){return cu.program}}),Object.defineProperty(t,"ObjectExpression",{enumerable:!0,get:function(){return cu.objectExpression}}),Object.defineProperty(t,"ObjectMethod",{enumerable:!0,get:function(){return cu.objectMethod}}),Object.defineProperty(t,"ObjectProperty",{enumerable:!0,get:function(){return cu.objectProperty}}),Object.defineProperty(t,"RestElement",{enumerable:!0,get:function(){return cu.restElement}}),Object.defineProperty(t,"ReturnStatement",{enumerable:!0,get:function(){return cu.returnStatement}}),Object.defineProperty(t,"SequenceExpression",{enumerable:!0,get:function(){return cu.sequenceExpression}}),Object.defineProperty(t,"ParenthesizedExpression",{enumerable:!0,get:function(){return cu.parenthesizedExpression}}),Object.defineProperty(t,"SwitchCase",{enumerable:!0,get:function(){return cu.switchCase}}),Object.defineProperty(t,"SwitchStatement",{enumerable:!0,get:function(){return cu.switchStatement}}),Object.defineProperty(t,"ThisExpression",{enumerable:!0,get:function(){return cu.thisExpression}}),Object.defineProperty(t,"ThrowStatement",{enumerable:!0,get:function(){return cu.throwStatement}}),Object.defineProperty(t,"TryStatement",{enumerable:!0,get:function(){return cu.tryStatement}}),Object.defineProperty(t,"UnaryExpression",{enumerable:!0,get:function(){return cu.unaryExpression}}),Object.defineProperty(t,"UpdateExpression",{enumerable:!0,get:function(){return cu.updateExpression}}),Object.defineProperty(t,"VariableDeclaration",{enumerable:!0,get:function(){return cu.variableDeclaration}}),Object.defineProperty(t,"VariableDeclarator",{enumerable:!0,get:function(){return cu.variableDeclarator}}),Object.defineProperty(t,"WhileStatement",{enumerable:!0,get:function(){return cu.whileStatement}}),Object.defineProperty(t,"WithStatement",{enumerable:!0,get:function(){return cu.withStatement}}),Object.defineProperty(t,"AssignmentPattern",{enumerable:!0,get:function(){return cu.assignmentPattern}}),Object.defineProperty(t,"ArrayPattern",{enumerable:!0,get:function(){return cu.arrayPattern}}),Object.defineProperty(t,"ArrowFunctionExpression",{enumerable:!0,get:function(){return cu.arrowFunctionExpression}}),Object.defineProperty(t,"ClassBody",{enumerable:!0,get:function(){return cu.classBody}}),Object.defineProperty(t,"ClassExpression",{enumerable:!0,get:function(){return cu.classExpression}}),Object.defineProperty(t,"ClassDeclaration",{enumerable:!0,get:function(){return cu.classDeclaration}}),Object.defineProperty(t,"ExportAllDeclaration",{enumerable:!0,get:function(){return cu.exportAllDeclaration}}),Object.defineProperty(t,"ExportDefaultDeclaration",{enumerable:!0,get:function(){return cu.exportDefaultDeclaration}}),Object.defineProperty(t,"ExportNamedDeclaration",{enumerable:!0,get:function(){return cu.exportNamedDeclaration}}),Object.defineProperty(t,"ExportSpecifier",{enumerable:!0,get:function(){return cu.exportSpecifier}}),Object.defineProperty(t,"ForOfStatement",{enumerable:!0,get:function(){return cu.forOfStatement}}),Object.defineProperty(t,"ImportDeclaration",{enumerable:!0,get:function(){return cu.importDeclaration}}),Object.defineProperty(t,"ImportDefaultSpecifier",{enumerable:!0,get:function(){return cu.importDefaultSpecifier}}),Object.defineProperty(t,"ImportNamespaceSpecifier",{enumerable:!0,get:function(){return cu.importNamespaceSpecifier}}),Object.defineProperty(t,"ImportSpecifier",{enumerable:!0,get:function(){return cu.importSpecifier}}),Object.defineProperty(t,"MetaProperty",{enumerable:!0,get:function(){return cu.metaProperty}}),Object.defineProperty(t,"ClassMethod",{enumerable:!0,get:function(){return cu.classMethod}}),Object.defineProperty(t,"ObjectPattern",{enumerable:!0,get:function(){return cu.objectPattern}}),Object.defineProperty(t,"SpreadElement",{enumerable:!0,get:function(){return cu.spreadElement}}),Object.defineProperty(t,"Super",{enumerable:!0,get:function(){return cu.super}}),Object.defineProperty(t,"TaggedTemplateExpression",{enumerable:!0,get:function(){return cu.taggedTemplateExpression}}),Object.defineProperty(t,"TemplateElement",{enumerable:!0,get:function(){return cu.templateElement}}),Object.defineProperty(t,"TemplateLiteral",{enumerable:!0,get:function(){return cu.templateLiteral}}),Object.defineProperty(t,"YieldExpression",{enumerable:!0,get:function(){return cu.yieldExpression}}),Object.defineProperty(t,"AwaitExpression",{enumerable:!0,get:function(){return cu.awaitExpression}}),Object.defineProperty(t,"Import",{enumerable:!0,get:function(){return cu.import}}),Object.defineProperty(t,"BigIntLiteral",{enumerable:!0,get:function(){return cu.bigIntLiteral}}),Object.defineProperty(t,"ExportNamespaceSpecifier",{enumerable:!0,get:function(){return cu.exportNamespaceSpecifier}}),Object.defineProperty(t,"OptionalMemberExpression",{enumerable:!0,get:function(){return cu.optionalMemberExpression}}),Object.defineProperty(t,"OptionalCallExpression",{enumerable:!0,get:function(){return cu.optionalCallExpression}}),Object.defineProperty(t,"AnyTypeAnnotation",{enumerable:!0,get:function(){return cu.anyTypeAnnotation}}),Object.defineProperty(t,"ArrayTypeAnnotation",{enumerable:!0,get:function(){return cu.arrayTypeAnnotation}}),Object.defineProperty(t,"BooleanTypeAnnotation",{enumerable:!0,get:function(){return cu.booleanTypeAnnotation}}),Object.defineProperty(t,"BooleanLiteralTypeAnnotation",{enumerable:!0,get:function(){return cu.booleanLiteralTypeAnnotation}}),Object.defineProperty(t,"NullLiteralTypeAnnotation",{enumerable:!0,get:function(){return cu.nullLiteralTypeAnnotation}}),Object.defineProperty(t,"ClassImplements",{enumerable:!0,get:function(){return cu.classImplements}}),Object.defineProperty(t,"DeclareClass",{enumerable:!0,get:function(){return cu.declareClass}}),Object.defineProperty(t,"DeclareFunction",{enumerable:!0,get:function(){return cu.declareFunction}}),Object.defineProperty(t,"DeclareInterface",{enumerable:!0,get:function(){return cu.declareInterface}}),Object.defineProperty(t,"DeclareModule",{enumerable:!0,get:function(){return cu.declareModule}}),Object.defineProperty(t,"DeclareModuleExports",{enumerable:!0,get:function(){return cu.declareModuleExports}}),Object.defineProperty(t,"DeclareTypeAlias",{enumerable:!0,get:function(){return cu.declareTypeAlias}}),Object.defineProperty(t,"DeclareOpaqueType",{enumerable:!0,get:function(){return cu.declareOpaqueType}}),Object.defineProperty(t,"DeclareVariable",{enumerable:!0,get:function(){return cu.declareVariable}}),Object.defineProperty(t,"DeclareExportDeclaration",{enumerable:!0,get:function(){return cu.declareExportDeclaration}}),Object.defineProperty(t,"DeclareExportAllDeclaration",{enumerable:!0,get:function(){return cu.declareExportAllDeclaration}}),Object.defineProperty(t,"DeclaredPredicate",{enumerable:!0,get:function(){return cu.declaredPredicate}}),Object.defineProperty(t,"ExistsTypeAnnotation",{enumerable:!0,get:function(){return cu.existsTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeAnnotation",{enumerable:!0,get:function(){return cu.functionTypeAnnotation}}),Object.defineProperty(t,"FunctionTypeParam",{enumerable:!0,get:function(){return cu.functionTypeParam}}),Object.defineProperty(t,"GenericTypeAnnotation",{enumerable:!0,get:function(){return cu.genericTypeAnnotation}}),Object.defineProperty(t,"InferredPredicate",{enumerable:!0,get:function(){return cu.inferredPredicate}}),Object.defineProperty(t,"InterfaceExtends",{enumerable:!0,get:function(){return cu.interfaceExtends}}),Object.defineProperty(t,"InterfaceDeclaration",{enumerable:!0,get:function(){return cu.interfaceDeclaration}}),Object.defineProperty(t,"InterfaceTypeAnnotation",{enumerable:!0,get:function(){return cu.interfaceTypeAnnotation}}),Object.defineProperty(t,"IntersectionTypeAnnotation",{enumerable:!0,get:function(){return cu.intersectionTypeAnnotation}}),Object.defineProperty(t,"MixedTypeAnnotation",{enumerable:!0,get:function(){return cu.mixedTypeAnnotation}}),Object.defineProperty(t,"EmptyTypeAnnotation",{enumerable:!0,get:function(){return cu.emptyTypeAnnotation}}),Object.defineProperty(t,"NullableTypeAnnotation",{enumerable:!0,get:function(){return cu.nullableTypeAnnotation}}),Object.defineProperty(t,"NumberLiteralTypeAnnotation",{enumerable:!0,get:function(){return cu.numberLiteralTypeAnnotation}}),Object.defineProperty(t,"NumberTypeAnnotation",{enumerable:!0,get:function(){return cu.numberTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeAnnotation",{enumerable:!0,get:function(){return cu.objectTypeAnnotation}}),Object.defineProperty(t,"ObjectTypeInternalSlot",{enumerable:!0,get:function(){return cu.objectTypeInternalSlot}}),Object.defineProperty(t,"ObjectTypeCallProperty",{enumerable:!0,get:function(){return cu.objectTypeCallProperty}}),Object.defineProperty(t,"ObjectTypeIndexer",{enumerable:!0,get:function(){return cu.objectTypeIndexer}}),Object.defineProperty(t,"ObjectTypeProperty",{enumerable:!0,get:function(){return cu.objectTypeProperty}}),Object.defineProperty(t,"ObjectTypeSpreadProperty",{enumerable:!0,get:function(){return cu.objectTypeSpreadProperty}}),Object.defineProperty(t,"OpaqueType",{enumerable:!0,get:function(){return cu.opaqueType}}),Object.defineProperty(t,"QualifiedTypeIdentifier",{enumerable:!0,get:function(){return cu.qualifiedTypeIdentifier}}),Object.defineProperty(t,"StringLiteralTypeAnnotation",{enumerable:!0,get:function(){return cu.stringLiteralTypeAnnotation}}),Object.defineProperty(t,"StringTypeAnnotation",{enumerable:!0,get:function(){return cu.stringTypeAnnotation}}),Object.defineProperty(t,"SymbolTypeAnnotation",{enumerable:!0,get:function(){return cu.symbolTypeAnnotation}}),Object.defineProperty(t,"ThisTypeAnnotation",{enumerable:!0,get:function(){return cu.thisTypeAnnotation}}),Object.defineProperty(t,"TupleTypeAnnotation",{enumerable:!0,get:function(){return cu.tupleTypeAnnotation}}),Object.defineProperty(t,"TypeofTypeAnnotation",{enumerable:!0,get:function(){return cu.typeofTypeAnnotation}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return cu.typeAlias}}),Object.defineProperty(t,"TypeAnnotation",{enumerable:!0,get:function(){return cu.typeAnnotation}}),Object.defineProperty(t,"TypeCastExpression",{enumerable:!0,get:function(){return cu.typeCastExpression}}),Object.defineProperty(t,"TypeParameter",{enumerable:!0,get:function(){return cu.typeParameter}}),Object.defineProperty(t,"TypeParameterDeclaration",{enumerable:!0,get:function(){return cu.typeParameterDeclaration}}),Object.defineProperty(t,"TypeParameterInstantiation",{enumerable:!0,get:function(){return cu.typeParameterInstantiation}}),Object.defineProperty(t,"UnionTypeAnnotation",{enumerable:!0,get:function(){return cu.unionTypeAnnotation}}),Object.defineProperty(t,"Variance",{enumerable:!0,get:function(){return cu.variance}}),Object.defineProperty(t,"VoidTypeAnnotation",{enumerable:!0,get:function(){return cu.voidTypeAnnotation}}),Object.defineProperty(t,"EnumDeclaration",{enumerable:!0,get:function(){return cu.enumDeclaration}}),Object.defineProperty(t,"EnumBooleanBody",{enumerable:!0,get:function(){return cu.enumBooleanBody}}),Object.defineProperty(t,"EnumNumberBody",{enumerable:!0,get:function(){return cu.enumNumberBody}}),Object.defineProperty(t,"EnumStringBody",{enumerable:!0,get:function(){return cu.enumStringBody}}),Object.defineProperty(t,"EnumSymbolBody",{enumerable:!0,get:function(){return cu.enumSymbolBody}}),Object.defineProperty(t,"EnumBooleanMember",{enumerable:!0,get:function(){return cu.enumBooleanMember}}),Object.defineProperty(t,"EnumNumberMember",{enumerable:!0,get:function(){return cu.enumNumberMember}}),Object.defineProperty(t,"EnumStringMember",{enumerable:!0,get:function(){return cu.enumStringMember}}),Object.defineProperty(t,"EnumDefaultedMember",{enumerable:!0,get:function(){return cu.enumDefaultedMember}}),Object.defineProperty(t,"JSXAttribute",{enumerable:!0,get:function(){return cu.jsxAttribute}}),Object.defineProperty(t,"JSXClosingElement",{enumerable:!0,get:function(){return cu.jsxClosingElement}}),Object.defineProperty(t,"JSXElement",{enumerable:!0,get:function(){return cu.jsxElement}}),Object.defineProperty(t,"JSXEmptyExpression",{enumerable:!0,get:function(){return cu.jsxEmptyExpression}}),Object.defineProperty(t,"JSXExpressionContainer",{enumerable:!0,get:function(){return cu.jsxExpressionContainer}}),Object.defineProperty(t,"JSXSpreadChild",{enumerable:!0,get:function(){return cu.jsxSpreadChild}}),Object.defineProperty(t,"JSXIdentifier",{enumerable:!0,get:function(){return cu.jsxIdentifier}}),Object.defineProperty(t,"JSXMemberExpression",{enumerable:!0,get:function(){return cu.jsxMemberExpression}}),Object.defineProperty(t,"JSXNamespacedName",{enumerable:!0,get:function(){return cu.jsxNamespacedName}}),Object.defineProperty(t,"JSXOpeningElement",{enumerable:!0,get:function(){return cu.jsxOpeningElement}}),Object.defineProperty(t,"JSXSpreadAttribute",{enumerable:!0,get:function(){return cu.jsxSpreadAttribute}}),Object.defineProperty(t,"JSXText",{enumerable:!0,get:function(){return cu.jsxText}}),Object.defineProperty(t,"JSXFragment",{enumerable:!0,get:function(){return cu.jsxFragment}}),Object.defineProperty(t,"JSXOpeningFragment",{enumerable:!0,get:function(){return cu.jsxOpeningFragment}}),Object.defineProperty(t,"JSXClosingFragment",{enumerable:!0,get:function(){return cu.jsxClosingFragment}}),Object.defineProperty(t,"Noop",{enumerable:!0,get:function(){return cu.noop}}),Object.defineProperty(t,"Placeholder",{enumerable:!0,get:function(){return cu.placeholder}}),Object.defineProperty(t,"V8IntrinsicIdentifier",{enumerable:!0,get:function(){return cu.v8IntrinsicIdentifier}}),Object.defineProperty(t,"ArgumentPlaceholder",{enumerable:!0,get:function(){return cu.argumentPlaceholder}}),Object.defineProperty(t,"BindExpression",{enumerable:!0,get:function(){return cu.bindExpression}}),Object.defineProperty(t,"ClassProperty",{enumerable:!0,get:function(){return cu.classProperty}}),Object.defineProperty(t,"PipelineTopicExpression",{enumerable:!0,get:function(){return cu.pipelineTopicExpression}}),Object.defineProperty(t,"PipelineBareFunction",{enumerable:!0,get:function(){return cu.pipelineBareFunction}}),Object.defineProperty(t,"PipelinePrimaryTopicReference",{enumerable:!0,get:function(){return cu.pipelinePrimaryTopicReference}}),Object.defineProperty(t,"ClassPrivateProperty",{enumerable:!0,get:function(){return cu.classPrivateProperty}}),Object.defineProperty(t,"ClassPrivateMethod",{enumerable:!0,get:function(){return cu.classPrivateMethod}}),Object.defineProperty(t,"ImportAttribute",{enumerable:!0,get:function(){return cu.importAttribute}}),Object.defineProperty(t,"Decorator",{enumerable:!0,get:function(){return cu.decorator}}),Object.defineProperty(t,"DoExpression",{enumerable:!0,get:function(){return cu.doExpression}}),Object.defineProperty(t,"ExportDefaultSpecifier",{enumerable:!0,get:function(){return cu.exportDefaultSpecifier}}),Object.defineProperty(t,"PrivateName",{enumerable:!0,get:function(){return cu.privateName}}),Object.defineProperty(t,"RecordExpression",{enumerable:!0,get:function(){return cu.recordExpression}}),Object.defineProperty(t,"TupleExpression",{enumerable:!0,get:function(){return cu.tupleExpression}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return cu.decimalLiteral}}),Object.defineProperty(t,"StaticBlock",{enumerable:!0,get:function(){return cu.staticBlock}}),Object.defineProperty(t,"ModuleExpression",{enumerable:!0,get:function(){return cu.moduleExpression}}),Object.defineProperty(t,"TSParameterProperty",{enumerable:!0,get:function(){return cu.tsParameterProperty}}),Object.defineProperty(t,"TSDeclareFunction",{enumerable:!0,get:function(){return cu.tsDeclareFunction}}),Object.defineProperty(t,"TSDeclareMethod",{enumerable:!0,get:function(){return cu.tsDeclareMethod}}),Object.defineProperty(t,"TSQualifiedName",{enumerable:!0,get:function(){return cu.tsQualifiedName}}),Object.defineProperty(t,"TSCallSignatureDeclaration",{enumerable:!0,get:function(){return cu.tsCallSignatureDeclaration}}),Object.defineProperty(t,"TSConstructSignatureDeclaration",{enumerable:!0,get:function(){return cu.tsConstructSignatureDeclaration}}),Object.defineProperty(t,"TSPropertySignature",{enumerable:!0,get:function(){return cu.tsPropertySignature}}),Object.defineProperty(t,"TSMethodSignature",{enumerable:!0,get:function(){return cu.tsMethodSignature}}),Object.defineProperty(t,"TSIndexSignature",{enumerable:!0,get:function(){return cu.tsIndexSignature}}),Object.defineProperty(t,"TSAnyKeyword",{enumerable:!0,get:function(){return cu.tsAnyKeyword}}),Object.defineProperty(t,"TSBooleanKeyword",{enumerable:!0,get:function(){return cu.tsBooleanKeyword}}),Object.defineProperty(t,"TSBigIntKeyword",{enumerable:!0,get:function(){return cu.tsBigIntKeyword}}),Object.defineProperty(t,"TSIntrinsicKeyword",{enumerable:!0,get:function(){return cu.tsIntrinsicKeyword}}),Object.defineProperty(t,"TSNeverKeyword",{enumerable:!0,get:function(){return cu.tsNeverKeyword}}),Object.defineProperty(t,"TSNullKeyword",{enumerable:!0,get:function(){return cu.tsNullKeyword}}),Object.defineProperty(t,"TSNumberKeyword",{enumerable:!0,get:function(){return cu.tsNumberKeyword}}),Object.defineProperty(t,"TSObjectKeyword",{enumerable:!0,get:function(){return cu.tsObjectKeyword}}),Object.defineProperty(t,"TSStringKeyword",{enumerable:!0,get:function(){return cu.tsStringKeyword}}),Object.defineProperty(t,"TSSymbolKeyword",{enumerable:!0,get:function(){return cu.tsSymbolKeyword}}),Object.defineProperty(t,"TSUndefinedKeyword",{enumerable:!0,get:function(){return cu.tsUndefinedKeyword}}),Object.defineProperty(t,"TSUnknownKeyword",{enumerable:!0,get:function(){return cu.tsUnknownKeyword}}),Object.defineProperty(t,"TSVoidKeyword",{enumerable:!0,get:function(){return cu.tsVoidKeyword}}),Object.defineProperty(t,"TSThisType",{enumerable:!0,get:function(){return cu.tsThisType}}),Object.defineProperty(t,"TSFunctionType",{enumerable:!0,get:function(){return cu.tsFunctionType}}),Object.defineProperty(t,"TSConstructorType",{enumerable:!0,get:function(){return cu.tsConstructorType}}),Object.defineProperty(t,"TSTypeReference",{enumerable:!0,get:function(){return cu.tsTypeReference}}),Object.defineProperty(t,"TSTypePredicate",{enumerable:!0,get:function(){return cu.tsTypePredicate}}),Object.defineProperty(t,"TSTypeQuery",{enumerable:!0,get:function(){return cu.tsTypeQuery}}),Object.defineProperty(t,"TSTypeLiteral",{enumerable:!0,get:function(){return cu.tsTypeLiteral}}),Object.defineProperty(t,"TSArrayType",{enumerable:!0,get:function(){return cu.tsArrayType}}),Object.defineProperty(t,"TSTupleType",{enumerable:!0,get:function(){return cu.tsTupleType}}),Object.defineProperty(t,"TSOptionalType",{enumerable:!0,get:function(){return cu.tsOptionalType}}),Object.defineProperty(t,"TSRestType",{enumerable:!0,get:function(){return cu.tsRestType}}),Object.defineProperty(t,"TSNamedTupleMember",{enumerable:!0,get:function(){return cu.tsNamedTupleMember}}),Object.defineProperty(t,"TSUnionType",{enumerable:!0,get:function(){return cu.tsUnionType}}),Object.defineProperty(t,"TSIntersectionType",{enumerable:!0,get:function(){return cu.tsIntersectionType}}),Object.defineProperty(t,"TSConditionalType",{enumerable:!0,get:function(){return cu.tsConditionalType}}),Object.defineProperty(t,"TSInferType",{enumerable:!0,get:function(){return cu.tsInferType}}),Object.defineProperty(t,"TSParenthesizedType",{enumerable:!0,get:function(){return cu.tsParenthesizedType}}),Object.defineProperty(t,"TSTypeOperator",{enumerable:!0,get:function(){return cu.tsTypeOperator}}),Object.defineProperty(t,"TSIndexedAccessType",{enumerable:!0,get:function(){return cu.tsIndexedAccessType}}),Object.defineProperty(t,"TSMappedType",{enumerable:!0,get:function(){return cu.tsMappedType}}),Object.defineProperty(t,"TSLiteralType",{enumerable:!0,get:function(){return cu.tsLiteralType}}),Object.defineProperty(t,"TSExpressionWithTypeArguments",{enumerable:!0,get:function(){return cu.tsExpressionWithTypeArguments}}),Object.defineProperty(t,"TSInterfaceDeclaration",{enumerable:!0,get:function(){return cu.tsInterfaceDeclaration}}),Object.defineProperty(t,"TSInterfaceBody",{enumerable:!0,get:function(){return cu.tsInterfaceBody}}),Object.defineProperty(t,"TSTypeAliasDeclaration",{enumerable:!0,get:function(){return cu.tsTypeAliasDeclaration}}),Object.defineProperty(t,"TSAsExpression",{enumerable:!0,get:function(){return cu.tsAsExpression}}),Object.defineProperty(t,"TSTypeAssertion",{enumerable:!0,get:function(){return cu.tsTypeAssertion}}),Object.defineProperty(t,"TSEnumDeclaration",{enumerable:!0,get:function(){return cu.tsEnumDeclaration}}),Object.defineProperty(t,"TSEnumMember",{enumerable:!0,get:function(){return cu.tsEnumMember}}),Object.defineProperty(t,"TSModuleDeclaration",{enumerable:!0,get:function(){return cu.tsModuleDeclaration}}),Object.defineProperty(t,"TSModuleBlock",{enumerable:!0,get:function(){return cu.tsModuleBlock}}),Object.defineProperty(t,"TSImportType",{enumerable:!0,get:function(){return cu.tsImportType}}),Object.defineProperty(t,"TSImportEqualsDeclaration",{enumerable:!0,get:function(){return cu.tsImportEqualsDeclaration}}),Object.defineProperty(t,"TSExternalModuleReference",{enumerable:!0,get:function(){return cu.tsExternalModuleReference}}),Object.defineProperty(t,"TSNonNullExpression",{enumerable:!0,get:function(){return cu.tsNonNullExpression}}),Object.defineProperty(t,"TSExportAssignment",{enumerable:!0,get:function(){return cu.tsExportAssignment}}),Object.defineProperty(t,"TSNamespaceExportDeclaration",{enumerable:!0,get:function(){return cu.tsNamespaceExportDeclaration}}),Object.defineProperty(t,"TSTypeAnnotation",{enumerable:!0,get:function(){return cu.tsTypeAnnotation}}),Object.defineProperty(t,"TSTypeParameterInstantiation",{enumerable:!0,get:function(){return cu.tsTypeParameterInstantiation}}),Object.defineProperty(t,"TSTypeParameterDeclaration",{enumerable:!0,get:function(){return cu.tsTypeParameterDeclaration}}),Object.defineProperty(t,"TSTypeParameter",{enumerable:!0,get:function(){return cu.tsTypeParameter}}),Object.defineProperty(t,"NumberLiteral",{enumerable:!0,get:function(){return cu.numberLiteral}}),Object.defineProperty(t,"RegexLiteral",{enumerable:!0,get:function(){return cu.regexLiteral}}),Object.defineProperty(t,"RestProperty",{enumerable:!0,get:function(){return cu.restProperty}}),Object.defineProperty(t,"SpreadProperty",{enumerable:!0,get:function(){return cu.spreadProperty}})})),Du=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;const r=Function.call.bind(Object.prototype.hasOwnProperty);function n(e,t,r){return e&&"string"==typeof e.type?s(e,t,r):e}function i(e,t,r){return Array.isArray(e)?e.map((e=>n(e,t,r))):n(e,t,r)}function s(e,t=!0,n=!1){if(!e)return e;const{type:s}=e,o={type:e.type};if((0,Li.isIdentifier)(e))o.name=e.name,r(e,"optional")&&"boolean"==typeof e.optional&&(o.optional=e.optional),r(e,"typeAnnotation")&&(o.typeAnnotation=t?i(e.typeAnnotation,!0,n):e.typeAnnotation);else{if(!r(uu.NODE_FIELDS,s))throw new Error(`Unknown node type: "${s}"`);for(const u of Object.keys(uu.NODE_FIELDS[s]))r(e,u)&&(o[u]=t?(0,Li.isFile)(e)&&"comments"===u?a(e.comments,t,n):i(e[u],!0,n):e[u])}return r(e,"loc")&&(o.loc=n?null:e.loc),r(e,"leadingComments")&&(o.leadingComments=a(e.leadingComments,t,n)),r(e,"innerComments")&&(o.innerComments=a(e.innerComments,t,n)),r(e,"trailingComments")&&(o.trailingComments=a(e.trailingComments,t,n)),r(e,"extra")&&(o.extra=Object.assign({},e.extra)),o}function a(e,t,r){return t&&r&&e?function(e){return e.map((({type:e,value:t})=>({type:e,value:t,loc:null})))}(e):e}})),Su=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!1)};var r,n=(r=Du)&&r.__esModule?r:{default:r}})),Tu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e)};var r,n=(r=Du)&&r.__esModule?r:{default:r}})),Au=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!0,!0)};var r,n=(r=Du)&&r.__esModule?r:{default:r}})),Pu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e,!1,!0)};var r,n=(r=Du)&&r.__esModule?r:{default:r}})),wu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(!r||!e)return e;const n=`${t}Comments`;e[n]?e[n]="leading"===t?r.concat(e[n]):e[n].concat(r):e[n]=r;return e}})),Cu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,i){return(0,n.default)(e,t,[{type:i?"CommentLine":"CommentBlock",value:r}])};var r,n=(r=wu)&&r.__esModule?r:{default:r}})),ku=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){t&&r&&(t[e]=Array.from(new Set([].concat(t[e],r[e]).filter(Boolean))))}})),_u=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("innerComments",e,t)};var r,n=(r=ku)&&r.__esModule?r:{default:r}})),Iu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("leadingComments",e,t)};var r,n=(r=ku)&&r.__esModule?r:{default:r}})),Fu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){(0,n.default)("trailingComments",e,t)};var r,n=(r=ku)&&r.__esModule?r:{default:r}})),Ou=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,t),(0,n.default)(e,t),(0,i.default)(e,t),e};var r=s(Fu),n=s(Iu),i=s(_u);function s(e){return e&&e.__esModule?e:{default:e}}})),Nu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return nu.COMMENT_KEYS.forEach((t=>{e[t]=null})),e}})),ju=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.TSBASETYPE_TYPES=t.TSTYPE_TYPES=t.TSTYPEELEMENT_TYPES=t.PRIVATE_TYPES=t.JSX_TYPES=t.ENUMMEMBER_TYPES=t.ENUMBODY_TYPES=t.FLOWPREDICATE_TYPES=t.FLOWDECLARATION_TYPES=t.FLOWBASEANNOTATION_TYPES=t.FLOWTYPE_TYPES=t.FLOW_TYPES=t.MODULESPECIFIER_TYPES=t.EXPORTDECLARATION_TYPES=t.MODULEDECLARATION_TYPES=t.CLASS_TYPES=t.PATTERN_TYPES=t.UNARYLIKE_TYPES=t.PROPERTY_TYPES=t.OBJECTMEMBER_TYPES=t.METHOD_TYPES=t.USERWHITESPACABLE_TYPES=t.IMMUTABLE_TYPES=t.LITERAL_TYPES=t.TSENTITYNAME_TYPES=t.LVAL_TYPES=t.PATTERNLIKE_TYPES=t.DECLARATION_TYPES=t.PUREISH_TYPES=t.FUNCTIONPARENT_TYPES=t.FUNCTION_TYPES=t.FORXSTATEMENT_TYPES=t.FOR_TYPES=t.EXPRESSIONWRAPPER_TYPES=t.WHILE_TYPES=t.LOOP_TYPES=t.CONDITIONAL_TYPES=t.COMPLETIONSTATEMENT_TYPES=t.TERMINATORLESS_TYPES=t.STATEMENT_TYPES=t.BLOCK_TYPES=t.BLOCKPARENT_TYPES=t.SCOPABLE_TYPES=t.BINARY_TYPES=t.EXPRESSION_TYPES=void 0;const r=uu.FLIPPED_ALIAS_KEYS.Expression;t.EXPRESSION_TYPES=r;const n=uu.FLIPPED_ALIAS_KEYS.Binary;t.BINARY_TYPES=n;const i=uu.FLIPPED_ALIAS_KEYS.Scopable;t.SCOPABLE_TYPES=i;const s=uu.FLIPPED_ALIAS_KEYS.BlockParent;t.BLOCKPARENT_TYPES=s;const a=uu.FLIPPED_ALIAS_KEYS.Block;t.BLOCK_TYPES=a;const o=uu.FLIPPED_ALIAS_KEYS.Statement;t.STATEMENT_TYPES=o;const u=uu.FLIPPED_ALIAS_KEYS.Terminatorless;t.TERMINATORLESS_TYPES=u;const l=uu.FLIPPED_ALIAS_KEYS.CompletionStatement;t.COMPLETIONSTATEMENT_TYPES=l;const c=uu.FLIPPED_ALIAS_KEYS.Conditional;t.CONDITIONAL_TYPES=c;const p=uu.FLIPPED_ALIAS_KEYS.Loop;t.LOOP_TYPES=p;const h=uu.FLIPPED_ALIAS_KEYS.While;t.WHILE_TYPES=h;const d=uu.FLIPPED_ALIAS_KEYS.ExpressionWrapper;t.EXPRESSIONWRAPPER_TYPES=d;const f=uu.FLIPPED_ALIAS_KEYS.For;t.FOR_TYPES=f;const m=uu.FLIPPED_ALIAS_KEYS.ForXStatement;t.FORXSTATEMENT_TYPES=m;const y=uu.FLIPPED_ALIAS_KEYS.Function;t.FUNCTION_TYPES=y;const g=uu.FLIPPED_ALIAS_KEYS.FunctionParent;t.FUNCTIONPARENT_TYPES=g;const b=uu.FLIPPED_ALIAS_KEYS.Pureish;t.PUREISH_TYPES=b;const v=uu.FLIPPED_ALIAS_KEYS.Declaration;t.DECLARATION_TYPES=v;const x=uu.FLIPPED_ALIAS_KEYS.PatternLike;t.PATTERNLIKE_TYPES=x;const E=uu.FLIPPED_ALIAS_KEYS.LVal;t.LVAL_TYPES=E;const D=uu.FLIPPED_ALIAS_KEYS.TSEntityName;t.TSENTITYNAME_TYPES=D;const S=uu.FLIPPED_ALIAS_KEYS.Literal;t.LITERAL_TYPES=S;const T=uu.FLIPPED_ALIAS_KEYS.Immutable;t.IMMUTABLE_TYPES=T;const A=uu.FLIPPED_ALIAS_KEYS.UserWhitespacable;t.USERWHITESPACABLE_TYPES=A;const P=uu.FLIPPED_ALIAS_KEYS.Method;t.METHOD_TYPES=P;const w=uu.FLIPPED_ALIAS_KEYS.ObjectMember;t.OBJECTMEMBER_TYPES=w;const C=uu.FLIPPED_ALIAS_KEYS.Property;t.PROPERTY_TYPES=C;const k=uu.FLIPPED_ALIAS_KEYS.UnaryLike;t.UNARYLIKE_TYPES=k;const _=uu.FLIPPED_ALIAS_KEYS.Pattern;t.PATTERN_TYPES=_;const I=uu.FLIPPED_ALIAS_KEYS.Class;t.CLASS_TYPES=I;const F=uu.FLIPPED_ALIAS_KEYS.ModuleDeclaration;t.MODULEDECLARATION_TYPES=F;const O=uu.FLIPPED_ALIAS_KEYS.ExportDeclaration;t.EXPORTDECLARATION_TYPES=O;const N=uu.FLIPPED_ALIAS_KEYS.ModuleSpecifier;t.MODULESPECIFIER_TYPES=N;const j=uu.FLIPPED_ALIAS_KEYS.Flow;t.FLOW_TYPES=j;const M=uu.FLIPPED_ALIAS_KEYS.FlowType;t.FLOWTYPE_TYPES=M;const L=uu.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;t.FLOWBASEANNOTATION_TYPES=L;const B=uu.FLIPPED_ALIAS_KEYS.FlowDeclaration;t.FLOWDECLARATION_TYPES=B;const R=uu.FLIPPED_ALIAS_KEYS.FlowPredicate;t.FLOWPREDICATE_TYPES=R;const U=uu.FLIPPED_ALIAS_KEYS.EnumBody;t.ENUMBODY_TYPES=U;const V=uu.FLIPPED_ALIAS_KEYS.EnumMember;t.ENUMMEMBER_TYPES=V;const z=uu.FLIPPED_ALIAS_KEYS.JSX;t.JSX_TYPES=z;const W=uu.FLIPPED_ALIAS_KEYS.Private;t.PRIVATE_TYPES=W;const q=uu.FLIPPED_ALIAS_KEYS.TSTypeElement;t.TSTYPEELEMENT_TYPES=q;const X=uu.FLIPPED_ALIAS_KEYS.TSType;t.TSTYPE_TYPES=X;const J=uu.FLIPPED_ALIAS_KEYS.TSBaseType;t.TSBASETYPE_TYPES=J})),Mu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if((0,Li.isBlockStatement)(e))return e;let r=[];(0,Li.isEmptyStatement)(e)?r=[]:((0,Li.isStatement)(e)||(e=(0,Li.isFunction)(t)?(0,cu.returnStatement)(e):(0,cu.expressionStatement)(e)),r=[e]);return(0,cu.blockStatement)(r)}})),Lu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t="body"){return e[t]=(0,n.default)(e[t],e)};var r,n=(r=Mu)&&r.__esModule?r:{default:r}})),Bu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e+="";let t="";for(const r of e)t+=(0,tu.isIdentifierChar)(r.codePointAt(0))?r:"-";t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),(0,n.default)(t)||(t=`_${t}`);return t||"_"};var r,n=(r=ru)&&r.__esModule?r:{default:r}})),Ru=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"eval"!==(e=(0,n.default)(e))&&"arguments"!==e||(e="_"+e);return e};var r,n=(r=Bu)&&r.__esModule?r:{default:r}})),Uu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t=e.key||e.property){!e.computed&&(0,Li.isIdentifier)(t)&&(t=(0,cu.stringLiteral)(t.name));return t}})),Vu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){(0,Li.isExpressionStatement)(e)&&(e=e.expression);if((0,Li.isExpression)(e))return e;(0,Li.isClass)(e)?e.type="ClassExpression":(0,Li.isFunction)(e)&&(e.type="FunctionExpression");if(!(0,Li.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e};t.default=r})),zu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r,n){if(!t)return;const i=uu.VISITOR_KEYS[t.type];if(!i)return;r(t,n=n||{});for(const s of i){const i=t[s];if(Array.isArray(i))for(const t of i)e(t,r,n);else e(i,r,n)}}})),Wu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t={}){const i=t.preserveComments?r:n;for(const t of i)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const s=Object.getOwnPropertySymbols(e);for(const t of s)e[t]=null};const r=["tokens","start","end","loc","raw","rawValue"],n=nu.COMMENT_KEYS.concat(["comments"]).concat(r)})),qu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,r.default)(e,n.default,t),e};var r=i(zu),n=i(Wu);function i(e){return e&&e.__esModule?e:{default:e}}})),Xu=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;var r=i(Du),n=i(qu);function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t=e.key){let i;return"method"===e.kind?s.increment()+"":(i=(0,Li.isIdentifier)(t)?t.name:(0,Li.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,n.default)((0,r.default)(t))),e.computed&&(i=`[${i}]`),e.static&&(i=`static:${i}`),i)}s.uid=0,s.increment=function(){return s.uid>=Number.MAX_SAFE_INTEGER?s.uid=0:s.uid++}})),Ju=w((function(e,t){function r(e,t,n){let i=[].concat(e);const s=Object.create(null);for(;i.length;){const e=i.shift();if(!e)continue;const a=r.keys[e.type];if((0,Li.isIdentifier)(e))if(t){(s[e.name]=s[e.name]||[]).push(e)}else s[e.name]=e;else if(!(0,Li.isExportDeclaration)(e)||(0,Li.isExportAllDeclaration)(e)){if(n){if((0,Li.isFunctionDeclaration)(e)){i.push(e.id);continue}if((0,Li.isFunctionExpression)(e))continue}if(a)for(let t=0;t=0)return!0}else if(s===e)return!0}return!1};var r,n=(r=Ju)&&r.__esModule?r:{default:r}})),hl=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,Li.isVariableDeclaration)(e)&&("var"!==e.kind||e[nu.BLOCK_SCOPED_SYMBOL])}})),dl=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,Li.isFunctionDeclaration)(e)||(0,Li.isClassDeclaration)(e)||(0,n.default)(e)};var r,n=(r=hl)&&r.__esModule?r:{default:r}})),fl=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,n.default)(e.type,"Immutable"))return!0;if((0,Li.isIdentifier)(e))return"undefined"===e.name;return!1};var r,n=(r=Ho)&&r.__esModule?r:{default:r}})),ml=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){if("object"!=typeof t||"object"!=typeof r||null==t||null==r)return t===r;if(t.type!==r.type)return!1;const n=Object.keys(uu.NODE_FIELDS[t.type]||t.type),i=uu.VISITOR_KEYS[t.type];for(const s of n){if(typeof t[s]!=typeof r[s])return!1;if(null!=t[s]||null!=r[s]){if(null==t[s]||null==r[s])return!1;if(Array.isArray(t[s])){if(!Array.isArray(r[s]))return!1;if(t[s].length!==r[s].length)return!1;for(let n=0;n>":return t>>r;case">>>":return t>>>r;case"<<":return t<":return t>r;case"<":return t=":return t>=r;case"<=":return t<=r}}})),Tl=w((function(e,t){function r(e,t){void 0===t&&(t={});var r=!0;var i=function e(i){if(r){if(Dl.isArrayExpression(i)){for(var s=[],a=0;r&&a /g,"\\u003E").replace(/\//g,"\\u002F")};function Pl(e){return Tl(e,{pug:Ni,pug_interp:void 0})}function wl(e){return Tl.toConstant(e,{pug:Ni,pug_interp:void 0})}var Cl=function(e,t){pt(Array.isArray(e),"Attrs should be an array"),pt(e.every((function(e){return e&&"object"==typeof e&&"string"==typeof e.name&&("string"==typeof e.val||"boolean"==typeof e.val)&&"boolean"==typeof e.mustEscape})),"All attributes should be supplied as an object of the form {name, val, mustEscape}"),pt(t&&"object"==typeof t,"Options should be an object"),pt("boolean"==typeof t.terse,"Options.terse should be a boolean"),pt("function"==typeof t.runtime,"Options.runtime should be a function that takes a runtime function name and returns the source code that will evaluate to that function at runtime"),pt("html"===t.format||"object"===t.format,'Options.format should be "html" or "object"');var r=[],n=[],i=[];function s(e,r,n,i){if(Pl(r))if("html"===t.format){var s=Al(Ni.attr(e,wl(r),n,t.terse)),a=i[i.length-1];a&&a[a.length-1]===s[0]?i[i.length-1]=a.substr(0,a.length-1)+s.substr(1):i.push(s)}else r=wl(r),n&&(r=Ni.escape(r)),i.push(Al(e)+": "+Al(r));else"html"===t.format?i.push(t.runtime("attr")+'("'+e+'", '+r+", "+Al(n)+", "+Al(t.terse)+")"):(n&&(r=t.runtime("escape")+"("+r+")"),i.push(Al(e)+": "+r))}e.forEach((function(e){var a=e.name,o=e.val,u=e.mustEscape;"class"===a?(n.push(o),i.push(u)):("style"===a&&(o=Pl(o)?Al(Ni.style(wl(o))):t.runtime("style")+"("+o+")"),s(a,o,u,r))}));var a=[];n.length&&(n.every(Pl)?s("class",Al(Ni.classes(n.map(wl),i)),!1,a):(n=n.map((function(e,t){return Pl(e)&&(e=Al(i[t]?Ni.escape(wl(e)):wl(e)),i[t]=!1),e})),s("class",t.runtime("classes")+"(["+n.join(",")+"], "+Al(i)+")",!1,a)));return r=a.concat(r),"html"===t.format?r.length?r.join("+"):'""':"{"+r.join(",")+"}"};var kl={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},_l=w((function(e,t){var r=P&&P.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=P&&P.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=P&&P.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=i(Dl);if(!Array.isArray(s.TYPES)||!s.TYPES.every((e=>"string"==typeof e)))throw new Error("@babel/types TYPES does not match the expected type.");const a=s.FLIPPED_ALIAS_KEYS,o=new Set(s.TYPES);if(!a||"object"!=typeof a||!Object.keys(a).every((e=>Array.isArray(a[e])&&a[e].every((e=>"string"==typeof e)))))throw new Error("@babel/types FLIPPED_ALIAS_KEYS does not match the expected type.");t.default=function(e){const t={};for(const r in e){const n=a[r];if(n)for(const i of n)i in t?"function"==typeof e[r]?t[i].enter.push(e[r]):(e[r].enter&&t[i].enter.push(e[r].enter),e[r].exit&&t[i].exit.push(e[r].exit)):"function"==typeof e[r]?t[i]={enter:[e[r]],exit:[]}:t[i]={enter:e[r].enter?[e[r].enter]:[],exit:e[r].exit?[e[r].exit]:[]};else o.has(r)&&(r in t?"function"==typeof e[r]?t[r].enter.push(e[r]):(e[r].enter&&t[r].enter.push(e[r].enter),e[r].exit&&t[r].exit.push(e[r].exit)):"function"==typeof e[r]?t[r]={enter:[e[r]],exit:[]}:t[r]={enter:e[r].enter?[e[r].enter]:[],exit:e[r].exit?[e[r].exit]:[]})}return t}})),Il=w((function(e,t){var r=P&&P.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=P&&P.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=P&&P.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},s=P&&P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.recursive=t.ancestor=t.simple=void 0;const a=i(Dl),o=s(_l),u=a.VISITOR_KEYS;if(!u||"object"!=typeof u||!Object.keys(u).every((e=>Array.isArray(u[e])&&u[e].every((e=>"string"==typeof e)))))throw new Error("@babel/types VISITOR_KEYS does not match the expected type.");t.simple=function(e){const t=o.default(e);return(e,r)=>{!function e(n){if(!n)return;const i=t[n.type];if(null==i?void 0:i.enter)for(const e of i.enter)e(n,r);for(const t of u[n.type]||[]){const r=n[t];if(Array.isArray(r))for(const t of r)e(t);else e(r)}if(null==i?void 0:i.exit)for(const e of i.exit)e(n,r)}(e)}},t.ancestor=function(e){const t=o.default(e);return(e,r)=>{const n=[];!function e(i){if(!i)return;const s=t[i.type],a=i!==n[n.length-1];if(a&&n.push(i),null==s?void 0:s.enter)for(const e of s.enter)e(i,r,n);for(const t of u[i.type]||[]){const r=i[t];if(Array.isArray(r))for(const t of r)e(t);else e(r)}if(null==s?void 0:s.exit)for(const e of s.exit)e(i,r,n);a&&n.pop()}(e)}},t.recursive=function(e){const t=o.default(e);return(e,r)=>{!function e(n){if(!n)return;const i=t[n.type];if(null==i?void 0:i.enter)for(const t of i.enter)t(n,r,e);else for(const t of u[n.type]||[]){const r=n[t];if(Array.isArray(r))for(const t of r)e(t);else e(r)}}(e)}}})),Fl=w((function(e,t){function r(e,t){if(t)return e;throw new Error("Unhandled discriminated union member: "+JSON.stringify(e))}Object.defineProperty(t,"__esModule",{value:!0}),t.assertNever=r,t.default=r})),Ol=w((function(e,t){var r=P&&P.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=P&&P.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=P&&P.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=i(Dl);t.default=function(e,t){switch(t.type){case"ObjectProperty":return t.value===e||t.computed;case"BreakStatement":case"ContinueStatement":return!1;case"AssignmentExpression":return!0}return s.isReferenced(e,t)}})),Nl=w((function(e,t){var r=P&&P.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=P&&P.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=P&&P.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},s=P&&P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(Fl),o=i(Dl),u=s(Ol),l=e=>o.isFunctionParent(e)||o.isProgram(e),c=e=>o.isBlockStatement(e)||l(e),p=e=>o.isFunction(e)&&!o.isArrowFunctionExpression(e),h=p,d=Symbol("locals"),f=e=>e[d],m=(e,t)=>(e=>e[d]=e[d]||new Set)(e).add(t);function y(e,t){switch(e.type){case"Identifier":m(t,e.name);break;case"ObjectPattern":for(const r of e.properties)switch(r.type){case"RestElement":y(r.argument,t);break;case"ObjectProperty":y(r.value,t);break;default:a.default(r)}break;case"ArrayPattern":for(const r of e.elements)r&&y(r,t);break;case"RestElement":y(e.argument,t);break;case"AssignmentPattern":y(e.left,t);break;default:throw new Error("Unrecognized pattern type: "+e.type)}}function g(e,t,r){for(let t=r.length-2;t>=0;t--)if(l(r[t]))return void m(r[t],e.local.name)}const b=Il.ancestor({VariableDeclaration(e,t,r){for(let t=r.length-2;t>=0;t--)if("var"===e.kind?o.isFunctionParent(r[t]):c(r[t])){for(const n of e.declarations)y(n.id,r[t]);return}},FunctionDeclaration(e,t,r){if(e.id)for(let t=r.length-2;t>=0;t--)if(l(r[t]))return void m(r[t],e.id.name)},Function:function(e){for(const t of e.params)y(t,e);const t=e.id;t&&m(e,t.name)},ClassDeclaration(e,t,r){for(let t=r.length-2;t>=0;t--)if(l(r[t]))return void m(r[t],e.id.name)},TryStatement(e){null!==e.handler&&null!==e.handler.param&&y(e.handler.param,e.handler)},ImportDefaultSpecifier:g,ImportSpecifier:g,ImportNamespaceSpecifier:g}),v=Il.ancestor({Identifier(e,t,r){var n;const i=e.name;if("undefined"===i)return;const s=r[r.length-2];if(s){if(!u.default(e,s))return;for(const e of r){if("arguments"===i&&p(e))return;if(null===(n=f(e))||void 0===n?void 0:n.has(i))return}}t.globals.push(e)},ThisExpression(e,t,r){for(const e of r)if(h(e))return;t.globals.push(e)}});t.default=function(e){const t=[];if(!o.isNode(e))throw new TypeError("Source must be a Babylon AST");b(e,void 0),v(e,{globals:t});const r=new Map;for(const e of t){const t="ThisExpression"===e.type?"this":e.name,n=r.get(t);n?n.push(e):r.set(t,[e])}return[...r].map((([e,t])=>({name:e,nodes:t}))).sort(((e,t)=>e.namee.name))]),l=new Set(o.default(n).map((e=>e.name)).filter((e=>!s.has(e))));if(0===l.size)return t;let p="",h="locals_for_with",d="result_of_with";if(a.isValidIdentifier(e))h=e;else{for(;l.has(h)||s.has(h);)h+="_";p=`var ${h} = (${e});`}for(;l.has(d)||s.has(d);)d+="_";const f=["this",...Array.from(l).map((e=>`${JSON.stringify(e)} in ${h} ?\n ${h}.${e} :\n typeof ${e} !== 'undefined' ? ${e} : undefined`))],m=function(e,t,r){const n=t.split(""),i={hasReturn:!1,source:e=>t.slice(e.start,e.end),replace(e,t){n.fill("",e.start,e.end),n[e.start]=t}};return c(e,i),{before:i.hasReturn?`var ${r} = `:"",body:n.join(""),after:i.hasReturn?`;if (${r}) return ${r}.value`:""}}(n,t,d);return`;\n ${p}\n ${m.before}\n (function (${Array.from(l).join(", ")}) {\n ${m.body}\n }.call(${f.join(", ")}));\n ${m.after};`}t.default=l;const c=Il.recursive({Function(e,t,r){},ReturnStatement(e,t){t.hasReturn=!0;let r="";e.argument&&(r=`value: (${t.source(e.argument)})`),t.replace(e,`return {${r}};`)}});e.exports=l,e.exports.default=l})),Ml=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenEnglish/es/true!"}),Ll=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenFrench/es/true!"}),Bl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenGerman/es/true!"}),Rl=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenItalian/es/true!"}),Ul=w((function(e,t){
/**
* @license
* Copyright 2018, Ludan Stoecklé
* SPDX-License-Identifier: MIT
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCodeGen=void 0;t.LanguageCodeGen=class{constructor(){}getVerbsInfo(e){const t={};for(const r of e)t[r]=this.getVerbInfo(r);return t}getWordsInfo(e){const t={};for(const r of e)t[r]=this.getWordInfo(r);return t}getAdjectivesInfo(e){const t={};for(const r of e)t[r]=this.getAdjectiveInfo(r);return t}getVerbInfo(e){const t=new Error;throw t.name="InvalidArgumentException",t.message=`cannot getVerbInfo in ${this.iso2}`,t}getWordInfo(e){const t=new Error;throw t.name="InvalidArgumentException",t.message=`cannot getWordInfo in ${this.iso2}`,t}getAdjectiveInfo(e){const t=new Error;throw t.name="InvalidArgumentException",t.message=`cannot getAdjectiveInfo in ${this.iso2}`,t}}})),Vl=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.nationalAdjectives=void 0,t.nationalAdjectives=["sanmarinense","afgano","albano","albanés","alemán","americano","andorrano","angolano","antiguano","argelino","argentino","armenio","australiano","austriaco","azerbaiyano","bahameño","bangladesí","barbadense","bareiní","belga","beliceño","beninés","bielorruso","bieloruso","birmano","boliviano","bosnio","botsuano","brasileño","británico","bruneano","burkinés","burundés","búlgaro","caboverdiano","camboyano","camerunés","canadiense","catarí","ceilandés","centroafricana","centroafricano","chadiano","checo","chileno","chino","chipriota","colombiano","comorense","congoleño","costarricense","costarriqueño","croata","croato","cubano","dané","danés","dominicano","dominiqués","ecuatoriano","egipcio","eritreo","escocés","escosés","eslovaco","esloveno","español","estadounidense","estonio","etíope","filipino","finlandés","finés","francés","gabonés","galés","gambiano","georgiano","ghanés","granadino","greco-chipriota","griego","groenlandés","guatemalteco","guayanés","guineano","haitiano","holandés","hondureño","húngaro","indio","hindú","indionisio","inglés","irakí","iraní","iraquí","irlandés","islandés","israelí","italiano","jamaicano","japonés","jordano","kazajo","keniata","kirguís","kiribatiano","kuwaití","laosiano","lesotense","letonio","letón","libanés","liberiano","libio","liechtensteiniano","lituano","luxemburgés","macedonio","macedónio","malauí","malayo","maldivo","malgache","maliense","maltés","marfileño","marroquí","marshalés","mauriciano","mauritano","mejicano","mexicano","moldavo","moldoviano","monaqués","mongól","montenegrino","mozambiqueño","myanma","namibio","nauruano","neozelandés","nicaraguense","nicaragüense","nigeriano","niuano","norcoreano","norteamericano","nortecoreano","noruego","omanés","pakistaní","palestino","panameño","papú","paraguayo","peruano","polaco","portugués","puertorriqueño","ruandés","rumano","ruso","salomonense","salvadoreño","samoano","sanmarinense","Sanvicentino","saudí","senegalés","serbio","seychelense","sierraleonés","singapurense","sirio","somalí","suazi","sudafricano","sudanés","sudcoreano","sueco","suizo","surcoreano","surinamés","tailandés","taiwanés","tanzano","tico","timorense","togolés","tongano","tunecino","turco","tuvaluano","ucraniano","ucranio","ugandés","uruguayo","uzbeco","vanuatuense","vaticano","venezolano","vietnamita","yemení","zambiano","zimbabuense"]})),zl=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.invariables=void 0,t.invariables=["macho","hembra","esmeralda","mostaza","naranja","paja","rosa","turquesa","café","chocolate","oro","cereza","lila","fantasma","beige","beis","cada","alerta","marrón","violeta","vino","grana","humo","malva","paja","caqui"]})),Wl=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.agreeAdjective=void 0;const r={"á":"a","é":"e","í":"i","ó":"o","ú":"u"},n={virgen:"vírgenes",joven:"jóvenes"};function i(e,t,n){if(e.endsWith("o")){const r={M:{P:"os"},F:{S:"a",P:"as"}};return e.slice(0,-1)+r[t][n]}if(i=e,RegExp("[aeiouáéíóú]$").test(i))return e.endsWith("e")||e.endsWith("é")||e.endsWith("a")?e+("S"==n?"":"s"):e+("S"==n?"":"es");{const i=e.replace(/([áéíóú])(.)$/,(function(e,t,n){return r[t]+n}));return"F"==t?i+"a"+("S"==n?"":"s"):i+"es"}var i}t.agreeAdjective=function(e,t,s,a){if(function(e){if(!e){const e=new Error;throw e.name="TypeError",e.message="adjective is mandatory",e}}(e),function(e){if("M"!=e&&"F"!=e){const e=new Error;throw e.name="TypeError",e.message="gender must be M F",e}}(t),function(e){if("S"!=e&&"P"!=e){const e=new Error;throw e.name="TypeError",e.message="number must be S or P",e}}(s),zl.invariables.indexOf(e)>-1)return e;if(a){const r=function(e,t,r){const n={bueno:"buen",malo:"mal",alguno:"algún",ninguno:"ningún",uno:"un",primero:"primer",tercero:"tercer"};return"M"==t&&"S"==r&&e in n?n[e]:"grande"==e&&"S"==r?"gran":"ciento"==e&&"P"==r?"cien":"cualquiera"==e&&"S"==r?"cualquier":void 0}(e,t,s);if(r)return r}if("M"==t&&"S"==s)return e;if(Vl.nationalAdjectives.indexOf(e)>-1)return i(e,t,s);if(e.endsWith("o"))return function(e,t,r){return e.slice(0,-1)+{M:{P:"os"},F:{S:"a",P:"as"}}[t][r]}(e,t,s);if(e.endsWith("e")||e.endsWith("ista")||/[aeiuáéíóú]$/.test(e))return function(e,t){return e+("P"==t?"s":"")}(e,s);if(o=e,RegExp("[bcdfghjklmnpqrstvwxz]$").test(o))return function(e,t,i){if(e.endsWith("z"))return"P"==i?e.slice(0,-1)+"ces":e;if(e.endsWith("erior"))return e+("P"==i?"es":"");if(e.endsWith("or")||e.endsWith("án")||e.endsWith("ón")||e.endsWith("ín")){const n=e.slice(0,-2)+(r[e.slice(-2,-1)]||e.slice(-2,-1))+e.slice(-1);return"M"==t?n+"es":n+("S"==i?"a":"as")}return null!=n[e]?"P"==i?n[e]:e:e+("P"==i?"es":"")}(e,t,s);var o;const u=new Error;throw u.name="DictError",u.message="invalid adjective",u}})),ql=w((function(e,t){function r(e,t,r){return`${e}${t}${r?"true":"false"}`}
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.agreeAdjective=t.getAdjectiveInfo=void 0,t.getAdjectiveInfo=function(e){const t={};for(const n of["M","F"])for(const i of["S","P"])for(const s of[!0,!1])t[r(n,i,s)]=Wl.agreeAdjective(e,n,i,s);return t},t.agreeAdjective=function(e,t,n,i,s){if(e){const a=r(n,i,s);if(e[t]&&e[t][a])return e[t][a]}return Wl.agreeAdjective(t,n,i,s)}}));
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2016 Samuel Westrich
* SPDX-License-Identifier: MIT
*/
const Xl={anagrama:"m",aroma:"m",atleta:"n",axioma:"m",boricua:"n",califa:"m",cama:"f","camión":"m","Canadá":"f",capibara:"m",carisma:"m",clima:"m",cometa:"m",cura:"m","cólera":"n","día":"m",diagrama:"m",dilema:"m",diploma:"m",disco:"n",dogma:"m",drama:"m",emblema:"m",enigma:"m",esquema:"m",eurodrama:"m",fantasma:"m",foto:"f",fotograma:"m",gorila:"m",guardia:"n","guía":"n",hematoma:"m",holograma:"m",idioma:"m",idiota:"n","indígena":"n",israelita:"n",karma:"m",mano:"f",mapa:"m",monarca:"n",monotrema:"m",morfema:"m",moto:"f",nirvana:"m",orden:"m",panorama:"m",pijama:"n",pirata:"n",piyama:"n",planeta:"m",plasma:"m",poema:"m","policía":"f",problema:"m",profeta:"n",proteasoma:"m",psiquiatra:"n",quechua:"n",radio:"f",reo:"n",reuma:"n","reúma":"n",semita:"n",sida:"m",SIDA:"m",sistema:"m","sofá":"m",soprano:"m","síntoma":"m",telegrama:"m",tema:"m",teorema:"m",testigo:"m","tranvía":"m",trauma:"m",vietnamita:"n",xilema:"m",estratega:"n",panda:"n",bueno:"n"};var Jl=function(e){if(Xl[e])return Xl[e];if(e.endsWith("ista")||e.endsWith("ente"))return"n";const t=e[e.length-1],r=e.slice(-2),n=e.slice(-3);if("ma"===r)return"m";if("ión"===n||"zón"===n){return["corazón","sentención","notición","roción","ansión","avión"].indexOf(e)>-1?"m":"f"}switch(t){case"o":case"e":case"á":case"é":case"í":case"ó":case"ú":return["foto","llave","fe","mano","calle","moto","fiebre","libido","carne","radio","frase","polio","gente","virago","nieve","noche","nube","sangre","suerte","tarde","muerte","madre","base","clase","clave","corriente","fuente","llave","sede","serpiente","torre","hache"].indexOf(e)>-1?"f":"m"}switch(t){case"a":return["buda","día","planeta","mapa"].indexOf(e)>-1?"m":"f";case"d":return["huésped","ataúd","abad","alud","áspid","laúd","récord","milord","césped"].indexOf(e)>-1?"m":"f";case"z":return["aprendiz","cáliz","arroz","pez","lápiz","ajedrez","antifaz","maíz","albornoz","avestruz","altavoz","altramuz","arroz","barniz","cariz","disfraz","haz","matiz"].indexOf(e)>-1?"m":"f"}return["miel","sal","hiel","piel","coliflor","sor","labor","flor","mujer"].indexOf(e)>-1?"f":"m"},$l={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},Kl=Object.keys($l).join("|"),Yl=new RegExp(Kl,"g"),Hl=new RegExp(Kl,""),Gl=function(e){return e.replace(Yl,(function(e){return $l[e]}))},Ql=Gl,Zl=function(e){return!!e.match(Hl)},ec=Gl;Ql.has=Zl,Ql.remove=ec;const tc="aeiou".split("");const rc={mes:"meses","disc-jockey":"disc-jockeys",examen:"exámenes",imagen:"imágenes","espécimen":"especímenes","carácter":"caracteres","régimen":"regímenes",volumen:"volúmenes",origen:"orígenes",germen:"gérmenes",virgen:"vírgenes",resumen:"resúmenes","balón":"balones","estación":"estaciones",margen:"márgenes","caimán":"caimanes",joven:"jóvenes","sartén":"sartenes","huracán":"huracanes"};var nc=function(e){if(rc[e])return rc[e];{let r;const n=e[e.length-1],i=e.slice(-2);if("x"===n)r=e;else if(i.match(/[áéíóú](n|s)$/)){r=Ql(e)+"es"}else if("z"===n){r=e.substring(0,e.length-1)+"ces"}else if("c"===n){r=e.substring(0,e.length-1)+"ques"}else"g"===n?r=e+"ues":r=1===(t=n).length&&tc.indexOf(Ql(t))>-1?e+"s":"s"===n?e:e+"es";return r}var t},ic=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
var r=P&&P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getWordInfo=t.getGenderSpanishWord=t.getPluralSpanishWord=void 0;const n=r(Jl),i=r(nc);function s(e,t){return e&&e[t]&&e[t].plural?e[t].plural:i.default(t)}function a(e,t){if(e&&e[t]&&e[t].gender)return e[t].gender;return n.default(t).toUpperCase()}t.getPluralSpanishWord=s,t.getGenderSpanishWord=a,t.getWordInfo=function(e){return{gender:a(null,e),plural:s(null,e)}}})),sc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.styles=void 0,t.styles={castillano:{voseo:!1,tuteo:!1,ustedes:!1},rioplatense:{voseo:!0,tuteo:!1,ustedes:!0},chileano:{voseo:!1,tuteo:!1,ustedes:!0},centroamericano:{voseo:!0,tuteo:!1,ustedes:!0},mexicano:{voseo:!1,tuteo:!1,ustedes:!0},caribeno:{voseo:!1,tuteo:!0,ustedes:!0},andino:{voseo:!1,tuteo:!1,ustedes:!0}}})),ac=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.verbsOUE=void 0,t.verbsOUE=["absolver","acordar","acostar","almorzar","alongar","amoblar","apostar","aprobar","asolar","avergonzarse","cocer","colar","colgar","concordar","conmover","consolar","contar","costar","degollar","demoler","demostrar","desaprobar","descolgar","descontar","desosar","destorcer","devolver","disolver","doler","dormir","encontrar","engrosar","envolver","forzar","holgar","hollar","llover","moler","morder","morir","mostrar","mover","oler\to-hue\t\thuel-\t\t\tto smell","poblar","probar","promover","recordar","reforzar","remorder","remover","renovar","repoblar","resolver","resollar","resonar","retorcer","revolcar","revolver","rodar","rogar","solar","soldar","soler","soltar","sonar","soñar","torcer","tostar","tronar","volar","volcar","volver"]})),oc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.exceptions=void 0,t.exceptions={estar:{indicative:{present:{singular:{first:"estoy",second:"estás",third:"está"},plural:{third:"están"}},preterite:{singular:{first:"estuve",second:"estuviste",third:"estuvo"},plural:{first:"estuvimos",second:"estuvisteis",third:"estuvieron"}}},subjunctive:{present:{singular:{first:"esté",second:"estés",third:"esté"},plural:{third:"estén"}},"imperfect -ra":{singular:{first:"estuviera",second:"estuvieras",third:"estuviera"},plural:{first:"estuviéramos",second:"estuvierais",third:"estuvieran"}},"imperfect -se":{singular:{first:"estuviese",second:"estuvieses",third:"estuviese"},plural:{first:"estuviésemos",second:"estuvieseis",third:"estuviesen"}},future:{singular:{first:"estuviere",second:"estuvieres",third:"estuviere"},plural:{first:"estuviéremos",second:"estuviereis",third:"estuvieren"}}},imperative:{affirmative:{singular:{second:"está",third:"esté"},plural:{third:"estén"}},negative:{singular:{second:"estés",third:"esté"},plural:{third:"estén"}}}},ser:{indicative:{present:{singular:{first:"soy",second:"eres",third:"es"},plural:{first:"somos",second:"sois",third:"son"}},preterite:{singular:{first:"fui",second:"fuiste",third:"fue"},plural:{first:"fuimos",second:"fuisteis",third:"fueron"}},imperfect:{singular:{first:"era",second:"eras",third:"era"},plural:{first:"éramos",second:"erais",third:"eran"}}},subjunctive:{present:{singular:{first:"sea",second:"seas",third:"sea"},plural:{first:"seamos",second:"seáis",third:"sean"}},"imperfect -ra":{singular:{first:"fuera",second:"fueras",third:"fuera"},plural:{first:"fuéramos",second:"fuéramos",third:"fueran"}},"imperfect -se":{singular:{first:"fuese",second:"fueses",third:"fuese"},plural:{first:"fuésemos",second:"fueseis",third:"fuesen"}},future:{singular:{first:"fuere",second:"fueres",third:"fuere"},plural:{first:"fuéremos",second:"fuereis",third:"fueren"}}},imperative:{affirmative:{singular:{second:"sé",third:"sea"},plural:{first:"seamos",second:"sed",third:"sean"}},negative:{singular:{second:"seas",third:"sea"},plural:{first:"seamos",second:"seáis",third:"sean"}}}},haber:{indicative:{present:{singular:{first:"he",second:"has",third:"hay"},plural:{first:"hemos",third:"han"}},preterite:{singular:{first:"hube",second:"hubiste",third:"hubo"},plural:{first:"hubimos",second:"hubisteis",third:"hubieron"}},future:{singular:{first:"habré",second:"habrás",third:"habrá"},plural:{first:"habremos",second:"habréis",third:"habrán"}}},subjunctive:{present:{singular:{first:"haya",second:"hayas",third:"haya"},plural:{first:"hayamos",second:"hayáis",third:"hayan"}},"imperfect -ra":{singular:{first:"hubiera",second:"hubieras",third:"hubiera"},plural:{first:"hubiéramos",second:"hubierais",third:"hubieran"}},"imperfect -se":{singular:{first:"hubiese",second:"hubieses",third:"hubiese"},plural:{first:"hubiésemos",second:"hubieseis",third:"hubiesen"}},future:{singular:{first:"hubiere",second:"hubieres",third:"hubiere"},plural:{first:"hubiéremos",second:"hubiereis",third:"hubieren"}}},imperative:{affirmative:{singular:{second:"he",third:"haya"},plural:{first:"hayamos",second:"habed",third:"hayan"}},negative:{singular:{second:"hayes",third:"haya"},plural:{first:"hayamos",second:"hayáis",third:"hayan"}}},conditional:{present:{singular:{first:"habría",second:"habrías",third:"habría"},plural:{first:"habríamos",second:"habríais",third:"habrían"}},future:{singular:{first:"habré",second:"habrás",third:"habrá"},plural:{first:"habremos",second:"habréis",third:"habrán"}}}},tener:{indicative:{present:{singular:{first:"tengo",second:"tienes",third:"tiene"},plural:{third:"tienen"}},preterite:{singular:{first:"tuve",second:"tuviste",third:"tuvo"},plural:{first:"tuvimos",second:"tuvisteis",third:"tuvieron"}},future:{singular:{first:"tendré",second:"tendrás",third:"tendrá"},plural:{first:"tendremos",second:"tendréis",third:"tendrán"}}},subjunctive:{present:{singular:{first:"tenga",second:"tengas",third:"tenga"},plural:{first:"tengamos",second:"tengáis",third:"tengan"}},"imperfect -ra":{singular:{first:"tuviera",second:"tuvieras",third:"tuviera"},plural:{first:"tuviéramos",second:"tuvierais",third:"tuvieran"}},"imperfect -se":{singular:{first:"tuviese",second:"tuvieses",third:"tuviese"},plural:{first:"tuviésemos",second:"tuvieseis",third:"tuviesen"}},future:{singular:{first:"tuviere",second:"tuvieres",third:"tuviere"},plural:{first:"tuviéremos",second:"tuviereis",third:"tuvieren"}}},conditional:{present:{singular:{first:"tendría",second:"tendrías",third:"tendría"},plural:{first:"tendríamos",second:"tendríais",third:"tendrían"}}},imperative:{affirmative:{singular:{second:"ten",third:"tenga"},plural:{first:"tengamos",third:"tengan"}},negative:{singular:{second:"tengas",third:"tenga"},plural:{first:"tengamos",second:"tengáis",third:"tengan"}}}},poder:{indicative:{present:{singular:{first:"puedo",second:"puedes",third:"puede"},plural:{third:"pueden"}},preterite:{singular:{first:"pude",second:"pudiste",third:"pudo"},plural:{first:"pudimos",second:"pudisteis",third:"pudieron"}},future:{singular:{first:"podré",second:"podrás",third:"podrá"},plural:{first:"podremos",second:"podréis",third:"podrán"}}},subjunctive:{present:{singular:{first:"pueda",second:"puedas",third:"pueda"},plural:{third:"puedan"}},"imperfect -ra":{singular:{first:"pudiera",second:"pudieras",third:"pudiera"},plural:{first:"pudiéramos",second:"pudierais",third:"pudieran"}},"imperfect -se":{singular:{first:"pudiese",second:"pudieses",third:"pudiese"},plural:{first:"pudiésemos",second:"pudieseis",third:"pudiesen"}},future:{singular:{first:"pudiere",second:"pudieres",third:"pudiere"},plural:{first:"pudiéremos",second:"pudiereis",third:"pudieren"}}},conditional:{present:{singular:{first:"podría",second:"podrías",third:"podría"},plural:{first:"podríamos",second:"podríais",third:"podrían"}}},imperative:{affirmative:{singular:{second:"puede",third:"pueda"},plural:{third:"puedan"}},negative:{singular:{second:"puedas",third:"pueda"},plural:{third:"puedan"}}}},ir:{gerund:"yendo",indicative:{present:{singular:{first:"voy",second:"vas",third:"va"},plural:{first:"vamos",second:"vais",third:"van"}},preterite:{singular:{first:"fui",second:"fuiste",third:"fue"},plural:{first:"fuimos",second:"fuisteis",third:"fueron"}},imperfect:{singular:{first:"iba",second:"ibas",third:"iba"},plural:{first:"íbamos",second:"ibais",third:"iban"}}},subjunctive:{present:{singular:{first:"vaya",second:"vayas",third:"vaya"},plural:{first:"vayamos",second:"vayáis",third:"vayan"}},"imperfect -ra":{singular:{first:"fuera",second:"fueras",third:"fuera"},plural:{first:"fuéramos",second:"fuerais",third:"fueran"}},"imperfect -se":{singular:{first:"fuese",second:"fueses",third:"fuese"},plural:{first:"fuésemos",second:"fueseis",third:"fuesen"}},future:{singular:{first:"fuere",second:"fueres",third:"fuere"},plural:{first:"fuéremos",second:"fuereis",third:"fueren"}}},imperative:{affirmative:{singular:{second:"ve",third:"vaya"},plural:{first:"vayamos",third:"vayan"}},negative:{singular:{second:"vayas",third:"vaya"},plural:{first:"vayamos",second:"vayáis",third:"vayan"}}}},dar:{indicative:{present:{singular:{first:"doy"},plural:{second:"dais"}},preterite:{singular:{first:"di",second:"diste",third:"dio"},plural:{first:"dimos",second:"disteis",third:"dieron"}}},subjunctive:{present:{singular:{first:"dé",third:"dé"},plural:{second:"deis"}},"imperfect -ra":{singular:{first:"diera",second:"dieras",third:"diera"},plural:{first:"diéramos",second:"dierais",third:"dieran"}},"imperfect -se":{singular:{first:"diese",second:"dieses",third:"diese"},plural:{first:"diésemos",second:"dieseis",third:"diesen"}},future:{singular:{first:"diere",second:"dieres",third:"diere"},plural:{first:"diéremos",second:"diereis",third:"dieren"}}},imperative:{affirmative:{singular:{third:"dé"}},negative:{singular:{third:"dé"},plural:{second:"deis"}}}},saber:{indicative:{present:{singular:{first:"sé"}},preterite:{singular:{first:"supe",second:"supiste",third:"supo"},plural:{first:"supimos",second:"supisteis",third:"supieron"}},future:{singular:{first:"sabré",second:"sabrás",third:"sabrá"},plural:{first:"sabremos",second:"sabréis",third:"sabrán"}}},subjunctive:{present:{singular:{first:"sepa",second:"sepas",third:"sepa"},plural:{first:"sepamos",second:"sepáis",third:"sepan"}},"imperfect -ra":{singular:{first:"supiera",second:"supieras",third:"supiera"},plural:{first:"supiéramos",second:"supierais",third:"supieran"}},"imperfect -se":{singular:{first:"supiese",second:"supieses",third:"supiese"},plural:{first:"supiésemos",second:"supieseis",third:"supiesen"}},future:{singular:{first:"supiere",second:"supieres",third:"supiere"},plural:{first:"supiéremos",second:"supiereis",third:"supieren"}}},conditional:{present:{singular:{first:"sabría",second:"sabrías",third:"sabría"},plural:{first:"sabríamos",second:"sabríais",third:"sabrían"}}},imperative:{affirmative:{singular:{third:"sepa"},plural:{first:"sepamos",third:"sepan"}},negative:{singular:{second:"sepas",third:"sepa"},plural:{first:"sepamos",second:"sepáis",third:"sepan"}}}},querer:{indicative:{present:{singular:{first:"quiero",second:"quieres",third:"quiere"},plural:{third:"quieren"}},preterite:{singular:{first:"quise",second:"quisiste",third:"quiso"},plural:{first:"quisimos",second:"quisisteis",third:"quisieron"}},future:{singular:{first:"querré",second:"querrás",third:"querrá"},plural:{first:"querremos",second:"querréis",third:"querrán"}}},subjunctive:{present:{singular:{first:"quiera",second:"quieras",third:"quiera"},plural:{third:"quieran"}},"imperfect -ra":{singular:{first:"quisiera",second:"quisieras",third:"quisiera"},plural:{first:"quisiéramos",second:"quisierais",third:"quisieran"}},"imperfect -se":{singular:{first:"quisiese",second:"quisieses",third:"quisiese"},plural:{first:"quisiésemos",second:"quisieseis",third:"quisiesen"}},future:{singular:{first:"quisiere",second:"quisieres",third:"quisiere"},plural:{first:"quisiéremos",second:"quisiereis",third:"quisieren"}}},conditional:{present:{singular:{first:"querría",second:"querrías",third:"querría"},plural:{first:"querríamos",second:"querríais",third:"querrían"}}},imperative:{affirmative:{singular:{second:"quiere",third:"quiera"},plural:{third:"quieran"}},negative:{singular:{second:"quieras",third:"quiera"},plural:{third:"quieran"}}}},creer:{"past participle":"creido",gerund:"creyendo",indicative:{preterite:{singular:{third:"creyó"},plural:{third:"creyeron"}}},subjunctive:{"imperfect -ra":{singular:{first:"creyera",second:"creyeras",third:"creyera"},plural:{first:"creyéramos",second:"creyerais",third:"creyeran"}},"imperfect -se":{singular:{first:"creyese",second:"creyeses",third:"creyese"},plural:{first:"creyésemos",second:"creyeseis",third:"creyesen"}},future:{singular:{first:"creyere",second:"creyeres",third:"creyere"},plural:{first:"creyéremos",second:"creyereis",third:"creyeren"}}}},seguir:{indicative:{present:{singular:{first:"sigo",second:"sigues",third:"sigue"},plural:{third:"siguen"}},preterite:{singular:{third:"siguió"},plural:{third:"siguieron"}}},subjunctive:{present:{singular:{first:"siga",second:"sigas",third:"siga"},plural:{third:"sigan"}},"imperfect -ra":{singular:{first:"siguiera",second:"siguieras",third:"siguiera"},plural:{first:"siguiéramos",second:"siguierais",third:"siguieran"}},"imperfect -se":{singular:{first:"siguiese",second:"siguieses",third:"siguiese"},plural:{first:"siguiésemos",second:"siguieseis",third:"siguiesen"}},future:{singular:{first:"siguiere",second:"siguieres",third:"siguiere"},plural:{first:"siguiéremos",second:"siguiereis",third:"siguieren"}}},imperative:{affirmative:{singular:{second:"sigue",third:"siga"},plural:{first:"sigamos",third:"sigan"}},negative:{singular:{second:"sigas",third:"siga"},plural:{first:"sigamos",second:"sigáis",third:"sigan"}}}},conseguir:{indicative:{present:{singular:{first:"consigo",second:"consigues",third:"consigue"},plural:{third:"consiguen"}},preterite:{singular:{third:"consiguió"},plural:{third:"consiguieron"}}},subjunctive:{present:{singular:{first:"consiga",second:"consigas",third:"consiga"},plural:{third:"consigan"}},"imperfect -ra":{singular:{first:"consiguiera",second:"consiguieras",third:"consiguiera"},plural:{first:"consiguiéramos",second:"consiguierais",third:"consiguieran"}},"imperfect -se":{singular:{first:"consiguiese",second:"consiguieses",third:"consiguiese"},plural:{first:"consiguiésemos",second:"consiguieseis",third:"consiguiesen"}},future:{singular:{first:"consiguiere",second:"consiguieres",third:"consiguiere"},plural:{first:"consiguiéremos",second:"consiguiereis",third:"consiguieren"}}},imperative:{affirmative:{singular:{second:"consigue",third:"consiga"},plural:{first:"consigamos",third:"consigan"}},negative:{singular:{second:"consigas",third:"consiga"},plural:{first:"consigamos",second:"consigáis",third:"consigan"}}}},abrir:{"past participle":"abierto"},cubrir:{"past participle":"cubierto"},decir:{"past participle":"dicho",gerund:"diciendo",indicative:{present:{singular:{first:"digo",second:"dices",third:"dice"},plural:{third:"dicen"}},preterite:{singular:{first:"dije",second:"dijiste",third:"dijo"},plural:{first:"dijimos",second:"dijisteis",third:"dijeron"}},future:{singular:{first:"diré",second:"dirás",third:"dirá"},plural:{first:"diremos",second:"diréis",third:"dirán"}}},subjunctive:{present:{singular:{first:"diga",second:"digas",third:"diga"},plural:{first:"digamos",second:"digáis",third:"digan"}},"imperfect -ra":{singular:{first:"dijera",second:"dijeras",third:"dijera"},plural:{first:"dijéramos",second:"dijerais",third:"dijeran"}},"imperfect -se":{singular:{first:"dijese",second:"dijeses",third:"dijese"},plural:{first:"dijésemos",second:"dijeseis",third:"dijesen"}},future:{singular:{first:"dijere",second:"dijeres",third:"dijere"},plural:{first:"dijéremos",second:"dijereis",third:"dijeren"}}},conditional:{present:{singular:{first:"diría",second:"dirías",third:"diría"},plural:{first:"diríamos",second:"diríais",third:"dirían"}}},imperative:{affirmative:{singular:{second:"di",third:"diga"},plural:{first:"digamos",third:"digan"}},negative:{singular:{second:"digas",third:"diga"},plural:{first:"digamos",second:"digáis",third:"digan"}}}},escribir:{"past participle":"escrito"},hacer:{"past participle":"hecho",indicative:{present:{singular:{first:"hago"}},preterite:{singular:{first:"hice",second:"hiciste",third:"hizo"},plural:{first:"hicimos",second:"hicisteis",third:"hicieron"}},future:{singular:{first:"haré",second:"harás",third:"hará"},plural:{first:"haremos",second:"haréis",third:"harán"}}},subjunctive:{present:{singular:{first:"haga",second:"hagas",third:"haga"},plural:{first:"tengamos",second:"tengáis",third:"tengan"}},"imperfect -ra":{singular:{first:"hiciera",second:"hicieras",third:"hiciera"},plural:{first:"hiciéramos",second:"hicierais",third:"hicieran"}},"imperfect -se":{singular:{first:"hiciese",second:"hicieses",third:"hiciese"},plural:{first:"hiciésemos",second:"hicieseis",third:"hiciesen"}},future:{singular:{first:"hiciere",second:"hicieres",third:"hiciere"},plural:{first:"hiciéremos",second:"hiciereis",third:"hicieren"}}},conditional:{present:{singular:{first:"haría",second:"harías",third:"haría"},plural:{first:"haríamos",second:"haríais",third:"harían"}}},imperative:{affirmative:{singular:{second:"haz",third:"haga"},plural:{first:"hagamos",third:"hagan"}},negative:{singular:{second:"hagas",third:"haga"},plural:{first:"hagamos",second:"hagáis",third:"hagan"}}}},morir:{"past participle":"muerto"},poner:{"past participle":"puesto",indicative:{present:{singular:{first:"pongo"}},preterite:{singular:{first:"puse",second:"pusiste",third:"puso"},plural:{first:"pusimos",second:"pusisteis",third:"pusieron"}},future:{singular:{first:"pondré",second:"pondrás",third:"pondrá"},plural:{first:"pondremos",second:"pondréis",third:"pondrán"}}},subjunctive:{present:{singular:{first:"ponga",second:"pongas",third:"ponga"},plural:{first:"pongamos",second:"pongáis",third:"pongan"}},"imperfect -ra":{singular:{first:"pusiera",second:"pusieras",third:"pusiera"},plural:{first:"pusiéramos",second:"pusierais",third:"pusieran"}},"imperfect -se":{singular:{first:"pusiese",second:"pusieses",third:"pusiese"},plural:{first:"pusiésemos",second:"pusieseis",third:"pusiesen"}},future:{singular:{first:"pusiere",second:"pusieres",third:"pusiere"},plural:{first:"pusiéremos",second:"pusiereis",third:"pusieren"}}},conditional:{present:{singular:{first:"pondría",second:"pondrías",third:"pondría"},plural:{first:"pondríamos",second:"pondríais",third:"pondrían"}}},imperative:{affirmative:{singular:{second:"pon",third:"ponga"},plural:{first:"pongamos",third:"pongan"}},negative:{singular:{second:"pongas",third:"ponga"},plural:{first:"pongamos",second:"pongáis",third:"pongan"}}}},romper:{"past participle":"roto"},ver:{"past participle":"visto",indicative:{present:{singular:{first:"veo"},plural:{second:"veis"}},preterite:{singular:{first:"vi",third:"vio"}}},subjunctive:{present:{singular:{first:"vea",second:"veas",third:"vea"},plural:{first:"veamos",second:"veáis",third:"vean"}}},imperative:{affirmative:{singular:{third:"vea"},plural:{first:"veamos"}},negative:{singular:{second:"veas",third:"vea"},plural:{first:"veamos",second:"veáis",third:"vean"}}}},pudrir:{"past participle":"podrido"},volver:{"past participle":"vuelto"},producir:{indicative:{preterite:{singular:{first:"produje",third:"produjo"}}}},conducir:{indicative:{preterite:{singular:{third:"condujo"}}},subjunctive:{present:{singular:{third:"conduzca"}},future:{singular:{third:"condujere"}},imperfect:{singular:{third:"condujese"}}}},venir:{indicative:{present:{singular:{first:"vengo",second:"vienes",third:"viene"},plural:{third:"vienen"}},preterite:{singular:{first:"vine",second:"viniste",third:"vino"},plural:{first:"vinimos",second:"vinisteis",third:"vinieron"}}},conditional:{present:{singular:{first:"vendría",second:"vendrías",third:"vendría"},plural:{first:"vendríamos",second:"vendríais",third:"vendrían"}}},subjunctive:{present:{singular:{first:"venga",second:"vengas",third:"venga"},plural:{first:"vengamos",second:"vengáis",third:"vengan"}},"imperfect -ra":{singular:{first:"viniera",second:"vinieras",third:"viniera"},plural:{first:"viniéramos",second:"vinierais",third:"vinieran"}},"imperfect -se":{singular:{first:"viniese",second:"vinieses",third:"viniese"},plural:{first:"viniésemos",second:"vinieseis",third:"viniesen"}},future:{singular:{first:"viniere",second:"vinieres",third:"viniere"},plural:{first:"viniéremos",second:"viniereis",third:"vinieren"}}},imperative:{affirmative:{singular:{second:"ven",third:"venga"},plural:{first:"vengamos",third:"vengan"}},negative:{singular:{second:"venga",third:"vengamos"},plural:{second:"vengáis",third:"vengan"}}}}}})),uc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.endingsAux=t.endingsSuffix=void 0,t.endingsSuffix={ar:{infinitive:"ar",gerund:"ando","past participle":{singular:{masculine:"ado",feminine:"ada"},plural:{masculine:"ados",feminine:"adas"}},first:{singular:{indicative:{present:"o",imperfect:"aba",preterite:"é",future:"aré"},subjunctive:{present:"e","imperfect -ra":"ara","imperfect -se":"ase",future:"are"},conditional:"aría"},plural:{indicative:{present:"amos",imperfect:"ábamos",preterite:"amos",future:"aremos"},subjunctive:{present:"emos","imperfect -ra":"áramos","imperfect -se":"ásemos",future:"áremos"},conditional:"aríamos",imperative:"emos"}},second:{singular:{indicative:{present:{tu:"as",vos:"ás"},imperfect:"abas",preterite:"aste",future:"arás"},subjunctive:{present:{tu:"es",vos:"és"},"imperfect -ra":"aras","imperfect -se":"ases",future:"ares"},conditional:"arías",imperative:{affirmative:{tu:"a",vos:"á"},negative:{tu:"es",vos:"és"}}},plural:{indicative:{present:"áis",imperfect:"abais",preterite:"asteis",future:"aréis"},subjunctive:{present:"éis","imperfect -ra":"arais","imperfect -se":"aseis",future:"areis"},conditional:"aríais",imperative:{affirmative:"ad",negative:"éis"}}},third:{singular:{indicative:{present:"a",imperfect:"aba",preterite:"ó",future:"ará"},subjunctive:{present:"e","imperfect -ra":"ara","imperfect -se":"ase",future:"are"},conditional:"aría",imperative:"e"},plural:{indicative:{present:"an",imperfect:"aban",preterite:"aron",future:"arán"},subjunctive:{present:"en","imperfect -ra":"aran","imperfect -se":"asen",future:"aren"},conditional:"arían",imperative:"en"}}},ir:{infinitive:"ir",gerund:"iendo","past participle":{singular:{masculine:"ido",feminine:"ida"},plural:{masculine:"idos",feminine:"idas"}},first:{singular:{indicative:{present:"o",imperfect:"ía",preterite:"í",future:"iré"},subjunctive:{present:"a","imperfect -ra":"iera","imperfect -se":"iese",future:"iere"},conditional:"iría"},plural:{indicative:{present:"imos",imperfect:"íamos",preterite:"imos",future:"iremos"},subjunctive:{present:"amos","imperfect -ra":"iéramos","imperfect -se":"iésemos",future:"iéremos"},conditional:"iríamos",imperative:"amos"}},second:{singular:{indicative:{present:{tu:"es",vos:"ís"},imperfect:"ías",preterite:{tu:"iste",vos:"istes"},future:"irás"},subjunctive:{present:{tu:"as",vos:"ás"},"imperfect -ra":"ieras","imperfect -se":"ieses",future:"ieres"},conditional:"irías",imperative:{affirmative:{tu:"e",vos:"í"},negative:{tu:"as",vos:"ás"}}},plural:{indicative:{present:"ís",imperfect:"íais",preterite:"isteis",future:"iréis"},subjunctive:{present:"áis","imperfect -ra":"ierais","imperfect -se":"ieseis",future:"iereis"},conditional:"iríais",imperative:{affirmative:"id",negative:"áis"}}},third:{singular:{indicative:{present:"e",imperfect:"ía",preterite:"ió",future:"irá"},subjunctive:{present:"a","imperfect -ra":"iera","imperfect -se":"iese",future:"iere"},conditional:"iría",imperative:"a"},plural:{indicative:{present:"en",imperfect:"ían",preterite:"ieron",future:"irán"},subjunctive:{present:"an","imperfect -ra":"ieran","imperfect -se":"iesen",future:"ieren"},conditional:"irían",imperative:"an"}}},er:{infinitive:"er",gerund:"iendo","past participle":{singular:{masculine:"ido",feminine:"ida"},plural:{masculine:"idos",feminine:"idas"}},first:{singular:{indicative:{present:"o",imperfect:"ía",preterite:"í",future:"eré"},subjunctive:{present:"a","imperfect -ra":"iera","imperfect -se":"iese",future:"iere"},conditional:"ería"},plural:{indicative:{present:"emos",imperfect:"íamos",preterite:"imos",future:"eremos"},subjunctive:{present:"amos","imperfect -ra":"iéramos","imperfect -se":"iésemos",future:"iéremos"},conditional:"eríamos",imperative:"amos"}},second:{singular:{indicative:{present:{tu:"es",vos:"és"},imperfect:"ías",preterite:{tu:"iste",vos:"istes"},future:"erás"},subjunctive:{present:{tu:"as",vos:"ás"},"imperfect -ra":"ieras","imperfect -se":"ieses",future:"ieres"},conditional:"erías",imperative:{affirmative:{tu:"e",vos:"é"},negative:{tu:"as",vos:"ás"}}},plural:{indicative:{present:"éis",imperfect:"íais",preterite:"isteis",future:"eréis"},subjunctive:{present:"áis","imperfect -ra":"ierais","imperfect -se":"ieseis",future:"iereis"},conditional:"eríais",imperative:{affirmative:"ed",negative:"áis"}}},third:{singular:{indicative:{present:"e",imperfect:"ía",preterite:"ió",future:"erá"},subjunctive:{present:"a","imperfect -ra":"iera","imperfect -se":"iese",future:"iere"},conditional:"ería",imperative:"a"},plural:{indicative:{present:"en",imperfect:"ían",preterite:"ieron",future:"erán"},subjunctive:{present:"an","imperfect -ra":"ieran","imperfect -se":"iesen",future:"ieren"},conditional:"erían",imperative:"an"}}}},t.endingsAux={first:{singular:{indicative:{perfect:"he",pluperfect:"había","future perfect":"habré","preterite perfect":"hube"},subjunctive:{perfect:"haya",pluperfect:"hubiera","future perfect":"hubiere"},conditional:{perfect:"habría"}},plural:{indicative:{perfect:"hemos",pluperfect:"habíamos","future perfect":"habremos","preterite perfect":"hubimos"},subjunctive:{perfect:"hayamos",pluperfect:"hubiéramos","future perfect":"hubiéremos"},conditional:{perfect:"habríamos"}}},second:{singular:{indicative:{perfect:"has",pluperfect:"habías","future perfect":"habrás","preterite perfect":"hubiste"},subjunctive:{perfect:"hayas",pluperfect:"hubieras","future perfect":"hubieres"},conditional:{perfect:"habrías"}},plural:{indicative:{perfect:"habéis",pluperfect:"habíais","future perfect":"habréis","preterite perfect":"hubisteis"},subjunctive:{perfect:"hayáis",pluperfect:"hubierais","future perfect":"hubiereis"},conditional:{perfect:"habríais"}}},third:{singular:{indicative:{perfect:"ha",pluperfect:"había","future perfect":"habrá","preterite perfect":"hubo"},subjunctive:{perfect:"haya",pluperfect:"hubiera","future perfect":"hubiere"},conditional:{perfect:"habría"}},plural:{indicative:{perfect:"han",pluperfect:"habían","future perfect":"habrán","preterite perfect":"hubieron"},subjunctive:{perfect:"hayan",pluperfect:"hubieran","future perfect":"hubieren"},conditional:{perfect:"habrían"}}}}})),lc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.inflect=void 0;const r=sc.styles,n=ac.verbsOUE,i=oc.exceptions;function s(e,t,r,i){const s=e+t;switch("imperative"!==i.mood&&"present"!==i.tense||!(n.indexOf(s)>-1)||"third"!==i.person&&"singular"!==i.number||(e=e.replace("o","ue")),t){case"ar":"c"!==e.substr(-1)||"e"!==r[0]&&"é"!==r[0]?"g"!==e.substr(-1)||"e"!==r[0]&&"é"!==r[0]?"z"!==e.substr(-1)||"e"!==r[0]&&"é"!==r[0]||(e=e.substring(0,e.length-1)+"c"):e=e.substring(0,e.length-1)+"gu":e=e.substring(0,e.length-1)+"qu";break;case"er":{const t=e.substr(-2);"oc"!==t&&"ec"!==t||"a"!==r[0]&&"á"!==r[0]&&"o"!==r[0]||(e=e.substring(0,e.length-1)+"zc");break}case"ir":"uc"!==e.substr(-2)||"a"!==r[0]&&"á"!==r[0]&&"o"!==r[0]||(e=e.substring(0,e.length-1)+"zc")}return e}const a=["present","imperfect","preterite","future","perfect","pluperfect","future perfect","preterite perfect","imperfect -ra","imperfect -se"];t.inflect=function(e,t){if(!e||e.length<2){const e=new Error;throw e.name="TypeError",e.message="invalid verb",e}let n;const o=e.substr(-2);if(!(o in uc.endingsSuffix))return e;let u=e.substring(0,e.length-2),l=t.person;if("first"!=l&&"second"!=l&&"third"!=l){const e=new Error;throw e.name="TypeError",e.message="person must be first second or third",e}const c=t.number;if("singular"!=c&&"plural"!=c){const e=new Error;throw e.name="TypeError",e.message="number must be singular or plural",e}const p=t.mood;if("indicative"!=p&&"subjunctive"!=p&&"conditional"!=p&&"imperative"!=p){const e=new Error;throw e.name="TypeError",e.message="invalid mood",e}const h=t.tense;if("imperative"!=p&&-1==a.indexOf(h)){const e=new Error;throw e.name="TypeError",e.message="invalid tense",e}const d=t&&t.positivity||"affirmative",f=t&&t.style&&r[t.style]||r.castillano;if(t.formality,f.tuteo,f.ustedes&&"second"===l&&"plural"===c&&(l="third"),"perfect"===h||"pluperfect"===h||"future perfect"===h||"preterite perfect"===h){const t=uc.endingsAux[l][c][p][h],r=uc.endingsSuffix[o]["past participle"].singular.masculine;n=t+" "+(i[e]&&i[e]["past participle"]||u+r)}else{if(i[e]&&i[e]&&i[e][p]){const t=i[e][p]["imperative"===p?d:h];if(t&&t[c]&&t[c][l]){const e=t[c][l];n="string"==typeof e?e:e[f.voseo?"vos":"tu"]}}if(!n){const e=uc.endingsSuffix[o][l][c][p];if("string"==typeof e)u=s(u,o,e,t),n=u+e;else{const r="imperative"===p?d:h,i=e[r];if(!i){const t=new Error;throw t.name="DictError",t.message=`no ${r} property for ${JSON.stringify(e)}`,t}if("string"==typeof i)u=s(u,o,i,t),n=u+i;else{const e=i[f.voseo?"vos":"tu"];u=s(u,o,e,t),n=u+e}}n&&n.endsWith("eieron")&&(n=n.replace(/eieron$/,"eyeron"))}}return n}})),cc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé, 2017, HealthTap, Inc.
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getConjugation=t.validTenses=void 0,t.validTenses=["INDICATIVE_PRESENT","INDICATIVE_IMPERFECT","INDICATIVE_PRETERITE","INDICATIVE_FUTURE","INDICATIVE_PERFECT","INDICATIVE_PLUPERFECT","INDICATIVE_FUTURE_PERFECT","INDICATIVE_PRETERITE_PERFECT","SUBJUNCTIVE_PRESENT","SUBJUNCTIVE_IMPERFECT_RA","SUBJUNCTIVE_IMPERFECT_SE","SUBJUNCTIVE_FUTURE","SUBJUNCTIVE_PERFECT","SUBJUNCTIVE_PLUPERFECT","SUBJUNCTIVE_FUTURE_PERFECT","CONDITIONAL_PRESENT","CONDITIONAL_PERFECT"],t.getConjugation=function(e,r,n){if(!e){const e=new Error;throw e.name="TypeError",e.message="verb must not be null",e}if(0!=n&&1!=n&&2!=n&&3!=n&&4!=n&&5!=n){const e=new Error;throw e.name="TypeError",e.message="person must be 0 1 2 3 4 or 5",e}if(!r||-1===t.validTenses.indexOf(r)){const e=new Error;throw e.name="TypeError",e.message=`tense must be ${t.validTenses.join()}`,e}const i={0:["first","singular"],1:["second","singular"],2:["third","singular"],3:["first","plural"],4:["second","plural"],5:["third","plural"]},s={INDICATIVE_PRESENT:["indicative","present"],INDICATIVE_IMPERFECT:["indicative","imperfect"],INDICATIVE_PRETERITE:["indicative","preterite"],INDICATIVE_FUTURE:["indicative","future"],INDICATIVE_PERFECT:["indicative","perfect"],INDICATIVE_PLUPERFECT:["indicative","pluperfect"],INDICATIVE_FUTURE_PERFECT:["indicative","future perfect"],INDICATIVE_PRETERITE_PERFECT:["indicative","preterite perfect"],SUBJUNCTIVE_PRESENT:["subjunctive","present"],SUBJUNCTIVE_IMPERFECT_RA:["subjunctive","imperfect -ra"],SUBJUNCTIVE_IMPERFECT_SE:["subjunctive","imperfect -se"],SUBJUNCTIVE_FUTURE:["subjunctive","future"],SUBJUNCTIVE_PERFECT:["subjunctive","perfect"],SUBJUNCTIVE_PLUPERFECT:["subjunctive","pluperfect"],SUBJUNCTIVE_FUTURE_PERFECT:["subjunctive","future perfect"],CONDITIONAL_PRESENT:["conditional","present"],CONDITIONAL_PERFECT:["conditional","perfect"]},a={person:i[n][0],number:i[n][1],mood:s[r][0],tense:s[r][1],positivity:null,formality:null,style:"castillano"};return lc.inflect(e,a)}})),pc=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getConjugation=t.getVerbInfo=void 0,t.getVerbInfo=function(e){const t={};for(const r of cc.validTenses){t[r]={};const n=[2,5];for(const i of n)t[r][i]=cc.getConjugation(e,r,i)}return t},t.getConjugation=function(e,t,r,n){if(!t){const e=new Error;throw e.name="TypeError",e.message="verb must not be null",e}if("S"!=n&&"P"!=n){const e=new Error;throw e.name="TypeError",e.message="number must be S or P",e}const i="S"==n?2:5;if(!r||-1===(cc.validTenses&&cc.validTenses.indexOf(r))){const e=new Error;throw e.name="TypeError",e.message=`tense must be ${cc.validTenses.join()}`,e}if(e){const n=e[t];if(!n){const e=new Error;throw e.name="DictError",e.message=`verb ${t} not found in list!`,e}const s=n[r];if(!s){const e=new Error;throw e.name="DictError",e.message=`tense ${r} not found for ${t}: ${n}!`,e}const a=s[i];if(!a){const e=new Error;throw e.name="DictError",e.message=`person ${i} not found for ${t}: ${a}!`,e}return a}return cc.getConjugation(t,r,i)}})),hc=w((function(e,t){
/**
* @license
* Copyright 2018, Ludan Stoecklé
* SPDX-License-Identifier: MIT
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCodeGenSpanish=void 0;class r extends Ul.LanguageCodeGen{constructor(){super(...arguments),this.iso2="es",this.hasFlexVerbs=!0,this.hasFlexWords=!0,this.hasFlexAdjectives=!0}getVerbInfo(e){return pc.getVerbInfo(e)}getWordInfo(e){return ic.getWordInfo(e)}getAdjectiveInfo(e){return ql.getAdjectiveInfo(e)}}t.LanguageCodeGenSpanish=r})),dc=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCodeGenOther/es/true!"}),fc=C(Ml),mc=C(Ll),yc=C(Bl),gc=C(Rl),bc=C(dc),vc=w((function(e,t){
/**
* @license
* Copyright 2018, Ludan Stoecklé
* SPDX-License-Identifier: MIT
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.buildLanguageCodeGen=t.getIso2fromLocale=void 0,t.getIso2fromLocale=function(e){return e.substring(0,2)},t.buildLanguageCodeGen=function(e){let t;switch(e){case"en":t=new fc.LanguageCodeGenEnglish;break;case"fr":t=new mc.LanguageCodeGenFrench;break;case"de":t=new yc.LanguageCodeGenGerman;break;case"it":t=new gc.LanguageCodeGenItalian;break;case"es":t=new hc.LanguageCodeGenSpanish;break;default:t=new bc.LanguageCodeGenOther,t.setIso2(e)}return t}})),xc=function(e,t){return(xc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};var Ec=function(){return(Ec=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tc(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,s=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return a}function Ac(e){return this instanceof Ac?(this.v=e,this):new Ac(e)}var Pc=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};var wc=Object.freeze({__proto__:null,__extends:function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}xc(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return Ec},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;o--)(i=e[o])&&(a=(s<3?i(a):s>3?i(t,r,a):i(t,r))||a);return s>3&&a&&Object.defineProperty(t,r,a),a},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function a(e){try{u(n.next(e))}catch(e){s(e)}}function o(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}u((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,s,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]1||o(e,t)}))})}function o(e,t){try{(r=i[e](t)).value instanceof Ac?Promise.resolve(r.value.v).then(u,l):c(s[0][2],r)}catch(e){c(s[0][3],e)}var r}function u(e){o("next",e)}function l(e){o("throw",e)}function c(e,t){e(t),s.shift(),s.length&&o(s[0][0],s[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:Ac(e[n](t)),done:"return"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=Sc(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Dc(t,e,r);return Pc(t,e),t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}}),Cc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Def=void 0;var r=Object.prototype,n=r.toString,i=r.hasOwnProperty,s=function(){function e(){}return e.prototype.assert=function(e,t){if(!this.check(e,t)){var r=d(e);throw new Error(r+" does not match type "+this)}return!0},e.prototype.arrayOf=function(){return new a(this)},e}(),a=function(e){function t(t){var r=e.call(this)||this;return r.elemType=t,r.kind="ArrayType",r}return wc.__extends(t,e),t.prototype.toString=function(){return"["+this.elemType+"]"},t.prototype.check=function(e,t){var r=this;return Array.isArray(e)&&e.every((function(e){return r.elemType.check(e,t)}))},t}(s),o=function(e){function t(t){var r=e.call(this)||this;return r.value=t,r.kind="IdentityType",r}return wc.__extends(t,e),t.prototype.toString=function(){return String(this.value)},t.prototype.check=function(e,t){var r=e===this.value;return r||"function"!=typeof t||t(this,e),r},t}(s),u=function(e){function t(t){var r=e.call(this)||this;return r.fields=t,r.kind="ObjectType",r}return wc.__extends(t,e),t.prototype.toString=function(){return"{ "+this.fields.join(", ")+" }"},t.prototype.check=function(e,t){return n.call(e)===n.call({})&&this.fields.every((function(r){return r.type.check(e[r.name],t)}))},t}(s),l=function(e){function t(t){var r=e.call(this)||this;return r.types=t,r.kind="OrType",r}return wc.__extends(t,e),t.prototype.toString=function(){return this.types.join(" | ")},t.prototype.check=function(e,t){return this.types.some((function(r){return r.check(e,t)}))},t}(s),c=function(e){function t(t,r){var n=e.call(this)||this;return n.name=t,n.predicate=r,n.kind="PredicateType",n}return wc.__extends(t,e),t.prototype.toString=function(){return this.name},t.prototype.check=function(e,t){var r=this.predicate(e,t);return r||"function"!=typeof t||t(this,e),r},t}(s),p=function(){function e(e,t){this.type=e,this.typeName=t,this.baseNames=[],this.ownFields=Object.create(null),this.allSupertypes=Object.create(null),this.supertypeList=[],this.allFields=Object.create(null),this.fieldNames=[],this.finalized=!1,this.buildable=!1,this.buildParams=[]}return e.prototype.isSupertypeOf=function(t){if(t instanceof e){if(!0!==this.finalized||!0!==t.finalized)throw new Error("");return i.call(t.allSupertypes,this.typeName)}throw new Error(t+" is not a Def")},e.prototype.checkAllFields=function(e,t){var r=this.allFields;if(!0!==this.finalized)throw new Error(""+this.typeName);return null!==e&&"object"==typeof e&&Object.keys(r).every((function(n){var i=r[n],s=i.type,a=i.getValue(e);return s.check(a,t)}))},e.prototype.bases=function(){for(var e=[],t=0;t=0)return s[i];if("string"!=typeof n)throw new Error("missing name");return new c(n,e)}return new o(e)},def:function(e){return i.call(P,e)?P[e]:P[e]=new C(e)},hasDef:function(e){return i.call(P,e)}},r=[],s=[];function f(e,t){var i=n.call(t),a=new c(e,(function(e){return n.call(e)===i}));return t&&"function"==typeof t.constructor&&(r.push(t.constructor),s.push(a)),a}var m=f("string","truthy"),y=f("function",(function(){})),g=f("array",[]),b=f("object",{}),v=f("RegExp",/./),x=f("Date",new Date),E=f("number",3),D=f("boolean",!0),S=f("null",null),T=f("undefined",void 0),A={string:m,function:y,array:g,object:b,RegExp:v,Date:x,number:E,boolean:D,null:S,undefined:T},P=Object.create(null);function w(e){if(e&&"object"==typeof e){var t=e.type;if("string"==typeof t&&i.call(P,t)){var r=P[t];if(r.finalized)return r}}return null}var C=function(e){function r(t){var r=e.call(this,new c(t,(function(e,t){return r.check(e,t)})),t)||this;return r}return wc.__extends(r,e),r.prototype.check=function(e,t){if(!0!==this.finalized)throw new Error("prematurely checking unfinalized type "+this.typeName);if(null===e||"object"!=typeof e)return!1;var r=w(e);return r?t&&r===this?this.checkAllFields(e,t):!!this.isSupertypeOf(r)&&(!t||r.checkAllFields(e,t)&&this.checkAllFields(e,!1)):("SourceLocation"===this.typeName||"Position"===this.typeName)&&this.checkAllFields(e,t)},r.prototype.build=function(){for(var e=this,t=[],r=0;r=0&&function(e){var t=F(e);if(k[t])return;var r=k[I(e)];if(!r)return;var n=function(){for(var e=[],t=0;t=0&&(n[e.name=s]=e)}else r[e.name]=e.value,n[e.name]=e;if(r[e.name]!==e.value)throw new Error("");if(e.parentPath.get(e.name)!==e)throw new Error("");return e}return o.getValueProperty=function(e){return this.value[e]},o.get=function(){for(var e=[],t=0;tc)return!0;if(u===c&&"right"===this.name){if(n.right!==i)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(n.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(n.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return"MemberExpression"===n.type&&o.check(r.value)&&"object"===this.name&&n.object===r;case"AssignmentExpression":case"ConditionalExpression":switch(n.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&n.callee===r;case"ConditionalExpression":return"test"===this.name&&n.test===r;case"MemberExpression":return"object"===this.name&&n.object===r;default:return!1}default:if("NewExpression"===n.type&&"callee"===this.name&&n.callee===r)return m(r)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var f={};function m(e){return!!s.CallExpression.check(e)||(u.check(e)?e.some(m):!!s.Node.check(e)&&t.someField(e,(function(e,t){return m(t)})))}return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach((function(e,t){e.forEach((function(e){f[e]=t}))})),h.canBeFirstInStatement=function(){var e=this.node;return!s.FunctionExpression.check(e)&&!s.ObjectExpression.check(e)},h.firstInStatement=function(){return function(e){for(var t,r;e.parent;e=e.parent){if(t=e.node,r=e.parent.node,s.BlockStatement.check(r)&&"body"===e.parent.name&&0===e.name){if(r.body[0]!==t)throw new Error("Nodes must be equal");return!0}if(s.ExpressionStatement.check(r)&&"expression"===e.name){if(r.expression!==t)throw new Error("Nodes must be equal");return!0}if(s.SequenceExpression.check(r)&&"expressions"===e.parent.name&&0===e.name){if(r.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(s.CallExpression.check(r)&&"callee"===e.name){if(r.callee!==t)throw new Error("Nodes must be equal")}else if(s.MemberExpression.check(r)&&"object"===e.name){if(r.object!==t)throw new Error("Nodes must be equal")}else if(s.ConditionalExpression.check(r)&&"test"===e.name){if(r.test!==t)throw new Error("Nodes must be equal")}else if(d(r)&&"left"===e.name){if(r.left!==t)throw new Error("Nodes must be equal")}else{if(!s.UnaryExpression.check(r)||r.prefix||"argument"!==e.name)return!1;if(r.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},p},e.exports=t.default})),Fc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Cc),n=wc.__importDefault(Ic),i=Object.prototype.hasOwnProperty;t.default=function(e){var t=e.use(r.default),s=e.use(n.default),a=t.builtInTypes.array,o=t.builtInTypes.object,u=t.builtInTypes.function,l=function e(){if(!(this instanceof e))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=function(e){var r=Object.create(null);for(var n in e)/^visit[A-Z]/.test(n)&&(r[n.slice("visit".length)]=!0);for(var i=t.computeSupertypeLookupTable(r),s=Object.create(null),a=Object.keys(i),o=a.length,l=0;l",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],t.AssignmentOperators=["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],t.LogicalOperators=["||","&&"]})),Mc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Cc);t.default=function(e){var t=e.use(r.default),n=t.Type,i=t.builtInTypes,s=i.number,a=n.or(i.string,i.number,i.boolean,i.null,i.undefined);return{geq:function(e){return n.from((function(t){return s.check(t)&&t>=e}),s+" >= "+e)},defaults:{null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}},isPrimitive:n.from((function(e){if(null===e)return!0;var t=typeof e;return"object"!==t&&"function"!==t}),a.toString())}},e.exports=t.default})),Lc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Cc),n=wc.__importDefault(Mc);t.default=function(e){var t=e.use(r.default).Type,i=t.def,s=t.or,a=e.use(n.default),o=a.defaults,u=a.geq;i("Printable").field("loc",s(i("SourceLocation"),null),o.null,!0),i("Node").bases("Printable").field("type",String).field("comments",s([i("Comment")],null),o.null,!0),i("SourceLocation").field("start",i("Position")).field("end",i("Position")).field("source",s(String,null),o.null),i("Position").field("line",u(1)).field("column",u(0)),i("File").bases("Node").build("program","name").field("program",i("Program")).field("name",s(String,null),o.null),i("Program").bases("Node").build("body").field("body",[i("Statement")]),i("Function").bases("Node").field("id",s(i("Identifier"),null),o.null).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("generator",Boolean,o.false).field("async",Boolean,o.false),i("Statement").bases("Node"),i("EmptyStatement").bases("Statement").build(),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]),i("ExpressionStatement").bases("Statement").build("expression").field("expression",i("Expression")),i("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Statement")).field("alternate",s(i("Statement"),null),o.null),i("LabeledStatement").bases("Statement").build("label","body").field("label",i("Identifier")).field("body",i("Statement")),i("BreakStatement").bases("Statement").build("label").field("label",s(i("Identifier"),null),o.null),i("ContinueStatement").bases("Statement").build("label").field("label",s(i("Identifier"),null),o.null),i("WithStatement").bases("Statement").build("object","body").field("object",i("Expression")).field("body",i("Statement")),i("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",i("Expression")).field("cases",[i("SwitchCase")]).field("lexical",Boolean,o.false),i("ReturnStatement").bases("Statement").build("argument").field("argument",s(i("Expression"),null)),i("ThrowStatement").bases("Statement").build("argument").field("argument",i("Expression")),i("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",i("BlockStatement")).field("handler",s(i("CatchClause"),null),(function(){return this.handlers&&this.handlers[0]||null})).field("handlers",[i("CatchClause")],(function(){return this.handler?[this.handler]:[]}),!0).field("guardedHandlers",[i("CatchClause")],o.emptyArray).field("finalizer",s(i("BlockStatement"),null),o.null),i("CatchClause").bases("Node").build("param","guard","body").field("param",i("Pattern")).field("guard",s(i("Expression"),null),o.null).field("body",i("BlockStatement")),i("WhileStatement").bases("Statement").build("test","body").field("test",i("Expression")).field("body",i("Statement")),i("DoWhileStatement").bases("Statement").build("body","test").field("body",i("Statement")).field("test",i("Expression")),i("ForStatement").bases("Statement").build("init","test","update","body").field("init",s(i("VariableDeclaration"),i("Expression"),null)).field("test",s(i("Expression"),null)).field("update",s(i("Expression"),null)).field("body",i("Statement")),i("ForInStatement").bases("Statement").build("left","right","body").field("left",s(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("DebuggerStatement").bases("Statement").build(),i("Declaration").bases("Statement"),i("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",i("Identifier")),i("FunctionExpression").bases("Function","Expression").build("id","params","body"),i("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",s("var","let","const")).field("declarations",[i("VariableDeclarator")]),i("VariableDeclarator").bases("Node").build("id","init").field("id",i("Pattern")).field("init",s(i("Expression"),null),o.null),i("Expression").bases("Node"),i("ThisExpression").bases("Expression").build(),i("ArrayExpression").bases("Expression").build("elements").field("elements",[s(i("Expression"),null)]),i("ObjectExpression").bases("Expression").build("properties").field("properties",[i("Property")]),i("Property").bases("Node").build("kind","key","value").field("kind",s("init","get","set")).field("key",s(i("Literal"),i("Identifier"))).field("value",i("Expression")),i("SequenceExpression").bases("Expression").build("expressions").field("expressions",[i("Expression")]);var l=s("-","+","!","~","typeof","void","delete");i("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",l).field("argument",i("Expression")).field("prefix",Boolean,o.true);var c=s.apply(void 0,jc.BinaryOperators);i("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",c).field("left",i("Expression")).field("right",i("Expression"));var p=s.apply(void 0,jc.AssignmentOperators);i("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",p).field("left",s(i("Pattern"),i("MemberExpression"))).field("right",i("Expression"));var h=s("++","--");i("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",h).field("argument",i("Expression")).field("prefix",Boolean);var d=s.apply(void 0,jc.LogicalOperators);i("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",d).field("left",i("Expression")).field("right",i("Expression")),i("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Expression")).field("alternate",i("Expression")),i("NewExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("CallExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("MemberExpression").bases("Expression").build("object","property","computed").field("object",i("Expression")).field("property",s(i("Identifier"),i("Expression"))).field("computed",Boolean,(function(){var e=this.property.type;return"Literal"===e||"MemberExpression"===e||"BinaryExpression"===e})),i("Pattern").bases("Node"),i("SwitchCase").bases("Node").build("test","consequent").field("test",s(i("Expression"),null)).field("consequent",[i("Statement")]),i("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,o.false),i("Literal").bases("Expression").build("value").field("value",s(String,Boolean,null,Number,RegExp)).field("regex",s({pattern:String,flags:String},null),(function(){if(this.value instanceof RegExp){var e="";return this.value.ignoreCase&&(e+="i"),this.value.multiline&&(e+="m"),this.value.global&&(e+="g"),{pattern:this.value.source,flags:e}}return null})),i("Comment").bases("Printable").field("value",String).field("leading",Boolean,o.true).field("trailing",Boolean,o.false)},e.exports=t.default})),Bc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Lc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=t.Type.def,a=t.Type.or,o=e.use(i.default).defaults;s("Function").field("generator",Boolean,o.false).field("expression",Boolean,o.false).field("defaults",[a(s("Expression"),null)],o.emptyArray).field("rest",a(s("Identifier"),null),o.null),s("RestElement").bases("Pattern").build("argument").field("argument",s("Pattern")).field("typeAnnotation",a(s("TypeAnnotation"),s("TSTypeAnnotation"),null),o.null),s("SpreadElementPattern").bases("Pattern").build("argument").field("argument",s("Pattern")),s("FunctionDeclaration").build("id","params","body","generator","expression").field("id",a(s("Identifier"),null)),s("FunctionExpression").build("id","params","body","generator","expression"),s("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,o.null).field("body",a(s("BlockStatement"),s("Expression"))).field("generator",!1,o.false),s("ForOfStatement").bases("Statement").build("left","right","body").field("left",a(s("VariableDeclaration"),s("Pattern"))).field("right",s("Expression")).field("body",s("Statement")),s("YieldExpression").bases("Expression").build("argument","delegate").field("argument",a(s("Expression"),null)).field("delegate",Boolean,o.false),s("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",s("Expression")).field("blocks",[s("ComprehensionBlock")]).field("filter",a(s("Expression"),null)),s("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",s("Expression")).field("blocks",[s("ComprehensionBlock")]).field("filter",a(s("Expression"),null)),s("ComprehensionBlock").bases("Node").build("left","right","each").field("left",s("Pattern")).field("right",s("Expression")).field("each",Boolean),s("Property").field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("value",a(s("Expression"),s("Pattern"))).field("method",Boolean,o.false).field("shorthand",Boolean,o.false).field("computed",Boolean,o.false),s("ObjectProperty").field("shorthand",Boolean,o.false),s("PropertyPattern").bases("Pattern").build("key","pattern").field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("pattern",s("Pattern")).field("computed",Boolean,o.false),s("ObjectPattern").bases("Pattern").build("properties").field("properties",[a(s("PropertyPattern"),s("Property"))]),s("ArrayPattern").bases("Pattern").build("elements").field("elements",[a(s("Pattern"),null)]),s("SpreadElement").bases("Node").build("argument").field("argument",s("Expression")),s("ArrayExpression").field("elements",[a(s("Expression"),s("SpreadElement"),s("RestElement"),null)]),s("NewExpression").field("arguments",[a(s("Expression"),s("SpreadElement"))]),s("CallExpression").field("arguments",[a(s("Expression"),s("SpreadElement"))]),s("AssignmentPattern").bases("Pattern").build("left","right").field("left",s("Pattern")).field("right",s("Expression")),s("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",a("constructor","method","get","set")).field("key",s("Expression")).field("value",s("Function")).field("computed",Boolean,o.false).field("static",Boolean,o.false);var u=a(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"));s("ClassProperty").bases("Declaration").build("key").field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("computed",Boolean,o.false),s("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",u),s("ClassBody").bases("Declaration").build("body").field("body",[u]),s("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",a(s("Identifier"),null)).field("body",s("ClassBody")).field("superClass",a(s("Expression"),null),o.null),s("ClassExpression").bases("Expression").build("id","body","superClass").field("id",a(s("Identifier"),null),o.null).field("body",s("ClassBody")).field("superClass",a(s("Expression"),null),o.null),s("Super").bases("Expression").build(),s("Specifier").bases("Node"),s("ModuleSpecifier").bases("Specifier").field("local",a(s("Identifier"),null),o.null).field("id",a(s("Identifier"),null),o.null).field("name",a(s("Identifier"),null),o.null),s("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",s("Identifier")),s("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),s("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),s("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[a(s("ImportSpecifier"),s("ImportNamespaceSpecifier"),s("ImportDefaultSpecifier"))],o.emptyArray).field("source",s("Literal")).field("importKind",a("value","type"),(function(){return"value"})),s("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",a(s("Declaration"),null)).field("specifiers",[s("ExportSpecifier")],o.emptyArray).field("source",a(s("Literal"),null),o.null),s("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",s("Identifier")),s("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",a(s("Declaration"),s("Expression"))),s("ExportAllDeclaration").bases("Declaration").build("source").field("source",s("Literal")),s("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",s("Expression")).field("quasi",s("TemplateLiteral")),s("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[s("TemplateElement")]).field("expressions",[s("Expression")]),s("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),s("MetaProperty").bases("Expression").build("meta","property").field("meta",s("Identifier")).field("property",s("Identifier"))},e.exports=t.default})),Rc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Bc),n=wc.__importDefault(Cc);t.default=function(e){e.use(r.default);var t=e.use(n.default),i=t.Type.def,s=t.Type.or,a=s.apply(void 0,wc.__spreadArrays(jc.BinaryOperators,["**"]));i("BinaryExpression").field("operator",a);var o=s.apply(void 0,wc.__spreadArrays(jc.AssignmentOperators,["**="]));i("AssignmentExpression").field("operator",o)},e.exports=t.default})),Uc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Rc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default).Type.def,s=e.use(i.default).defaults;t("Function").field("async",Boolean,s.false),t("AwaitExpression").bases("Expression").build("argument").field("argument",t("Expression"))},e.exports=t.default})),Vc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Uc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=t.Type.def,a=t.Type.or,o=e.use(i.default).defaults;s("ForOfStatement").field("await",Boolean,o.false),s("SpreadProperty").bases("Node").build("argument").field("argument",s("Expression")),s("ObjectExpression").field("properties",[a(s("Property"),s("SpreadProperty"),s("SpreadElement"))]),s("TemplateElement").field("value",{cooked:a(String,null),raw:String}),s("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",s("Pattern")),s("ObjectPattern").field("properties",[a(s("PropertyPattern"),s("Property"),s("RestElement"),s("SpreadPropertyPattern"))])},e.exports=t.default})),zc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Vc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=t.Type.def,a=t.Type.or,o=e.use(i.default).defaults;s("CatchClause").field("param",a(s("Pattern"),null),o.null)},e.exports=t.default})),Wc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(zc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=t.Type.def,a=t.Type.or,o=e.use(i.default).defaults;s("ImportExpression").bases("Expression").build("source").field("source",s("Expression")),s("ExportAllDeclaration").build("source","exported").field("source",s("Literal")).field("exported",a(s("Identifier"),null)),s("ChainElement").bases("Node").field("optional",Boolean,o.false),s("CallExpression").bases("Expression","ChainElement"),s("MemberExpression").bases("Expression","ChainElement"),s("ChainExpression").bases("Expression").build("expression").field("expression",s("ChainElement")),s("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,o.true),s("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,o.true);var u=a.apply(void 0,wc.__spreadArrays(jc.LogicalOperators,["??"]));s("LogicalExpression").field("operator",u)},e.exports=t.default})),qc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Wc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=t.Type.def,a=t.Type.or,o=e.use(i.default).defaults;s("JSXAttribute").bases("Node").build("name","value").field("name",a(s("JSXIdentifier"),s("JSXNamespacedName"))).field("value",a(s("Literal"),s("JSXExpressionContainer"),s("JSXElement"),s("JSXFragment"),null),o.null),s("JSXIdentifier").bases("Identifier").build("name").field("name",String),s("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",s("JSXIdentifier")).field("name",s("JSXIdentifier")),s("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",a(s("JSXIdentifier"),s("JSXMemberExpression"))).field("property",s("JSXIdentifier")).field("computed",Boolean,o.false);var u=a(s("JSXIdentifier"),s("JSXNamespacedName"),s("JSXMemberExpression"));s("JSXSpreadAttribute").bases("Node").build("argument").field("argument",s("Expression"));var l=[a(s("JSXAttribute"),s("JSXSpreadAttribute"))];s("JSXExpressionContainer").bases("Expression").build("expression").field("expression",a(s("Expression"),s("JSXEmptyExpression")));var c=[a(s("JSXText"),s("JSXExpressionContainer"),s("JSXSpreadChild"),s("JSXElement"),s("JSXFragment"),s("Literal"))];s("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",s("JSXOpeningElement")).field("closingElement",a(s("JSXClosingElement"),null),o.null).field("children",c,o.emptyArray).field("name",u,(function(){return this.openingElement.name}),!0).field("selfClosing",Boolean,(function(){return this.openingElement.selfClosing}),!0).field("attributes",l,(function(){return this.openingElement.attributes}),!0),s("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",u).field("attributes",l,o.emptyArray).field("selfClosing",Boolean,o.false),s("JSXClosingElement").bases("Node").build("name").field("name",u),s("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",s("JSXOpeningFragment")).field("closingFragment",s("JSXClosingFragment")).field("children",c,o.emptyArray),s("JSXOpeningFragment").bases("Node").build(),s("JSXClosingFragment").bases("Node").build(),s("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,(function(){return this.value})),s("JSXEmptyExpression").bases("Node").build(),s("JSXSpreadChild").bases("Node").build("expression").field("expression",s("Expression"))},e.exports=t.default})),Xc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Cc),n=wc.__importDefault(Mc),i=wc.__importDefault(Wc);t.default=function(e){e.use(i.default);var t=e.use(r.default),s=t.Type,a=t.Type.def,o=s.or,u=e.use(n.default).defaults;a("AwaitExpression").build("argument","all").field("argument",o(a("Expression"),null)).field("all",Boolean,u.false),a("Decorator").bases("Node").build("expression").field("expression",a("Expression")),a("Property").field("decorators",o([a("Decorator")],null),u.null),a("MethodDefinition").field("decorators",o([a("Decorator")],null),u.null),a("PrivateName").bases("Expression","Pattern").build("id").field("id",a("Identifier")),a("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",a("PrivateName")).field("value",o(a("Expression"),null),u.null)},e.exports=t.default})),Jc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Cc),n=wc.__importDefault(Mc);t.default=function(e){var t=e.use(r.default),i=t.Type.def,s=t.Type.or,a=e.use(n.default).defaults,o=s(i("TypeAnnotation"),i("TSTypeAnnotation"),null),u=s(i("TypeParameterDeclaration"),i("TSTypeParameterDeclaration"),null);i("Identifier").field("typeAnnotation",o,a.null),i("ObjectPattern").field("typeAnnotation",o,a.null),i("Function").field("returnType",o,a.null).field("typeParameters",u,a.null),i("ClassProperty").build("key","value","typeAnnotation","static").field("value",s(i("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",o,a.null),["ClassDeclaration","ClassExpression"].forEach((function(e){i(e).field("typeParameters",u,a.null).field("superTypeParameters",s(i("TypeParameterInstantiation"),i("TSTypeParameterInstantiation"),null),a.null).field("implements",s([i("ClassImplements")],[i("TSExpressionWithTypeArguments")]),a.emptyArray)}))},e.exports=t.default})),$c=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Xc),n=wc.__importDefault(Jc),i=wc.__importDefault(Cc),s=wc.__importDefault(Mc);t.default=function(e){e.use(r.default),e.use(n.default);var t=e.use(i.default),a=t.Type.def,o=t.Type.or,u=e.use(s.default).defaults;a("Flow").bases("Node"),a("FlowType").bases("Flow"),a("AnyTypeAnnotation").bases("FlowType").build(),a("EmptyTypeAnnotation").bases("FlowType").build(),a("MixedTypeAnnotation").bases("FlowType").build(),a("VoidTypeAnnotation").bases("FlowType").build(),a("SymbolTypeAnnotation").bases("FlowType").build(),a("NumberTypeAnnotation").bases("FlowType").build(),a("BigIntTypeAnnotation").bases("FlowType").build(),a("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),a("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),a("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),a("StringTypeAnnotation").bases("FlowType").build(),a("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),a("BooleanTypeAnnotation").bases("FlowType").build(),a("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),a("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",a("FlowType")),a("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",a("FlowType")),a("NullLiteralTypeAnnotation").bases("FlowType").build(),a("NullTypeAnnotation").bases("FlowType").build(),a("ThisTypeAnnotation").bases("FlowType").build(),a("ExistsTypeAnnotation").bases("FlowType").build(),a("ExistentialTypeParam").bases("FlowType").build(),a("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[a("FunctionTypeParam")]).field("returnType",a("FlowType")).field("rest",o(a("FunctionTypeParam"),null)).field("typeParameters",o(a("TypeParameterDeclaration"),null)),a("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",o(a("Identifier"),null)).field("typeAnnotation",a("FlowType")).field("optional",Boolean),a("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",a("FlowType")),a("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[o(a("ObjectTypeProperty"),a("ObjectTypeSpreadProperty"))]).field("indexers",[a("ObjectTypeIndexer")],u.emptyArray).field("callProperties",[a("ObjectTypeCallProperty")],u.emptyArray).field("inexact",o(Boolean,void 0),u[void 0]).field("exact",Boolean,u.false).field("internalSlots",[a("ObjectTypeInternalSlot")],u.emptyArray),a("Variance").bases("Node").build("kind").field("kind",o("plus","minus"));var l=o(a("Variance"),"plus","minus",null);a("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",o(a("Literal"),a("Identifier"))).field("value",a("FlowType")).field("optional",Boolean).field("variance",l,u.null),a("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",a("Identifier")).field("key",a("FlowType")).field("value",a("FlowType")).field("variance",l,u.null).field("static",Boolean,u.false),a("ObjectTypeCallProperty").bases("Node").build("value").field("value",a("FunctionTypeAnnotation")).field("static",Boolean,u.false),a("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",o(a("Identifier"),a("QualifiedTypeIdentifier"))).field("id",a("Identifier")),a("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",o(a("Identifier"),a("QualifiedTypeIdentifier"))).field("typeParameters",o(a("TypeParameterInstantiation"),null)),a("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",a("Identifier")).field("property",o(a("MemberTypeAnnotation"),a("GenericTypeAnnotation"))),a("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[a("FlowType")]),a("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[a("FlowType")]),a("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",a("FlowType")),a("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",a("FlowType")),a("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",a("Identifier")).field("value",a("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),a("TypeParameterDeclaration").bases("Node").build("params").field("params",[a("TypeParameter")]),a("TypeParameterInstantiation").bases("Node").build("params").field("params",[a("FlowType")]),a("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,u.null).field("bound",o(a("TypeAnnotation"),null),u.null).field("default",o(a("FlowType"),null),u.null),a("ClassProperty").field("variance",l,u.null),a("ClassImplements").bases("Node").build("id").field("id",a("Identifier")).field("superClass",o(a("Expression"),null),u.null).field("typeParameters",o(a("TypeParameterInstantiation"),null),u.null),a("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",a("ObjectTypeAnnotation")).field("extends",o([a("InterfaceExtends")],null),u.null),a("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",a("Identifier")).field("typeParameters",o(a("TypeParameterDeclaration"),null),u.null).field("body",a("ObjectTypeAnnotation")).field("extends",[a("InterfaceExtends")]),a("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),a("InterfaceExtends").bases("Node").build("id").field("id",a("Identifier")).field("typeParameters",o(a("TypeParameterInstantiation"),null),u.null),a("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",a("Identifier")).field("typeParameters",o(a("TypeParameterDeclaration"),null)).field("right",a("FlowType")),a("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),a("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",a("Identifier")).field("typeParameters",o(a("TypeParameterDeclaration"),null)).field("impltype",a("FlowType")).field("supertype",o(a("FlowType"),null)),a("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",o(a("FlowType"),null)),a("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",a("Expression")).field("typeAnnotation",a("TypeAnnotation")),a("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[a("FlowType")]),a("DeclareVariable").bases("Statement").build("id").field("id",a("Identifier")),a("DeclareFunction").bases("Statement").build("id").field("id",a("Identifier")).field("predicate",o(a("FlowPredicate"),null),u.null),a("DeclareClass").bases("InterfaceDeclaration").build("id"),a("DeclareModule").bases("Statement").build("id","body").field("id",o(a("Identifier"),a("Literal"))).field("body",a("BlockStatement")),a("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",a("TypeAnnotation")),a("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(a("DeclareVariable"),a("DeclareFunction"),a("DeclareClass"),a("FlowType"),a("TypeAlias"),a("DeclareOpaqueType"),a("InterfaceDeclaration"),null)).field("specifiers",[o(a("ExportSpecifier"),a("ExportBatchSpecifier"))],u.emptyArray).field("source",o(a("Literal"),null),u.null),a("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",o(a("Literal"),null),u.null),a("ImportDeclaration").field("importKind",o("value","type","typeof"),(function(){return"value"})),a("FlowPredicate").bases("Flow"),a("InferredPredicate").bases("FlowPredicate").build(),a("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",a("Expression")),a("Function").field("predicate",o(a("FlowPredicate"),null),u.null),a("CallExpression").field("typeArguments",o(null,a("TypeParameterInstantiation")),u.null),a("NewExpression").field("typeArguments",o(null,a("TypeParameterInstantiation")),u.null),a("EnumDeclaration").bases("Declaration").build("id","body").field("id",a("Identifier")).field("body",o(a("EnumBooleanBody"),a("EnumNumberBody"),a("EnumStringBody"),a("EnumSymbolBody"))),a("EnumBooleanBody").build("members","explicitType").field("members",[a("EnumBooleanMember")]).field("explicitType",Boolean),a("EnumNumberBody").build("members","explicitType").field("members",[a("EnumNumberMember")]).field("explicitType",Boolean),a("EnumStringBody").build("members","explicitType").field("members",o([a("EnumStringMember")],[a("EnumDefaultedMember")])).field("explicitType",Boolean),a("EnumSymbolBody").build("members").field("members",[a("EnumDefaultedMember")]),a("EnumBooleanMember").build("id","init").field("id",a("Identifier")).field("init",o(a("Literal"),Boolean)),a("EnumNumberMember").build("id","init").field("id",a("Identifier")).field("init",a("Literal")),a("EnumStringMember").build("id","init").field("id",a("Identifier")).field("init",a("Literal")),a("EnumDefaultedMember").build("id").field("id",a("Identifier"))},e.exports=t.default})),Kc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Wc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=e.use(i.default).defaults,a=t.Type.def,o=t.Type.or;a("VariableDeclaration").field("declarations",[o(a("VariableDeclarator"),a("Identifier"))]),a("Property").field("value",o(a("Expression"),a("Pattern"))),a("ArrayPattern").field("elements",[o(a("Pattern"),a("SpreadElement"),null)]),a("ObjectPattern").field("properties",[o(a("Property"),a("PropertyPattern"),a("SpreadPropertyPattern"),a("SpreadProperty"))]),a("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),a("ExportBatchSpecifier").bases("Specifier").build(),a("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(a("Declaration"),a("Expression"),null)).field("specifiers",[o(a("ExportSpecifier"),a("ExportBatchSpecifier"))],s.emptyArray).field("source",o(a("Literal"),null),s.null),a("Block").bases("Comment").build("value","leading","trailing"),a("Line").bases("Comment").build("value","leading","trailing")},e.exports=t.default})),Yc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Xc),n=wc.__importDefault(Cc),i=wc.__importDefault(Mc);t.default=function(e){e.use(r.default);var t=e.use(n.default),s=e.use(i.default).defaults,a=t.Type.def,o=t.Type.or;a("Noop").bases("Statement").build(),a("DoExpression").bases("Expression").build("body").field("body",[a("Statement")]),a("BindExpression").bases("Expression").build("object","callee").field("object",o(a("Expression"),null)).field("callee",a("Expression")),a("ParenthesizedExpression").bases("Expression").build("expression").field("expression",a("Expression")),a("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",a("Identifier")),a("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",a("Identifier")),a("CommentBlock").bases("Comment").build("value","leading","trailing"),a("CommentLine").bases("Comment").build("value","leading","trailing"),a("Directive").bases("Node").build("value").field("value",a("DirectiveLiteral")),a("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,s["use strict"]),a("InterpreterDirective").bases("Node").build("value").field("value",String),a("BlockStatement").bases("Statement").build("body").field("body",[a("Statement")]).field("directives",[a("Directive")],s.emptyArray),a("Program").bases("Node").build("body").field("body",[a("Statement")]).field("directives",[a("Directive")],s.emptyArray).field("interpreter",o(a("InterpreterDirective"),null),s.null),a("StringLiteral").bases("Literal").build("value").field("value",String),a("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",o(String,null),s.null).field("extra",{rawValue:Number,raw:String},(function(){return{rawValue:this.value,raw:this.value+""}})),a("BigIntLiteral").bases("Literal").build("value").field("value",o(String,Number)).field("extra",{rawValue:String,raw:String},(function(){return{rawValue:String(this.value),raw:this.value+"n"}})),a("NullLiteral").bases("Literal").build().field("value",null,s.null),a("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),a("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,(function(){return new RegExp(this.pattern,this.flags)}));var u=o(a("Property"),a("ObjectMethod"),a("ObjectProperty"),a("SpreadProperty"),a("SpreadElement"));a("ObjectExpression").bases("Expression").build("properties").field("properties",[u]),a("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",o("method","get","set")).field("key",o(a("Literal"),a("Identifier"),a("Expression"))).field("params",[a("Pattern")]).field("body",a("BlockStatement")).field("computed",Boolean,s.false).field("generator",Boolean,s.false).field("async",Boolean,s.false).field("accessibility",o(a("Literal"),null),s.null).field("decorators",o([a("Decorator")],null),s.null),a("ObjectProperty").bases("Node").build("key","value").field("key",o(a("Literal"),a("Identifier"),a("Expression"))).field("value",o(a("Expression"),a("Pattern"))).field("accessibility",o(a("Literal"),null),s.null).field("computed",Boolean,s.false);var l=o(a("MethodDefinition"),a("VariableDeclarator"),a("ClassPropertyDefinition"),a("ClassProperty"),a("ClassPrivateProperty"),a("ClassMethod"),a("ClassPrivateMethod"));a("ClassBody").bases("Declaration").build("body").field("body",[l]),a("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",o(a("Literal"),a("Identifier"),a("Expression"))),a("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",a("PrivateName")),["ClassMethod","ClassPrivateMethod"].forEach((function(e){a(e).field("kind",o("get","set","method","constructor"),(function(){return"method"})).field("body",a("BlockStatement")).field("computed",Boolean,s.false).field("static",o(Boolean,null),s.null).field("abstract",o(Boolean,null),s.null).field("access",o("public","private","protected",null),s.null).field("accessibility",o("public","private","protected",null),s.null).field("decorators",o([a("Decorator")],null),s.null).field("optional",o(Boolean,null),s.null)}));var c=o(a("Property"),a("PropertyPattern"),a("SpreadPropertyPattern"),a("SpreadProperty"),a("ObjectProperty"),a("RestProperty"));a("ObjectPattern").bases("Pattern").build("properties").field("properties",[c]).field("decorators",o([a("Decorator")],null),s.null),a("SpreadProperty").bases("Node").build("argument").field("argument",a("Expression")),a("RestProperty").bases("Node").build("argument").field("argument",a("Expression")),a("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",o(a("VariableDeclaration"),a("Expression"))).field("right",a("Expression")).field("body",a("Statement")),a("Import").bases("Expression").build()},e.exports=t.default})),Hc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Yc),n=wc.__importDefault($c);t.default=function(e){e.use(r.default),e.use(n.default)},e.exports=t.default})),Gc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(Yc),n=wc.__importDefault(Jc),i=wc.__importDefault(Cc),s=wc.__importDefault(Mc);t.default=function(e){e.use(r.default),e.use(n.default);var t=e.use(i.default),a=t.namedTypes,o=t.Type.def,u=t.Type.or,l=e.use(s.default).defaults,c=t.Type.from((function(e,t){return!(!a.StringLiteral||!a.StringLiteral.check(e,t))||!(!a.Literal||!a.Literal.check(e,t)||"string"!=typeof e.value)}),"StringLiteral");o("TSType").bases("Node");var p=u(o("Identifier"),o("TSQualifiedName"));o("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",p),o("TSHasOptionalTypeParameterInstantiation").field("typeParameters",u(o("TSTypeParameterInstantiation"),null),l.null),o("TSHasOptionalTypeParameters").field("typeParameters",u(o("TSTypeParameterDeclaration"),null,void 0),l.null),o("TSHasOptionalTypeAnnotation").field("typeAnnotation",u(o("TSTypeAnnotation"),null),l.null),o("TSQualifiedName").bases("Node").build("left","right").field("left",p).field("right",p),o("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",o("Expression")).field("typeAnnotation",o("TSType")).field("extra",u({parenthesized:Boolean},null),l.null),o("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",o("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSThisType"].forEach((function(e){o(e).bases("TSType").build()})),o("TSArrayType").bases("TSType").build("elementType").field("elementType",o("TSType")),o("TSLiteralType").bases("TSType").build("literal").field("literal",u(o("NumericLiteral"),o("StringLiteral"),o("BooleanLiteral"),o("TemplateLiteral"),o("UnaryExpression"))),["TSUnionType","TSIntersectionType"].forEach((function(e){o(e).bases("TSType").build("types").field("types",[o("TSType")])})),o("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",o("TSType")).field("extendsType",o("TSType")).field("trueType",o("TSType")).field("falseType",o("TSType")),o("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",o("TSTypeParameter")),o("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType"));var h=[u(o("Identifier"),o("RestElement"),o("ArrayPattern"),o("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach((function(e){o(e).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",h)})),o("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",u(o("Identifier"),null),l.null).field("params",[o("Pattern")]).field("returnType",u(o("TSTypeAnnotation"),o("Noop"),null),l.null),o("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[o("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",u("public","private","protected",void 0),l[void 0]).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",u(o("Identifier"),o("StringLiteral"),o("NumericLiteral"),o("Expression"))).field("kind",u("get","set","method","constructor"),(function(){return"method"})).field("access",u("public","private","protected",void 0),l[void 0]).field("decorators",u([o("Decorator")],null),l.null).field("returnType",u(o("TSTypeAnnotation"),o("Noop"),null),l.null),o("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",u(Boolean,"+","-"),l.false).field("typeParameter",o("TSTypeParameter")).field("optional",u(Boolean,"+","-"),l.false).field("typeAnnotation",u(o("TSType"),null),l.null),o("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[u(o("TSType"),o("TSNamedTupleMember"))]),o("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",o("Identifier")).field("optional",Boolean,l.false).field("elementType",o("TSType")),o("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType")),o("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",o("TSType")),o("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",o("TSType")).field("indexType",o("TSType")),o("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",o("TSType")),o("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",u(o("TSType"),o("TSTypeAnnotation"))),o("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[o("Identifier")]).field("readonly",Boolean,l.false),o("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",o("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",u(o("Expression"),null),l.null),o("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",o("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",h),o("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",u(o("Identifier"),o("TSThisType"))).field("typeAnnotation",u(o("TSTypeAnnotation"),null),l.null).field("asserts",Boolean,l.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach((function(e){o(e).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",h)})),o("TSEnumMember").bases("Node").build("id","initializer").field("id",u(o("Identifier"),c)).field("initializer",u(o("Expression"),null),l.null),o("TSTypeQuery").bases("TSType").build("exprName").field("exprName",u(p,o("TSImportType")));var d=u(o("TSCallSignatureDeclaration"),o("TSConstructSignatureDeclaration"),o("TSIndexSignature"),o("TSMethodSignature"),o("TSPropertySignature"));o("TSTypeLiteral").bases("TSType").build("members").field("members",[d]),o("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",String).field("constraint",u(o("TSType"),void 0),l[void 0]).field("default",u(o("TSType"),void 0),l[void 0]),o("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",o("TSType")).field("expression",o("Expression")).field("extra",u({parenthesized:Boolean},null),l.null),o("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[o("TSTypeParameter")]),o("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[o("TSType")]),o("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",o("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[o("TSEnumMember")]).field("initializer",u(o("Expression"),null),l.null),o("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",o("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",o("TSType")),o("TSModuleBlock").bases("Node").build("body").field("body",[o("Statement")]),o("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",u(c,p)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",u(o("TSModuleBlock"),o("TSModuleDeclaration"),null),l.null),o("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",c).field("qualifier",u(p,void 0),l[void 0]),o("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",o("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",u(p,o("TSExternalModuleReference"))),o("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",c),o("TSExportAssignment").bases("Statement").build("expression").field("expression",o("Expression")),o("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",o("Identifier")),o("TSInterfaceBody").bases("Node").build("body").field("body",[d]),o("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",p),o("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",p).field("declare",Boolean,l.false).field("extends",u([o("TSExpressionWithTypeArguments")],null),l.null).field("body",o("TSInterfaceBody")),o("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",u("public","private","protected",void 0),l[void 0]).field("readonly",Boolean,l.false).field("parameter",u(o("Identifier"),o("AssignmentPattern"))),o("ClassProperty").field("access",u("public","private","protected",void 0),l[void 0]),o("ClassBody").field("body",[u(o("MethodDefinition"),o("VariableDeclarator"),o("ClassPropertyDefinition"),o("ClassProperty"),o("ClassPrivateProperty"),o("ClassMethod"),o("ClassPrivateMethod"),o("TSDeclareMethod"),d)])},e.exports=t.default})),Qc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.namedTypes=void 0,t.namedTypes||(t.namedTypes={})})),Zc=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.visit=t.use=t.Type=t.someField=t.PathVisitor=t.Path=t.NodePath=t.namedTypes=t.getSupertypeNames=t.getFieldValue=t.getFieldNames=t.getBuilderName=t.finalize=t.eachField=t.defineMethod=t.builtInTypes=t.builders=t.astNodesAreEquivalent=void 0;var r=wc.__importDefault(Nc),n=wc.__importDefault(Lc),i=wc.__importDefault(Bc),s=wc.__importDefault(Rc),a=wc.__importDefault(Uc),o=wc.__importDefault(Vc),u=wc.__importDefault(zc),l=wc.__importDefault(Wc),c=wc.__importDefault(qc),p=wc.__importDefault($c),h=wc.__importDefault(Kc),d=wc.__importDefault(Hc),f=wc.__importDefault(Gc),m=wc.__importDefault(Xc);Object.defineProperty(t,"namedTypes",{enumerable:!0,get:function(){return Qc.namedTypes}});var y=r.default([n.default,i.default,s.default,a.default,o.default,u.default,l.default,c.default,p.default,h.default,d.default,f.default,m.default]),g=y.astNodesAreEquivalent,b=y.builders,v=y.builtInTypes,x=y.defineMethod,E=y.eachField,D=y.finalize,S=y.getBuilderName,T=y.getFieldNames,A=y.getFieldValue,P=y.getSupertypeNames,w=y.namedTypes,C=y.NodePath,k=y.Path,_=y.PathVisitor,I=y.someField,F=y.Type,O=y.use,N=y.visit;t.astNodesAreEquivalent=g,t.builders=b,t.builtInTypes=v,t.defineMethod=x,t.eachField=E,t.finalize=D,t.getBuilderName=S,t.getFieldNames=T,t.getFieldValue=A,t.getSupertypeNames=P,t.NodePath=C,t.Path=k,t.PathVisitor=_,t.someField=I,t.Type=F,t.use=O,t.visit=N,Object.assign(Qc.namedTypes,w)})),ep="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),tp=function(e){if(0<=e&&e>>=5)>0&&(t|=32),r+=tp(t)}while(n>0);return r},ip=function(e,t,r){var n,i,s,a,o=e.length,u=0,l=0;do{if(t>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=rp(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&i),u+=(i&=31)<>1,1==(1&s)?-a:a),r.rest=t},sp=w((function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var a,o=t.isAbsolute(r),u=r.split(/\/+/),l=0,c=u.length-1;c>=0;c--)"."===(a=u[c])?u.splice(c,1):".."===a?l++:l>0&&(""===a?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return""===(r=u.join("/"))&&(r=o?"/":"."),n?(n.path=r,s(n)):r}function o(e,t){""===e&&(e="."),""===t&&(t=".");var r=i(t),o=i(e);if(o&&(e=o.path||"/"),r&&!r.scheme)return o&&(r.scheme=o.scheme),s(r);if(r||t.match(n))return t;if(o&&!o.host&&!o.path)return o.host=t,s(o);var u="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return o?(o.path=u,s(o)):u}t.urlParse=i,t.urlGenerate=s,t.normalize=a,t.join=o,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var u=!("__proto__"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function p(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=u?l:function(e){return c(e)?"$"+e:e},t.fromSetString=u?l:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=p(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:p(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=p(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:p(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=p(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:p(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=i(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var u=n.path.lastIndexOf("/");u>=0&&(n.path=n.path.substring(0,u+1))}t=o(s(n),t)}return a(t)}})),ap=Object.prototype.hasOwnProperty,op="undefined"!=typeof Map;function up(){this._array=[],this._set=op?new Map:Object.create(null)}up.fromArray=function(e,t){for(var r=new up,n=0,i=e.length;n=0)return t}else{var r=sp.toSetString(e);if(ap.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},up.prototype.at=function(e){if(e>=0&&en||i==n&&a>=s||sp.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},cp.prototype.toArray=function(){return this._sorted||(this._array.sort(sp.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var pp=lp.ArraySet,hp={MappingList:cp}.MappingList;function dp(e){e||(e={}),this._file=sp.getArg(e,"file",null),this._sourceRoot=sp.getArg(e,"sourceRoot",null),this._skipValidation=sp.getArg(e,"skipValidation",!1),this._sources=new pp,this._names=new pp,this._mappings=new hp,this._sourcesContents=null}dp.prototype._version=3,dp.fromSourceMap=function(e){var t=e.sourceRoot,r=new dp({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=sp.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=sp.relative(t,n)),r._sources.has(i)||r._sources.add(i);var s=e.sourceContentFor(n);null!=s&&r.setSourceContent(n,s)})),r},dp.prototype.addMapping=function(e){var t=sp.getArg(e,"generated"),r=sp.getArg(e,"original",null),n=sp.getArg(e,"source",null),i=sp.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},dp.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=sp.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[sp.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[sp.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},dp.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=sp.relative(i,n));var s=new pp,a=new pp;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=r&&(t.source=sp.join(r,t.source)),null!=i&&(t.source=sp.relative(i,t.source)),t.originalLine=o.line,t.originalColumn=o.column,null!=o.name&&(t.name=o.name))}var u=t.source;null==u||s.has(u)||s.add(u);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=s,this._names=a,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=sp.join(r,t)),null!=i&&(t=sp.relative(i,t)),this.setSourceContent(t,n))}),this)},dp.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},dp.prototype._serializeMappings=function(){for(var e,t,r,n,i=0,s=1,a=0,o=0,u=0,l=0,c="",p=this._mappings.toArray(),h=0,d=p.length;h0){if(!sp.compareByGeneratedPositionsInflated(t,p[h-1]))continue;e+=","}e+=np(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=np(n-l),l=n,e+=np(t.originalLine-1-o),o=t.originalLine-1,e+=np(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=np(r-u),u=r)),c+=e}return c},dp.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=sp.relative(t,e));var r=sp.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},dp.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},dp.prototype.toString=function(){return JSON.stringify(this.toJSON())};var fp={SourceMapGenerator:dp},mp=w((function(e,t){function r(e,n,i,s,a,o){var u=Math.floor((n-e)/2)+e,l=a(i,s[u],!0);return 0===l?u:l>0?n-u>1?r(u,n,i,s,a,o):o==t.LEAST_UPPER_BOUND?n1?r(e,u,i,s,a,o):o==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,s){if(0===n.length)return-1;var a=r(-1,n.length,e,n,i,s||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===i(n[a],n[a-1],!0);)--a;return a}}));function yp(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function gp(e,t,r,n){if(r=0){var s=this._originalMappings[i];if(void 0===e.column)for(var a=s.originalLine;s&&s.originalLine===a;)n.push({line:sp.getArg(s,"generatedLine",null),column:sp.getArg(s,"generatedColumn",null),lastColumn:sp.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var o=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==o;)n.push({line:sp.getArg(s,"generatedLine",null),column:sp.getArg(s,"generatedColumn",null),lastColumn:sp.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return n};var Ep=xp;function Dp(e,t){var r=e;"string"==typeof e&&(r=sp.parseSourceMapInput(e));var n=sp.getArg(r,"version"),i=sp.getArg(r,"sources"),s=sp.getArg(r,"names",[]),a=sp.getArg(r,"sourceRoot",null),o=sp.getArg(r,"sourcesContent",null),u=sp.getArg(r,"mappings"),l=sp.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);a&&(a=sp.normalize(a)),i=i.map(String).map(sp.normalize).map((function(e){return a&&sp.isAbsolute(a)&&sp.isAbsolute(e)?sp.relative(a,e):e})),this._names=bp.fromArray(s.map(String),!0),this._sources=bp.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return sp.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=o,this._mappings=u,this._sourceMapURL=t,this.file=l}function Sp(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}Dp.prototype=Object.create(xp.prototype),Dp.prototype.consumer=xp,Dp.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=sp.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=p+i[1],p+=i[1],r.originalLine=l+i[2],l=r.originalLine,r.originalLine+=1,r.originalColumn=c+i[3],c=r.originalColumn,i.length>4&&(r.name=h+i[4],h+=i[4])),b.push(r),"number"==typeof r.originalLine&&g.push(r)}vp(b,sp.compareByGeneratedPositionsDeflated),this.__generatedMappings=b,vp(g,sp.compareByOriginalPositions),this.__originalMappings=g},Dp.prototype._findMapping=function(e,t,r,n,i,s){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return mp.search(e,t,i,s)},Dp.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var i=sp.getArg(n,"source",null);null!==i&&(i=this._sources.at(i),i=sp.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=sp.getArg(n,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:sp.getArg(n,"originalLine",null),column:sp.getArg(n,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},Dp.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},Dp.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var n,i=e;if(null!=this.sourceRoot&&(i=sp.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(n=sp.urlParse(this.sourceRoot))){var s=i.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!n.path||"/"==n.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},Dp.prototype.generatedPositionFor=function(e){var t=sp.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:sp.getArg(e,"line"),originalColumn:sp.getArg(e,"column")},n=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",sp.compareByOriginalPositions,sp.getArg(e,"bias",xp.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===r.source)return{line:sp.getArg(i,"generatedLine",null),column:sp.getArg(i,"generatedColumn",null),lastColumn:sp.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var Tp=Dp;function Ap(e,t){var r=e;"string"==typeof e&&(r=sp.parseSourceMapInput(e));var n=sp.getArg(r,"version"),i=sp.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new bp,this._names=new bp;var s={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=sp.getArg(e,"offset"),n=sp.getArg(r,"line"),i=sp.getArg(r,"column");if(n=0;t--)this.prepend(e[t]);else{if(!e[kp]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},_p.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r=0;--i){var s=this.leading[i];t.end.offset>=s.start&&(r.unshift(s.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}r.length&&(e.innerComments=r)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var r=this.trailing.length-1;r>=0;--r){var n=this.trailing[r];n.start>=e.end.offset&&t.unshift(n.comment)}return this.trailing.length=0,t}var i=this.stack[this.stack.length-1];if(i&&i.node.trailingComments){var s=i.node.trailingComments[0];s&&s.range[0]>=e.end.offset&&(t=i.node.trailingComments,delete i.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,r=[];this.stack.length>0&&((s=this.stack[this.stack.length-1])&&s.start>=e.start.offset);)t=s.node,this.stack.pop();if(t){for(var n=(t.leadingComments?t.leadingComments.length:0)-1;n>=0;--n){var i=t.leadingComments[n];i.range[1]<=e.start.offset&&(r.unshift(i),t.leadingComments.splice(n,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,r}for(n=this.leading.length-1;n>=0;--n){var s;(s=this.leading[n]).start<=e.start.offset&&(r.unshift(s.comment),this.leading.splice(n,1))}return r},e.prototype.visitNode=function(e,t){if(!(e.type===n.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var r=this.findTrailingComments(t),i=this.findLeadingComments(t);i.length>0&&(e.leadingComments=i),r.length>0&&(e.trailingComments=r),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var r="L"===e.type[0]?"Line":"Block",n={type:r,value:e.value};if(e.range&&(n.range=e.range),e.loc&&(n.loc=e.loc),this.comments.push(n),this.attach){var i={comment:{type:r,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(i.comment.loc=e.loc),e.type=r,this.leading.push(i),this.trailing.push(i)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=i},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,r){var n=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=r(4),s=r(5),a=r(6),o=r(7),u=r(8),l=r(13),c=r(14);function p(e){var t;switch(e.type){case a.JSXSyntax.JSXIdentifier:t=e.name;break;case a.JSXSyntax.JSXNamespacedName:var r=e;t=p(r.namespace)+":"+p(r.name);break;case a.JSXSyntax.JSXMemberExpression:var n=e;t=p(n.object)+"."+p(n.property)}return t}l.TokenName[100]="JSXIdentifier",l.TokenName[101]="JSXText";var h=function(e){function t(t,r,n){return e.call(this,t,r,n)||this}return n(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",r=!0,n=!1,s=!1,a=!1;!this.scanner.eof()&&r&&!n;){var o=this.scanner.source[this.scanner.index];if(o===e)break;if(n=";"===o,t+=o,++this.scanner.index,!n)switch(t.length){case 2:s="#"===o;break;case 3:s&&(r=(a="x"===o)||i.Character.isDecimalDigit(o.charCodeAt(0)),s=s&&!a);break;default:r=(r=r&&!(s&&!i.Character.isDecimalDigit(o.charCodeAt(0))))&&!(a&&!i.Character.isHexDigit(o.charCodeAt(0)))}}if(r&&n&&t.length>2){var u=t.substr(1,t.length-2);s&&u.length>1?t=String.fromCharCode(parseInt(u.substr(1),10)):a&&u.length>2?t=String.fromCharCode(parseInt("0"+u.substr(1),16)):s||a||!c.XHTMLEntities[u]||(t=c.XHTMLEntities[u])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:o=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,r=this.scanner.source[this.scanner.index++],n="";!this.scanner.eof()&&(u=this.scanner.source[this.scanner.index++])!==r;)n+="&"===u?this.scanXHTMLEntity(r):u;return{type:8,value:n,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var s=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),o=46===s&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=o.length,{type:7,value:o,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(i.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var u=this.scanner.source.charCodeAt(this.scanner.index);if(i.Character.isIdentifierPart(u)&&92!==u)++this.scanner.index;else{if(45!==u)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var r=this.scanner.source[this.scanner.index];if("{"===r||"<"===r)break;++this.scanner.index,t+=r,i.Character.isLineTerminator(r.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===r&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var n={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(n)),n},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new s.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var r=t;this.expectJSX(":");var n=this.parseJSXIdentifier();t=this.finalize(e,new s.JSXNamespacedName(r,n))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var i=t;this.expectJSX(".");var a=this.parseJSXIdentifier();t=this.finalize(e,new s.JSXMemberExpression(i,a))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),r=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=r;this.expectJSX(":");var i=this.parseJSXIdentifier();e=this.finalize(t,new s.JSXNamespacedName(n,i))}else e=r;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var r=this.getTokenRaw(t);return this.finalize(e,new o.Literal(t.value,r))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new s.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),r=null;return this.matchJSX("=")&&(this.expectJSX("="),r=this.parseJSXAttributeValue()),this.finalize(e,new s.JSXAttribute(t,r))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new s.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),r=this.parseJSXAttributes(),n=this.matchJSX("/");return n&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new s.JSXOpeningElement(t,n,r))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new s.JSXClosingElement(t))}var r=this.parseJSXElementName(),n=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new s.JSXOpeningElement(r,i,n))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new s.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new s.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),r=this.nextJSXText();if(r.start0))break;o=this.finalize(e.node,new s.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),r=[],n=null;if(!t.selfClosing){var i=this.parseComplexJSXElement({node:e,opening:t,closing:n,children:r});r=i.children,n=i.closing}return this.finalize(e,new s.JSXElement(t,r,n))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(u.Parser);t.JSXParser=h},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&r.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&r.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(6),i=function(e){this.type=n.JSXSyntax.JSXClosingElement,this.name=e};t.JSXClosingElement=i;var s=function(e,t,r){this.type=n.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=r};t.JSXElement=s;var a=function(){this.type=n.JSXSyntax.JSXEmptyExpression};t.JSXEmptyExpression=a;var o=function(e){this.type=n.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXExpressionContainer=o;var u=function(e){this.type=n.JSXSyntax.JSXIdentifier,this.name=e};t.JSXIdentifier=u;var l=function(e,t){this.type=n.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXMemberExpression=l;var c=function(e,t){this.type=n.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXAttribute=c;var p=function(e,t){this.type=n.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXNamespacedName=p;var h=function(e,t,r){this.type=n.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=r};t.JSXOpeningElement=h;var d=function(e){this.type=n.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXSpreadAttribute=d;var f=function(e,t){this.type=n.JSXSyntax.JSXText,this.value=e,this.raw=t};t.JSXText=f},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),i=function(e){this.type=n.Syntax.ArrayExpression,this.elements=e};t.ArrayExpression=i;var s=function(e){this.type=n.Syntax.ArrayPattern,this.elements=e};t.ArrayPattern=s;var a=function(e,t,r){this.type=n.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=r,this.async=!1};t.ArrowFunctionExpression=a;var o=function(e,t,r){this.type=n.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=r};t.AssignmentExpression=o;var u=function(e,t){this.type=n.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AssignmentPattern=u;var l=function(e,t,r){this.type=n.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=r,this.async=!0};t.AsyncArrowFunctionExpression=l;var c=function(e,t,r){this.type=n.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=r,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionDeclaration=c;var p=function(e,t,r){this.type=n.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=r,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=p;var h=function(e){this.type=n.Syntax.AwaitExpression,this.argument=e};t.AwaitExpression=h;var d=function(e,t,r){var i="||"===e||"&&"===e;this.type=i?n.Syntax.LogicalExpression:n.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=r};t.BinaryExpression=d;var f=function(e){this.type=n.Syntax.BlockStatement,this.body=e};t.BlockStatement=f;var m=function(e){this.type=n.Syntax.BreakStatement,this.label=e};t.BreakStatement=m;var y=function(e,t){this.type=n.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CallExpression=y;var g=function(e,t){this.type=n.Syntax.CatchClause,this.param=e,this.body=t};t.CatchClause=g;var b=function(e){this.type=n.Syntax.ClassBody,this.body=e};t.ClassBody=b;var v=function(e,t,r){this.type=n.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=r};t.ClassDeclaration=v;var x=function(e,t,r){this.type=n.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=r};t.ClassExpression=x;var E=function(e,t){this.type=n.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ComputedMemberExpression=E;var D=function(e,t,r){this.type=n.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=r};t.ConditionalExpression=D;var S=function(e){this.type=n.Syntax.ContinueStatement,this.label=e};t.ContinueStatement=S;var T=function(){this.type=n.Syntax.DebuggerStatement};t.DebuggerStatement=T;var A=function(e,t){this.type=n.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.Directive=A;var P=function(e,t){this.type=n.Syntax.DoWhileStatement,this.body=e,this.test=t};t.DoWhileStatement=P;var w=function(){this.type=n.Syntax.EmptyStatement};t.EmptyStatement=w;var C=function(e){this.type=n.Syntax.ExportAllDeclaration,this.source=e};t.ExportAllDeclaration=C;var k=function(e){this.type=n.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportDefaultDeclaration=k;var _=function(e,t,r){this.type=n.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=r};t.ExportNamedDeclaration=_;var I=function(e,t){this.type=n.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExportSpecifier=I;var F=function(e){this.type=n.Syntax.ExpressionStatement,this.expression=e};t.ExpressionStatement=F;var O=function(e,t,r){this.type=n.Syntax.ForInStatement,this.left=e,this.right=t,this.body=r,this.each=!1};t.ForInStatement=O;var N=function(e,t,r){this.type=n.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=r};t.ForOfStatement=N;var j=function(e,t,r,i){this.type=n.Syntax.ForStatement,this.init=e,this.test=t,this.update=r,this.body=i};t.ForStatement=j;var M=function(e,t,r,i){this.type=n.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=r,this.generator=i,this.expression=!1,this.async=!1};t.FunctionDeclaration=M;var L=function(e,t,r,i){this.type=n.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=r,this.generator=i,this.expression=!1,this.async=!1};t.FunctionExpression=L;var B=function(e){this.type=n.Syntax.Identifier,this.name=e};t.Identifier=B;var R=function(e,t,r){this.type=n.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=r};t.IfStatement=R;var U=function(e,t){this.type=n.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDeclaration=U;var V=function(e){this.type=n.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportDefaultSpecifier=V;var z=function(e){this.type=n.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportNamespaceSpecifier=z;var W=function(e,t){this.type=n.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.ImportSpecifier=W;var q=function(e,t){this.type=n.Syntax.LabeledStatement,this.label=e,this.body=t};t.LabeledStatement=q;var X=function(e,t){this.type=n.Syntax.Literal,this.value=e,this.raw=t};t.Literal=X;var J=function(e,t){this.type=n.Syntax.MetaProperty,this.meta=e,this.property=t};t.MetaProperty=J;var $=function(e,t,r,i,s){this.type=n.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=r,this.kind=i,this.static=s};t.MethodDefinition=$;var K=function(e){this.type=n.Syntax.Program,this.body=e,this.sourceType="module"};t.Module=K;var Y=function(e,t){this.type=n.Syntax.NewExpression,this.callee=e,this.arguments=t};t.NewExpression=Y;var H=function(e){this.type=n.Syntax.ObjectExpression,this.properties=e};t.ObjectExpression=H;var G=function(e){this.type=n.Syntax.ObjectPattern,this.properties=e};t.ObjectPattern=G;var Q=function(e,t,r,i,s,a){this.type=n.Syntax.Property,this.key=t,this.computed=r,this.value=i,this.kind=e,this.method=s,this.shorthand=a};t.Property=Q;var Z=function(e,t,r,i){this.type=n.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:r,flags:i}};t.RegexLiteral=Z;var ee=function(e){this.type=n.Syntax.RestElement,this.argument=e};t.RestElement=ee;var te=function(e){this.type=n.Syntax.ReturnStatement,this.argument=e};t.ReturnStatement=te;var re=function(e){this.type=n.Syntax.Program,this.body=e,this.sourceType="script"};t.Script=re;var ne=function(e){this.type=n.Syntax.SequenceExpression,this.expressions=e};t.SequenceExpression=ne;var ie=function(e){this.type=n.Syntax.SpreadElement,this.argument=e};t.SpreadElement=ie;var se=function(e,t){this.type=n.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.StaticMemberExpression=se;var ae=function(){this.type=n.Syntax.Super};t.Super=ae;var oe=function(e,t){this.type=n.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchCase=oe;var ue=function(e,t){this.type=n.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.SwitchStatement=ue;var le=function(e,t){this.type=n.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TaggedTemplateExpression=le;var ce=function(e,t){this.type=n.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateElement=ce;var pe=function(e,t){this.type=n.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.TemplateLiteral=pe;var he=function(){this.type=n.Syntax.ThisExpression};t.ThisExpression=he;var de=function(e){this.type=n.Syntax.ThrowStatement,this.argument=e};t.ThrowStatement=de;var fe=function(e,t,r){this.type=n.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=r};t.TryStatement=fe;var me=function(e,t){this.type=n.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UnaryExpression=me;var ye=function(e,t,r){this.type=n.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=r};t.UpdateExpression=ye;var ge=function(e,t){this.type=n.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclaration=ge;var be=function(e,t){this.type=n.Syntax.VariableDeclarator,this.id=e,this.init=t};t.VariableDeclarator=be;var ve=function(e,t){this.type=n.Syntax.WhileStatement,this.test=e,this.body=t};t.WhileStatement=ve;var xe=function(e,t){this.type=n.Syntax.WithStatement,this.object=e,this.body=t};t.WithStatement=xe;var Ee=function(e,t){this.type=n.Syntax.YieldExpression,this.argument=e,this.delegate=t};t.YieldExpression=Ee},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(9),i=r(10),s=r(11),a=r(7),o=r(12),u=r(2),l=r(13),c="ArrowParameterPlaceHolder",p=function(){function e(e,t,r){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=r,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new o.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],r=1;r0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,r=this.context.isAssignmentTarget,n=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=r,this.context.firstCoverInitializedNameError=n,i},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,r=this.context.isAssignmentTarget,n=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&r,this.context.firstCoverInitializedNameError=n||this.context.firstCoverInitializedNameError,i},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,r,n=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(n,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),r=this.getTokenRaw(t),e=this.finalize(n,new a.Literal(t.value,r));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),r=this.getTokenRaw(t),e=this.finalize(n,new a.Literal("true"===t.value,r));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),r=this.getTokenRaw(t),e=this.finalize(n,new a.Literal(null,r));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),r=this.getTokenRaw(t),e=this.finalize(n,new a.RegexLiteral(t.regex,r,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(n,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(n,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var r=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(r)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,r=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var n=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=r,n},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var r=this.parseFormalParameters(),n=this.parsePropertyMethod(r);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,r.params,n,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,r=this.context.await;this.context.allowYield=!1,this.context.await=!0;var n=this.parseFormalParameters(),i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.context.await=r,this.finalize(e,new a.AsyncFunctionExpression(null,n.params,i))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),r=this.nextToken();switch(r.type){case 8:case 6:this.context.strict&&r.octal&&this.tolerateUnexpectedToken(r,s.Messages.StrictOctalLiteral);var n=this.getTokenRaw(r);e=this.finalize(t,new a.Literal(r.value,n));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(r.value));break;case 7:"["===r.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(r);break;default:e=this.throwUnexpectedToken(r)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===u.Syntax.Identifier&&e.name===t||e.type===u.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,r=this.createNode(),n=this.lookahead,i=null,o=null,u=!1,l=!1,c=!1,p=!1;if(3===n.type){var h=n.value;this.nextToken(),u=this.match("["),i=(p=!(this.hasLineTerminator||"async"!==h||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(r,new a.Identifier(h))}else this.match("*")?this.nextToken():(u=this.match("["),i=this.parseObjectPropertyKey());var d=this.qualifiedPropertyName(this.lookahead);if(3===n.type&&!p&&"get"===n.value&&d)t="get",u=this.match("["),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod();else if(3===n.type&&!p&&"set"===n.value&&d)t="set",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseSetterMethod();else if(7===n.type&&"*"===n.value&&d)t="init",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(),l=!0;else if(i||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!p)!u&&this.isPropertyKey(i,"__proto__")&&(e.value&&this.tolerateError(s.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),o=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))o=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),l=!0;else if(3===n.type)if(h=this.finalize(r,new a.Identifier(n.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var f=this.isolateCoverGrammar(this.parseAssignmentExpression);o=this.finalize(r,new a.AssignmentPattern(h,f))}else c=!0,o=h;else this.throwUnexpectedToken(this.nextToken());return this.finalize(r,new a.Property(t,i,u,o,l,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],r={value:!1};!this.match("}");)t.push(this.parseObjectProperty(r)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){n.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),r=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:r,cooked:i},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),r=t.value,n=t.cooked;return this.finalize(e,new a.TemplateElement({raw:r,cooked:n},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],r=[],n=this.parseTemplateHead();for(r.push(n);!n.tail;)t.push(this.parseExpression()),n=this.parseTemplateElement(),r.push(n);return this.finalize(e,new a.TemplateLiteral(r,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:e.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case u.Syntax.ArrayExpression:e.type=u.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,r=[];if(this.match("..."))e=this.parseRestElement(r),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var n=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var i=[];for(this.context.isAssignmentTarget=!1,i.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var s=0;s")||this.expect("=>"),this.context.isBindingElement=!1,s=0;s")&&(e.type===u.Syntax.Identifier&&"yield"===e.name&&(n=!0,e={type:c,params:[e],async:!1}),!n)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===u.Syntax.SequenceExpression)for(s=0;s")){for(var u=0;u0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var i=[e,this.lookahead],s=t,o=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[s,r.value,o],l=[n];!((n=this.binaryPrecedence(this.lookahead))<=0);){for(;u.length>2&&n<=l[l.length-1];){o=u.pop();var c=u.pop();l.pop(),s=u.pop(),i.pop();var p=this.startNode(i[i.length-1]);u.push(this.finalize(p,new a.BinaryExpression(c,s,o)))}u.push(this.nextToken().value),l.push(n),i.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var h=u.length-1;t=u[h];for(var d=i.pop();h>1;){var f=i.pop(),m=d&&d.lineStart;p=this.startNode(f,m),c=u[h-1],t=this.finalize(p,new a.BinaryExpression(c,u[h-2],t)),h-=2,d=f}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var r=this.context.allowIn;this.context.allowIn=!0;var n=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=r,this.expect(":");var i=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,n,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case u.Syntax.Identifier:this.validateParam(e,t,t.name);break;case u.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case u.Syntax.ArrayPattern:for(var r=0;r")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=e.async,o=this.reinterpretAsCoverFormalsList(e);if(o){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var l=this.context.strict,p=this.context.allowStrictDirective;this.context.allowStrictDirective=o.simple;var h=this.context.allowYield,d=this.context.await;this.context.allowYield=!0,this.context.await=i;var f=this.startNode(t);this.expect("=>");var m=void 0;if(this.match("{")){var y=this.context.allowIn;this.context.allowIn=!0,m=this.parseFunctionSourceElements(),this.context.allowIn=y}else m=this.isolateCoverGrammar(this.parseAssignmentExpression);var g=m.type!==u.Syntax.BlockStatement;this.context.strict&&o.firstRestricted&&this.throwUnexpectedToken(o.firstRestricted,o.message),this.context.strict&&o.stricted&&this.tolerateUnexpectedToken(o.stricted,o.message),e=i?this.finalize(f,new a.AsyncArrowFunctionExpression(o.params,m,g)):this.finalize(f,new a.ArrowFunctionExpression(o.params,m,g)),this.context.strict=l,this.context.allowStrictDirective=p,this.context.allowYield=h,this.context.await=d}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===u.Syntax.Identifier){var b=e;this.scanner.isRestrictedWord(b.name)&&this.tolerateUnexpectedToken(r,s.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(b.name)&&this.tolerateUnexpectedToken(r,s.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var v=(r=this.nextToken()).value,x=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(v,e,x)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var r=[];for(r.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),r.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(r))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var r=this.createNode(),n=this.parsePattern([],e);this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(s.Messages.StrictVarName);var i=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(s.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&n.type!==u.Syntax.Identifier||this.match("="))&&(this.expect("="),i=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(r,new a.VariableDeclarator(n,i))},e.prototype.parseBindingList=function(e,t){for(var r=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),r.push(this.parseLexicalBinding(e,t));return r},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),r=this.nextToken().value;n.assert("let"===r||"const"===r,"Lexical declaration must be either let or const");var i=this.parseBindingList(r,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(i,r))},e.prototype.parseBindingRestElement=function(e,t){var r=this.createNode();this.expect("...");var n=this.parsePattern(e,t);return this.finalize(r,new a.RestElement(n))},e.prototype.parseArrayPattern=function(e,t){var r=this.createNode();this.expect("[");for(var n=[];!this.match("]");)if(this.match(","))this.nextToken(),n.push(null);else{if(this.match("...")){n.push(this.parseBindingRestElement(e,t));break}n.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(r,new a.ArrayPattern(n))},e.prototype.parsePropertyPattern=function(e,t){var r,n,i=this.createNode(),s=!1,o=!1;if(3===this.lookahead.type){var u=this.lookahead;r=this.parseVariableIdentifier();var l=this.finalize(i,new a.Identifier(u.value));if(this.match("=")){e.push(u),o=!0,this.nextToken();var c=this.parseAssignmentExpression();n=this.finalize(this.startNode(u),new a.AssignmentPattern(l,c))}else this.match(":")?(this.expect(":"),n=this.parsePatternWithDefault(e,t)):(e.push(u),o=!0,n=l)}else s=this.match("["),r=this.parseObjectPropertyKey(),this.expect(":"),n=this.parsePatternWithDefault(e,t);return this.finalize(i,new a.Property("init",r,s,n,!1,o))},e.prototype.parseObjectPattern=function(e,t){var r=this.createNode(),n=[];for(this.expect("{");!this.match("}");)n.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(r,new a.ObjectPattern(n))},e.prototype.parsePattern=function(e,t){var r;return this.match("[")?r=this.parseArrayPattern(e,t):this.match("{")?r=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,s.Messages.LetInLexicalBinding),e.push(this.lookahead),r=this.parseVariableIdentifier(t)),r},e.prototype.parsePatternWithDefault=function(e,t){var r=this.lookahead,n=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var i=this.context.allowYield;this.context.allowYield=!0;var s=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=i,n=this.finalize(this.startNode(r),new a.AssignmentPattern(n,s))}return n},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),r=this.nextToken();return 4===r.type&&"yield"===r.value?this.context.strict?this.tolerateUnexpectedToken(r,s.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(r):3!==r.type?this.context.strict&&4===r.type&&this.scanner.isStrictModeReservedWord(r.value)?this.tolerateUnexpectedToken(r,s.Messages.StrictReservedWord):(this.context.strict||"let"!==r.value||"var"!==e)&&this.throwUnexpectedToken(r):(this.context.isModule||this.context.await)&&3===r.type&&"await"===r.value&&this.tolerateUnexpectedToken(r),this.finalize(t,new a.Identifier(r.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),r=this.parsePattern([],"var");this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(s.Messages.StrictVarName);var n=null;return this.match("=")?(this.nextToken(),n=this.isolateCoverGrammar(this.parseAssignmentExpression)):r.type===u.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(r,n))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},r=[];for(r.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),r.push(this.parseVariableDeclaration(t));return r},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(s.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),r=null;this.expectKeyword("if"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),r=this.parseIfClause())),this.finalize(t,new a.IfStatement(n,e,r))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var r=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(r,n))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var r=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var n=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=n}return this.finalize(t,new a.WhileStatement(r,e))},e.prototype.parseForStatement=function(){var e,t,r,n=null,i=null,o=null,l=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){n=this.createNode(),this.nextToken();var p=this.context.allowIn;this.context.allowIn=!1;var h=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=p,1===h.length&&this.matchKeyword("in")){var d=h[0];d.init&&(d.id.type===u.Syntax.ArrayPattern||d.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(s.Messages.ForInOfLoopInitializer,"for-in"),n=this.finalize(n,new a.VariableDeclaration(h,"var")),this.nextToken(),e=n,t=this.parseExpression(),n=null}else 1===h.length&&null===h[0].init&&this.matchContextualKeyword("of")?(n=this.finalize(n,new a.VariableDeclaration(h,"var")),this.nextToken(),e=n,t=this.parseAssignmentExpression(),n=null,l=!1):(n=this.finalize(n,new a.VariableDeclaration(h,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){n=this.createNode();var f=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(p=this.context.allowIn,this.context.allowIn=!1,h=this.parseBindingList(f,{inFor:!0}),this.context.allowIn=p,1===h.length&&null===h[0].init&&this.matchKeyword("in")?(n=this.finalize(n,new a.VariableDeclaration(h,f)),this.nextToken(),e=n,t=this.parseExpression(),n=null):1===h.length&&null===h[0].init&&this.matchContextualKeyword("of")?(n=this.finalize(n,new a.VariableDeclaration(h,f)),this.nextToken(),e=n,t=this.parseAssignmentExpression(),n=null,l=!1):(this.consumeSemicolon(),n=this.finalize(n,new a.VariableDeclaration(h,f)))):(n=this.finalize(n,new a.Identifier(f)),this.nextToken(),e=n,t=this.parseExpression(),n=null)}else{var m=this.lookahead;if(p=this.context.allowIn,this.context.allowIn=!1,n=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=p,this.matchKeyword("in"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(s.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(n),e=n,t=this.parseExpression(),n=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&n.type!==u.Syntax.AssignmentExpression||this.tolerateError(s.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(n),e=n,t=this.parseAssignmentExpression(),n=null,l=!1;else{if(this.match(",")){for(var y=[n];this.match(",");)this.nextToken(),y.push(this.isolateCoverGrammar(this.parseAssignmentExpression));n=this.finalize(this.startNode(m),new a.SequenceExpression(y))}this.expect(";")}}if(void 0===e&&(this.match(";")||(i=this.parseExpression()),this.expect(";"),this.match(")")||(o=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),r=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var g=this.context.inIteration;this.context.inIteration=!0,r=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=g}return void 0===e?this.finalize(c,new a.ForStatement(n,i,o,r)):l?this.finalize(c,new a.ForInStatement(e,t,r)):this.finalize(c,new a.ForOfStatement(e,t,r))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var r=this.parseVariableIdentifier();t=r;var n="$"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)||this.throwError(s.Messages.UnknownLabel,r.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(s.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var r=this.parseVariableIdentifier(),n="$"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)||this.throwError(s.Messages.UnknownLabel,r.name),t=r}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(s.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(s.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(s.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(r,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var r=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)r.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,r))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var r=this.context.inSwitch;this.context.inSwitch=!0;var n=[],i=!1;for(this.expect("{");!this.match("}");){var o=this.parseSwitchCase();null===o.test&&(i&&this.throwError(s.Messages.MultipleDefaultsInSwitch),i=!0),n.push(o)}return this.expect("}"),this.context.inSwitch=r,this.finalize(e,new a.SwitchStatement(t,n))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),r=this.parseExpression();if(r.type===u.Syntax.Identifier&&this.match(":")){this.nextToken();var n=r,i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)&&this.throwError(s.Messages.Redeclaration,"Label",n.name),this.context.labelSet[i]=!0;var o=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),o=this.parseClassDeclaration();else if(this.matchKeyword("function")){var l=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(l,s.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(l,s.Messages.GeneratorInLegacyContext),o=c}else o=this.parseStatement();delete this.context.labelSet[i],e=new a.LabeledStatement(n,o)}else this.consumeSemicolon(),e=new a.ExpressionStatement(r);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(s.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],r=this.parsePattern(t),n={},i=0;i0&&this.tolerateError(s.Messages.BadGetterArity);var n=this.parsePropertyMethod(r);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,r.params,n,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var r=this.parseFormalParameters();1!==r.params.length?this.tolerateError(s.Messages.BadSetterArity):r.params[0]instanceof a.RestElement&&this.tolerateError(s.Messages.BadSetterRestParameter);var n=this.parsePropertyMethod(r);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,r.params,n,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var r=this.parseFormalParameters();this.context.allowYield=!1;var n=this.parsePropertyMethod(r);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,r.params,n,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,r=!1;if(!this.hasLineTerminator){var n=this.context.allowYield;this.context.allowYield=!1,(r=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=n}return this.finalize(e,new a.YieldExpression(t,r))},e.prototype.parseClassElement=function(e){var t=this.lookahead,r=this.createNode(),n="",i=null,o=null,u=!1,l=!1,c=!1,p=!1;if(this.match("*"))this.nextToken();else if(u=this.match("["),"static"===(i=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,u=this.match("["),this.match("*")?this.nextToken():i=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var h=this.lookahead.value;":"!==h&&"("!==h&&"*"!==h&&(p=!0,t=this.lookahead,i=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,s.Messages.ConstructorIsAsync))}var d=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&d?(n="get",u=this.match("["),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod()):"set"===t.value&&d&&(n="set",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseSetterMethod()):7===t.type&&"*"===t.value&&d&&(n="init",u=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(),l=!0),!n&&i&&this.match("(")&&(n="init",o=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),l=!0),n||this.throwUnexpectedToken(this.lookahead),"init"===n&&(n="method"),u||(c&&this.isPropertyKey(i,"prototype")&&this.throwUnexpectedToken(t,s.Messages.StaticPrototype),!c&&this.isPropertyKey(i,"constructor")&&(("method"!==n||!l||o&&o.generator)&&this.throwUnexpectedToken(t,s.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,s.Messages.DuplicateConstructor):e.value=!0,n="constructor")),this.finalize(r,new a.MethodDefinition(i,u,o,n,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),r=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var s=this.parseClassBody();return this.context.strict=r,this.finalize(t,new a.ClassDeclaration(n,i,s))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var r=3===this.lookahead.type?this.parseVariableIdentifier():null,n=null;this.matchKeyword("extends")&&(this.nextToken(),n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(r,n,i))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(s.Messages.InvalidModuleSpecifier);var t=this.nextToken(),r=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,r))},e.prototype.parseImportSpecifier=function(){var e,t,r=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(r,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(s.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var r=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?r=r.concat(this.parseNamedImports()):this.match("*")?r.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(r.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?r.push(this.parseImportNamespaceSpecifier()):this.match("{")?r=r.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var n=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(n,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(r,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),r=t;return this.matchContextualKeyword("as")&&(this.nextToken(),r=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,r))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var r=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(r))}else this.matchKeyword("class")?(r=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(r))):this.matchContextualKeyword("async")?(r=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(r))):(this.matchContextualKeyword("from")&&this.throwError(s.Messages.UnexpectedToken,this.lookahead.value),r=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(r)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var n=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(n,this.lookahead.value)}this.nextToken();var i=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(i))}else if(4===this.lookahead.type){switch(r=void 0,this.lookahead.value){case"let":case"const":r=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":r=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(r,[],null))}else if(this.matchAsyncFunction())r=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(r,[],null));else{var o=[],u=null,l=!1;for(this.expect("{");!this.match("}");)l=l||this.matchKeyword("default"),o.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),u=this.parseModuleSpecifier(),this.consumeSemicolon()):l?(n=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause,this.throwError(n,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,o,u))}return e},e}();t.Parser=p},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var r=new Error(e);try{throw r}catch(e){Object.create&&Object.defineProperty&&(r=Object.create(e),Object.defineProperty(r,"column",{value:t}))}return r},e.prototype.createError=function(e,t,r,n){var i="Line "+t+": "+n,s=this.constructError(i,r);return s.index=e,s.lineNumber=t,s.description=n,s},e.prototype.throwError=function(e,t,r,n){throw this.createError(e,t,r,n)},e.prototype.tolerateError=function(e,t,r,n){var i=this.createError(e,t,r,n);if(!this.tolerant)throw i;this.recordError(i)},e}();t.ErrorHandler=r},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(9),i=r(4),s=r(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function o(e){return"01234567".indexOf(e)}var u=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,r,n=[];for(this.trackComment&&(n=[],t=this.index-e,r={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var s=this.source.charCodeAt(this.index);if(++this.index,i.Character.isLineTerminator(s)){if(this.trackComment){r.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:r};n.push(a)}return 13===s&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,n}}return this.trackComment&&(r.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:r},n.push(a)),n},e.prototype.skipMultiLineComment=function(){var e,t,r=[];for(this.trackComment&&(r=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var n=this.source.charCodeAt(this.index);if(i.Character.isLineTerminator(n))13===n&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===n){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var s={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};r.push(s)}return r}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},s={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},r.push(s)),this.tolerateUnexpectedToken(),r},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var r=this.source.charCodeAt(this.index);if(i.Character.isWhiteSpace(r))++this.index;else if(i.Character.isLineTerminator(r))++this.index,13===r&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===r)if(47===(r=this.source.charCodeAt(this.index+1))){this.index+=2;var n=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(n)),t=!0}else{if(42!==r)break;this.index+=2,n=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(n))}else if(t&&45===r){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,n=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(n))}else{if(60!==r||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,n=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(n))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var r=this.source.charCodeAt(e+1);r>=56320&&r<=57343&&(t=1024*(t-55296)+r-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,r=0,n=0;n1114111||"}"!==e)&&this.throwUnexpectedToken(),i.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!i.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),r=i.Character.fromCodePoint(t);for(this.index+=r.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&i.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),r=e);!this.eof()&&(t=this.codePointAt(this.index),i.Character.isIdentifierPart(t));)r+=e=i.Character.fromCodePoint(t),this.index+=e.length,92===t&&(r=r.substr(0,r.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&i.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),r+=e);return r},e.prototype.octalToDecimal=function(e){var t="0"!==e,r=o(e);return!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,r=8*r+o(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(r=8*r+o(this.source[this.index++]))),{code:r,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,r=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===r.length?3:this.isKeyword(r)?4:"null"===r?5:"true"===r||"false"===r?1:3)&&t+r.length!==this.index){var n=this.index;this.index=t,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=n}return{type:e,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&i.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),i.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,r="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)r+=this.source[this.index++];return 0===r.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(i.Character.isIdentifierStart(t)||i.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(r,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var r="",n=!1;for(i.Character.isOctalDigit(e.charCodeAt(0))?(n=!0,r="0"+this.source[this.index++]):++this.index;!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];return n||0!==r.length||this.throwUnexpectedToken(),(i.Character.isIdentifierStart(this.source.charCodeAt(this.index))||i.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(r,8),octal:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(r=r.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,r){var i=parseInt(t||r,16);return i>1114111&&n.throwUnexpectedToken(s.Messages.InvalidRegExp),i<=65535?String.fromCharCode(i):""})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,""));try{RegExp(r)}catch(e){this.throwUnexpectedToken(s.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];n.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],r=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],i.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t+=e;else if(i.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(s.Messages.UnterminatedRegExp);else if(r)"]"===e&&(r=!1);else{if("/"===e){a=!0;break}"["===e&&(r=!0)}return a||this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!i.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var r=this.index,n=this.scanHexEscape("u");if(null!==n)for(e+=n;r=55296&&e<57343&&i.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=u},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",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:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(10),i=r(12),s=r(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var r=this.values[this.paren-1];t="if"===r||"while"===r||"for"===r||"with"===r;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(n=this.values[this.curly-4])&&!this.beforeFunctionExpression(n);else if("function"===this.values[this.curly-4]){var n;t=!(n=this.values[this.curly-5])||!this.beforeFunctionExpression(n)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),o=function(){function e(e,t){this.errorHandler=new n.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new i.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t0?(a.column=0,o.column=0):r.default.strictEqual(l,0);Fp.comparePos(o,s)<0&&n.nextPos(o,!0);)r.default.ok(e.nextPos(a,!0)),r.default.strictEqual(e.charAt(a),n.charAt(o))}else{a=e.skipSpaces(t,!0)||e.firstPos(),o=n.skipSpaces(i,!0)||n.firstPos();l=s.line-o.line;for(a.line+=l,o.line+=l,l<0?(a.column=e.getLineLength(a.line),o.column=n.getLineLength(o.line)):r.default.strictEqual(l,0);Fp.comparePos(s,o)<0&&n.prevPos(o,!0);)r.default.ok(e.prevPos(a,!0)),r.default.strictEqual(e.charAt(a),n.charAt(o))}return a}(a,s,t,l,c)}if(Fp.comparePos(n,u.start)<=0)if(Fp.comparePos(u.end,i)<=0)u={start:s(u.start,n.line,n.column),end:s(u.end,n.line,n.column)};else{if(Fp.comparePos(i,u.start)<=0)return null;o={start:o.start,end:l("end")},u={start:s(u.start,n.line,n.column),end:s(i,n.line,n.column)}}else{if(Fp.comparePos(u.end,n)<=0)return null;Fp.comparePos(u.end,i)<=0?(o={start:l("start"),end:o.end},u={start:{line:1,column:0},end:s(u.end,n.line,n.column)}):(o={start:l("start"),end:l("end")},u={start:{line:1,column:0},end:s(i,n.line,n.column)})}return new e(this.sourceLines,o,u)},e.prototype.add=function(t,r){return new e(this.sourceLines,this.sourceLoc,{start:i(this.targetLoc.start,t,r),end:i(this.targetLoc.end,t,r)})},e.prototype.subtract=function(t,r){return new e(this.sourceLines,this.sourceLoc,{start:s(this.targetLoc.start,t,r),end:s(this.targetLoc.end,t,r)})},e.prototype.indent=function(t,r,n){if(void 0===r&&(r=!1),void 0===n&&(n=!1),0===t)return this;var i=this.targetLoc,s=i.start.line,a=i.end.line;if(r&&1===s&&1===a)return this;if(i={start:i.start,end:i.end},!r||s>1){var o=i.start.column+t;i.start={line:s,column:n?Math.max(0,o):o}}if(!r||a>1){var u=i.end.column+t;i.end={line:a,column:n?Math.max(0,u):u}}return new e(this.sourceLines,this.sourceLoc,i)},e}();function i(e,t,r){return{line:e.line+t-1,column:1===e.line?e.column+r:e.column}}function s(e,t,r){return{line:e.line-t+1,column:e.line===t?e.column-r:e.column}}t.default=n})),Bp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.concat=t.fromString=t.countSpaces=t.Lines=void 0;var r=wc.__importDefault(pt),n=wc.__importDefault(Ip),i=wc.__importDefault(Lp),s=function(){function e(e,t){void 0===t&&(t=null),this.infos=e,this.mappings=[],this.cachedSourceMap=null,this.cachedTabWidth=void 0,r.default.ok(e.length>0),this.length=e.length,this.name=t||null,this.name&&this.mappings.push(new i.default(this,{start:this.firstPos(),end:this.lastPos()}))}return e.prototype.toString=function(e){return this.sliceString(this.firstPos(),this.lastPos(),e)},e.prototype.getSourceMap=function(e,t){if(!e)return null;var i=this;function s(r){return(r=r||{}).file=e,t&&(r.sourceRoot=t),r}if(i.cachedSourceMap)return s(i.cachedSourceMap.toJSON());var a=new n.default.SourceMapGenerator(s()),u={};return i.mappings.forEach((function(e){for(var t=e.sourceLines.skipSpaces(e.sourceLoc.start)||e.sourceLines.lastPos(),n=i.skipSpaces(e.targetLoc.start)||i.lastPos();Fp.comparePos(t,e.sourceLoc.end)<0&&Fp.comparePos(n,e.targetLoc.end)<0;){var s=e.sourceLines.charAt(t),l=i.charAt(n);r.default.strictEqual(s,l);var c=e.sourceLines.name;if(a.addMapping({source:c,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column}}),!o.call(u,c)){var p=e.sourceLines.toString();a.setSourceContent(c,p),u[c]=p}i.nextPos(n,!0),e.sourceLines.nextPos(t,!0)}})),i.cachedSourceMap=a,a.toJSON()},e.prototype.bootstrapCharAt=function(e){r.default.strictEqual(typeof e,"object"),r.default.strictEqual(typeof e.line,"number"),r.default.strictEqual(typeof e.column,"number");var t=e.line,n=e.column,i=this.toString().split(c),s=i[t-1];return void 0===s?"":n===s.length&&t=s.length?"":s.charAt(n)},e.prototype.charAt=function(e){r.default.strictEqual(typeof e,"object"),r.default.strictEqual(typeof e.line,"number"),r.default.strictEqual(typeof e.column,"number");var t=e.line,n=e.column,i=this.infos[t-1],s=n;if(void 0===i||s<0)return"";var a=this.getIndentAt(t);return s=i.sliceEnd?"":i.line.charAt(s)},e.prototype.stripMargin=function(t,n){if(0===t)return this;if(r.default.ok(t>0,"negative margin: "+t),n&&1===this.length)return this;var i=new e(this.infos.map((function(e,r){return e.line&&(r>0||!n)&&(e=wc.__assign(wc.__assign({},e),{indent:Math.max(0,e.indent-t)})),e})));if(this.mappings.length>0){var s=i.mappings;r.default.strictEqual(s.length,0),this.mappings.forEach((function(e){s.push(e.indent(t,n,!0))}))}return i},e.prototype.indent=function(t){if(0===t)return this;var n=new e(this.infos.map((function(e){return e.line&&!e.locked&&(e=wc.__assign(wc.__assign({},e),{indent:e.indent+t})),e})));if(this.mappings.length>0){var i=n.mappings;r.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(t))}))}return n},e.prototype.indentTail=function(t){if(0===t)return this;if(this.length<2)return this;var n=new e(this.infos.map((function(e,r){return r>0&&e.line&&!e.locked&&(e=wc.__assign(wc.__assign({},e),{indent:e.indent+t})),e})));if(this.mappings.length>0){var i=n.mappings;r.default.strictEqual(i.length,0),this.mappings.forEach((function(e){i.push(e.indent(t,!0))}))}return n},e.prototype.lockIndentTail=function(){return this.length<2?this:new e(this.infos.map((function(e,t){return wc.__assign(wc.__assign({},e),{locked:t>0})})))},e.prototype.getIndentAt=function(e){return r.default.ok(e>=1,"no line "+e+" (line numbers start from 1)"),Math.max(this.infos[e-1].indent,0)},e.prototype.guessTabWidth=function(){if("number"==typeof this.cachedTabWidth)return this.cachedTabWidth;for(var e=[],t=0,r=1,n=this.length;r<=n;++r){var i=this.infos[r-1];if(!h(i.line.slice(i.sliceStart,i.sliceEnd))){var s=Math.abs(i.indent-t);e[s]=1+~~e[s],t=i.indent}}for(var a=-1,u=2,l=1;la&&(a=e[l],u=l);return this.cachedTabWidth=u},e.prototype.startsWithComment=function(){if(0===this.infos.length)return!1;var e=this.infos[0],t=e.sliceStart,r=e.sliceEnd,n=e.line.slice(t,r).trim();return 0===n.length||"//"===n.slice(0,2)||"/*"===n.slice(0,2)},e.prototype.isOnlyWhitespace=function(){return h(this.toString())},e.prototype.isPrecededOnlyByWhitespace=function(e){var t=this.infos[e.line-1],r=Math.max(t.indent,0),n=e.column-r;if(n<=0)return!0;var i=t.sliceStart,s=Math.min(i+n,t.sliceEnd);return h(t.line.slice(i,s))},e.prototype.getLineLength=function(e){var t=this.infos[e-1];return this.getIndentAt(e)+t.sliceEnd-t.sliceStart},e.prototype.nextPos=function(e,t){void 0===t&&(t=!1);var r=Math.max(e.line,0);return Math.max(e.column,0)0&&(r.push(r.pop().slice(0,t.column)),r[0]=r[0].slice(e.column)),p(r.join("\n"))},e.prototype.slice=function(t,n){if(!n){if(!t)return this;n=this.lastPos()}if(!t)throw new Error("cannot slice with end but not start");var i=this.infos.slice(t.line-1,n.line);t.line===n.line?i[0]=d(i[0],t.column,n.column):(r.default.ok(t.line0){var a=s.mappings;r.default.strictEqual(a.length,0),this.mappings.forEach((function(e){var r=e.slice(this,t,n);r&&a.push(r)}),this)}return s},e.prototype.bootstrapSliceString=function(e,t,r){return this.slice(e,t).toString(r)},e.prototype.sliceString=function(e,t,r){void 0===e&&(e=this.firstPos()),void 0===t&&(t=this.lastPos());for(var n=Mp.normalize(r),i=n.tabWidth,s=n.useTabs,a=n.reuseWhitespace,o=n.lineTerminator,l=[],c=e.line;c<=t.line;++c){var p=this.infos[c-1];c===e.line?p=c===t.line?d(p,e.column,t.column):d(p,e.column):c===t.line&&(p=d(p,0,t.column));var f=Math.max(p.indent,0),m=p.line.slice(0,p.sliceStart);if(a&&h(m)&&u(m,i)===f)l.push(p.line.slice(0,p.sliceEnd));else{var y=0,g=f;s&&(g-=(y=Math.floor(f/i))*i);var b="";y>0&&(b+=new Array(y+1).join("\t")),g>0&&(b+=new Array(g+1).join(" ")),b+=p.line.slice(p.sliceStart,p.sliceEnd),l.push(b)}}return l.join(o)},e.prototype.isEmpty=function(){return this.length<2&&this.getLineLength(1)<1},e.prototype.join=function(t){var r,n=this,i=[],s=[];function a(e){if(null!==e){if(r){var t=e.infos[0],n=new Array(t.indent+1).join(" "),a=i.length,o=Math.max(r.indent,0)+r.sliceEnd-r.sliceStart;r.line=r.line.slice(0,r.sliceEnd)+n+t.line.slice(t.sliceStart,t.sliceEnd),r.locked=r.locked||t.locked,r.sliceEnd=r.line.length,e.mappings.length>0&&e.mappings.forEach((function(e){s.push(e.add(a,o))}))}else e.mappings.length>0&&s.push.apply(s,e.mappings);e.infos.forEach((function(e,t){(!r||t>0)&&(r=wc.__assign({},e),i.push(r))}))}}if(t.map((function(e){var t=p(e);return t.isEmpty()?null:t})).forEach((function(e,t){n.isEmpty()?a(e):function(e,t){t>0&&a(n),a(e)}(e,t)})),i.length<1)return f;var o=new e(i);return o.mappings=s,o},e.prototype.concat=function(){for(var e=[],t=0;t0);var a=Math.ceil(n/t)*t;a===n?n+=t:n=a;break;case 11:case 12:case 13:case 65279:break;case 32:default:n+=1}return n}t.countSpaces=u;var l=/^\s*/,c=/\u000D\u000A|\u000D(?!\u000A)|\u000A|\u2028|\u2029/;function p(e,t){if(e instanceof s)return e;e+="";var n=t&&t.tabWidth,i=e.indexOf("\t")<0,p=!t&&i&&e.length<=10;if(r.default.ok(n||i,"No tab width specified but encountered tabs in string\n"+e),p&&o.call(a,e))return a[e];var h=new s(e.split(c).map((function(e){var t=l.exec(e)[0];return{line:e,indent:u(t,n),locked:!1,sliceStart:t.length,sliceEnd:e.length}})),Mp.normalize(t).sourceFileName);return p&&(a[e]=h),h}function h(e){return!/\S/.test(e)}function d(e,t,n){var i=e.sliceStart,s=e.sliceEnd,a=Math.max(e.indent,0),o=a+s-i;return void 0===n&&(n=o),t=Math.max(t,0),n=Math.min(n,o),(n=Math.max(n,t))=0),r.default.ok(i<=s),r.default.strictEqual(o,a+s-i),e.indent===a&&e.sliceStart===i&&e.sliceEnd===s?e:{line:e.line,indent:a,locked:!1,sliceStart:i,sliceEnd:s}}t.fromString=p,t.concat=function(e){return f.join(e)};var f=p("")})),Rp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printComments=t.attach=void 0;var r=wc.__importDefault(pt),n=wc.__importStar(Zc),i=n.namedTypes,s=n.builtInTypes.array,a=n.builtInTypes.object,o=new WeakMap;function u(e,t,r){if(!e)return r;if(Fp.fixFaultyLocations(e,t),r){if(i.Node.check(e)&&i.SourceLocation.check(e.loc)){for(var l=r.length-1;l>=0;--l){var c=r[l];if(c&&c.loc&&Fp.comparePos(c.loc.end,e.loc.start)<=0)break}return r.splice(l+1,0,e),r}}else{var p=o.get(e);if(p)return p}var h;if(s.check(e))h=Object.keys(e);else{if(!a.check(e))return r;h=n.getFieldNames(e)}r||o.set(e,r=[]);l=0;for(var d=h.length;l>1,p=s[c];if(Fp.comparePos(p.loc.start,t.loc.start)<=0&&Fp.comparePos(t.loc.end,p.loc.end)<=0)return void l(t.enclosingNode=p,t,r);if(Fp.comparePos(p.loc.end,t.loc.start)<=0)n=p,a=c+1;else{if(!(Fp.comparePos(t.loc.end,p.loc.start)<=0))throw new Error("Comment location overlaps with node location");i=p,o=c}}n&&(t.precedingNode=n),i&&(t.followingNode=i)}function c(e,t){var n=e.length;if(0!==n){for(var i,s=e[0].precedingNode,a=e[0].followingNode,o=a.loc.start,u=n;u>0;--u){i=e[u-1],r.default.strictEqual(i.precedingNode,s),r.default.strictEqual(i.followingNode,a);var l=t.sliceString(i.loc.end,o);if(/\S/.test(l))break;o=i.loc.start}for(;u<=n&&(i=e[u])&&("Line"===i.type||"CommentLine"===i.type)&&i.loc.start.column>a.loc.start.column;)++u;e.forEach((function(e,t){t0){var f=i[u-1];r.default.strictEqual(f.precedingNode===e.precedingNode,f.followingNode===e.followingNode),f.followingNode!==e.followingNode&&c(i,n)}i.push(e)}else if(s)c(i,n),d(s,e);else if(o)c(i,n),h(o,e);else{if(!a)throw new Error("AST contains no nodes at all?");c(i,n),function(e,t){t.leading=!1,t.trailing=!1,p(e,t)}(a,e)}})),c(i,n),e.forEach((function(e){delete e.precedingNode,delete e.enclosingNode,delete e.followingNode}))}},t.printComments=function(e,t){var r=e.getValue(),s=t(e),a=i.Node.check(r)&&n.getFieldValue(r,"comments");if(!a||0===a.length)return s;var o=[],u=[s];return e.each((function(e){var s=e.getValue(),a=n.getFieldValue(s,"leading"),l=n.getFieldValue(s,"trailing");a||l&&!i.Statement.check(r)&&"Block"!==s.type&&"CommentBlock"!==s.type?o.push(function(e,t){var r=e.getValue();i.Comment.assert(r);var n=r.loc,s=n&&n.lines,a=[t(e)];if(r.trailing)a.push("\n");else if(s instanceof Bp.Lines){var o=s.slice(n.end,s.skipSpaces(n.end)||s.lastPos());1===o.length?a.push(o):a.push(new Array(o.length).join("\n"))}else a.push("\n");return Bp.concat(a)}(e,t)):l&&u.push(function(e,t){var r=e.getValue(e);i.Comment.assert(r);var n=r.loc,s=n&&n.lines,a=[];if(s instanceof Bp.Lines){var o=s.skipSpaces(n.start,!0)||s.firstPos(),u=s.slice(o,n.start);1===u.length?a.push(u):a.push(new Array(u.length).join("\n"))}return a.push(t(e)),Bp.concat(a)}(e,t))}),"comments"),o.push.apply(o,u),Bp.concat(o)}})),Up=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var r=wc.__importDefault(pt),n=wc.__importStar(Zc),i=n.builders,s=n.builtInTypes.object,a=n.builtInTypes.array,o=wc.__importStar(Fp);t.parse=function(e,t){t=Mp.normalize(t);var r,n,s=Bp.fromString(e,t),a=s.toString({tabWidth:t.tabWidth,reuseWhitespace:!1,useTabs:!1}),l=[],c=t.parser.parse(a,{jsx:!0,loc:!0,locations:!0,range:t.range,comment:!0,onComment:l,tolerant:o.getOption(t,"tolerant",!0),ecmaVersion:6,sourceType:o.getOption(t,"sourceType","module")}),p=Array.isArray(c.tokens)?c.tokens:Op.tokenize(a,{loc:!0});delete c.tokens,p.forEach((function(e){"string"!=typeof e.value&&(e.value=s.sliceString(e.loc.start,e.loc.end))})),Array.isArray(c.comments)&&(l=c.comments,delete c.comments),c.loc?o.fixFaultyLocations(c,s):c.loc={start:s.firstPos(),end:s.lastPos()},c.loc.lines=s,c.loc.indent=0,"Program"===c.type?(n=c,(r=i.file(c,t.sourceFileName||null)).loc={start:s.firstPos(),end:s.lastPos(),lines:s,indent:0}):"File"===c.type&&(n=(r=c).program),t.tokens&&(r.tokens=p);var h=o.getTrueLoc({type:n.type,loc:n.loc,body:[],comments:l},s);return n.loc.start=h.start,n.loc.end=h.end,Rp.attach(l,n.body.length?r.program:r,s),new u(s,p).copy(r)};var u=function e(t,n){r.default.ok(this instanceof e),this.lines=t,this.tokens=n,this.startTokenIndex=0,this.endTokenIndex=n.length,this.indent=0,this.seen=new Map},l=u.prototype;l.copy=function(e){if(this.seen.has(e))return this.seen.get(e);if(a.check(e)){var t=new Array(e.length);return this.seen.set(e,t),e.forEach((function(e,r){t[r]=this.copy(e)}),this),t}if(!s.check(e))return e;o.fixFaultyLocations(e,this.lines);var r=Object.create(Object.getPrototypeOf(e),{original:{value:e,configurable:!1,enumerable:!1,writable:!0}});this.seen.set(e,r);var n=e.loc,i=this.indent,u=i,l=this.startTokenIndex,c=this.endTokenIndex;n&&(("Block"===e.type||"Line"===e.type||"CommentBlock"===e.type||"CommentLine"===e.type||this.lines.isPrecededOnlyByWhitespace(n.start))&&(u=this.indent=n.start.column),n.lines=this.lines,n.tokens=this.tokens,n.indent=u,this.findTokenRange(n));for(var p=Object.keys(e),h=p.length,d=0;d0;){var t=e.tokens[this.startTokenIndex];if(!(o.comparePos(e.start,t.loc.start)<0))break;--this.startTokenIndex}for(;this.endTokenIndexthis.startTokenIndex;){t=e.tokens[this.endTokenIndex-1];if(!(o.comparePos(e.end,t.loc.end)<0))break;--this.endTokenIndex}e.end.token=this.endTokenIndex}})),Vp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=wc.__importDefault(pt),n=wc.__importStar(Zc),i=wc.__importStar(Fp),s=n.namedTypes,a=n.builtInTypes.array,o=n.builtInTypes.number,u={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach((function(e,t){e.forEach((function(e){u[e]=t}))}));var l=function e(t){r.default.ok(this instanceof e),this.stack=[t]},c=l.prototype;function p(e,t){for(var r=e.stack,n=r.length-1;n>=0;n-=2){var i=r[n];if(s.Node.check(i)&&--t<0)return i}return null}function h(e){return s.BinaryExpression.check(e)||s.LogicalExpression.check(e)}function d(e){return!!s.CallExpression.check(e)||(a.check(e)?e.some(d):!!s.Node.check(e)&&n.someField(e,(function(e,t){return d(t)})))}l.from=function(e){if(e instanceof l)return e.copy();if(e instanceof n.NodePath){for(var t=Object.create(l.prototype),r=[e.value],i=void 0;i=e.parentPath;e=i)r.push(e.name,i.value);return t.stack=r.reverse(),t}return new l(e)},c.copy=function(){var e=Object.create(l.prototype);return e.stack=this.stack.slice(0),e},c.getName=function(){var e=this.stack,t=e.length;return t>1?e[t-2]:null},c.getValue=function(){var e=this.stack;return e[e.length-1]},c.valueIsDuplicate=function(){var e=this.stack,t=e.length-1;return e.lastIndexOf(e[t],t-1)>=0},c.getNode=function(e){return void 0===e&&(e=0),p(this,~~e)},c.getParentNode=function(e){return void 0===e&&(e=0),p(this,1+~~e)},c.getRootValue=function(){var e=this.stack;return e.length%2==0?e[1]:e[0]},c.call=function(e){for(var t=this.stack,r=t.length,n=t[r-1],i=arguments.length,s=1;s0){var n=r[t.start.token-1];if(n){var s=this.getRootValue().loc;if(i.comparePos(s.start,n.loc.start)<=0)return n}}return null},c.getNextToken=function(e){var t=(e=e||this.getNode())&&e.loc,r=t&&t.tokens;if(r&&t.end.tokenp)return!0;if(l===p&&"right"===i)return r.default.strictEqual(n.right,t),!0;break;default:return!1}break;case"SequenceExpression":switch(n.type){case"ReturnStatement":case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==i;default:return!0}case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"NullableTypeAnnotation"===n.type;case"Literal":return"MemberExpression"===n.type&&o.check(t.value)&&"object"===i&&n.object===t;case"NumericLiteral":return"MemberExpression"===n.type&&"object"===i&&n.object===t;case"YieldExpression":case"AwaitExpression":case"AssignmentExpression":case"ConditionalExpression":switch(n.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":case"NewExpression":return"callee"===i&&n.callee===t;case"ConditionalExpression":return"test"===i&&n.test===t;case"MemberExpression":return"object"===i&&n.object===t;default:return!1}case"ArrowFunctionExpression":return!(!s.CallExpression.check(n)||"callee"!==i||n.callee!==t)||(!(!s.MemberExpression.check(n)||"object"!==i||n.object!==t)||(!(!s.TSAsExpression||!s.TSAsExpression.check(n)||"expression"!==i||n.expression!==t)||h(n)));case"ObjectExpression":if("ArrowFunctionExpression"===n.type&&"body"===i&&n.body===t)return!0;break;case"TSAsExpression":if("ArrowFunctionExpression"===n.type&&"body"===i&&n.body===t&&"ObjectExpression"===t.expression.type)return!0;break;case"CallExpression":if("declaration"===i&&s.ExportDefaultDeclaration.check(n)&&s.FunctionExpression.check(t.callee))return!0}return"NewExpression"===n.type&&"callee"===i&&n.callee===t?d(t):!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())},c.canBeFirstInStatement=function(){var e=this.getNode();return!s.FunctionExpression.check(e)&&(!s.ObjectExpression.check(e)&&!s.ClassExpression.check(e))},c.firstInStatement=function(){for(var e,t,n,i,a=this.stack,o=a.length-1;o>=0;o-=2)if(s.Node.check(a[o])&&(n=e,i=t,e=a[o-1],t=a[o]),t&&i){if(s.BlockStatement.check(t)&&"body"===e&&0===n)return r.default.strictEqual(t.body[0],i),!0;if(s.ExpressionStatement.check(t)&&"expression"===n)return r.default.strictEqual(t.expression,i),!0;if(s.AssignmentExpression.check(t)&&"left"===n)return r.default.strictEqual(t.left,i),!0;if(s.ArrowFunctionExpression.check(t)&&"body"===n)return r.default.strictEqual(t.body,i),!0;if(s.SequenceExpression.check(t)&&"expressions"===e&&0===n)r.default.strictEqual(t.expressions[0],i);else if(s.CallExpression.check(t)&&"callee"===n)r.default.strictEqual(t.callee,i);else if(s.MemberExpression.check(t)&&"object"===n)r.default.strictEqual(t.object,i);else if(s.ConditionalExpression.check(t)&&"test"===n)r.default.strictEqual(t.test,i);else if(h(t)&&"left"===n)r.default.strictEqual(t.left,i);else{if(!s.UnaryExpression.check(t)||t.prefix||"argument"!==n)return!1;r.default.strictEqual(t.argument,i)}}return!0},t.default=l})),zp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getReprinter=t.Patcher=void 0;var r=wc.__importDefault(pt),n=wc.__importStar(Bp),i=wc.__importStar(Zc),s=i.namedTypes.Printable,a=i.namedTypes.Expression,o=i.namedTypes.ReturnStatement,u=i.namedTypes.SourceLocation,l=wc.__importDefault(Vp),c=i.builtInTypes.object,p=i.builtInTypes.array,h=i.builtInTypes.string,d=/[0-9a-z_$]/i,f=function e(t){r.default.ok(this instanceof e),r.default.ok(t instanceof n.Lines);var i=[];this.replace=function(e,t){h.check(t)&&(t=n.fromString(t)),i.push({lines:t,start:e.start,end:e.end})},this.get=function(e){var s=(e=e||{start:{line:1,column:0},end:{line:t.length,column:t.getLineLength(t.length)}}).start,a=[];function o(e,n){r.default.ok(Fp.comparePos(e,n)<=0),a.push(t.slice(e,n))}return i.sort((function(e,t){return Fp.comparePos(e.start,t.start)})).forEach((function(e){Fp.comparePos(s,e.start)>0||(o(s,e.start),a.push(e.lines),s=e.end)})),o(s,e.end),n.concat(a)}};t.Patcher=f;var m=f.prototype;function y(e){var t=[];return e.comments&&e.comments.length>0&&e.comments.forEach((function(e){(e.leading||e.trailing)&&t.push(e)})),t}function g(e,t,r){var n=e.getValue();return n===t.getValue()||(p.check(n)?b(e,t,r):!!c.check(n)&&function(e,t,r){var n=e.getValue();if(c.assert(n),null===n.original)return!1;var i=t.getValue();if(!c.check(i))return!1;if(n===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;if(s.check(n)){if(!s.check(i))return!1;var o=e.getParentNode(),u=t.getParentNode();if(null!==u&&"FunctionTypeAnnotation"===u.type&&null!==o&&"FunctionTypeAnnotation"===o.type){var l=1!==u.params.length||!!u.params[0].name,p=1!==o.params.length||!!o.params[0].name;if(!l&&p)return!1}if(n.type===i.type){var h=[];if(v(e,t,h))r.push.apply(r,h);else{if(!i.loc)return!1;r.push({oldPath:t.copy(),newPath:e.copy()})}return!0}return!!(a.check(n)&&a.check(i)&&i.loc)&&(r.push({oldPath:t.copy(),newPath:e.copy()}),!0)}return v(e,t,r)}(e,t,r))}function b(e,t,r){var n=e.getValue(),i=t.getValue();if(n===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;p.assert(n);var s=n.length;if(!p.check(i)||i.length!==s)return!1;for(var a=0;au)}m.tryToReprintComments=function(e,t,n){var i=this;if(!e.comments&&!t.comments)return!0;var s=l.default.from(e),a=l.default.from(t);s.stack.push("comments",y(e)),a.stack.push("comments",y(t));var o=[],u=b(s,a,o);return u&&o.length>0&&o.forEach((function(e){var t=e.oldPath.getValue();r.default.ok(t.leading||t.trailing),i.replace(t.loc,n(e.newPath).indentTail(t.loc.indent))})),u},m.deleteComments=function(e){if(e.comments){var t=this;e.comments.forEach((function(r){r.leading?t.replace({start:r.loc.start,end:e.loc.lines.skipSpaces(r.loc.end,!1,!1)},""):r.trailing&&t.replace({start:e.loc.lines.skipSpaces(r.loc.start,!0,!1),end:r.loc.end},"")}))}},t.getReprinter=function(e){r.default.ok(e instanceof l.default);var t=e.getValue();if(s.check(t)){var i=t.original,a=i&&i.loc,o=a&&a.lines,c=[];if(o&&function(e,t){var n=e.getValue();s.assert(n);var i=n.original;if(s.assert(i),r.default.deepEqual(t,[]),n.type!==i.type)return!1;var a=new l.default(i),o=v(e,a,t);o||(t.length=0);return o}(e,c))return function(t){var r=new f(o);c.forEach((function(e){var i=e.newPath.getValue(),s=e.oldPath.getValue();u.assert(s.loc,!0);var a=!r.tryToReprintComments(i,s,t);a&&r.deleteComments(s);var l=t(e.newPath,{includeComments:a,avoidRootParens:s.type===i.type&&e.oldPath.hasParens()}).indentTail(s.loc.indent),c=function(e,t,r){var n=Fp.copyPos(t.start),i=e.prevPos(n)&&e.charAt(n),s=r.charAt(r.firstPos());return i&&d.test(i)&&s&&d.test(s)}(o,s.loc,l),p=function(e,t,r){var n=e.charAt(t.end),i=r.lastPos(),s=r.prevPos(i)&&r.charAt(i);return s&&d.test(s)&&n&&d.test(n)}(o,s.loc,l);if(c||p){var h=[];c&&h.push(" "),h.push(l),p&&h.push(" "),l=n.concat(h)}r.replace(s.loc,l)}));var s=r.get(a).indentTail(-i.loc.indent);return e.needsParens()?n.concat(["(",s,")"]):s}}}})),Wp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Printer=void 0;var r=wc.__importDefault(pt),n=wc.__importStar(Zc),i=n.namedTypes,s=n.builtInTypes.string,a=n.builtInTypes.object,o=wc.__importDefault(Vp),u=wc.__importStar(Fp),l=function e(t,n){r.default.ok(this instanceof e),s.assert(t),this.code=t,n&&(a.assert(n),this.map=n)},c=!1;l.prototype.toString=function(){return c||(console.warn("Deprecation warning: recast.print now returns an object with a .code property. You appear to be treating the object as a string, which might still work but is strongly discouraged."),c=!0),this.code};var p=new l("");function h(e,t,s,a){r.default.ok(e instanceof o.default);var l=e.getValue(),c=[],p=function(e,t,s){var a=e.getValue();if(!a)return Bp.fromString("");if("string"==typeof a)return Bp.fromString(a,t);i.Printable.assert(a);var o=[];switch(a.type){case"File":return e.call(s,"program");case"Program":return a.directives&&e.each((function(e){o.push(s(e),";\n")}),"directives"),a.interpreter&&o.push(e.call(s,"interpreter")),o.push(e.call((function(e){return d(e,t,s)}),"body")),Bp.concat(o);case"Noop":case"EmptyStatement":return Bp.fromString("");case"ExpressionStatement":return Bp.concat([e.call(s,"expression"),";"]);case"ParenthesizedExpression":return Bp.concat(["(",e.call(s,"expression"),")"]);case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":return Bp.fromString(" ").join([e.call(s,"left"),a.operator,e.call(s,"right")]);case"AssignmentPattern":return Bp.concat([e.call(s,"left")," = ",e.call(s,"right")]);case"MemberExpression":case"OptionalMemberExpression":o.push(e.call(s,"object"));var l=e.call(s,"property"),c=n.getFieldValue(a,"optional");return a.computed?o.push(c?"?.[":"[",l,"]"):o.push(c?"?.":".",l),Bp.concat(o);case"ChainExpression":return e.call(s,"expression");case"MetaProperty":return Bp.concat([e.call(s,"meta"),".",e.call(s,"property")]);case"BindExpression":return a.object&&o.push(e.call(s,"object")),o.push("::",e.call(s,"callee")),Bp.concat(o);case"Path":return Bp.fromString(".").join(a.body);case"Identifier":return Bp.concat([Bp.fromString(a.name,t),a.optional?"?":"",e.call(s,"typeAnnotation")]);case"SpreadElement":case"SpreadElementPattern":case"RestProperty":case"SpreadProperty":case"SpreadPropertyPattern":case"ObjectTypeSpreadProperty":case"RestElement":return Bp.concat(["...",e.call(s,"argument"),e.call(s,"typeAnnotation")]);case"FunctionDeclaration":case"FunctionExpression":case"TSDeclareFunction":return a.declare&&o.push("declare "),a.async&&o.push("async "),o.push("function"),a.generator&&o.push("*"),a.id?o.push(" ",e.call(s,"id"),e.call(s,"typeParameters")):a.typeParameters&&o.push(e.call(s,"typeParameters")),o.push("(",g(e,t,s),")",e.call(s,"returnType")),a.body&&o.push(" ",e.call(s,"body")),Bp.concat(o);case"ArrowFunctionExpression":return a.async&&o.push("async "),a.typeParameters&&o.push(e.call(s,"typeParameters")),t.arrowParensAlways||1!==a.params.length||a.rest||"Identifier"!==a.params[0].type||a.params[0].typeAnnotation||a.returnType?o.push("(",g(e,t,s),")",e.call(s,"returnType")):o.push(e.call(s,"params",0)),o.push(" => ",e.call(s,"body")),Bp.concat(o);case"MethodDefinition":return m(e,t,s);case"YieldExpression":return o.push("yield"),a.delegate&&o.push("*"),a.argument&&o.push(" ",e.call(s,"argument")),Bp.concat(o);case"AwaitExpression":return o.push("await"),a.all&&o.push("*"),a.argument&&o.push(" ",e.call(s,"argument")),Bp.concat(o);case"ModuleDeclaration":return o.push("module",e.call(s,"id")),a.source?(r.default.ok(!a.body),o.push("from",e.call(s,"source"))):o.push(e.call(s,"body")),Bp.fromString(" ").join(o);case"ImportSpecifier":return a.importKind&&"value"!==a.importKind&&o.push(a.importKind+" "),a.imported?(o.push(e.call(s,"imported")),a.local&&a.local.name!==a.imported.name&&o.push(" as ",e.call(s,"local"))):a.id&&(o.push(e.call(s,"id")),a.name&&o.push(" as ",e.call(s,"name"))),Bp.concat(o);case"ExportSpecifier":return a.local?(o.push(e.call(s,"local")),a.exported&&a.exported.name!==a.local.name&&o.push(" as ",e.call(s,"exported"))):a.id&&(o.push(e.call(s,"id")),a.name&&o.push(" as ",e.call(s,"name"))),Bp.concat(o);case"ExportBatchSpecifier":return Bp.fromString("*");case"ImportNamespaceSpecifier":return o.push("* as "),a.local?o.push(e.call(s,"local")):a.id&&o.push(e.call(s,"id")),Bp.concat(o);case"ImportDefaultSpecifier":return a.local?e.call(s,"local"):e.call(s,"id");case"TSExportAssignment":return Bp.concat(["export = ",e.call(s,"expression")]);case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return b(e,t,s);case"ExportAllDeclaration":return o.push("export *"),a.exported&&o.push(" as ",e.call(s,"exported")),o.push(" from ",e.call(s,"source"),";"),Bp.concat(o);case"TSNamespaceExportDeclaration":return o.push("export as namespace ",e.call(s,"id")),P(Bp.concat(o));case"ExportNamespaceSpecifier":return Bp.concat(["* as ",e.call(s,"exported")]);case"ExportDefaultSpecifier":return e.call(s,"exported");case"Import":return Bp.fromString("import",t);case"ImportExpression":return Bp.concat(["import(",e.call(s,"source"),")"]);case"ImportDeclaration":if(o.push("import "),a.importKind&&"value"!==a.importKind&&o.push(a.importKind+" "),a.specifiers&&a.specifiers.length>0){var p=[],h=[];if(e.each((function(e){var t=e.getValue();"ImportSpecifier"===t.type?h.push(s(e)):"ImportDefaultSpecifier"!==t.type&&"ImportNamespaceSpecifier"!==t.type||p.push(s(e))}),"specifiers"),p.forEach((function(e,t){t>0&&o.push(", "),o.push(e)})),h.length>0)(ge=Bp.fromString(", ").join(h)).getLineLength(1)>t.wrapColumn&&(ge=Bp.concat([Bp.fromString(",\n").join(h).indent(t.tabWidth),","])),p.length>0&&o.push(", "),ge.length>1?o.push("{\n",ge,"\n}"):t.objectCurlySpacing?o.push("{ ",ge," }"):o.push("{",ge,"}");o.push(" from ")}return o.push(e.call(s,"source"),";"),Bp.concat(o);case"BlockStatement":var f=e.call((function(e){return d(e,t,s)}),"body");return!f.isEmpty()||a.directives&&0!==a.directives.length?(o.push("{\n"),a.directives&&e.each((function(e){o.push(P(s(e).indent(t.tabWidth)),a.directives.length>1||!f.isEmpty()?"\n":"")}),"directives"),o.push(f.indent(t.tabWidth)),o.push("\n}"),Bp.concat(o)):Bp.fromString("{}");case"ReturnStatement":if(o.push("return"),a.argument){var D=e.call(s,"argument");D.startsWithComment()||D.length>1&&i.JSXElement&&i.JSXElement.check(a.argument)?o.push(" (\n",D.indent(t.tabWidth),"\n)"):o.push(" ",D)}return o.push(";"),Bp.concat(o);case"CallExpression":case"OptionalCallExpression":return o.push(e.call(s,"callee")),a.typeParameters&&o.push(e.call(s,"typeParameters")),a.typeArguments&&o.push(e.call(s,"typeArguments")),n.getFieldValue(a,"optional")&&o.push("?."),o.push(y(e,t,s)),Bp.concat(o);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":var T="ObjectTypeAnnotation"===a.type,w=t.flowObjectCommas?",":T?";":",",C=[],k=!1;T&&(C.push("indexers","callProperties"),null!=a.internalSlots&&C.push("internalSlots")),C.push("properties");var _=0;C.forEach((function(e){_+=a[e].length}));var I=T&&1===_||0===_,F=a.exact?"{|":"{",O=a.exact?"|}":"}";o.push(I?F:F+"\n");var N=o.length-1,j=0;if(C.forEach((function(r){e.each((function(e){var r=s(e);I||(r=r.indent(t.tabWidth));var n=!T&&r.length>1;n&&k&&o.push("\n"),o.push(r),j<_-1?(o.push(w+(n?"\n\n":"\n")),k=!n):(1!==_&&T||!I&&u.isTrailingCommaEnabled(t,"objects")&&"RestElement"!==e.getValue().type)&&o.push(w),j++}),r)})),a.inexact){var M=Bp.fromString("...",t);I?(_>0&&o.push(w," "),o.push(M)):o.push("\n",M.indent(t.tabWidth))}return o.push(I?O:"\n"+O),0!==j&&I&&t.objectCurlySpacing&&(o[N]=F+" ",o[o.length-1]=" "+O),a.typeAnnotation&&o.push(e.call(s,"typeAnnotation")),Bp.concat(o);case"PropertyPattern":return Bp.concat([e.call(s,"key"),": ",e.call(s,"pattern")]);case"ObjectProperty":case"Property":if(a.method||"get"===a.kind||"set"===a.kind)return m(e,t,s);if(a.shorthand&&"AssignmentPattern"===a.value.type)return e.call(s,"value");var L=e.call(s,"key");return a.computed?o.push("[",L,"]"):o.push(L),a.shorthand&&a.key.name===a.value.name||o.push(": ",e.call(s,"value")),Bp.concat(o);case"ClassMethod":case"ObjectMethod":case"ClassPrivateMethod":case"TSDeclareMethod":return m(e,t,s);case"PrivateName":return Bp.concat(["#",e.call(s,"id")]);case"Decorator":return Bp.concat(["@",e.call(s,"expression")]);case"ArrayExpression":case"ArrayPattern":var B=a.elements.length,R=e.map(s,"elements"),U=Bp.fromString(", ").join(R).getLineLength(1)<=t.wrapColumn;return U?t.arrayBracketSpacing?o.push("[ "):o.push("["):o.push("[\n"),e.each((function(e){var r=e.getName();if(e.getValue()){var n=R[r];U?r>0&&o.push(" "):n=n.indent(t.tabWidth),o.push(n),(r1?o.push(Bp.fromString(",\n").join(z).indentTail(a.kind.length+1)):o.push(z[0]);var W=e.getParentNode();return i.ForStatement.check(W)||i.ForInStatement.check(W)||i.ForOfStatement&&i.ForOfStatement.check(W)||i.ForAwaitStatement&&i.ForAwaitStatement.check(W)||o.push(";"),Bp.concat(o);case"VariableDeclarator":return a.init?Bp.fromString(" = ").join([e.call(s,"id"),e.call(s,"init")]):e.call(s,"id");case"WithStatement":return Bp.concat(["with (",e.call(s,"object"),") ",e.call(s,"body")]);case"IfStatement":var q=E(e.call(s,"consequent"),t);return o.push("if (",e.call(s,"test"),")",q),a.alternate&&o.push(S(q)?" else":"\nelse",E(e.call(s,"alternate"),t)),Bp.concat(o);case"ForStatement":var X=e.call(s,"init"),J=X.length>1?";\n":"; ",$="for (",K=Bp.fromString(J).join([X,e.call(s,"test"),e.call(s,"update")]).indentTail($.length),Y=Bp.concat([$,K,")"]),H=E(e.call(s,"body"),t);return o.push(Y),Y.length>1&&(o.push("\n"),H=H.trimLeft()),o.push(H),Bp.concat(o);case"WhileStatement":return Bp.concat(["while (",e.call(s,"test"),")",E(e.call(s,"body"),t)]);case"ForInStatement":return Bp.concat([a.each?"for each (":"for (",e.call(s,"left")," in ",e.call(s,"right"),")",E(e.call(s,"body"),t)]);case"ForOfStatement":case"ForAwaitStatement":return o.push("for "),(a.await||"ForAwaitStatement"===a.type)&&o.push("await "),o.push("(",e.call(s,"left")," of ",e.call(s,"right"),")",E(e.call(s,"body"),t)),Bp.concat(o);case"DoWhileStatement":var G=Bp.concat(["do",E(e.call(s,"body"),t)]);return o.push(G),S(G)?o.push(" while"):o.push("\nwhile"),o.push(" (",e.call(s,"test"),");"),Bp.concat(o);case"DoExpression":var Q=e.call((function(e){return d(e,t,s)}),"body");return Bp.concat(["do {\n",Q.indent(t.tabWidth),"\n}"]);case"BreakStatement":return o.push("break"),a.label&&o.push(" ",e.call(s,"label")),o.push(";"),Bp.concat(o);case"ContinueStatement":return o.push("continue"),a.label&&o.push(" ",e.call(s,"label")),o.push(";"),Bp.concat(o);case"LabeledStatement":return Bp.concat([e.call(s,"label"),":\n",e.call(s,"body")]);case"TryStatement":return o.push("try ",e.call(s,"block")),a.handler?o.push(" ",e.call(s,"handler")):a.handlers&&e.each((function(e){o.push(" ",s(e))}),"handlers"),a.finalizer&&o.push(" finally ",e.call(s,"finalizer")),Bp.concat(o);case"CatchClause":return o.push("catch "),a.param&&o.push("(",e.call(s,"param")),a.guard&&o.push(" if ",e.call(s,"guard")),a.param&&o.push(") "),o.push(e.call(s,"body")),Bp.concat(o);case"ThrowStatement":return Bp.concat(["throw ",e.call(s,"argument"),";"]);case"SwitchStatement":return Bp.concat(["switch (",e.call(s,"discriminant"),") {\n",Bp.fromString("\n").join(e.map(s,"cases")),"\n}"]);case"SwitchCase":return a.test?o.push("case ",e.call(s,"test"),":"):o.push("default:"),a.consequent.length>0&&o.push("\n",e.call((function(e){return d(e,t,s)}),"consequent").indent(t.tabWidth)),Bp.concat(o);case"DebuggerStatement":return Bp.fromString("debugger;");case"JSXAttribute":return o.push(e.call(s,"name")),a.value&&o.push("=",e.call(s,"value")),Bp.concat(o);case"JSXIdentifier":return Bp.fromString(a.name,t);case"JSXNamespacedName":return Bp.fromString(":").join([e.call(s,"namespace"),e.call(s,"name")]);case"JSXMemberExpression":return Bp.fromString(".").join([e.call(s,"object"),e.call(s,"property")]);case"JSXSpreadAttribute":return Bp.concat(["{...",e.call(s,"argument"),"}"]);case"JSXSpreadChild":return Bp.concat(["{...",e.call(s,"expression"),"}"]);case"JSXExpressionContainer":return Bp.concat(["{",e.call(s,"expression"),"}"]);case"JSXElement":case"JSXFragment":var Z="opening"+("JSXElement"===a.type?"Element":"Fragment"),ee="closing"+("JSXElement"===a.type?"Element":"Fragment"),te=e.call(s,Z);if(a[Z].selfClosing)return r.default.ok(!a[ee],"unexpected "+ee+" element in self-closing "+a.type),te;var re=Bp.concat(e.map((function(e){var t=e.getValue();if(i.Literal.check(t)&&"string"==typeof t.value){if(/\S/.test(t.value))return t.value.replace(/^\s+|\s+$/g,"");if(/\n/.test(t.value))return"\n"}return s(e)}),"children")).indentTail(t.tabWidth),ne=e.call(s,ee);return Bp.concat([te,re,ne]);case"JSXOpeningElement":o.push("<",e.call(s,"name"));var ie=[];e.each((function(e){ie.push(" ",s(e))}),"attributes");var se=Bp.concat(ie);return(se.length>1||se.getLineLength(1)>t.wrapColumn)&&(ie.forEach((function(e,t){" "===e&&(r.default.strictEqual(t%2,0),ie[t]="\n")})),se=Bp.concat(ie).indentTail(t.tabWidth)),o.push(se,a.selfClosing?" />":">"),Bp.concat(o);case"JSXClosingElement":return Bp.concat(["",e.call(s,"name"),">"]);case"JSXOpeningFragment":return Bp.fromString("<>");case"JSXClosingFragment":return Bp.fromString(">");case"JSXText":return Bp.fromString(a.value,t);case"JSXEmptyExpression":return Bp.fromString("");case"TypeAnnotatedIdentifier":return Bp.concat([e.call(s,"annotation")," ",e.call(s,"identifier")]);case"ClassBody":return 0===a.body.length?Bp.fromString("{}"):Bp.concat(["{\n",e.call((function(e){return d(e,t,s)}),"body").indent(t.tabWidth),"\n}"]);case"ClassPropertyDefinition":return o.push("static ",e.call(s,"definition")),i.MethodDefinition.check(a.definition)||o.push(";"),Bp.concat(o);case"ClassProperty":a.declare&&o.push("declare ");var ae=a.accessibility||a.access;"string"==typeof ae&&o.push(ae," "),a.static&&o.push("static "),a.abstract&&o.push("abstract "),a.readonly&&o.push("readonly ");L=e.call(s,"key");return a.computed&&(L=Bp.concat(["[",L,"]"])),a.variance&&(L=Bp.concat([x(e,s),L])),o.push(L),a.optional&&o.push("?"),a.typeAnnotation&&o.push(e.call(s,"typeAnnotation")),a.value&&o.push(" = ",e.call(s,"value")),o.push(";"),Bp.concat(o);case"ClassPrivateProperty":return a.static&&o.push("static "),o.push(e.call(s,"key")),a.typeAnnotation&&o.push(e.call(s,"typeAnnotation")),a.value&&o.push(" = ",e.call(s,"value")),o.push(";"),Bp.concat(o);case"ClassDeclaration":case"ClassExpression":return a.declare&&o.push("declare "),a.abstract&&o.push("abstract "),o.push("class"),a.id&&o.push(" ",e.call(s,"id")),a.typeParameters&&o.push(e.call(s,"typeParameters")),a.superClass&&o.push(" extends ",e.call(s,"superClass"),e.call(s,"superTypeParameters")),a.implements&&a.implements.length>0&&o.push(" implements ",Bp.fromString(", ").join(e.map(s,"implements"))),o.push(" ",e.call(s,"body")),Bp.concat(o);case"TemplateElement":return Bp.fromString(a.value.raw,t).lockIndentTail();case"TemplateLiteral":var oe=e.map(s,"expressions");return o.push("`"),e.each((function(e){var t=e.getName();o.push(s(e)),t0&&o.push(" "):n=n.indent(t.tabWidth),o.push(n),(r0&&o.push(" extends ",Bp.fromString(", ").join(e.map(s,"extends"))),o.push(" ",e.call(s,"body")),Bp.concat(o);case"DeclareClass":return v(e,["class ",e.call(s,"id")," ",e.call(s,"body")]);case"DeclareFunction":return v(e,["function ",e.call(s,"id"),";"]);case"DeclareModule":return v(e,["module ",e.call(s,"id")," ",e.call(s,"body")]);case"DeclareModuleExports":return v(e,["module.exports",e.call(s,"typeAnnotation")]);case"DeclareVariable":return v(e,["var ",e.call(s,"id"),";"]);case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return Bp.concat(["declare ",b(e,t,s)]);case"EnumDeclaration":return Bp.concat(["enum ",e.call(s,"id"),e.call(s,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":return("EnumSymbolBody"===a.type||a.explicitType)&&o.push(" of ",a.type.slice(4,-4).toLowerCase()),o.push(" {\n",Bp.fromString("\n").join(e.map(s,"members")).indent(t.tabWidth),"\n}"),Bp.concat(o);case"EnumDefaultedMember":return Bp.concat([e.call(s,"id"),","]);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return Bp.concat([e.call(s,"id")," = ",e.call(s,"init"),","]);case"InferredPredicate":return Bp.fromString("%checks",t);case"DeclaredPredicate":return Bp.concat(["%checks(",e.call(s,"value"),")"]);case"FunctionTypeAnnotation":var ce=e.getParentNode(0),pe=!(i.ObjectTypeCallProperty.check(ce)||i.ObjectTypeInternalSlot.check(ce)&&ce.method||i.DeclareFunction.check(e.getParentNode(2)));pe&&!i.FunctionTypeParam.check(ce)&&!i.TypeAlias.check(ce)&&o.push(": ");var he=1!==a.params.length||a.params[0].name;return o.push(he?"(":"",g(e,t,s),he?")":""),a.returnType&&o.push(pe?" => ":": ",e.call(s,"returnType")),Bp.concat(o);case"FunctionTypeParam":var de=e.call(s,"name");return o.push(de),a.optional&&o.push("?"),de.infos[0].line&&o.push(": "),o.push(e.call(s,"typeAnnotation")),Bp.concat(o);case"GenericTypeAnnotation":return Bp.concat([e.call(s,"id"),e.call(s,"typeParameters")]);case"DeclareInterface":o.push("declare ");case"InterfaceDeclaration":case"TSInterfaceDeclaration":return a.declare&&o.push("declare "),o.push("interface ",e.call(s,"id"),e.call(s,"typeParameters")," "),a.extends&&a.extends.length>0&&o.push("extends ",Bp.fromString(", ").join(e.map(s,"extends"))," "),a.body&&o.push(e.call(s,"body")),Bp.concat(o);case"ClassImplements":case"InterfaceExtends":return Bp.concat([e.call(s,"id"),e.call(s,"typeParameters")]);case"IntersectionTypeAnnotation":return Bp.fromString(" & ").join(e.map(s,"types"));case"NullableTypeAnnotation":return Bp.concat(["?",e.call(s,"typeAnnotation")]);case"NullLiteralTypeAnnotation":return Bp.fromString("null",t);case"ThisTypeAnnotation":return Bp.fromString("this",t);case"NumberTypeAnnotation":return Bp.fromString("number",t);case"ObjectTypeCallProperty":return e.call(s,"value");case"ObjectTypeIndexer":return a.static&&o.push("static "),o.push(x(e,s),"["),a.id&&o.push(e.call(s,"id"),": "),o.push(e.call(s,"key"),"]: ",e.call(s,"value")),Bp.concat(o);case"ObjectTypeProperty":return Bp.concat([x(e,s),e.call(s,"key"),a.optional?"?":"",": ",e.call(s,"value")]);case"ObjectTypeInternalSlot":return Bp.concat([a.static?"static ":"","[[",e.call(s,"id"),"]]",a.optional?"?":"","FunctionTypeAnnotation"!==a.value.type?": ":"",e.call(s,"value")]);case"QualifiedTypeIdentifier":return Bp.concat([e.call(s,"qualification"),".",e.call(s,"id")]);case"StringLiteralTypeAnnotation":return Bp.fromString(A(a.value,t),t);case"NumberLiteralTypeAnnotation":case"NumericLiteralTypeAnnotation":return r.default.strictEqual(typeof a.value,"number"),Bp.fromString(JSON.stringify(a.value),t);case"BigIntLiteralTypeAnnotation":return Bp.fromString(a.raw,t);case"StringTypeAnnotation":return Bp.fromString("string",t);case"DeclareTypeAlias":o.push("declare ");case"TypeAlias":return Bp.concat(["type ",e.call(s,"id"),e.call(s,"typeParameters")," = ",e.call(s,"right"),";"]);case"DeclareOpaqueType":o.push("declare ");case"OpaqueType":return o.push("opaque type ",e.call(s,"id"),e.call(s,"typeParameters")),a.supertype&&o.push(": ",e.call(s,"supertype")),a.impltype&&o.push(" = ",e.call(s,"impltype")),o.push(";"),Bp.concat(o);case"TypeCastExpression":return Bp.concat(["(",e.call(s,"expression"),e.call(s,"typeAnnotation"),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":return Bp.concat(["<",Bp.fromString(", ").join(e.map(s,"params")),">"]);case"Variance":return"plus"===a.kind?Bp.fromString("+"):"minus"===a.kind?Bp.fromString("-"):Bp.fromString("");case"TypeParameter":return a.variance&&o.push(x(e,s)),o.push(e.call(s,"name")),a.bound&&o.push(e.call(s,"bound")),a.default&&o.push("=",e.call(s,"default")),Bp.concat(o);case"TypeofTypeAnnotation":return Bp.concat([Bp.fromString("typeof ",t),e.call(s,"argument")]);case"UnionTypeAnnotation":return Bp.fromString(" | ").join(e.map(s,"types"));case"VoidTypeAnnotation":return Bp.fromString("void",t);case"NullTypeAnnotation":return Bp.fromString("null",t);case"SymbolTypeAnnotation":return Bp.fromString("symbol",t);case"BigIntTypeAnnotation":return Bp.fromString("bigint",t);case"TSType":throw new Error("unprintable type: "+JSON.stringify(a.type));case"TSNumberKeyword":return Bp.fromString("number",t);case"TSBigIntKeyword":return Bp.fromString("bigint",t);case"TSObjectKeyword":return Bp.fromString("object",t);case"TSBooleanKeyword":return Bp.fromString("boolean",t);case"TSStringKeyword":return Bp.fromString("string",t);case"TSSymbolKeyword":return Bp.fromString("symbol",t);case"TSAnyKeyword":return Bp.fromString("any",t);case"TSVoidKeyword":return Bp.fromString("void",t);case"TSThisType":return Bp.fromString("this",t);case"TSNullKeyword":return Bp.fromString("null",t);case"TSUndefinedKeyword":return Bp.fromString("undefined",t);case"TSUnknownKeyword":return Bp.fromString("unknown",t);case"TSNeverKeyword":return Bp.fromString("never",t);case"TSArrayType":return Bp.concat([e.call(s,"elementType"),"[]"]);case"TSLiteralType":return e.call(s,"literal");case"TSUnionType":return Bp.fromString(" | ").join(e.map(s,"types"));case"TSIntersectionType":return Bp.fromString(" & ").join(e.map(s,"types"));case"TSConditionalType":return o.push(e.call(s,"checkType")," extends ",e.call(s,"extendsType")," ? ",e.call(s,"trueType")," : ",e.call(s,"falseType")),Bp.concat(o);case"TSInferType":return o.push("infer ",e.call(s,"typeParameter")),Bp.concat(o);case"TSParenthesizedType":return Bp.concat(["(",e.call(s,"typeAnnotation"),")"]);case"TSFunctionType":return Bp.concat([e.call(s,"typeParameters"),"(",g(e,t,s),") => ",e.call(s,"typeAnnotation","typeAnnotation")]);case"TSConstructorType":return Bp.concat(["new ",e.call(s,"typeParameters"),"(",g(e,t,s),") => ",e.call(s,"typeAnnotation","typeAnnotation")]);case"TSMappedType":return o.push(a.readonly?"readonly ":"","[",e.call(s,"typeParameter"),"]",a.optional?"?":""),a.typeAnnotation&&o.push(": ",e.call(s,"typeAnnotation"),";"),Bp.concat(["{\n",Bp.concat(o).indent(t.tabWidth),"\n}"]);case"TSTupleType":return Bp.concat(["[",Bp.fromString(", ").join(e.map(s,"elementTypes")),"]"]);case"TSNamedTupleMember":return o.push(e.call(s,"label")),a.optional&&o.push("?"),o.push(": ",e.call(s,"elementType")),Bp.concat(o);case"TSRestType":return Bp.concat(["...",e.call(s,"typeAnnotation")]);case"TSOptionalType":return Bp.concat([e.call(s,"typeAnnotation"),"?"]);case"TSIndexedAccessType":return Bp.concat([e.call(s,"objectType"),"[",e.call(s,"indexType"),"]"]);case"TSTypeOperator":return Bp.concat([e.call(s,"operator")," ",e.call(s,"typeAnnotation")]);case"TSTypeLiteral":return(ye=Bp.fromString(",\n").join(e.map(s,"members"))).isEmpty()?Bp.fromString("{}",t):(o.push("{\n",ye.indent(t.tabWidth),"\n}"),Bp.concat(o));case"TSEnumMember":return o.push(e.call(s,"id")),a.initializer&&o.push(" = ",e.call(s,"initializer")),Bp.concat(o);case"TSTypeQuery":return Bp.concat(["typeof ",e.call(s,"exprName")]);case"TSParameterProperty":return a.accessibility&&o.push(a.accessibility," "),a.export&&o.push("export "),a.static&&o.push("static "),a.readonly&&o.push("readonly "),o.push(e.call(s,"parameter")),Bp.concat(o);case"TSTypeReference":return Bp.concat([e.call(s,"typeName"),e.call(s,"typeParameters")]);case"TSQualifiedName":return Bp.concat([e.call(s,"left"),".",e.call(s,"right")]);case"TSAsExpression":var fe=e.call(s,"expression");return o.push(fe,Bp.fromString(" as "),e.call(s,"typeAnnotation")),Bp.concat(o);case"TSNonNullExpression":return Bp.concat([e.call(s,"expression"),"!"]);case"TSTypeAnnotation":return Bp.concat([": ",e.call(s,"typeAnnotation")]);case"TSIndexSignature":return Bp.concat([a.readonly?"readonly ":"","[",e.map(s,"parameters"),"]",e.call(s,"typeAnnotation")]);case"TSPropertySignature":return o.push(x(e,s),a.readonly?"readonly ":""),a.computed?o.push("[",e.call(s,"key"),"]"):o.push(e.call(s,"key")),o.push(a.optional?"?":"",e.call(s,"typeAnnotation")),Bp.concat(o);case"TSMethodSignature":return a.computed?o.push("[",e.call(s,"key"),"]"):o.push(e.call(s,"key")),a.optional&&o.push("?"),o.push(e.call(s,"typeParameters"),"(",g(e,t,s),")",e.call(s,"typeAnnotation")),Bp.concat(o);case"TSTypePredicate":return a.asserts&&o.push("asserts "),o.push(e.call(s,"parameterName")),a.typeAnnotation&&o.push(" is ",e.call(s,"typeAnnotation","typeAnnotation")),Bp.concat(o);case"TSCallSignatureDeclaration":return Bp.concat([e.call(s,"typeParameters"),"(",g(e,t,s),")",e.call(s,"typeAnnotation")]);case"TSConstructSignatureDeclaration":return a.typeParameters?o.push("new",e.call(s,"typeParameters")):o.push("new "),o.push("(",g(e,t,s),")",e.call(s,"typeAnnotation")),Bp.concat(o);case"TSTypeAliasDeclaration":return Bp.concat([a.declare?"declare ":"","type ",e.call(s,"id"),e.call(s,"typeParameters")," = ",e.call(s,"typeAnnotation"),";"]);case"TSTypeParameter":o.push(e.call(s,"name"));ce=e.getParentNode(0);var me=i.TSMappedType.check(ce);return a.constraint&&o.push(me?" in ":" extends ",e.call(s,"constraint")),a.default&&o.push(" = ",e.call(s,"default")),Bp.concat(o);case"TSTypeAssertion":return o.push("<",e.call(s,"typeAnnotation"),"> ",e.call(s,"expression")),Bp.concat(o);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return Bp.concat(["<",Bp.fromString(", ").join(e.map(s,"params")),">"]);case"TSEnumDeclaration":var ye;return o.push(a.declare?"declare ":"",a.const?"const ":"","enum ",e.call(s,"id")),(ye=Bp.fromString(",\n").join(e.map(s,"members"))).isEmpty()?o.push(" {}"):o.push(" {\n",ye.indent(t.tabWidth),"\n}"),Bp.concat(o);case"TSExpressionWithTypeArguments":return Bp.concat([e.call(s,"expression"),e.call(s,"typeParameters")]);case"TSInterfaceBody":var ge;return(ge=Bp.fromString(";\n").join(e.map(s,"body"))).isEmpty()?Bp.fromString("{}",t):Bp.concat(["{\n",ge.indent(t.tabWidth),";","\n}"]);case"TSImportType":return o.push("import(",e.call(s,"argument"),")"),a.qualifier&&o.push(".",e.call(s,"qualifier")),a.typeParameters&&o.push(e.call(s,"typeParameters")),Bp.concat(o);case"TSImportEqualsDeclaration":return a.isExport&&o.push("export "),o.push("import ",e.call(s,"id")," = ",e.call(s,"moduleReference")),P(Bp.concat(o));case"TSExternalModuleReference":return Bp.concat(["require(",e.call(s,"expression"),")"]);case"TSModuleDeclaration":if("TSModuleDeclaration"===(ce=e.getParentNode()).type)o.push(".");else if(a.declare&&o.push("declare "),!a.global)if("StringLiteral"===a.id.type||"Literal"===a.id.type&&"string"==typeof a.id.value)o.push("module ");else if(a.loc&&a.loc.lines&&a.id.loc){a.loc.lines.sliceString(a.loc.start,a.id.loc.start).indexOf("module")>=0?o.push("module "):o.push("namespace ")}else o.push("namespace ");if(o.push(e.call(s,"id")),a.body&&"TSModuleDeclaration"===a.body.type)o.push(e.call(s,"body"));else if(a.body){var be=e.call(s,"body");be.isEmpty()?o.push(" {}"):o.push(" {\n",be.indent(t.tabWidth),"\n}")}return Bp.concat(o);case"TSModuleBlock":return e.call((function(e){return d(e,t,s)}),"body");case"ClassHeritage":case"ComprehensionBlock":case"ComprehensionExpression":case"Glob":case"GeneratorExpression":case"LetStatement":case"LetExpression":case"GraphExpression":case"GraphIndexExpression":case"XMLDefaultDeclaration":case"XMLAnyName":case"XMLQualifiedIdentifier":case"XMLFunctionQualifiedIdentifier":case"XMLAttributeSelector":case"XMLFilterExpression":case"XML":case"XMLElement":case"XMLList":case"XMLEscape":case"XMLText":case"XMLStartTag":case"XMLEndTag":case"XMLPointTag":case"XMLName":case"XMLAttribute":case"XMLCdata":case"XMLComment":case"XMLProcessingInstruction":default:throw new Error("unknown type: "+JSON.stringify(a.type))}}(e,t,a);if(!l||p.isEmpty())return p;var h=!!l.extra&&l.extra.parenthesized,f=function(e,t){var r=[],n=e.getValue();n.decorators&&n.decorators.length>0&&!u.getParentExportDeclaration(e)?e.each((function(e){r.push(t(e),"\n")}),"decorators"):u.isExportDeclaration(n)&&n.declaration&&n.declaration.decorators&&e.each((function(e){r.push(t(e),"\n")}),"declaration","decorators");return Bp.concat(r)}(e,a);return f.isEmpty()?s.avoidRootParens||(h=h||e.needsParens()):c.push(f),h&&c.unshift("("),c.push(p),h&&c.push(")"),Bp.concat(c)}function d(e,t,n){var a=[],o=!1,l=!1;e.each((function(e){var t=e.getValue();t&&("EmptyStatement"!==t.type||t.comments&&t.comments.length>0)&&(i.Comment.check(t)?o=!0:i.Statement.check(t)?l=!0:s.assert(t),a.push({node:t,printed:n(e)}))})),o&&r.default.strictEqual(l,!1,"Comments may appear as statements in otherwise empty statement lists, but may not coexist with non-Comment nodes.");var c=null,p=a.length,h=[];return a.forEach((function(e,r){var n,i,s=e.printed,a=e.node,o=s.length>1,l=r>0,d=rr.length?n:r}function m(e,t,r){var n=e.getNode(),s=n.kind,a=[],o=n.value;i.FunctionExpression.check(o)||(o=n);var u=n.accessibility||n.access;"string"==typeof u&&a.push(u," "),n.static&&a.push("static "),n.abstract&&a.push("abstract "),n.readonly&&a.push("readonly "),o.async&&a.push("async "),o.generator&&a.push("*"),"get"!==s&&"set"!==s||a.push(s," ");var l=e.call(r,"key");return n.computed&&(l=Bp.concat(["[",l,"]"])),a.push(l),n.optional&&a.push("?"),n===o?(a.push(e.call(r,"typeParameters"),"(",g(e,t,r),")",e.call(r,"returnType")),n.body?a.push(" ",e.call(r,"body")):a.push(";")):(a.push(e.call(r,"value","typeParameters"),"(",e.call((function(e){return g(e,t,r)}),"value"),")",e.call(r,"value","returnType")),o.body?a.push(" ",e.call(r,"value","body")):a.push(";")),Bp.concat(a)}function y(e,t,r){var n=e.map(r,"arguments"),i=u.isTrailingCommaEnabled(t,"parameters"),s=Bp.fromString(", ").join(n);return s.getLineLength(1)>t.wrapColumn?(s=Bp.fromString(",\n").join(n),Bp.concat(["(\n",s.indent(t.tabWidth),i?",\n)":"\n)"])):Bp.concat(["(",s,")"])}function g(e,t,r){var n,i=e.getValue(),s=[];i.params?(n=i.params,s=e.map(r,"params")):i.parameters&&(n=i.parameters,s=e.map(r,"parameters")),i.defaults&&e.each((function(e){var t=e.getName(),n=s[t];n&&e.getValue()&&(s[t]=Bp.concat([n," = ",r(e)]))}),"defaults"),i.rest&&s.push(Bp.concat(["...",e.call(r,"rest")]));var a=Bp.fromString(", ").join(s);return a.length>1||a.getLineLength(1)>t.wrapColumn?(a=Bp.fromString(",\n").join(s),a=u.isTrailingCommaEnabled(t,"parameters")&&!i.rest&&"RestElement"!==n[n.length-1].type?Bp.concat([a,",\n"]):Bp.concat([a,"\n"]),Bp.concat(["\n",a.indent(t.tabWidth)])):a}function b(e,t,r){var n=e.getValue(),s=["export "];n.exportKind&&"type"===n.exportKind&&(n.declaration||s.push("type "));var a=t.objectCurlySpacing;if(i.Declaration.assert(n),(n.default||"ExportDefaultDeclaration"===n.type)&&s.push("default "),n.declaration)s.push(e.call(r,"declaration"));else if(n.specifiers){if(1===n.specifiers.length&&"ExportBatchSpecifier"===n.specifiers[0].type)s.push("*");else if(0===n.specifiers.length)s.push("{}");else if("ExportDefaultSpecifier"===n.specifiers[0].type){var o=[],u=[];if(e.each((function(e){"ExportDefaultSpecifier"===e.getValue().type?o.push(r(e)):u.push(r(e))}),"specifiers"),o.forEach((function(e,t){t>0&&s.push(", "),s.push(e)})),u.length>0){var l=Bp.fromString(", ").join(u);l.getLineLength(1)>t.wrapColumn&&(l=Bp.concat([Bp.fromString(",\n").join(u).indent(t.tabWidth),","])),o.length>0&&s.push(", "),l.length>1?s.push("{\n",l,"\n}"):t.objectCurlySpacing?s.push("{ ",l," }"):s.push("{",l,"}")}}else s.push(a?"{ ":"{",Bp.fromString(", ").join(e.map(r,"specifiers")),a?" }":"}");n.source&&s.push(" from ",e.call(r,"source"))}var c=Bp.concat(s);return";"===D(c)||n.declaration&&("FunctionDeclaration"===n.declaration.type||"ClassDeclaration"===n.declaration.type||"TSModuleDeclaration"===n.declaration.type||"TSInterfaceDeclaration"===n.declaration.type||"TSEnumDeclaration"===n.declaration.type)||(c=Bp.concat([c,";"])),c}function v(e,t){var n=u.getParentExportDeclaration(e);return n?r.default.strictEqual(n.type,"DeclareExportDeclaration"):t.unshift("declare "),Bp.concat(t)}function x(e,t){return e.call((function(e){var r=e.getValue();return r?"plus"===r?Bp.fromString("+"):"minus"===r?Bp.fromString("-"):t(e):Bp.fromString("")}),"variance")}function E(e,t){return e.length>1?Bp.concat([" ",e]):Bp.concat(["\n",P(e).indent(t.tabWidth)])}function D(e){var t=e.lastPos();do{var r=e.charAt(t);if(/\S/.test(r))return r}while(e.prevPos(t))}function S(e){return"}"===D(e)}function T(e){return e.replace(/['"]/g,(function(e){return'"'===e?"'":'"'}))}function A(e,t){switch(s.assert(e),t.quote){case"auto":var r=JSON.stringify(e),n=T(JSON.stringify(T(e)));return r.length>n.length?n:r;case"single":return T(JSON.stringify(T(e)));case"double":default:return JSON.stringify(e)}}function P(e){var t=D(e);return!t||"\n};".indexOf(t)<0?Bp.concat([e,";"]):e}t.Printer=function e(t){r.default.ok(this instanceof e);var n=t&&t.tabWidth;function i(e,t){return e=Object.assign({},e,t),function(t){return s(t,e)}}function s(e,a){if(r.default.ok(e instanceof o.default),(a=a||{}).includeComments)return Rp.printComments(e,i(a,{includeComments:!1}));var u=t.tabWidth;if(!n){var l=e.getNode().loc;l&&l.lines&&l.lines.guessTabWidth&&(t.tabWidth=l.lines.guessTabWidth())}var c=zp.getReprinter(e),p=c?c(s):h(e,t,a,i(a,{includeComments:!0,avoidRootParens:!1}));return t.tabWidth=u,p}(t=Mp.normalize(t)).sourceFileName=null,this.print=function(e){if(!e)return p;var r=s(o.default.from(e),{includeComments:!0,avoidRootParens:!1});return new l(r.toString(t),u.composeSourceMaps(t.inputSourceMap,r.getSourceMap(t.sourceMapName,t.sourceRoot)))},this.printGenerically=function(e){if(!e)return p;var r=o.default.from(e),n=t.reuseWhitespace;t.reuseWhitespace=!1;var i=new l(function e(r){return Rp.printComments(r,(function(r){return h(r,t,{includeComments:!0,avoidRootParens:!1},e)}))}(r).toString(t));return t.reuseWhitespace=n,i}}})),qp=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.run=t.prettyPrint=t.print=t.types=t.parse=void 0;var r=wc.__importDefault(k),n=wc.__importStar(Zc);t.types=n,Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return Up.parse}});var i=Zc;function s(e,t){return new Wp.Printer(t).print(e)}function a(e){A.stdout.write(e)}Object.defineProperty(t,"visit",{enumerable:!0,get:function(){return i.visit}}),t.print=s,t.prettyPrint=function(e,t){return new Wp.Printer(t).printGenerically(e)},t.run=function(e,t){return function(e,t,n){r.default.readFile(e,"utf-8",(function(e,r){e?console.error(e):function(e,t,r){var n=r&&r.writeback||a;t(Up.parse(e,r),(function(e){n(s(e,r).code)}))}(r,t,n)}))}(A.argv[2],e,t)}})),Xp=w((function(e,t){function r(e,t){return e.key.value===t||e.key.name===t}
/**
* @license
* Copyright 2018, Ludan Stoecklé
* SPDX-License-Identifier: MIT
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGenHelper=void 0;t.CodeGenHelper=class{constructor(e,t){this.verbCandidates=[],this.wordCandidates=[],this.adjectiveCandidates=[],this.embedResources=t,this.languageCodeGen=vc.buildLanguageCodeGen(vc.getIso2fromLocale(e)),this.iso2=this.languageCodeGen.iso2}getVerbCandidates(){return this.verbCandidates}getWordCandidates(){return this.wordCandidates}getAdjectiveCandidates(){return this.adjectiveCandidates}getAllLinguisticResources(e){const t={verbs:{},words:{},adjectives:{}};return e&&e.verbs&&(t.verbs=this.languageCodeGen.getVerbsInfo(e.verbs)),e&&e.words&&(t.words=this.languageCodeGen.getWordsInfo(e.words)),e&&e.adjectives&&(t.adjectives=this.languageCodeGen.getAdjectivesInfo(e.adjectives)),t.verbs=Object.assign(Object.assign({},this.getVerbCandidatesData()),t.verbs),t.words=Object.assign(Object.assign({},this.getWordCandidatesData()),t.words),t.adjectives=Object.assign(Object.assign({},this.getAdjectiveCandidatesData()),t.adjectives),t}getVerbCandidatesData(){const e={};if(this.languageCodeGen.hasFlexVerbs)for(const t of this.verbCandidates)try{const r=this.languageCodeGen.getVerbInfo(t);if(!r)throw new Error;e[t]=r}catch(e){console.log(`Could not find any data for ${this.iso2} verb candidate ${t}`)}return e}getWordCandidatesData(){const e={};if(this.languageCodeGen.hasFlexWords)for(const t of this.wordCandidates)try{if(!this.languageCodeGen.getWordInfo(t))throw new Error;e[t]=this.languageCodeGen.getWordInfo(t)}catch(e){console.log(`Could not find any data for ${this.iso2} word candidate ${t}`)}return e}getAdjectiveCandidatesData(){const e={};if(this.languageCodeGen.hasFlexAdjectives)for(const t of this.adjectiveCandidates)try{const r=this.languageCodeGen.getAdjectiveInfo(t);if(!r)throw new Error;e[t]=r}catch(e){console.log(`Could not find any data for ${this.iso2} adjective candidate ${t}`)}return e}extractHelper(e,t,r){const n=t.apply(this,[e]);"string"==typeof n?r.push(n):Array.isArray(n)&&r.push(...n)}extractVerbCandidate(e){this.extractHelper(e,this.getVerbCandidate,this.verbCandidates)}getVerbCandidate(e){if(!this.embedResources||!this.languageCodeGen.hasFlexVerbs)return;const t=this.getParsedExpr(e);this.checkAtLeastParams(t,2);const n=t[1],i=e=>"Literal"===e.type||"ArrayExpression"===e.type;let s;return i(n)?s=n:qp.visit(n,{visitProperty:function(e){r(e.value,"verb")&&i(e.value.value)&&(s=e.value.value,this.abort()),this.traverse(e)}}),this.getEltsFromEltOrListArg(s)}extractWordCandidateFromVerbalForm(e){this.extractHelper(e,this.getWordCandidateFromVerbalForm,this.wordCandidates)}getWordCandidateFromVerbalForm(e){if(!this.embedResources||!this.languageCodeGen.hasFlexWords)return;const t=this.getParsedExpr(e);return this.checkAtLeastParams(t,1),this.getEltsFromEltOrListArg(t[0])}extractWordCandidateFromSetRefGender(e){this.extractHelper(e,this.getWordCandidateFromSetRefGender,this.wordCandidates)}getWordCandidateFromSetRefGender(e){if(!this.embedResources||!this.languageCodeGen.hasFlexWords)return;const t=this.getParsedExpr(e);this.checkAtLeastParams(t,2);const r=this.getStringFromArg(t[1]);return null!=r&&"M"!==r&&"F"!==r&&"N"!==r?r:void 0}getEltsFromEltOrListArg(e){const t=[];if(!e)return[];const r=e=>"Literal"===e.type&&"string"==typeof e.value;if(r(e))t.push(e.value);else if("ArrayExpression"==e.type)for(const n of e.elements)r(n)&&t.push(n.value);return t}extractAdjCandidateFromSubjectVerbAdj(e){this.extractHelper(e,this.getAdjCandidateFromSubjectVerbAdj,this.adjectiveCandidates)}getAdjCandidateFromSubjectVerbAdj(e){if(!this.embedResources||!this.languageCodeGen.hasFlexAdjectives)return;const t=this.getParsedExpr(e);return this.checkAtLeastParams(t,3),this.getEltsFromEltOrListArg(t[2])}extractAdjectiveCandidateFromAgreeAdj(e){this.extractHelper(e,this.getAdjectiveCandidateFromAgreeAdj,this.adjectiveCandidates)}getAdjectiveCandidateFromAgreeAdj(e){if(!this.embedResources||!this.languageCodeGen.hasFlexAdjectives)return;const t=this.getParsedExpr(e);return this.checkAtLeastParams(t,2),this.getEltsFromEltOrListArg(t[0])}extractAdjectiveCandidateFromValue(e){this.extractHelper(e,this.getAdjectiveCandidatesFromValue,this.adjectiveCandidates)}getAdjectiveCandidatesFromValue(e){if(!this.embedResources||!this.languageCodeGen.hasFlexAdjectives)return[];const t=[],n=this.getParsedExpr(e);if(this.checkAtLeastParams(n,1),n.length>1){const e=n[1];function i(e){for(const r of e)"Literal"===r.type&&t.push(r.value)}qp.visit(e,{visitProperty:function(e){if(r(e.value,"adj")){const n=e.value.value;switch(n.type){case"Literal":t.push(n.value);break;case"ArrayExpression":i(n.elements);break;case"ObjectExpression":{const e=n.properties;for(const t of e)(r(t,"BEFORE")||r(t,"AFTER"))&&i(t.value.elements);break}}}else r(e.value,"possessiveAdj")&&"Literal"===e.value.value.type&&t.push(e.value.value.value);this.traverse(e)}})}return t}extractWordCandidateFromThirdPossession(e){this.extractHelper(e,this.getWordCandidateFromThirdPossession,this.wordCandidates)}getWordCandidateFromThirdPossession(e){if(!this.embedResources||!this.languageCodeGen.hasFlexWords)return;const t=[],r=this.getParsedExpr(e);this.checkAtLeastParams(r,2);for(let e=0;e<=1;e++){const n=this.getStringFromArg(r[e]);n&&t.push(n)}return t}checkAtLeastParams(e,t){if(!e){const e=new Error;throw e.name="InvalidArgumentError",e.message="parsed expression is null",e}if(e.length=1?t.expressions[0]:t,this.getEltsFromEltOrListArg(r)}}})),Jp='/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\n//-------- allows core to communicate with the inner of the template mechanic already used by Pug (i.e. pug_html)\nutil.setSpy({\n getPugHtml: function () {\n return pug_html;\n },\n setPugHtml: function (new_pug_html) {\n pug_html = new_pug_html;\n },\n appendPugHtml: function (append) {\n pug_html = pug_html + append;\n },\n});\nutil.setEmbeddedLinguisticResources(embeddedLinguisticResources);\n/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\n//-------- using GenderNumberManager\nfunction setRefGender(obj, gender) {\n util.genderNumberManager.setRefGender(obj, gender, null);\n}\nfunction getRefGender(obj) {\n return util.genderNumberManager.getRefGender(obj);\n}\nfunction setRefNumber(obj, number) {\n util.genderNumberManager.setRefNumber(obj, number);\n}\nfunction getRefNumber(obj) {\n return util.genderNumberManager.getRefNumber(obj);\n}\nfunction setRefGenderNumber(obj, gender, number) {\n util.genderNumberManager.setRefGenderNumber(obj, gender, number);\n}\nfunction getAnonymous(gender, number) {\n return util.genderNumberManager.getAnonymous(gender, number);\n}\nfunction getAnonMS() {\n return util.genderNumberManager.getAnonMS();\n}\nfunction getAnonMP() {\n return util.genderNumberManager.getAnonMP();\n}\nfunction getAnonFS() {\n return util.genderNumberManager.getAnonFS();\n}\nfunction getAnonFP() {\n return util.genderNumberManager.getAnonFP();\n}\n//-------- using RefsManager\nfunction resetRep(obj) {\n util.refsManager.resetRep(obj);\n}\nfunction hasTriggeredRef(obj) {\n return util.refsManager.hasTriggeredRef(obj);\n}\nfunction setTriggeredRef(obj) {\n util.refsManager.setTriggeredRef(obj);\n}\nfunction dumpRefMap() {\n util.refsManager.dumpRefMap();\n}\nfunction getNextRep(obj, params) {\n return util.refsManager.getNextRep(obj, params);\n}\n//-------- using SaidManager\nfunction dumpHasSaid() {\n util.saidManager.dumpHasSaid();\n}\nfunction getDumpHasSaid() {\n return util.saidManager.getDumpHasSaid();\n}\nfunction getHasSaidCopy() {\n return util.saidManager.getHasSaidCopy();\n}\nfunction recordSaid(key) {\n util.saidManager.recordSaid(key);\n}\nfunction deleteSaid(key) {\n util.saidManager.deleteSaid(key);\n}\nfunction hasSaid(key) {\n return util.saidManager.hasSaid(key);\n}\nfunction recordValue(key, value) {\n util.getSaidManager().recordValue(key, value);\n}\nfunction deleteValue(key) {\n util.getSaidManager().deleteValue(key);\n}\nfunction getValue(key) {\n return util.getSaidManager().getValue(key);\n}\n//-------- using helper\nfunction hasFlag(params, flag) {\n return util.helper.hasFlag(params, flag);\n}\nfunction getFlagValue(params, flag) {\n return util.helper.getFlagValue(params, flag);\n}\nfunction protectString(string) {\n return util.helper.protectString(string);\n}\nfunction isSentenceStart() {\n return util.helper.isSentenceStart();\n}\nfunction getMorF(table, obj) {\n return util.helper.getMFN(table, obj);\n}\nfunction getMFN(table, obj) {\n return util.helper.getMFN(table, obj);\n}\nfunction getSorP(table, obj) {\n return util.helper.getSorP(table, obj);\n}\n//-------- using DictManager\nfunction setWordData(word, wordData) {\n util.languageImpl.getDictManager().setWordData(word, wordData);\n}\nfunction setAdjData(word, wordData) {\n util.languageImpl.getDictManager().setAdjData(word, wordData);\n}\n/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\nfunction syn_fct(items) {\n return util.synManager.synFct(items);\n}\nfunction printObj(before, obj) {\n console.log(before + \' \' + JSON.stringify(obj).substring(0, 20));\n}\nfunction logParams(params) {\n console.log(\'params: \' + JSON.stringify(params));\n}\nfunction valueToSorP(val) {\n return util.languageImpl.isPlural(val) ? \'P\' : \'S\';\n}\nfunction debug(filename, line) {\n if (filename !== null) {\n pug_debug_filename = filename;\n }\n pug_debug_line = line;\n if (locals.renderDebug) {\n // locals is available\n let id = line;\n if (filename !== null) {\n id = filename.replace(/"/g, \'\') + \': \' + id;\n }\n pug_html = pug_html + ``;\n }\n}\npug_mixins["foreach"] = pug_interp = function(elts, mixinFct, asm, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.asmManager.foreach(elts, mixinFct, asm, params);\npug_html = pug_html + "¤¤¤";\n};\nvar foreach=pug_mixins["foreach"];\npug_mixins["value"] = pug_interp = function(obj, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.valueManager.value(obj, params);\npug_html = pug_html + "¤¤¤";\n};\nvar value=pug_mixins["value"];\npug_mixins["syn"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar items = [];\nfor (pug_interp = 0; pug_interp < arguments.length; pug_interp++) {\n items.push(arguments[pug_interp]);\n}\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.synManager.simpleSyn(items);\npug_html = pug_html + "¤¤¤";\n};\nvar syn=pug_mixins["syn"];\npug_mixins["agreeAdj"] = pug_interp = function(adjective, subject, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.adjectiveManager.agreeAdj(adjective, subject, params);\npug_html = pug_html + "¤¤¤";\n};\nvar agreeAdj=pug_mixins["agreeAdj"];\npug_mixins["recipientPossession"] = pug_interp = function(owned){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.possessiveManager.recipientPossession(owned);\npug_html = pug_html + "¤¤¤";\n};\nvar recipientPossession=pug_mixins["recipientPossession"];\npug_mixins["thirdPossession"] = pug_interp = function(owner, owned, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.possessiveManager.thirdPossession(owner, owned, params);\npug_html = pug_html + "¤¤¤";\n};\nvar thirdPossession=pug_mixins["thirdPossession"];\npug_mixins["dummy"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_mixins[\'dummy\']();\n};\nvar dummy=pug_mixins["dummy"];\npug_mixins["flushBuffer"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤";\n};\nvar flushBuffer=pug_mixins["flushBuffer"];\npug_mixins["eatSpace"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤EATSPACE¤";\n};\nvar eatSpace=pug_mixins["eatSpace"];\npug_mixins["uppercaseWords"] = pug_interp = function(str){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤" + (pug_escape(null == (pug_interp = util.helper.getUppercaseWords(str)) ? "" : pug_interp)) + "¤";\n};\nvar uppercaseWords=pug_mixins["uppercaseWords"];\npug_mixins["toHtmlList"] = pug_interp = function(obj){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "\\u003Cul\\u003E";\n// iterate obj\n;(function(){\n var $$obj = obj;\n if (\'number\' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var val = $$obj[index];\nif (val!=null && typeof(val) == "object") {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug_escape(null == (pug_interp = index) ? "" : pug_interp)) + "¤" + "¤: ¤";\npug_mixins["toHtmlList"](val);\npug_html = pug_html + "¤¤\\u003C\\u002Fli\\u003E";\n}\nelse {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug_escape(null == (pug_interp = index + \': \' + val) ? "" : pug_interp)) + "¤" + "\\u003C\\u002Fli\\u003E";\n}\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var val = $$obj[index];\nif (val!=null && typeof(val) == "object") {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug_escape(null == (pug_interp = index) ? "" : pug_interp)) + "¤" + "¤: ¤";\npug_mixins["toHtmlList"](val);\npug_html = pug_html + "¤¤\\u003C\\u002Fli\\u003E";\n}\nelse {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug_escape(null == (pug_interp = index + \': \' + val) ? "" : pug_interp)) + "¤" + "\\u003C\\u002Fli\\u003E";\n}\n }\n }\n}).call(this);\npug_html = pug_html + "\\u003C\\u002Ful\\u003E";\n};\nvar toHtmlList=pug_mixins["toHtmlList"];\npug_mixins["verb"] = pug_interp = function(subject, verbInfo, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.verb(subject, verbInfo, params);\npug_html = pug_html + "¤¤¤";\n};\nvar verb=pug_mixins["verb"];\npug_mixins["subjectVerb"] = pug_interp = function(subject, verbInfo, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.subjectVerb(subject, verbInfo, params);\npug_html = pug_html + "¤¤¤";\n};\nvar subjectVerb=pug_mixins["subjectVerb"];\npug_mixins["subjectVerbAdj"] = pug_interp = function(subject, verbInfo, adjective, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.subjectVerbAdj(subject, verbInfo, adjective, params);\npug_html = pug_html + "¤¤¤";\n};\nvar subjectVerbAdj=pug_mixins["subjectVerbAdj"];\npug_mixins["verbPart"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤" + "¤" + (pug_escape(null == (pug_interp = util.verbsManager.popVerbPart()) ? "" : pug_interp)) + "¤" + "¤¤¤";\n};\nvar verbPart=pug_mixins["verbPart"];',$p={code:Jp},Kp=Object.freeze({__proto__:null,code:Jp,default:$p}),Yp='/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\n//-------- allows core to communicate with the inner of the template mechanic already used by Pug (i.e. pug_html)\nutil.setSpy({\n getPugHtml: function () {\n return pug_html;\n },\n setPugHtml: function (new_pug_html) {\n pug_html = new_pug_html;\n },\n appendPugHtml: function (append) {\n pug_html = pug_html + append;\n },\n});\nutil.setEmbeddedLinguisticResources(embeddedLinguisticResources);\n/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\n//-------- using GenderNumberManager\nfunction setRefGender(obj, gender) {\n util.genderNumberManager.setRefGender(obj, gender, null);\n}\nfunction getRefGender(obj) {\n return util.genderNumberManager.getRefGender(obj);\n}\nfunction setRefNumber(obj, number) {\n util.genderNumberManager.setRefNumber(obj, number);\n}\nfunction getRefNumber(obj) {\n return util.genderNumberManager.getRefNumber(obj);\n}\nfunction setRefGenderNumber(obj, gender, number) {\n util.genderNumberManager.setRefGenderNumber(obj, gender, number);\n}\nfunction getAnonymous(gender, number) {\n return util.genderNumberManager.getAnonymous(gender, number);\n}\nfunction getAnonMS() {\n return util.genderNumberManager.getAnonMS();\n}\nfunction getAnonMP() {\n return util.genderNumberManager.getAnonMP();\n}\nfunction getAnonFS() {\n return util.genderNumberManager.getAnonFS();\n}\nfunction getAnonFP() {\n return util.genderNumberManager.getAnonFP();\n}\n//-------- using RefsManager\nfunction resetRep(obj) {\n util.refsManager.resetRep(obj);\n}\nfunction hasTriggeredRef(obj) {\n return util.refsManager.hasTriggeredRef(obj);\n}\nfunction setTriggeredRef(obj) {\n util.refsManager.setTriggeredRef(obj);\n}\nfunction dumpRefMap() {\n util.refsManager.dumpRefMap();\n}\nfunction getNextRep(obj, params) {\n return util.refsManager.getNextRep(obj, params);\n}\n//-------- using SaidManager\nfunction dumpHasSaid() {\n util.saidManager.dumpHasSaid();\n}\nfunction getDumpHasSaid() {\n return util.saidManager.getDumpHasSaid();\n}\nfunction getHasSaidCopy() {\n return util.saidManager.getHasSaidCopy();\n}\nfunction recordSaid(key) {\n util.saidManager.recordSaid(key);\n}\nfunction deleteSaid(key) {\n util.saidManager.deleteSaid(key);\n}\nfunction hasSaid(key) {\n return util.saidManager.hasSaid(key);\n}\nfunction recordValue(key, value) {\n util.getSaidManager().recordValue(key, value);\n}\nfunction deleteValue(key) {\n util.getSaidManager().deleteValue(key);\n}\nfunction getValue(key) {\n return util.getSaidManager().getValue(key);\n}\n//-------- using helper\nfunction hasFlag(params, flag) {\n return util.helper.hasFlag(params, flag);\n}\nfunction getFlagValue(params, flag) {\n return util.helper.getFlagValue(params, flag);\n}\nfunction protectString(string) {\n return util.helper.protectString(string);\n}\nfunction isSentenceStart() {\n return util.helper.isSentenceStart();\n}\nfunction getMorF(table, obj) {\n return util.helper.getMFN(table, obj);\n}\nfunction getMFN(table, obj) {\n return util.helper.getMFN(table, obj);\n}\nfunction getSorP(table, obj) {\n return util.helper.getSorP(table, obj);\n}\n//-------- using DictManager\nfunction setWordData(word, wordData) {\n util.languageImpl.getDictManager().setWordData(word, wordData);\n}\nfunction setAdjData(word, wordData) {\n util.languageImpl.getDictManager().setAdjData(word, wordData);\n}\n/**\n * @license\n * Copyright 2021 Ludan Stoecklé\n * SPDX-License-Identifier: Apache-2.0\n */\nfunction syn_fct(items) {\n return util.synManager.synFct(items);\n}\nfunction printObj(before, obj) {\n console.log(before + \' \' + JSON.stringify(obj).substring(0, 20));\n}\nfunction logParams(params) {\n console.log(\'params: \' + JSON.stringify(params));\n}\nfunction valueToSorP(val) {\n return util.languageImpl.isPlural(val) ? \'P\' : \'S\';\n}\nfunction debug(filename, line) {\n if (filename !== null) {\n pug_debug_filename = filename;\n }\n pug_debug_line = line;\n if (locals.renderDebug) {\n // locals is available\n let id = line;\n if (filename !== null) {\n id = filename.replace(/"/g, \'\') + \': \' + id;\n }\n pug_html = pug_html + ``;\n }\n}\npug_mixins["foreach"] = pug_interp = function(elts, mixinFct, asm, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.asmManager.foreach(elts, mixinFct, asm, params);\npug_html = pug_html + "¤¤¤";\n};\nvar foreach=pug_mixins["foreach"];\npug_mixins["value"] = pug_interp = function(obj, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.valueManager.value(obj, params);\npug_html = pug_html + "¤¤¤";\n};\nvar value=pug_mixins["value"];\npug_mixins["syn"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nvar items = [];\nfor (pug_interp = 0; pug_interp < arguments.length; pug_interp++) {\n items.push(arguments[pug_interp]);\n}\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.synManager.simpleSyn(items);\npug_html = pug_html + "¤¤¤";\n};\nvar syn=pug_mixins["syn"];\npug_mixins["agreeAdj"] = pug_interp = function(adjective, subject, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.adjectiveManager.agreeAdj(adjective, subject, params);\npug_html = pug_html + "¤¤¤";\n};\nvar agreeAdj=pug_mixins["agreeAdj"];\npug_mixins["recipientPossession"] = pug_interp = function(owned){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.possessiveManager.recipientPossession(owned);\npug_html = pug_html + "¤¤¤";\n};\nvar recipientPossession=pug_mixins["recipientPossession"];\npug_mixins["thirdPossession"] = pug_interp = function(owner, owned, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.possessiveManager.thirdPossession(owner, owned, params);\npug_html = pug_html + "¤¤¤";\n};\nvar thirdPossession=pug_mixins["thirdPossession"];\npug_mixins["dummy"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_mixins[\'dummy\']();\n};\nvar dummy=pug_mixins["dummy"];\npug_mixins["flushBuffer"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤";\n};\nvar flushBuffer=pug_mixins["flushBuffer"];\npug_mixins["eatSpace"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤EATSPACE¤";\n};\nvar eatSpace=pug_mixins["eatSpace"];\npug_mixins["uppercaseWords"] = pug_interp = function(str){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤" + (pug.escape(null == (pug_interp = util.helper.getUppercaseWords(str)) ? "" : pug_interp)) + "¤";\n};\nvar uppercaseWords=pug_mixins["uppercaseWords"];\npug_mixins["toHtmlList"] = pug_interp = function(obj){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "\\u003Cul\\u003E";\n// iterate obj\n;(function(){\n var $$obj = obj;\n if (\'number\' == typeof $$obj.length) {\n for (var index = 0, $$l = $$obj.length; index < $$l; index++) {\n var val = $$obj[index];\nif (val!=null && typeof(val) == "object") {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug.escape(null == (pug_interp = index) ? "" : pug_interp)) + "¤" + "¤: ¤";\npug_mixins["toHtmlList"](val);\npug_html = pug_html + "¤¤\\u003C\\u002Fli\\u003E";\n}\nelse {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug.escape(null == (pug_interp = index + \': \' + val) ? "" : pug_interp)) + "¤" + "\\u003C\\u002Fli\\u003E";\n}\n }\n } else {\n var $$l = 0;\n for (var index in $$obj) {\n $$l++;\n var val = $$obj[index];\nif (val!=null && typeof(val) == "object") {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug.escape(null == (pug_interp = index) ? "" : pug_interp)) + "¤" + "¤: ¤";\npug_mixins["toHtmlList"](val);\npug_html = pug_html + "¤¤\\u003C\\u002Fli\\u003E";\n}\nelse {\npug_html = pug_html + "\\u003Cli\\u003E" + "¤" + (pug.escape(null == (pug_interp = index + \': \' + val) ? "" : pug_interp)) + "¤" + "\\u003C\\u002Fli\\u003E";\n}\n }\n }\n}).call(this);\npug_html = pug_html + "\\u003C\\u002Ful\\u003E";\n};\nvar toHtmlList=pug_mixins["toHtmlList"];\npug_mixins["verb"] = pug_interp = function(subject, verbInfo, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.verb(subject, verbInfo, params);\npug_html = pug_html + "¤¤¤";\n};\nvar verb=pug_mixins["verb"];\npug_mixins["subjectVerb"] = pug_interp = function(subject, verbInfo, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.subjectVerb(subject, verbInfo, params);\npug_html = pug_html + "¤¤¤";\n};\nvar subjectVerb=pug_mixins["subjectVerb"];\npug_mixins["subjectVerbAdj"] = pug_interp = function(subject, verbInfo, adjective, params){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤";\nutil.sentenceManager.subjectVerbAdj(subject, verbInfo, adjective, params);\npug_html = pug_html + "¤¤¤";\n};\nvar subjectVerbAdj=pug_mixins["subjectVerbAdj"];\npug_mixins["verbPart"] = pug_interp = function(){\nvar block = (this && this.block), attributes = (this && this.attributes) || {};\nfunction addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }\npug_html = pug_html + "¤¤¤" + "¤" + (pug.escape(null == (pug_interp = util.verbsManager.popVerbPart()) ? "" : pug_interp)) + "¤" + "¤¤¤";\n};\nvar verbPart=pug_mixins["verbPart"];',Hp={code:Yp},Gp=Object.freeze({__proto__:null,code:Yp,default:Hp}),Qp=C(Kp),Zp=C(Gp);const eh={pre:!0,textarea:!0},th=["pug","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","pug_html"];var rh=function(e,t){return new ih(e,t).compile()},nh=ih;function ih(e,t){this.helper=new Xp.CodeGenHelper(t.language,t.embedResources),this.options=t=t||{},this.node=e,this.bufferedConcatenationCount=0,this.hasCompiledDoctype=!1,this.hasCompiledTag=!1,this.pp=t.pretty||!1,this.pp&&"string"!=typeof this.pp&&(this.pp=" "),this.debug=!1!==t.compileDebug,this.indents=0,this.parentIndents=0,this.terse=!1,this.mixins={},this.dynamicMixins=!0,this.eachCount=0,t.doctype&&this.setDoctype(t.doctype),this.runtimeFunctionsUsed=[],this.inlineRuntimeFunctions=t.inlineRuntimeFunctions||!1,this.debug&&this.inlineRuntimeFunctions&&this.runtimeFunctionsUsed.push("rethrow")}ih.prototype={runtime:function(e){return this.inlineRuntimeFunctions?(this.runtimeFunctionsUsed.push(e),"pug_"+e):"pug."+e},error:function(e,t,r){throw ri(t,e,{line:r.line,column:r.column,filename:r.filename})},nameFunction:function(e){this.buf.push("var "+e+'=pug_mixins["'+e+'"];')},compile:function(){if(this.buf=[],this.pp&&this.buf.push("var pug_indent = [];"),this.lastBufferedIdx=-1,this.visit(this.node),!this.dynamicMixins){const e=Object.keys(this.mixins);for(let t=0;t=0&&e":" "} ${u+1} | ${s[e]}`),e==n&&o.push("-".repeat(i+8)+"^"),u++);throw r.message=`error when parsing js at column ${i}, line:\n${o.join("\n")}`,r}let r;this.debug&&(this.options.includeSources&&(e="var pug_debug_sources = "+Al(this.options.includeSources)+";\n"+e),e="var pug_debug_filename, pug_debug_line;try {"+e+"} catch (err) {"+(this.inlineRuntimeFunctions?"pug_rethrow":"pug.rethrow")+"(err, pug_debug_filename, pug_debug_line"+(this.options.includeSources?", pug_debug_sources[pug_debug_filename]":"")+");}"),r=this.options.yseop?"pug_html":"locals.util.getFiltered()";let n="";if(this.options.embedResources){const e=this.helper.getAllLinguisticResources(this.options.linguisticResourcesToSolve);n=`const embeddedLinguisticResources = ${JSON.stringify(e)};`}return wi(this.runtimeFunctionsUsed)+"function "+(this.options.templateName||"template")+"(locals) {"+n+'var pug_html = "", protect_stack = [], pug_mixins = {}, pug_interp;'+e+";return "+r+";}"},setDoctype:function(e){this.doctype=Si[e.toLowerCase()]||"",this.terse=""==this.doctype.toLowerCase(),this.xml=0==this.doctype.indexOf("1&&!t&&"Text"===e.nodes[0].type&&"Text"===e.nodes[1].type&&this.prettyIndent(1,!0);for(let n=0;n0&&!t&&"Text"===e.nodes[n].type&&"Text"===e.nodes[n-1].type&&/\n$/.test(e.nodes[n-1].val)&&this.prettyIndent(1,!1),this.visit(e.nodes[n],e)},visitMixinBlock:function(e){this.pp&&this.buf.push("pug_indent.push('"+Array(this.indents+1).join(this.pp)+"');"),this.buf.push("block && block();"),this.pp&&this.buf.push("pug_indent.pop();")},visitDoctype:function(e){!e||!e.val&&this.doctype||this.setDoctype(e.val||"html"),this.doctype&&this.buffer(this.doctype),this.hasCompiledDoctype=!0},visitMixin:function(e){let t="pug_mixins[",r=e.args||"";const n=e.block,i=e.attrs,s=this.attributeBlocks(e.attributeBlocks),a=this.pp,o="#"===e.name[0],u=e.name;if(o&&(this.dynamicMixins=!0),t+=(o?e.name.substr(2,e.name.length-3):'"'+e.name+'"')+"]",this.mixins[u]=this.mixins[u]||{used:!1,instances:[]},e.call){switch(e.name){case"verb":case"subjectVerb":this.helper.extractWordCandidateFromVerbalForm(e.args),this.helper.extractVerbCandidate(e.args);break;case"subjectVerbAdj":this.helper.extractWordCandidateFromVerbalForm(e.args),this.helper.extractVerbCandidate(e.args),this.helper.extractAdjCandidateFromSubjectVerbAdj(e.args);break;case"agreeAdj":this.helper.extractAdjectiveCandidateFromAgreeAdj(e.args);break;case"value":this.helper.extractWordCandidateFromValue(e.args),this.helper.extractAdjectiveCandidateFromValue(e.args);break;case"thirdPossession":this.helper.extractWordCandidateFromThirdPossession(e.args)}if(this.mixins[u].used=!0,a&&this.buf.push("pug_indent.push('"+Array(this.indents+1).join(a)+"');"),n||i.length||s.length){if(this.buf.push(t+".call({"),n){this.buf.push("block: function(){"),this.parentIndents++;const t=this.indents;this.indents=0,this.visit(e.block,e),this.indents=t,this.parentIndents--,i.length||s.length?this.buf.push("},"):this.buf.push("}")}if(s.length){if(i.length){const e=this.attrs(i);s.unshift(e)}s.length>1?this.buf.push("attributes: "+this.runtime("merge")+"(["+s.join(",")+"])"):this.buf.push("attributes: "+s[0])}else if(i.length){const e=this.attrs(i);this.buf.push("attributes: "+e)}r?this.buf.push("}, "+r+");"):this.buf.push("});")}else this.buf.push(t+"("+r+");");a&&this.buf.push("pug_indent.pop();")}else{const i=this.buf.length;let s;r=r?r.split(","):[],r.length&&/^\.\.\./.test(r[r.length-1].trim())&&(s=r.pop().trim().replace(/^\.\.\./,"")),this.buf.push(t+" = pug_interp = function("+r.join(",")+"){"),this.buf.push("var block = (this && this.block), attributes = (this && this.attributes) || {};"),s&&(this.buf.push("var "+s+" = [];"),this.buf.push("for (pug_interp = "+r.length+"; pug_interp < arguments.length; pug_interp++) {"),this.buf.push(" "+s+".push(arguments[pug_interp]);"),this.buf.push("}")),this.buf.push("function addToParams(_toAdd) { return Object.assign({}, params, _toAdd); }"),this.parentIndents++,this.visit(n,e),this.parentIndents--,this.buf.push("};"),this.nameFunction(e.name);const a=this.buf.length;this.mixins[u].instances.push({start:i,end:a})}},visitTag:function(e,t){this.indents++;const r=e.name,n=this.pp,i=this;function s(){t?i.bufferExpression(e.expr,!1):i.buffer(r)}!0===eh[e.name]&&(this.escapePrettyMode=!0),this.hasCompiledTag||(this.hasCompiledDoctype||"html"!=r||this.visitDoctype(),this.hasCompiledTag=!0),n&&!e.isInline&&this.prettyIndent(0,!0),e.selfClosing||!this.xml&&kl[e.name]?(this.buffer("<"),s(),this.visitAttributes(e.attrs,this.attributeBlocks(e.attributeBlocks)),this.terse&&!e.selfClosing?this.buffer(">"):this.buffer("/>"),(e.code||e.block&&("Block"!==e.block.type||0!==e.block.nodes.length)&&e.block.nodes.some((function(e){return"Text"!==e.type||!/^\s*$/.test(e.val)})))&&this.error(r+" is a self closing element: <"+r+"/> but contains nested content.","SELF_CLOSING_CONTENT",e)):(this.buffer("<"),s(),this.visitAttributes(e.attrs,this.attributeBlocks(e.attributeBlocks)),this.buffer(">"),e.code&&this.visitCode(e.code),this.visit(e.block,e),!n||e.isInline||!0===eh[e.name]||function(e){function t(e){return"Block"===e.type?e.nodes.every(t):"YieldBlock"===e.type||("Text"===e.type&&!/\n/.test(e.val)||e.isInline)}return e.block.nodes.every(t)}(e)||this.prettyIndent(0,!0),this.buffer(""),s(),this.buffer(">")),!0===eh[e.name]&&(this.escapePrettyMode=!1),this.indents--},visitInterpolatedTag:function(e){return this.visitTag(e,!0)},visitText:function(e){this.buffer(e.val,!0)},visitComment:function(e){e.buffer&&(this.pp&&this.prettyIndent(1,!0),this.buffer("\x3c!--"+e.val+"--\x3e"))},visitYieldBlock:function(e){},visitBlockComment:function(e){e.buffer&&(this.pp&&this.prettyIndent(1,!0),this.buffer("\x3c!--"+(e.val||"")),this.visit(e.block,e),this.pp&&this.prettyIndent(1,!0),this.buffer("--\x3e"))},visitCode:function(e){if(e.val.startsWith("setRefGender(")){const t=e.val.replace(/setRefGender\((.*)\)/,"$1");this.helper.extractWordCandidateFromSetRefGender(t)}if(e.buffer){let t=e.val.trim();t="null == (pug_interp = "+t+') ? "" : pug_interp',!1!==e.mustEscape&&(t=this.runtime("escape")+"("+t+")"),this.bufferExpression(t)}else this.buf.push(e.val);e.block&&(e.buffer||this.buf.push("{"),this.visit(e.block,e),e.buffer||this.buf.push("}"))},visitConditional:function(e){const t=e.test;this.buf.push("if ("+t+") {"),this.visit(e.consequent,e),this.buf.push("}"),e.alternate&&("Conditional"===e.alternate.type?(this.buf.push("else"),this.visitConditional(e.alternate)):(this.buf.push("else {"),this.visit(e.alternate,e),this.buf.push("}")))},visitWhile:function(e){const t=e.test;this.buf.push("while ("+t+") {"),this.visit(e.block,e),this.buf.push("}")},visitEachz:function(e){const t=this.getUniqueName("eachzHelper");this.buf.push(`pug_mixins['${t}'] = pug_interp = function(${e.elt}) {`),this.visit(e.block,e),this.buf.push("};"),this.nameFunction(t),this.buf.push(`util.asmManager.foreach(${e.list}, ${t}, ${e.asm});`)},visitChoosebest:function(e){const t=this.getUniqueName("choosebest");this.buf.push(`pug_mixins['${t}'] = pug_interp = function() {`),this.visit(e.block,e),this.buf.push("};"),this.buf.push("var "+t+'=pug_mixins["'+t+'"];'),this.buf.push(`util.choosebestManager.runChoosebest(${t}, ${e.params});`)},visitProtect:function(e){this.buf.push("protect_stack.push(1)"),this.buf.push('pug_html = pug_html + "§";'),this.visit(e.block,e),this.buf.push('pug_html = pug_html + "§";'),this.buf.push("protect_stack.pop()")},visitSimpleJsCalls:function(e,t){this.buf.push(`${t}${e.val}`),this.visit(e.block,e)},visitRecordSaid:function(e){this.visitSimpleJsCalls(e,"recordSaid")},visitDeleteSaid:function(e){this.visitSimpleJsCalls(e,"deleteSaid")},visitRecordValue:function(e){this.visitSimpleJsCalls(e,"recordValue")},visitDeleteValue:function(e){this.visitSimpleJsCalls(e,"deleteValue")},visitTitlecase:function(e){this.buf.push('pug_html = pug_html + " _TITLECASE_ ";'),this.visit(e.block,e),this.buf.push('pug_html = pug_html + " _TITLECASE_ ";')},visitEach:function(e){const t=e.key||"pug_index"+this.eachCount;this.eachCount++,this.buf.push("// iterate "+e.obj+"\n;(function(){\n var $$obj = "+e.obj+";\n if ('number' == typeof $$obj.length) {"),e.alternate&&this.buf.push(" if ($$obj.length) {"),this.buf.push(" for (var "+t+" = 0, $$l = $$obj.length; "+t+" < $$l; "+t+"++) {\n var "+e.val+" = $$obj["+t+"];"),this.visit(e.block,e),this.buf.push(" }"),e.alternate&&(this.buf.push(" } else {"),this.visit(e.alternate,e),this.buf.push(" }")),this.buf.push(" } else {\n var $$l = 0;\n for (var "+t+" in $$obj) {\n $$l++;\n var "+e.val+" = $$obj["+t+"];"),this.visit(e.block,e),this.buf.push(" }"),e.alternate&&(this.buf.push(" if ($$l === 0) {"),this.visit(e.alternate,e),this.buf.push(" }")),this.buf.push(" }\n}).call(this);\n")},visitAttributes:function(e,t){if(t.length){if(e.length){const r=this.attrs(e);t.unshift(r)}t.length>1?this.bufferExpression(this.runtime("attrs")+"("+this.runtime("merge")+"(["+t.join(",")+"]), "+Al(this.terse)+")",!1):this.bufferExpression(this.runtime("attrs")+"("+t[0]+", "+Al(this.terse)+")",!1)}else e.length&&this.attrs(e,!0)},attrs:function(e,t){const r=Cl(e,{terse:this.terse,format:t?"html":"object",runtime:this.runtime.bind(this)});return t&&this.bufferExpression(r),r},attributeBlocks:function(e){return e&&e.slice().map((function(e){return e.val}))}},rh.CodeGenerator=nh;var sh=Object.freeze({__proto__:null,default:"This is virtual rosaenlg-yseop/es/true!"}),ah=function(e,t){return t=t||"template",Function("pug",e+"\nreturn "+t+";")(Ni)};var oh=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ValueManager=void 0;t.ValueManager=class{constructor(e,t,r,n,i,s,a,o,u,l){this.languageImpl=e,this.refsManager=t,this.genderNumberManager=r,this.randomManager=n,this.adjectiveManager=i,this.helper=s,this.possessiveManager=a,this.synManager=o,this.simplifiedStringsCache=new Map,this.saveRollbackManager=u,this.constants=l}setSpy(e){this.spy=e}valueOfFirstParam(e,t){if("number"==typeof e)this.spy.appendPugHtml(this.valueNumber(e,t));else if("string"==typeof e)this.spy.appendPugHtml(this.valueString(e,t));else if(e instanceof Date)this.spy.appendPugHtml(this.valueDate(e,t?t.dateFormat:null));else if(e.isAnonymous);else if("object"==typeof e)this.valueObject(e,t);else{if("function"!=typeof e){const t=new Error;throw t.name="TypeError",t.message=`value not possible on: ${JSON.stringify(e)}`,t}e(t)}}value(e,t){if(null==e){const e=new Error;throw e.name="InvalidArgumentError",e.message="first parameter of value is null or undefined",e}if(function(e){return"string"==typeof e&&"<"===e.charAt(0)&&">"===e.charAt(e.length-1)}(e))return void this.valueSimplifiedString(e.substring(1,e.length-1),t);if(t&&t.owner){const r=Object.assign({},t);return r.owner=null,void this.possessiveManager.thirdPossession(t.owner,e,r)}const r=this.synManager.synFctHelper(e);this.valueOfFirstParam(r,t),t&&t.represents&&(this.genderNumberManager.setRefGender(t.represents,r,t),t.number&&this.genderNumberManager.setRefNumber(t.represents,t.number))}valueDate(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return"SOME_DATE";{const r=this.languageImpl.getFormattedDate(e,t),n=new RegExp(`[^${this.constants.tousCaracteresMinMajRe}].*`);return r.replace(n,"§$&§")}}valueSimplifiedString(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return void this.spy.appendPugHtml("SOME_STRING");let r;if(r=this.simplifiedStringsCache.get(e),!r)try{if(r=this.languageImpl.parseSimplifiedString(e),r.unknownNoun){if("M"!=r.gender&&"F"!=r.gender&&"N"!=r.gender){const e=new Error;throw e.name="NotFoundInDict",e.message=`${r.noun} is not in dict. Indicate a gender, M F or N!`,e}delete r.unknownNoun}this.simplifiedStringsCache.set(e,r)}catch(t){const r=new Error;throw r.name="ParseError",r.message=`could not parse <${e}>: ${t.message}`,r}const n=Object.assign({},r,t);delete n.noun,t&&t.debug&&console.log(`DEBUG: <${e}> => ${JSON.stringify(r)} - final: ${r.noun} ${JSON.stringify(n)}`),this.value(r.noun,n)}getAdjPos(e){let t;if(e&&e.adjPos&&(t=e.adjPos,t&&"AFTER"!=t&&"BEFORE"!=t)){const e=new Error;throw e.name="InvalidArgumentError",e.message="adjective position must be either AFTER or BEFORE",e}return t||(t=this.languageImpl.defaultAdjPos),t}getAdjStringFromList(e,t,r,n,i){if(!r||0===r.length)return"";const s=[];for(const n of r)s.push(this.adjectiveManager.getAgreeAdj(n,e,{gender:t.gender,genderOwned:t.genderOwned,number:t.number,numberOwned:t.numberOwned,case:t.case,det:t.det,adjPos:i}));let a=null;if(s.length>1){let e;e=null!=n?n:this.languageImpl.getDefaultLastSeparatorForAdjectives(),a="¤"+e+"¤"}switch(s.length){case 1:return s[0];case 2:return s.join(a);default:return s.slice(0,s.length-1).join(", ")+a+s[s.length-1]}}getAdjBeforeAndAfter(e,t){const r={before:"",after:""};if(t&&t.adj)if(t.adj.BEFORE||t.adj.AFTER)r.before=this.getAdjStringFromList(e,t,t.adj.BEFORE,t.adj.SEP_BEFORE,"BEFORE"),r.after=this.getAdjStringFromList(e,t,t.adj.AFTER,t.adj.SEP_AFTER,"AFTER");else{let n=null;const i=this.getAdjPos(t);if("string"==typeof t.adj||t.adj instanceof String)n=this.getAdjStringFromList(e,t,[t.adj],null,i);else{if(!Array.isArray(t.adj)){const e=new Error;throw e.name="InvalidArgumentError",e.message="adj param has an invalid structure",e}n=this.getAdjStringFromList(e,t,t.adj,null,i)}switch(i){case"BEFORE":r.before=n;break;case"AFTER":r.after=n}}return r}valueString(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return"SOME_STRING";if(!t)return e;this.languageImpl.hasCase&&(t.case=t.case||this.languageImpl.defaultCase),(t.det||t.adj||t.possessiveAdj||t.represents)&&(t.genderOwned=this.genderNumberManager.getRefGender(e,t)),t.numberOwned=this.genderNumberManager.getRefNumber(null,t)||"S";const r=this.getAdjBeforeAndAfter(e,t),n=this.languageImpl.getSubstantive(e,t.numberOwned,t.case);let i="";t.possessiveAdj&&(i=this.adjectiveManager.getAgreeAdj(t.possessiveAdj,e,t));const s=this.languageImpl.getFormattedNominalGroup(i,r.before,n,r.after);let a="";if(t&&t.det){const e={genderOwned:t.genderOwned,numberOwned:t.numberOwned,genderOwner:t.genderOwner,numberOwner:t.numberOwner,case:t.case,dist:t.dist,after:s.trim(),useTheWhenPlural:t.useTheWhenPlural,adjectiveAfterDet:""!==r.before,forceDes:t.FORCE_DES};a=this.languageImpl.getDet(t.det,e)}return a+" "+s}valueObject(e,t){this.refsManager.getNextRef(e)&&(this.randomManager.setRndNextPos(this.refsManager.getNextRef(e).rndNextPos),this.refsManager.deleteNextRef(e)),t&&"ref"===t.REPRESENTANT?this.valueRef(e,t):t&&"refexpr"===t.REPRESENTANT||this.refsManager.hasTriggeredRef(e)&&e.refexpr?this.valueRefexpr(e,t):this.valueRef(e,t)}valueRefexpr(e,t){e.refexpr(e,t)}valueRef(e,t){if(!e.ref){const t=new Error;throw t.name="InvalidArgumentError",t.message=`${JSON.stringify(e)} has no ref mixin`,t}e.ref(e,t),this.refsManager.setTriggeredRef(e)}valueNumberAsIs(e){return this.helper.protectString(e.toString())}valueNumberFormat(e,t){return this.helper.protectString(this.languageImpl.getFormatNumberWithNumeral(e,t.FORMAT))}valueNumberTextual(e){return this.languageImpl.getTextualNumber(e)}valueNumberOrdinalNumber(e,t){const r=null!=t.agree?this.genderNumberManager.getRefGender(t.agree,t):"M";return this.helper.protectString(this.languageImpl.getOrdinalNumber(e,r))}valueNumberOrdinalTextual(e,t){if(e%1!=0){const t=new Error;throw t.name="InvalidArgumentError",t.message=`ORDINAL_TEXTUAL must be an integer, here ${e}`,t}const r=null!=t.agree?this.genderNumberManager.getRefGender(t.agree,t):"M";return this.languageImpl.getOrdinal(e,r)}valueNumber(e,t){if(this.saveRollbackManager.isEvaluatingEmpty)return"SOME_NUMBER";if(t){if(t.AS_IS)return this.valueNumberAsIs(e);if(t.FORMAT)return this.valueNumberFormat(e,t);if(t.TEXTUAL)return this.valueNumberTextual(e);if(t.ORDINAL_NUMBER)return this.valueNumberOrdinalNumber(e,t);if(t.ORDINAL_TEXTUAL)return this.valueNumberOrdinalTextual(e,t)}return this.helper.protectString(this.languageImpl.getStdFormatedNumber(e))}}})),uh=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SynManager=void 0;t.SynManager=class{constructor(e,t,r,n){this.randomManager=e,this.saveRollbackManager=t,this.defaultSynoMode=n.defaultSynoMode,this.helper=r,this.synoSeq=new Map,this.synoTriggered=new Map}setSpy(e){this.spy=e}getSynoSeq(){return this.synoSeq}setSynoSeq(e){this.synoSeq=e}getSynoTriggered(){return this.synoTriggered}setSynoTriggered(e){this.synoTriggered=e}getSynoTriggeredOn(e){return this.synoTriggered.get(e)||[]}getNextSeqNotIn(e,t,r){const n=this.synoSeq.get(e);function i(e){return e>=t?1:e+1}let s=i(n||0);for(;r.indexOf(s)>-1;)s=i(s);return s}synFct(e){return 1==e.length?e[0]:e[Math.floor(this.randomManager.getNextRnd()*e.length)]}synFctHelper(e){return Array.isArray(e)?this.synFct(e):e}simpleSyn(e){const t=this.synFct(e);this.helper.insertValEscaped(t)}getToTest(e,t,r,n,i,s){switch(e){case"sequence":return{index:this.getNextSeqNotIn(r,n,s),exclude:s};case"once":{const e=this.randomManager.randomNotIn(n,i,s);if(e)return{index:e,exclude:s};{const e=this.getSynoTriggeredOn(r),t=s.filter((function(t){return-1==e.indexOf(t)})),a=[];if(e.length>1){const r=e[e.length-1];a.push(r),t.push(r)}return this.synoTriggered.set(r,a),{index:this.randomManager.randomNotIn(n,i,t),exclude:t}}}case"random":return{index:this.randomManager.randomNotIn(n,i,s),exclude:s}}}runSynz(e,t,r,n,i){const s=n.mode||this.defaultSynoMode;if(-1===["sequence","random","once"].indexOf(s)){const e=new Error;throw e.name="InvalidArgumentError",e.message=`invalid synonym mode: ${s}`,e}let a,o=i;if(!i){if(o=[],"once"===s){const e=this.getSynoTriggeredOn(t);o=o.concat(e)}n.force&&(a=n.force)}if(null==a){const i=this.getToTest(s,e,t,r,n,o);a=i.index,o=i.exclude}if(null!=a){this.saveRollbackManager.saveSituation("isEmpty");const i=this.spy.getPugHtml();if(e(a,n),this.helper.htmlHasNotChanged(i))o.push(a),this.saveRollbackManager.rollback(),this.runSynz(e,t,r,n,o);else switch(this.saveRollbackManager.rollback(),this.spy.appendPugHtml("¤"),e(a,n),this.spy.appendPugHtml("¤"),s){case"random":break;case"sequence":this.synoSeq.set(t,a);break;case"once":{const e=this.synoTriggered.get(t)||[];e.push(a),this.synoTriggered.set(t,e);break}}}}}})),lh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageSynEnglish/es/true!"}),ch=Object.freeze({__proto__:null,default:"This is virtual ./LanguageSynFrench/es/true!"}),ph=Object.freeze({__proto__:null,default:"This is virtual ./LanguageSynGerman/es/true!"}),hh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageSynItalian/es/true!"}),dh=/\s+/g,fh=/'/,mh=/([a-z]+)('s)$/i,yh=/([a-z]+s)(')$/i,gh=[{regex:/"[^"]*"/g,category:"quoted_phrase"},{regex:/(?:https?:\/\/)(?:[\da-z\.-]+)\.(?:[a-z\.]{2,6})(?:[\/\w\.\-\?#=]*)*\/?/gi,category:"url"},{regex:/[-!#$%&'*+\/=?^\w{|}~](?:\.?[-!#$%&'*+\/=?^\w`{|}~])*@[a-z0-9](?:-?\.?[a-z0-9])*(?:\.[a-z](?:-?[a-z0-9])*)+/gi,category:"email"},{regex:/@\w+/g,category:"mention"},{regex:/#[a-z][a-z0-9]*/gi,category:"hashtag"},{regex:/#[\u0900-\u0963\u0970-\u097F][\u0900-\u0963\u0970-\u097F\u0966-\u096F0-9]*/gi,category:"hashtag"},{regex:/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g,category:"emoji"},{regex:/:-?[dps\*\/\[\]{}\(\)]|;-?[/(/)d]|<3/gi,category:"emoticon"},{regex:/(?:\d|[01]\d|2[0-3]):?(?:[0-5][0-9])?\s?(?:[ap]\.?m\.?|hours|hrs)/gi,category:"time"},{regex:/1\dth|[04-9]th|1st|2nd|3rd|[02-9]1st|[02-9]2nd|[02-9]3rd|[02-9][04-9]th|\d+\d[04-9]th|\d+\d1st|\d+\d2nd|\d+\d3rd/g,category:"ordinal"},{regex:/\d+\/\d+|\d(?:[\.,-\/]?\d)*(?:\.\d+)?/g,category:"number"},{regex:/[\u0966-\u096F]+\/[\u0966-\u096F]+|[\u0966-\u096F](?:[\.,-\/]?[\u0966-\u096F])*(?:\.[\u0966-\u096F]+)?/g,category:"number"},{regex:/[₿₽₹₨$£¥€₩]/g,category:"currency"},{regex:/[a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF][a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF']*/gi,category:"word"},{regex:/[\u0900-\u094F\u0951-\u0963\u0970-\u097F]+/gi,category:"word"},{regex:/[’'‘’`“”"\[\]\(\){}…,\.!;\?\-:\u0964\u0965]/g,category:"punctuation"},{regex:/[\u0950~@#%\^\+=\*\|\/<>&]/g,category:"symbol"}],bh={emoticon:"c",email:"e",emoji:"j",hashtag:"h",mention:"m",number:"n",ordinal:"o",quoted_phrase:"q",currency:"r",time:"t",url:"u",word:"w",alien:"z"},vh=function(){var e=gh.slice(0),t=[],r=Object.create(null),n=function(e,t){var r,n="This is virtual ./eng-contractions.js/es/true!"[e];return void 0===n?(r=e.match(mh))||(r=e.match(yh))?(t.push({value:r[1],tag:"word"}),t.push({value:r[2],tag:"word"})):t.push({value:e,tag:"word"}):(t.push(Object.assign({},n[0])),t.push(Object.assign({},n[1])),n[2]&&t.push(Object.assign({},n[2]))),t},i=function(e,r){var s,a,o,u=e.trim();if(r.length)for(s=function(e,t){var r,i,s,a,o=e.match(t.regex),u=e.split(t.regex),l=[],c=t.category,p=0;for(o=o||[],i=0,s=u.length;i-1}isValidPropAdj(e){return this.validPropsAdj.indexOf(e)>-1}checkProp(e,t){if("word"===e&&!this.isValidPropWord(t)||"adj"===e&&!this.isValidPropAdj(t)){const r=new Error;throw r.name="InvalidArgumentError",r.message=`invalid property ${t} as ${e} in ${this.iso2}`,r}}setAdjData(e,t){this.adjsData[e]||(this.adjsData[e]={});const r=Object.keys(t);for(const n of r)this.checkProp("adj",n),this.adjsData[e][n]=t[n]}setWordData(e,t){this.wordsData[e]||(this.wordsData[e]={});const r=Object.keys(t);for(const n of r)this.checkProp("word",n),this.wordsData[e][n]=t[n]}}})),Dh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCommon=void 0;t.LanguageCommon=class{constructor(){this.allPunctList=xh.Constants.stdPunctList}init(){this.dictManager=new Eh.DictManager(this.iso2,this.validPropsWord,this.validPropsAdj),this.constants=new xh.Constants(this.allPunctList)}setIso2(e){const t=new Error;throw t.name="InvalidArgumentException",t.message="cannot set iso2",t}}})),Sh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonEnglish/es/true!"}),Th=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonFrench/es/true!"}),Ah=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonGerman/es/true!"}),Ph=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonItalian/es/true!"}),wh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageCommonSpanish=void 0;class r extends Dh.LanguageCommon{constructor(){super(...arguments),this.iso2="es",this.validPropsWord=["plural","gender"],this.validPropsAdj=["MStrue","MPtrue","FStrue","FPtrue","MSfalse","MPfalse","FSfalse","FPfalse"],this.allPunctList=xh.Constants.stdPunctList+"¡¿"}}t.LanguageCommonSpanish=r})),Ch=Object.freeze({__proto__:null,default:"This is virtual ./LanguageCommonOther/es/true!"}),kh=C(Sh),_h=C(Th),Ih=C(Ah),Fh=C(Ph),Oh=C(Ch),Nh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.buildLanguageCommon=t.getIso2fromLocale=void 0,t.getIso2fromLocale=function(e){if(e&&5==e.length)return e.substring(0,2);{const t=new Error;throw t.name="InvalidArgumentException",t.message=`${e} is not a valid locale, should be xx_YY (e.g. en_US)`,t}},t.buildLanguageCommon=function(e){let t;switch(e){case"en":t=new kh.LanguageCommonEnglish,t.init();break;case"fr":t=new _h.LanguageCommonFrench,t.init();break;case"de":t=new Ih.LanguageCommonGerman,t.init();break;case"it":t=new Fh.LanguageCommonItalian,t.init();break;case"es":t=new wh.LanguageCommonSpanish,t.init();break;default:t=new Oh.LanguageCommonOther,t.setIso2(e),t.init()}return t}})),jh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getIso2fromLocale=t.buildLanguageCommon=t.Constants=t.DictManager=t.LanguageCommonOther=t.LanguageCommonSpanish=t.LanguageCommonItalian=t.LanguageCommonGerman=t.LanguageCommonFrench=t.LanguageCommonEnglish=t.LanguageCommon=void 0,Object.defineProperty(t,"LanguageCommon",{enumerable:!0,get:function(){return Dh.LanguageCommon}}),Object.defineProperty(t,"LanguageCommonEnglish",{enumerable:!0,get:function(){return kh.LanguageCommonEnglish}}),Object.defineProperty(t,"LanguageCommonFrench",{enumerable:!0,get:function(){return _h.LanguageCommonFrench}}),Object.defineProperty(t,"LanguageCommonGerman",{enumerable:!0,get:function(){return Ih.LanguageCommonGerman}}),Object.defineProperty(t,"LanguageCommonItalian",{enumerable:!0,get:function(){return Fh.LanguageCommonItalian}}),Object.defineProperty(t,"LanguageCommonSpanish",{enumerable:!0,get:function(){return wh.LanguageCommonSpanish}}),Object.defineProperty(t,"LanguageCommonOther",{enumerable:!0,get:function(){return Oh.LanguageCommonOther}}),Object.defineProperty(t,"DictManager",{enumerable:!0,get:function(){return Eh.DictManager}}),Object.defineProperty(t,"Constants",{enumerable:!0,get:function(){return xh.Constants}}),Object.defineProperty(t,"buildLanguageCommon",{enumerable:!0,get:function(){return Nh.buildLanguageCommon}}),Object.defineProperty(t,"getIso2fromLocale",{enumerable:!0,get:function(){return Nh.getIso2fromLocale}})})),Mh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.addCaps=t.quotes=t.parenthesis=t.cleanSpacesPunctuation=t.duplicatePunctuation=t.EATSPACE=void 0,t.EATSPACE="EATSPACE",t.duplicatePunctuation=function(e,t){let r=e;r=r.replace(/\.\.\./g,"…");const n=new RegExp(`([${t.constants.allPunctList}])((?:${t.constants.spaceOrNonBlockingClass}*[${jh.Constants.stdPunctList}])*)`,"g");return r=r.replace(n,(function(e,t,r){const n=new RegExp(`[${jh.Constants.stdPunctList}]`,"g");return`${t}${r.replace(n,(()=>""))}`})),r},t.cleanSpacesPunctuation=function(e,r){let n=e;if(n=n.replace(/\s{2,}/g," "),n=r.cleanSpacesPunctuation(n),r.cleanSpacesPunctuationDoDefault){const e=new RegExp(`(${r.constants.spaceOrNonBlockingClass}*)([${jh.Constants.stdPunctList}])(${r.constants.spaceOrNonBlockingClass}*)`,"g");n=n.replace(e,((e,t,r,n)=>`${t.replace(/\s/g,"")}${r} ${n.replace(/\s/g,"")}`))}n=n.replace(/\s+☚/g,"☚"),n=n.replace(/☛\s+/g,"☛"),n=n.replace(/\s+☚/g,"☚"),n=n.trim();const i=new RegExp(`[\\s¤]+${t.EATSPACE}[\\s¤]+`,"g");return n=n.replace(i,""),n=r.cleanSpacesPunctuationCorrect(n),n},t.parenthesis=function(e,t){let r=e;r=r.replace(/\(\s+/g,"("),r=r.replace(/\s+\)/g,")");const n=new RegExp("["+t.constants.tousCaracteresMinMajRe+"]\\(","g");r=r.replace(n,(e=>e.charAt(0)+" ("));const i=new RegExp("\\)["+t.constants.tousCaracteresMinMajRe+"]","g");return r=r.replace(i,(e=>") "+e.charAt(1))),r},t.quotes=function(e){let t=e,r=!1;return t=t.replace(new RegExp('(\\s*)"(\\s*)',"g"),(()=>r?(r=!1,'" '):(r=!0,' "'))),r&&console.log('WARNING: did find a starting " but not the ending one'),t=t.replace(new RegExp('\\(\\s*"',"g"),(()=>' ("')),t=t.replace(new RegExp('"\\s*\\)',"g"),(()=>'") ')),t},t.addCaps=function(e,t){let r=e;{const e=new RegExp(`(${"[\\.!\\?¡¿]"})(${t.constants.spaceOrNonBlockingClass}*)([${t.constants.tousCaracteresMinMajRe}])`,"g");r=r.replace(e,((e,t,r,n)=>`${t}${r.replace(/\s/g,"")} ${n.toUpperCase()}`))}r=t.addCapsSpecific(r);{const e=new RegExp(`([☛☚])(${t.constants.spaceOrNonBlockingClass}*)([${t.constants.tousCaracteresMinMajRe}])`,"g");r=r.replace(e,((e,t,r,n)=>`${t}${r.replace(/ /g,"")}${n.toUpperCase()}`))}return r}})),Lh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.specialSpacesToNormalSpaces=t.cleanStructAfterUnprotect=t.cleanStruct=t.joinLines=void 0,t.joinLines=function(e){return e.replace(/\n|\r/g," ")},t.cleanStruct=function(e,t){let r=e;const n=new RegExp(`☚([${t.allPunctList}\\s]+)☛`,"g");r=r.replace(n,(()=>"☚☛"));const i=new RegExp(`☚([${t.allPunctList}\\s]+)☚`,"g");r=r.replace(i,(()=>"☚☚"));const s=new RegExp("(\\s*)(☞[☞\\s]*)\\s+","g");r=r.replace(s,((e,t,r)=>`${t}${r.replace(/\s/g,"")}`));const a=new RegExp("\\s+(☜[☜\\s]*)(\\s*)","g");return r=r.replace(a,((e,t,r)=>`${t.replace(/\s/g,"")}${r}`)),r},t.cleanStructAfterUnprotect=function(e){let t=e;const r=new RegExp("\\.
","g");return t=t.replace(r,""),t},t.specialSpacesToNormalSpaces=function(e){return e.replace(/¤/g," ")}})),Bh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.titlecase=void 0,t.titlecase=function(e,t){let r=e;const n=new RegExp("_TITLECASE_\\s*(.*?)\\s*_TITLECASE_","g");return r=r.replace(n,((e,r)=>t.titlecase(r))),r}})),Rh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.protectBlocks=t.unprotect=t.ProtectMapping=void 0;class r{constructor(e,t){this.protectedString=e,this.mappings=t}}t.ProtectMapping=r,t.unprotect=function(e,t){let r=e;for(const e in t){const n=new RegExp("¤","g");r=r.replace(e,t[e].replace(n,""))}return r},t.protectBlocks=function(e){const t=new RegExp("§([^§]*)§","g"),n={};let i=0;const s=e.replace(t,(function(e,t){const r="XESCAPED_SEQ_"+ ++i;return n[r]=t,r}));return new r(s,n)}})),Uh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.changeRenderDebug=t.unProtectHtmlEscapeSeq=t.protectHtmlEscapeSeq=t.replacePlaceholders=t.replaceHtml=t.inlineElts=t.blockLevelElts=void 0,t.blockLevelElts=["address","article","aside","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","head","body","hr","li","main","nav","noscript","ol","p","pre","section","table","tfoot","ul","video","li_block","ul_block","ol_block"],t.inlineElts=["a","abbr","acronym","b","bdo","big","br","button","cite","code","dfn","em","i","img","input","kbd","label","map","object","output","q","samp","script","select","small","span","strong","sub","sup","textarea","time","tt","var","li_inline","ul_inline","ol_inline"],t.replaceHtml=function(e){const r={replaced:e,elts:[]},n=new RegExp("<(/?)([a-zA-Z_-]+).*?>","g");return r.replaced=r.replaced.replace(n,(function(e,n,i){return r.elts.push(e),t.blockLevelElts.indexOf(i)>-1?"/"===n?"☚":"☛":"/"===n?"☜":"☞"})),r},t.replacePlaceholders=function(e,t){const r=new RegExp("[☛☚☞☜]","g"),n=e.replace(r,(function(){const e=t.shift();if(void 0===e){const e=new Error;throw e.name="InternalError",e.message="There are not enough html tags",e}return function(e){return Lh.specialSpacesToNormalSpaces(e.replace("_block","").replace("_inline",""))}(e)}));if(t.length>0){const e=new Error;throw e.name="InternalError",e.message=`There are left html tags: ${t}`,e}return n};const r={AMPROTECT:"&",LTPROTECT:"<",GTPROTECT:">"};t.protectHtmlEscapeSeq=function(e){let t=e;for(const e in r)t=t.replace(r[e],e);return t},t.unProtectHtmlEscapeSeq=function(e){let t=e;for(const e in r)t=t.replace(e,r[e]);return t},t.changeRenderDebug=function(e){const t=new RegExp('',"g");return e.replace(t,(function(e,t){return`${t}`}))}})),Vh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterFrench/es/true!"}),zh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageFilter=void 0;t.LanguageFilter=class{constructor(e){this.languageCommon=e,this.dictManager=e.dictManager,this.constants=e.constants}contractions(e){return e}beforeProtect(e){return e}justBeforeUnprotect(e){return e}titlecase(e){const t=new Error;throw t.name="InvalidArgumentError",t.message=`titlecase is not available for ${this.languageForCommons}`,t}cleanSpacesPunctuation(e){return e}cleanSpacesPunctuationCorrect(e){return e}addCapsSpecific(e){return e}contract2elts(e,t,r,n){const i=`[${e.substring(0,1)}|${e.substring(0,1).toUpperCase()}]${e.substring(1)}`,s=new RegExp(`${this.constants.stdBeforeWithParenthesis}(${i})${this.constants.stdBetweenWithParenthesis}${t}${this.constants.stdBetweenWithParenthesis}`,"g");return n.replace(s,(function(e,t,n,i,s){return`${t}${n.substring(0,1).toLowerCase()!=n.substring(0,1)?r.substring(0,1).toUpperCase()+r.substring(1):r}${i}${s}`}))}}})),Wh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageFilterSpanish=void 0;class r extends zh.LanguageFilter{constructor(){super(...arguments),this.cleanSpacesPunctuationDoDefault=!0}contractions(e){let t=e;return t=this.contract2elts("de","el","del",t),t=this.contract2elts("a","el","al",t),t}cleanSpacesPunctuation(e){let t=e;const r=new RegExp(`([¡¿])(${this.constants.spaceOrNonBlockingClass}*)`,"g");return t=t.replace(r,((e,t,r)=>`${t}${r.replace(/\s/g,"")}`)),t}addCapsSpecific(e){let t=e;const r=new RegExp(`([¡¿])(${this.constants.spaceOrNonBlockingClass}*)([${this.constants.tousCaracteresMinMajRe}])`,"g");return t=t.replace(r,((e,t,r,n)=>`${t}${r.replace(/\s/g,"")}${n.toUpperCase()}`)),t}}t.LanguageFilterSpanish=r})),qh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterEnglish/es/true!"}),Xh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterItalian/es/true!"}),Jh=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterGerman/es/true!"}),$h=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFilterOther/es/true!"}),Kh=C(Vh),Yh=C(qh),Hh=C(Xh),Gh=C(Jh),Qh=C($h),Zh=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.languageFilterFromLanguageCommon=void 0,t.languageFilterFromLanguageCommon=function(e){switch(e.iso2){case"fr":return new Kh.LanguageFilterFrench(e);case"de":return new Gh.LanguageFilterGerman(e);case"it":return new Hh.LanguageFilterItalian(e);case"en":return new Yh.LanguageFilterEnglish(e);case"es":return new Wh.LanguageFilterSpanish(e);default:return new Qh.LanguageFilterOther(e)}}})),ed=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
var r=P&&P.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=P&&P.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=P&&P.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.filter=t.EATSPACE=t.inlineHtmlElts=t.blockLevelHtmlElts=void 0;const s=i(Mh),a=i(Lh),o=i(Rh),u=i(Uh);t.blockLevelHtmlElts=u.blockLevelElts,t.inlineHtmlElts=u.inlineElts,t.EATSPACE=s.EATSPACE,t.filter=function(e,t,r){const n=Zh.languageFilterFromLanguageCommon(t);let i=e;i=u.protectHtmlEscapeSeq(i);const l=u.replaceHtml(i);i=l.replaced,i="START. "+i,i=n.beforeProtect(i);const c=o.protectBlocks(i);i=c.protectedString,i=a.joinLines(i),i=a.specialSpacesToNormalSpaces(i),i=s.duplicatePunctuation(i,n),i=n.contractions(i),i=a.cleanStruct(i,n.constants),i=s.parenthesis(i,n),i=s.quotes(i),i=s.cleanSpacesPunctuation(i,n),i=s.addCaps(i,n),i=function(e){let t=e;const r="Addventa",n=new RegExp(r,"g");return t=t.replace(n,r+" 👍"),t}(i),i=Bh.titlecase(i,n),i=n.justBeforeUnprotect(i),i=o.unprotect(i,c.mappings);const p=new RegExp("^START([☞\\s\\.]+)","g");return i=i.replace(p,((e,t)=>`${t.replace(/[\s\.]*/g,"")}`)),i=u.replacePlaceholders(i,l.elts),r.renderDebug&&(i=u.changeRenderDebug(i)),i=a.cleanStructAfterUnprotect(i),i=u.unProtectHtmlEscapeSeq(i),i=i.trim(),i}})),td=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageSyn=void 0;t.LanguageSyn=class{extractWords(e){const t=new vh;t.defineConfig({currency:!1,number:!1,punctuation:!1,symbol:!1,time:!1});const r=t.tokenize(e),n=[];return r.forEach((e=>{"alien"!=e.tag&&-1==ed.blockLevelHtmlElts.indexOf(e.value)&&-1==ed.inlineHtmlElts.indexOf(e.value)&&n.push(e.value)})),n}}})),rd=Object.freeze({__proto__:null,default:["0","1","2","3","4","5","6","7","8","9","_","a","actualmente","acuerdo","adelante","ademas","además","adrede","afirmó","agregó","ahi","ahora","ahí","al","algo","alguna","algunas","alguno","algunos","algún","alli","allí","alrededor","ambos","ampleamos","antano","antaño","ante","anterior","antes","apenas","aproximadamente","aquel","aquella","aquellas","aquello","aquellos","aqui","aquél","aquélla","aquéllas","aquéllos","aquí","arriba","arribaabajo","aseguró","asi","así","atras","aun","aunque","ayer","añadió","aún","b","bajo","bastante","bien","breve","buen","buena","buenas","bueno","buenos","c","cada","casi","cerca","cierta","ciertas","cierto","ciertos","cinco","claro","comentó","como","con","conmigo","conocer","conseguimos","conseguir","considera","consideró","consigo","consigue","consiguen","consigues","contigo","contra","cosas","creo","cual","cuales","cualquier","cuando","cuanta","cuantas","cuanto","cuantos","cuatro","cuenta","cuál","cuáles","cuándo","cuánta","cuántas","cuánto","cuántos","cómo","d","da","dado","dan","dar","de","debajo","debe","deben","debido","decir","dejó","del","delante","demasiado","demás","dentro","deprisa","desde","despacio","despues","después","detras","detrás","dia","dias","dice","dicen","dicho","dieron","diferente","diferentes","dijeron","dijo","dio","donde","dos","durante","día","días","dónde","e","ejemplo","el","ella","ellas","ello","ellos","embargo","empleais","emplean","emplear","empleas","empleo","en","encima","encuentra","enfrente","enseguida","entonces","entre","era","erais","eramos","eran","eras","eres","es","esa","esas","ese","eso","esos","esta","estaba","estabais","estaban","estabas","estad","estada","estadas","estado","estados","estais","estamos","estan","estando","estar","estaremos","estará","estarán","estarás","estaré","estaréis","estaría","estaríais","estaríamos","estarían","estarías","estas","este","estemos","esto","estos","estoy","estuve","estuviera","estuvierais","estuvieran","estuvieras","estuvieron","estuviese","estuvieseis","estuviesen","estuvieses","estuvimos","estuviste","estuvisteis","estuviéramos","estuviésemos","estuvo","está","estábamos","estáis","están","estás","esté","estéis","estén","estés","ex","excepto","existe","existen","explicó","expresó","f","fin","final","fue","fuera","fuerais","fueran","fueras","fueron","fuese","fueseis","fuesen","fueses","fui","fuimos","fuiste","fuisteis","fuéramos","fuésemos","g","general","gran","grandes","gueno","h","ha","haber","habia","habida","habidas","habido","habidos","habiendo","habla","hablan","habremos","habrá","habrán","habrás","habré","habréis","habría","habríais","habríamos","habrían","habrías","habéis","había","habíais","habíamos","habían","habías","hace","haceis","hacemos","hacen","hacer","hacerlo","haces","hacia","haciendo","hago","han","has","hasta","hay","haya","hayamos","hayan","hayas","hayáis","he","hecho","hemos","hicieron","hizo","horas","hoy","hube","hubiera","hubierais","hubieran","hubieras","hubieron","hubiese","hubieseis","hubiesen","hubieses","hubimos","hubiste","hubisteis","hubiéramos","hubiésemos","hubo","i","igual","incluso","indicó","informo","informó","intenta","intentais","intentamos","intentan","intentar","intentas","intento","ir","j","junto","k","l","la","lado","largo","las","le","lejos","les","llegó","lleva","llevar","lo","los","luego","lugar","m","mal","manera","manifestó","mas","mayor","me","mediante","medio","mejor","mencionó","menos","menudo","mi","mia","mias","mientras","mio","mios","mis","misma","mismas","mismo","mismos","modo","momento","mucha","muchas","mucho","muchos","muy","más","mí","mía","mías","mío","míos","n","nada","nadie","ni","ninguna","ningunas","ninguno","ningunos","ningún","no","nos","nosotras","nosotros","nuestra","nuestras","nuestro","nuestros","nueva","nuevas","nuevo","nuevos","nunca","o","ocho","os","otra","otras","otro","otros","p","pais","para","parece","parte","partir","pasada","pasado","paìs","peor","pero","pesar","poca","pocas","poco","pocos","podeis","podemos","poder","podria","podriais","podriamos","podrian","podrias","podrá","podrán","podría","podrían","poner","por","por qué","porque","posible","primer","primera","primero","primeros","principalmente","pronto","propia","propias","propio","propios","proximo","próximo","próximos","pudo","pueda","puede","pueden","puedo","pues","q","qeu","que","quedó","queremos","quien","quienes","quiere","quiza","quizas","quizá","quizás","quién","quiénes","qué","r","raras","realizado","realizar","realizó","repente","respecto","s","sabe","sabeis","sabemos","saben","saber","sabes","sal","salvo","se","sea","seamos","sean","seas","segun","segunda","segundo","según","seis","ser","sera","seremos","será","serán","serás","seré","seréis","sería","seríais","seríamos","serían","serías","seáis","señaló","si","sido","siempre","siendo","siete","sigue","siguiente","sin","sino","sobre","sois","sola","solamente","solas","solo","solos","somos","son","soy","soyos","su","supuesto","sus","suya","suyas","suyo","suyos","sé","sí","sólo","t","tal","tambien","también","tampoco","tan","tanto","tarde","te","temprano","tendremos","tendrá","tendrán","tendrás","tendré","tendréis","tendría","tendríais","tendríamos","tendrían","tendrías","tened","teneis","tenemos","tener","tenga","tengamos","tengan","tengas","tengo","tengáis","tenida","tenidas","tenido","tenidos","teniendo","tenéis","tenía","teníais","teníamos","tenían","tenías","tercera","ti","tiempo","tiene","tienen","tienes","toda","todas","todavia","todavía","todo","todos","total","trabaja","trabajais","trabajamos","trabajan","trabajar","trabajas","trabajo","tras","trata","través","tres","tu","tus","tuve","tuviera","tuvierais","tuvieran","tuvieras","tuvieron","tuviese","tuvieseis","tuviesen","tuvieses","tuvimos","tuviste","tuvisteis","tuviéramos","tuviésemos","tuvo","tuya","tuyas","tuyo","tuyos","tú","u","ultimo","un","una","unas","uno","unos","usa","usais","usamos","usan","usar","usas","uso","usted","ustedes","v","va","vais","valor","vamos","van","varias","varios","vaya","veces","ver","verdad","verdadera","verdadero","vez","vosotras","vosotros","voy","vuestra","vuestras","vuestro","vuestros","w","x","y","ya","yo","z","él","éramos","ésa","ésas","ése","ésos","ésta","éstas","éste","éstos","última","últimas","último","últimos"]}),nd={};!function(e){function t(e,t){var r=function(){};r.prototype=t.prototype;var n=new r;for(var i in e)e[i].prototype=n}function r(e,t,r){function n(e,t,r){return delete e[t],e[t]=r,r}Object.defineProperty(e,t,{get:function(){return n(e,t,r())},set:function(r){n(e,t,r)},enumerable:!0,configurable:!0})}function n(){}function i(e,t,r){this.s_size=e.length,this.s=e,this.substring_i=t,this.result=r,this.method=null,this.instance=null}function s(e,t,r,n,i){this.s_size=e.length,this.s=e,this.substring_i=t,this.result=r,this.method=n,this.instance=i}function a(){}function o(){var e,t,r;this.cache={},e=this.current="",t=this.cursor=0,r=this.limit=e.length,this.limit_backward=0,this.bra=t,this.ket=r}function u(e,t){e.current=t.current,e.cursor=t.cursor,e.limit=t.limit,e.limit_backward=t.limit_backward,e.bra=t.bra,e.ket=t.ket}function l(e,t,r,n){var i,s;return!(e.cursor>=e.limit)&&(!((i=e.current.charCodeAt(e.cursor))>n||i>>3]&1<<(7&i))&&(s=e.cursor,e.cursor=s+1|0,!0)))}function c(e,t,r,n){var i,s;return!(e.cursor>=e.limit)&&(((i=e.current.charCodeAt(e.cursor))>n||i>>3]&1<<(7&i)))&&(s=e.cursor,e.cursor=s+1|0,!0))}function p(e,t,r){var n;return!((e.limit-e.cursor|0)>>1)],f=h;f0)break;if(i===n)break;if(l)break;l=!0}}for(;;){if(o>=(d=t[n]).s_size){if(e.cursor=s+d.s_size|0,null==d.method)return d.result;if(m=d.method(d.instance),e.cursor=s+d.s_size|0,m)return d.result}if((n=d.substring_i)<0)return 0}return-1}function f(e,t,r){var n,i,s,a,o,u,l,c,p,h,d,f,m;for(n=0,i=r,s=e.cursor,a=e.limit_backward,o=0,u=0,l=!1;;){for(p=0,h=o>1)]).s_size-1-h;f>=0;f--){if(s-h===a){p=-1;break}if(0!==(p=e.current.charCodeAt(s-1-h)-d.s.charCodeAt(f)))break;h++}if(p<0?(i=c,u=h):(n=c,o=h),i-n<=1){if(n>0)break;if(i===n)break;if(l)break;l=!0}}for(;;){if(o>=(d=t[n]).s_size){if(e.cursor=s-d.s_size|0,null==d.method)return d.result;if(m=d.method(e),e.cursor=s-d.s_size|0,m)return d.result}if((n=d.substring_i)<0)return 0}return-1}function m(e,t,r,n){var i;return i=n.length-(r-t|0)|0,e.current=e.current.slice(0,t)+n+e.current.slice(r),e.limit=e.limit+i|0,e.cursor>=r?e.cursor=e.cursor+i|0:e.cursor>t&&(e.cursor=t),0|i}function y(e,t){var r,n,i,s;return r=!1,(n=e.bra)<0||n>(i=e.ket)||i>(s=e.limit)||s>e.current.length||(m(e,e.bra,e.ket,t),r=!0),r}function g(){o.call(this),this.I_p2=0,this.I_p1=0,this.I_pV=0}function b(e){var t,r,n,i,s,a,o,u,p,h,d,f,m,y,b,v,x,E,D,S,T,A;e.I_pV=T=e.limit,e.I_p1=T,e.I_p2=T,t=e.cursor,a=!0;e:for(;!0===a;){a=!1,o=!0;t:for(;!0===o;){o=!1,r=e.cursor,u=!0;r:for(;!0===u&&(u=!1,l(e,g.g_v,97,252));){p=!0;n:for(;!0===p;){p=!1,n=e.cursor,h=!0;i:for(;!0===h&&(h=!1,c(e,g.g_v,97,252));){s:for(;;){d=!0;a:for(;!0===d&&(d=!1,l(e,g.g_v,97,252));)break s;if(e.cursor>=e.limit)break i;A=e.cursor,e.cursor=A+1|0}break n}if(e.cursor=n,!l(e,g.g_v,97,252))break r;i:for(;;){f=!0;s:for(;!0===f&&(f=!1,c(e,g.g_v,97,252));)break i;if(e.cursor>=e.limit)break r;A=e.cursor,e.cursor=A+1|0}}break t}if(e.cursor=r,!c(e,g.g_v,97,252))break e;m=!0;r:for(;!0===m;){m=!1,i=e.cursor,y=!0;n:for(;!0===y&&(y=!1,c(e,g.g_v,97,252));){i:for(;;){b=!0;s:for(;!0===b&&(b=!1,l(e,g.g_v,97,252));)break i;if(e.cursor>=e.limit)break n;A=e.cursor,e.cursor=A+1|0}break r}if(e.cursor=i,!l(e,g.g_v,97,252))break e;if(e.cursor>=e.limit)break e;A=e.cursor,e.cursor=A+1|0}}e.I_pV=e.cursor}s=e.cursor=t,v=!0;e:for(;!0===v;){v=!1;t:for(;;){x=!0;r:for(;!0===x&&(x=!1,l(e,g.g_v,97,252));)break t;if(e.cursor>=e.limit)break e;A=e.cursor,e.cursor=A+1|0}t:for(;;){E=!0;r:for(;!0===E&&(E=!1,c(e,g.g_v,97,252));)break t;if(e.cursor>=e.limit)break e;A=e.cursor,e.cursor=A+1|0}e.I_p1=e.cursor;t:for(;;){D=!0;r:for(;!0===D&&(D=!1,l(e,g.g_v,97,252));)break t;if(e.cursor>=e.limit)break e;A=e.cursor,e.cursor=A+1|0}t:for(;;){S=!0;r:for(;!0===S&&(S=!1,c(e,g.g_v,97,252));)break t;if(e.cursor>=e.limit)break e;A=e.cursor,e.cursor=A+1|0}e.I_p2=e.cursor}return e.cursor=s,!0}function v(e){var t,r,n,i;e:for(;;){r=e.cursor,n=!0;t:for(;!0===n&&(n=!1,e.bra=e.cursor,0!==(t=d(e,g.a_0,6)));){switch(e.ket=e.cursor,t){case 0:break t;case 1:if(!y(e,"a"))return!1;break;case 2:if(!y(e,"e"))return!1;break;case 3:if(!y(e,"i"))return!1;break;case 4:if(!y(e,"o"))return!1;break;case 5:if(!y(e,"u"))return!1;break;case 6:if(e.cursor>=e.limit)break t;i=e.cursor,e.cursor=i+1|0}continue e}e.cursor=r;break e}return!0}function x(e){var t;if(e.ket=e.cursor,0===f(e,g.a_1,13))return!1;if(e.bra=e.cursor,0===(t=f(e,g.a_2,11)))return!1;if(!(e.I_pV<=e.cursor))return!1;switch(t){case 0:return!1;case 1:if(e.bra=e.cursor,!y(e,"iendo"))return!1;break;case 2:if(e.bra=e.cursor,!y(e,"ando"))return!1;break;case 3:if(e.bra=e.cursor,!y(e,"ar"))return!1;break;case 4:if(e.bra=e.cursor,!y(e,"er"))return!1;break;case 5:if(e.bra=e.cursor,!y(e,"ir"))return!1;break;case 6:if(!y(e,""))return!1;break;case 7:if(!h(e,1,"u"))return!1;if(!y(e,""))return!1}return!0}function E(e){var t,r,n,i,s,a,o,u,l,c,p,d,m,b,v;if(e.ket=e.cursor,0===(t=f(e,g.a_6,46)))return!1;switch(e.bra=e.cursor,t){case 0:return!1;case 1:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,""))return!1;break;case 2:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,""))return!1;r=e.limit-e.cursor|0,o=!0;e:for(;!0===o;){if(o=!1,e.ket=e.cursor,!h(e,2,"ic")){e.cursor=e.limit-r|0;break e}if(e.bra=d=e.cursor,!(e.I_p2<=d)){e.cursor=e.limit-r|0;break e}if(!y(e,""))return!1}break;case 3:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,"log"))return!1;break;case 4:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,"u"))return!1;break;case 5:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,"ente"))return!1;break;case 6:if(!(e.I_p1<=e.cursor))return!1;if(!y(e,""))return!1;n=e.limit-e.cursor|0,u=!0;e:for(;!0===u;){if(u=!1,e.ket=e.cursor,0===(t=f(e,g.a_3,4))){e.cursor=e.limit-n|0;break e}if(e.bra=m=e.cursor,!(e.I_p2<=m)){e.cursor=e.limit-n|0;break e}if(!y(e,""))return!1;switch(t){case 0:e.cursor=e.limit-n|0;break e;case 1:if(e.ket=e.cursor,!h(e,2,"at")){e.cursor=e.limit-n|0;break e}if(e.bra=b=e.cursor,!(e.I_p2<=b)){e.cursor=e.limit-n|0;break e}if(!y(e,""))return!1}}break;case 7:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,""))return!1;i=e.limit-e.cursor|0,l=!0;e:for(;!0===l;){if(l=!1,e.ket=e.cursor,0===(t=f(e,g.a_4,3))){e.cursor=e.limit-i|0;break e}switch(e.bra=e.cursor,t){case 0:e.cursor=e.limit-i|0;break e;case 1:if(!(e.I_p2<=e.cursor)){e.cursor=e.limit-i|0;break e}if(!y(e,""))return!1}}break;case 8:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,""))return!1;s=e.limit-e.cursor|0,c=!0;e:for(;!0===c;){if(c=!1,e.ket=e.cursor,0===(t=f(e,g.a_5,3))){e.cursor=e.limit-s|0;break e}switch(e.bra=e.cursor,t){case 0:e.cursor=e.limit-s|0;break e;case 1:if(!(e.I_p2<=e.cursor)){e.cursor=e.limit-s|0;break e}if(!y(e,""))return!1}}break;case 9:if(!(e.I_p2<=e.cursor))return!1;if(!y(e,""))return!1;a=e.limit-e.cursor|0,p=!0;e:for(;!0===p;){if(p=!1,e.ket=e.cursor,!h(e,2,"at")){e.cursor=e.limit-a|0;break e}if(e.bra=v=e.cursor,!(e.I_p2<=v)){e.cursor=e.limit-a|0;break e}if(!y(e,""))return!1}}return!0}function D(e){var t,r,n,i,s,a;if(r=e.limit-(i=e.cursor)|0,i=this.limit)&&(!((n=this.current.charCodeAt(this.cursor))>r||n>>3]&1<<(7&n))&&(i=this.cursor,this.cursor=i+1|0,!0)))},o.in_grouping$LBaseStemmer$AIII=l,o.prototype.in_grouping_b$AIII=function(e,t,r){var n,i;return!(this.cursor<=this.limit_backward)&&(!((n=this.current.charCodeAt(this.cursor-1))>r||n>>3]&1<<(7&n))&&(i=this.cursor,this.cursor=i-1|0,!0)))},o.in_grouping_b$LBaseStemmer$AIII=function(e,t,r,n){var i,s;return!(e.cursor<=e.limit_backward)&&(!((i=e.current.charCodeAt(e.cursor-1))>n||i>>3]&1<<(7&i))&&(s=e.cursor,e.cursor=s-1|0,!0)))},o.prototype.out_grouping$AIII=function(e,t,r){var n,i;return!(this.cursor>=this.limit)&&(((n=this.current.charCodeAt(this.cursor))>r||n>>3]&1<<(7&n)))&&(i=this.cursor,this.cursor=i+1|0,!0))},o.out_grouping$LBaseStemmer$AIII=c,o.prototype.out_grouping_b$AIII=function(e,t,r){var n,i;return!(this.cursor<=this.limit_backward)&&(((n=this.current.charCodeAt(this.cursor-1))>r||n>>3]&1<<(7&n)))&&(i=this.cursor,this.cursor=i-1|0,!0))},o.out_grouping_b$LBaseStemmer$AIII=function(e,t,r,n){var i,s;return!(e.cursor<=e.limit_backward)&&(((i=e.current.charCodeAt(e.cursor-1))>n||i>>3]&1<<(7&i)))&&(s=e.cursor,e.cursor=s-1|0,!0))},o.prototype.in_range$II=function(e,t){var r,n;return!(this.cursor>=this.limit)&&(!((r=this.current.charCodeAt(this.cursor))>t||r=e.limit)&&(!((n=e.current.charCodeAt(e.cursor))>r||nt||rr||n=this.limit)&&(((r=this.current.charCodeAt(this.cursor))>t||r=e.limit)&&(((n=e.current.charCodeAt(e.cursor))>r||nt||rr||n>>1)],d=p;d0)break;if(n===r)break;if(u)break;u=!0}}for(;;){if(a>=(h=e[r]).s_size){if(this.cursor=i+h.s_size|0,null==h.method)return h.result;if(f=h.method(h.instance),this.cursor=i+h.s_size|0,f)return h.result}if((r=h.substring_i)<0)return 0}return-1},o.find_among$LBaseStemmer$ALAmong$I=d,o.prototype.find_among_b$ALAmong$I=function(e,t){var r,n,i,s,a,o,u,l,c,p,h,d,f;for(r=0,n=t,i=this.cursor,s=this.limit_backward,a=0,o=0,u=!1;;){for(c=0,p=a>1)]).s_size-1-p;d>=0;d--){if(i-p===s){c=-1;break}if(0!==(c=this.current.charCodeAt(i-1-p)-h.s.charCodeAt(d)))break;p++}if(c<0?(n=l,o=p):(r=l,a=p),n-r<=1){if(r>0)break;if(n===r)break;if(u)break;u=!0}}for(;;){if(a>=(h=e[r]).s_size){if(this.cursor=i-h.s_size|0,null==h.method)return h.result;if(f=h.method(this),this.cursor=i-h.s_size|0,f)return h.result}if((r=h.substring_i)<0)return 0}return-1},o.find_among_b$LBaseStemmer$ALAmong$I=f,o.prototype.replace_s$IIS=function(e,t,r){var n;return n=r.length-(t-e|0)|0,this.current=this.current.slice(0,e)+r+this.current.slice(t),this.limit=this.limit+n|0,this.cursor>=t?this.cursor=this.cursor+n|0:this.cursor>e&&(this.cursor=e),0|n},o.replace_s$LBaseStemmer$IIS=m,o.prototype.slice_check$=function(){var e,t,r;return!((e=this.bra)<0||e>(t=this.ket)||t>(r=this.limit)||r>this.current.length)},o.slice_check$LBaseStemmer$=function(e){var t,r,n;return!((t=e.bra)<0||t>(r=e.ket)||r>(n=e.limit)||n>e.current.length)},o.prototype.slice_from$S=function(e){var t,r,n,i;return t=!1,(r=this.bra)<0||r>(n=this.ket)||n>(i=this.limit)||i>this.current.length||(m(this,this.bra,this.ket,e),t=!0),t},o.slice_from$LBaseStemmer$S=y,o.prototype.slice_del$=function(){return y(this,"")},o.slice_del$LBaseStemmer$=function(e){return y(e,"")},o.prototype.insert$IIS=function(e,t,r){var n;n=m(this,e,t,r),e<=this.bra&&(this.bra=this.bra+n|0),e<=this.ket&&(this.ket=this.ket+n|0)},o.insert$LBaseStemmer$IIS=function(e,t,r,n){var i;i=m(e,t,r,n),t<=e.bra&&(e.bra=e.bra+i|0),t<=e.ket&&(e.ket=e.ket+i|0)},o.prototype.slice_to$S=function(e){var t,r,n,i;return t="",(r=this.bra)<0||r>(n=this.ket)||n>(i=this.limit)||i>this.current.length||(t=this.current.slice(this.bra,this.ket)),t},o.slice_to$LBaseStemmer$S=function(e,t){var r,n,i,s;return r="",(n=e.bra)<0||n>(i=e.ket)||i>(s=e.limit)||s>e.current.length||(r=e.current.slice(e.bra,e.ket)),r},o.prototype.assign_to$S=function(e){return this.current.slice(0,this.limit)},o.assign_to$LBaseStemmer$S=function(e,t){return e.current.slice(0,e.limit)},o.prototype.stem$=function(){return!1},o.prototype.stemWord$S=function(e){var t,r,n,i;return null==(t=this.cache["."+e])&&(r=this.current=e,n=this.cursor=0,i=this.limit=r.length,this.limit_backward=0,this.bra=n,this.ket=i,this.stem$(),t=this.current,this.cache["."+e]=t),t},o.prototype.stemWord=o.prototype.stemWord$S,o.prototype.stemWords$AS=function(e){var t,r,n,i,s,a,o;for(t=[],r=0;r=this.limit)break i;T=this.cursor,this.cursor=T+1|0}break n}if(this.cursor=r,!l(this,g.g_v,97,252))break r;i:for(;;){d=!0;s:for(;!0===d&&(d=!1,c(this,g.g_v,97,252));)break i;if(this.cursor>=this.limit)break r;T=this.cursor,this.cursor=T+1|0}}break t}if(this.cursor=t,!c(this,g.g_v,97,252))break e;f=!0;r:for(;!0===f;){f=!1,n=this.cursor,m=!0;n:for(;!0===m&&(m=!1,c(this,g.g_v,97,252));){i:for(;;){y=!0;s:for(;!0===y&&(y=!1,l(this,g.g_v,97,252));)break i;if(this.cursor>=this.limit)break n;T=this.cursor,this.cursor=T+1|0}break r}if(this.cursor=n,!l(this,g.g_v,97,252))break e;if(this.cursor>=this.limit)break e;T=this.cursor,this.cursor=T+1|0}}this.I_pV=this.cursor}i=this.cursor=e,b=!0;e:for(;!0===b;){b=!1;t:for(;;){v=!0;r:for(;!0===v&&(v=!1,l(this,g.g_v,97,252));)break t;if(this.cursor>=this.limit)break e;T=this.cursor,this.cursor=T+1|0}t:for(;;){x=!0;r:for(;!0===x&&(x=!1,c(this,g.g_v,97,252));)break t;if(this.cursor>=this.limit)break e;T=this.cursor,this.cursor=T+1|0}this.I_p1=this.cursor;t:for(;;){E=!0;r:for(;!0===E&&(E=!1,l(this,g.g_v,97,252));)break t;if(this.cursor>=this.limit)break e;T=this.cursor,this.cursor=T+1|0}t:for(;;){D=!0;r:for(;!0===D&&(D=!1,c(this,g.g_v,97,252));)break t;if(this.cursor>=this.limit)break e;T=this.cursor,this.cursor=T+1|0}this.I_p2=this.cursor}return this.cursor=i,!0},g.prototype.r_mark_regions=g.prototype.r_mark_regions$,g.r_mark_regions$LSpanishStemmer$=b,g.prototype.r_postlude$=function(){var e,t,r,n;e:for(;;){t=this.cursor,r=!0;t:for(;!0===r&&(r=!1,this.bra=this.cursor,0!==(e=d(this,g.a_0,6)));){switch(this.ket=this.cursor,e){case 0:break t;case 1:if(!y(this,"a"))return!1;break;case 2:if(!y(this,"e"))return!1;break;case 3:if(!y(this,"i"))return!1;break;case 4:if(!y(this,"o"))return!1;break;case 5:if(!y(this,"u"))return!1;break;case 6:if(this.cursor>=this.limit)break t;n=this.cursor,this.cursor=n+1|0}continue e}this.cursor=t;break e}return!0},g.prototype.r_postlude=g.prototype.r_postlude$,g.r_postlude$LSpanishStemmer$=v,g.prototype.r_RV$=function(){return this.I_pV<=this.cursor},g.prototype.r_RV=g.prototype.r_RV$,g.r_RV$LSpanishStemmer$=function(e){return e.I_pV<=e.cursor},g.prototype.r_R1$=function(){return this.I_p1<=this.cursor},g.prototype.r_R1=g.prototype.r_R1$,g.r_R1$LSpanishStemmer$=function(e){return e.I_p1<=e.cursor},g.prototype.r_R2$=function(){return this.I_p2<=this.cursor},g.prototype.r_R2=g.prototype.r_R2$,g.r_R2$LSpanishStemmer$=function(e){return e.I_p2<=e.cursor},g.prototype.r_attached_pronoun$=function(){var e;if(this.ket=this.cursor,0===f(this,g.a_1,13))return!1;if(this.bra=this.cursor,0===(e=f(this,g.a_2,11)))return!1;if(!(this.I_pV<=this.cursor))return!1;switch(e){case 0:return!1;case 1:if(this.bra=this.cursor,!y(this,"iendo"))return!1;break;case 2:if(this.bra=this.cursor,!y(this,"ando"))return!1;break;case 3:if(this.bra=this.cursor,!y(this,"ar"))return!1;break;case 4:if(this.bra=this.cursor,!y(this,"er"))return!1;break;case 5:if(this.bra=this.cursor,!y(this,"ir"))return!1;break;case 6:if(!y(this,""))return!1;break;case 7:if(!h(this,1,"u"))return!1;if(!y(this,""))return!1}return!0},g.prototype.r_attached_pronoun=g.prototype.r_attached_pronoun$,g.r_attached_pronoun$LSpanishStemmer$=x,g.prototype.r_standard_suffix$=function(){var e,t,r,n,i,s,a,o,u,l,c,p,d,m,b;if(this.ket=this.cursor,0===(e=f(this,g.a_6,46)))return!1;switch(this.bra=this.cursor,e){case 0:return!1;case 1:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,""))return!1;break;case 2:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,""))return!1;t=this.limit-this.cursor|0,a=!0;e:for(;!0===a;){if(a=!1,this.ket=this.cursor,!h(this,2,"ic")){this.cursor=this.limit-t|0;break e}if(this.bra=p=this.cursor,!(this.I_p2<=p)){this.cursor=this.limit-t|0;break e}if(!y(this,""))return!1}break;case 3:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,"log"))return!1;break;case 4:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,"u"))return!1;break;case 5:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,"ente"))return!1;break;case 6:if(!(this.I_p1<=this.cursor))return!1;if(!y(this,""))return!1;r=this.limit-this.cursor|0,o=!0;e:for(;!0===o;){if(o=!1,this.ket=this.cursor,0===(e=f(this,g.a_3,4))){this.cursor=this.limit-r|0;break e}if(this.bra=d=this.cursor,!(this.I_p2<=d)){this.cursor=this.limit-r|0;break e}if(!y(this,""))return!1;switch(e){case 0:this.cursor=this.limit-r|0;break e;case 1:if(this.ket=this.cursor,!h(this,2,"at")){this.cursor=this.limit-r|0;break e}if(this.bra=m=this.cursor,!(this.I_p2<=m)){this.cursor=this.limit-r|0;break e}if(!y(this,""))return!1}}break;case 7:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,""))return!1;n=this.limit-this.cursor|0,u=!0;e:for(;!0===u;){if(u=!1,this.ket=this.cursor,0===(e=f(this,g.a_4,3))){this.cursor=this.limit-n|0;break e}switch(this.bra=this.cursor,e){case 0:this.cursor=this.limit-n|0;break e;case 1:if(!(this.I_p2<=this.cursor)){this.cursor=this.limit-n|0;break e}if(!y(this,""))return!1}}break;case 8:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,""))return!1;i=this.limit-this.cursor|0,l=!0;e:for(;!0===l;){if(l=!1,this.ket=this.cursor,0===(e=f(this,g.a_5,3))){this.cursor=this.limit-i|0;break e}switch(this.bra=this.cursor,e){case 0:this.cursor=this.limit-i|0;break e;case 1:if(!(this.I_p2<=this.cursor)){this.cursor=this.limit-i|0;break e}if(!y(this,""))return!1}}break;case 9:if(!(this.I_p2<=this.cursor))return!1;if(!y(this,""))return!1;s=this.limit-this.cursor|0,c=!0;e:for(;!0===c;){if(c=!1,this.ket=this.cursor,!h(this,2,"at")){this.cursor=this.limit-s|0;break e}if(this.bra=b=this.cursor,!(this.I_p2<=b)){this.cursor=this.limit-s|0;break e}if(!y(this,""))return!1}}return!0},g.prototype.r_standard_suffix=g.prototype.r_standard_suffix$,g.r_standard_suffix$LSpanishStemmer$=E,g.prototype.r_y_verb_suffix$=function(){var e,t,r,n,i,s;if(t=this.limit-(n=this.cursor)|0,n!t.includes(e)))),e&&(n=n.concat(e)),n.map((e=>e.toLowerCase()))}scoreAlternative(e,t,r,n,i,s){const a=this.getStopWords(t,r,n),o=this.getStemmedWords(e,a);s&&(s.filteredAlt=o);const u=this.getWordsWithPos(o,i,s);s&&(s.wordsWithPos={},Object.keys(u).forEach((e=>{u[e].length>1&&(s.wordsWithPos[e]=u[e])})));const l=this.getScore(u);return s&&(s.score=l),l}getStemmedWords(e,t){return this.languageSyn.extractWords(e).map((e=>e.toLowerCase())).filter((e=>!t.includes(e))).map((e=>this.stemWord(e)))}getBest(e,t,r,n,i){const s=[];return e.forEach((e=>{s.push(this.scoreAlternative(e,t,r,n,i,null))})),s.indexOf(Math.min(...s))}getScore(e){let t=0;return Object.keys(e).forEach((r=>{const n=e[r];for(let e=1;e{if(!Array.isArray(e)){const e=new Error;throw e.name="InvalidArgumentError",e.message="identicals must be a string[][]",e}})),r&&(r.identicals=t),t.forEach((e=>{const t=e.join("_");e.forEach((e=>{n[this.stemWord(e)]=t}))}))}r&&(r.identicalsMap=n);const i={};for(let t=0;t-1)){const e=new Error;throw e.name="InvalidArgumentError",e.message=`asm mode is not valid: ${r.mode}`,e}const i=[],s=Array.from(Array(e.length).keys());r&&r.mix&&this.mix(s),this.saveRollbackManager.saveSituation("isEmpty");for(const r of s){const s=e[r];this.mixinIsEmpty(t,s,n)||i.push(s)}this.saveRollbackManager.rollback();let a=r;r&&null!=r.assembly&&(a=r.assembly(i.length,i)),this.listStuff(t,i,a,n)}assemble(e,t,r,n){const i=Array.from(Array(r).keys());this.foreach(i,e,t,n)}mixinIsEmpty(e,t,r){const n=this.spy.getPugHtml();return this.runMixinOrValue(e,t,r),this.helper.htmlHasNotChanged(n)}listStuffCombined(e,t,r,n){if(!r.asms||2!==r.asms.length){const e=new Error;throw e.name="InvalidArgumentError",e.message="when mode is 'combined', 'asms' array must be provided and have 2 elements",e}const i=r.asms[1],s=i.max;if(!s){const e=new Error;throw e.name="InvalidArgumentError",e.message=`in 'asms', second asm must have a 'max' property: ${i}`,e}const a=r.asms[0],o=Array.from(Array(Math.ceil(t.length/s)).keys());this.listStuff(((r,n)=>{this.listStuff(e,t.slice(r*s,(r+1)*s),i,n)}),o,a,n)}listStuff(e,t,r,n){!r||"sentences"!==r.mode&&"paragraphs"!==r.mode&&"list"!==r.mode?r&&"combined"===r.mode?this.listStuffCombined(e,t,r,n):this.listStuffSingleSentence(e,t,r,n):this.listStuffSentences(e,t,r,n)}isMixin(e){return!("string"==typeof e||e instanceof String)}outputStringOrMixinHelper(e,t){this.isMixin(e)?e(t):this.helper.insertValEscaped(e)}outputStringOrMixin(e,t,n){switch(t){case r.BEGIN:this.outputStringOrMixinHelper(e,n),this.helper.appendDoubleSpace();break;case r.END:this.helper.appendDoubleSpace(),this.outputStringOrMixinHelper(e,n);break;case r.SEP:this.helper.appendDoubleSpace(),this.outputStringOrMixinHelper(e,n),this.helper.appendDoubleSpace();break;case r.OTHER:this.outputStringOrMixinHelper(e,n)}}isDot(e){return"."===e.trim()}getBeginWithElement(e,t){if(!e)return null;if("string"==typeof e||e instanceof String||"function"==typeof e)return 0===t||this.isMixin(e)?e:null;if(e instanceof Array)return t`)}listPutEnd(e){this.helper.insertValUnescaped(`${this.getListType(e)}>`)}listStuffSentences(e,t,n,i){if("paragraphs"===n.mode&&null!=n.end&&!this.isMixin(n.end)&&this.isDot(n.end)){const e=new Error;throw e.name="InvalidArgumentError",e.message="when assemble mode is paragraph, the end is ignored when it is a dot.",e}const s=t.length;i||(i={}),i.nonEmpty=t,0===s&&n&&null!=n.if_empty&&this.outputStringOrMixin(n.if_empty,r.OTHER,i),"list"===n.mode&&this.listPutStart(n);for(let a=0;a"),this.listStuffSentencesHelper(o,i,t[a],e,n,a,s),this.helper.insertValUnescaped("");break;case"sentences":this.helper.appendDoubleSpace(),this.listStuffSentencesHelper(o,i,t[a],e,n,a,s),this.helper.appendDoubleSpace();break;case"list":this.helper.insertValUnescaped(``),this.listStuffSentencesHelper(o,i,t[a],e,n,a,s),null!=n.list_end_item&&this.outputStringOrMixin(n.list_end_item,r.END,null),this.helper.insertValUnescaped(` `)}}"list"===n.mode&&this.listPutEnd(n)}insertSeparatorSingleSentence(e,t,n,i){e&&(t+1===n-1?e.last_separator?this.outputStringOrMixin(e.last_separator,r.SEP,i):e.separator&&this.outputStringOrMixin(e.separator,r.SEP,i):t+10;t--){const r=Math.floor(this.randomManager.getNextRnd()*(t+1));[e[t],e[r]]=[e[r],e[t]]}}}})),Ed=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Helper=void 0;t.Helper=class{constructor(e,t,r){this.genderNumberManager=e,this.saveRollbackManager=t,this.renderDebug=r}setSpy(e){this.spy=e}appendDoubleSpace(){this.spy.appendPugHtml(" ")}insertValEscaped(e){const t=e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">");this.spy.appendPugHtml("¤"+t+"¤")}insertValUnescaped(e){this.spy.appendPugHtml("¤"+e+"¤")}getSorP(e,t){if(!e||e.length<2){const e=new Error;throw e.name="InvalidArgumentError",e.message="you must provide a table with 2 elements: S + P",e}return"P"===this.genderNumberManager.getRefNumber(t,null)?e[1]:e[0]}getMFN(e,t){const r=this.genderNumberManager.getRefGender(t,null);if(!e||0===e.length){const e=new Error;throw e.name="InvalidArgumentError",e.message="you must provide a table with elements MF(N)",e}if("M"===r)return e[0];if("F"===r){if(e.length<2){const e=new Error;throw e.name="InvalidArgumentError",e.message=`${t} is Feminine, you must provide a table with 2 elements MF`,e}return e[1]}if("N"===r){if(e.length<3){const e=new Error;throw e.name="InvalidArgumentError",e.message=`${t} is Neutral, you must provide a table with 3 elements MFN`,e}return e[2]}{const e=new Error;throw e.name="InvalidArgumentError",e.message=`getMFN but ${JSON.stringify(t)} has no gender`,e}}isSentenceStart(){return!!/\.[\s|¤]*$/.test(this.spy.getPugHtml())||!!/>[\s|¤]*$/.test(this.spy.getPugHtml())}getUppercaseWords(e){if(e&&e.length>0)return this.saveRollbackManager.isEvaluatingEmpty?"SOME_WORDS":e.replace(/\b\w/g,(function(e){return e.toUpperCase()}))}hasFlag(e,t){return!!this.getFlagValue(e,t)}getFlagValue(e,t){if(e){if(t)return e[t];{const e=new Error;throw e.name="InvalidArgumentError",e.message="getFlagValue flag value must not be null",e}}return null}protectString(e){return"§"+e+"§"}getHtmlWithoutRenderDebug(e){return this.renderDebug?e.replace(/<\/span>/g,""):e}htmlHasNotChanged(e){let t=this.spy.getPugHtml().substring(e.length);return t=this.getHtmlWithoutRenderDebug(t),t=t.replace(/[\s|¤]/g,""),""===t}}})),Dd=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.PossessiveManager=void 0;t.PossessiveManager=class{constructor(e,t,r,n){this.languageImpl=e,this.genderNumberManager=t,this.refsManager=r,this.helper=n}setSpy(e){this.spy=e}recipientPossession(e){this.languageImpl.recipientPossession(e,this.spy,this.refsManager,this.helper)}thirdPossession(e,t,r){this.helper.appendDoubleSpace();const n=this.refsManager.getNextRep(e,r);switch(n.REPRESENTANT){case"ref":this.languageImpl.thirdPossessionTriggerRef(e,t,r,this.spy,this.helper,this.genderNumberManager);break;case"refexpr":this.languageImpl.thirdPossessionRefTriggered(e,t,r,this.spy,this.genderNumberManager);break;default:{const e=new Error;throw e.name="",e.message=`internal pb on thirdPossession: ${JSON.stringify(n)}`,e}}this.helper.appendDoubleSpace()}}})),Sd=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SentenceManager=void 0;t.SentenceManager=class{constructor(e,t,r,n,i){this.languageImpl=e,this.verbsManager=t,this.valueManager=r,this.adjectiveManager=n,this.synManager=i}setSpy(e){this.spy=e}verb(e,t,r){this.subjectVerb(e,t,Object.assign(Object.assign({},r),{noSubject:!0}))}subjectVerb(e,t,r){const n=this.synManager.synFctHelper(e);if(r&&r.invertSubjectVerb){if(!this.languageImpl.supportsInvertSubjectVerb){const e=new Error;throw e.name="InvalidArgumentError",e.message="invertSubjectVerb is only valid for de_DE",e}if("boolean"!=typeof r.invertSubjectVerb){const e=new Error;throw e.name="InvalidArgumentError",e.message="invertSubjectVerb must be a boolean",e}}r&&r.noSubject?this.spy.appendPugHtml(this.verbsManager.getAgreeVerb(n,t,r)):r&&r.invertSubjectVerb?(this.spy.appendPugHtml(this.verbsManager.getAgreeVerb(n,t,r)+"¤"),this.valueManager.value(n,r)):(this.valueManager.value(n,r),this.spy.appendPugHtml("¤"+this.verbsManager.getAgreeVerb(n,t,r)))}subjectVerbAdj(e,t,r,n){const i=this.synManager.synFctHelper(e);this.subjectVerb(i,t,n),this.spy.appendPugHtml("¤"),this.adjectiveManager.agreeAdj(r,i,n)}}})),Td=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SaveRollbackManager=void 0;class r{constructor(e,t,r,n,i,s,a,o,u,l,c,p,h){this.htmlBefore=e,this.hasSaid=Object.assign({},t),this.triggeredRefs=new Map(r),this.refGenderMap=new Map(n),this.refNumberMap=new Map(i),this.rndNextPos=s,this.nextRefs=new Map(a),this.synoSeq=new Map(o),this.synoTriggered=new Map;for(const e of u.keys())this.synoTriggered.set(e,[...u.get(e)]);this.verbParts=l.slice(0),this.isEvaluatingEmpty=c,this.isEvaluatingNextRep=p,this.isEvaluatingChoosebest=h}}t.SaveRollbackManager=class{constructor(){this.isEvaluatingEmpty=!1,this.isEvaluatingNextRep=!1,this.isEvaluatingChoosebest=!1,this.savePoints=[]}bindObjects(e,t,r,n,i,s){this.saidManager=e,this.refsManager=t,this.genderNumberManager=r,this.randomManager=n,this.synManager=i,this.verbsManager=s}setSpy(e){this.spy=e}saveSituation(e){const t=new r(this.spy.getPugHtml(),this.saidManager.getHasSaidMap(),this.refsManager.getTriggeredRefs(),this.genderNumberManager.getRefGenderMap(),this.genderNumberManager.getRefNumberMap(),this.randomManager.getRndNextPos(),this.refsManager.getNextRefs(),this.synManager.getSynoSeq(),this.synManager.getSynoTriggered(),this.verbsManager.getVerbPartsList(),this.isEvaluatingEmpty,this.isEvaluatingNextRep,this.isEvaluatingChoosebest);switch(this.savePoints.push(t),e){case"isEmpty":this.isEvaluatingEmpty=!0;break;case"nextRep":this.isEvaluatingNextRep=!0;break;case"choosebest":this.isEvaluatingChoosebest=!0}}rollback(){const e=this.savePoints.pop();if(!e){const e=new Error;throw e.name="InternalError",e.message="was asked to rollback, but savePoints list is empty!",e}this.saidManager.setHasSaidMap(e.hasSaid),this.refsManager.setTriggeredRefs(e.triggeredRefs),this.genderNumberManager.setRefGenderMap(e.refGenderMap),this.genderNumberManager.setRefNumberMap(e.refNumberMap),this.randomManager.setRndNextPos(e.rndNextPos),this.refsManager.setNextRefs(e.nextRefs),this.synManager.setSynoSeq(e.synoSeq),this.synManager.setSynoTriggered(e.synoTriggered),this.verbsManager.setVerbPartsList(e.verbParts),this.isEvaluatingEmpty=e.isEvaluatingEmpty,this.isEvaluatingNextRep=e.isEvaluatingNextRep,this.isEvaluatingChoosebest=e.isEvaluatingChoosebest,this.spy.setPugHtml(e.htmlBefore)}}}));const Ad=9007199254740992,Pd=9007199254740991,wd=-1>>>0,Cd=4294967296,kd=2147483648,_d=2147483647,Id=1<<21,Fd=2097151;function Od(e){return 0|e.next()}function Nd(e,t){return 0===t?e:r=>e(r)+t}function jd(e){const t=0|e.next(),r=e.next()>>>0;return(t&Fd)*Cd+r+(t&Id?-9007199254740992:0)}function Md(e){for(;;){const t=0|e.next();if(!(4194304&t)){const r=e.next()>>>0;return(t&Fd)*Cd+r+(t&Id?-9007199254740992:0)}if(4194304==(8388607&t)&&0==(0|e.next()))return Ad}}function Ld(e){return e.next()>>>0}function Bd(e){const t=e.next()&Fd,r=e.next()>>>0;return t*Cd+r}function Rd(e){for(;;){const t=0|e.next();if(!(t&Id)){const r=e.next()>>>0;return(t&Fd)*Cd+r}if(0==(t&Fd)&&0==(0|e.next()))return Ad}}function Ud(e){return 0==(e+1&e)}function Vd(e){return Ud(e)?(t=e,e=>e.next()&t):function(e){const t=e+1,r=t*Math.floor(Cd/t);return e=>{let n=0;do{n=e.next()>>>0}while(n>=r);return n%t}}(e);var t}function zd(e){const t=e+1;if(0==(0|t)){const e=(t/Cd|0)-1;if(Ud(e))return r=e,e=>{const t=e.next()&r,n=e.next()>>>0;return t*Cd+n}}var r;return function(e){const t=e*Math.floor(Ad/e);return r=>{let n=0;do{const e=r.next()&Fd,t=r.next()>>>0;n=e*Cd+t}while(n>=t);return n%e}}(t)}function Wd(e,t){return r=>{let n=0;do{const e=0|r.next(),t=r.next()>>>0;n=(e&Fd)*Cd+t+(e&Id?-9007199254740992:0)}while(nt);return n}}function qd(e,t){if(e=Math.floor(e),t=Math.floor(t),e<-9007199254740992||!isFinite(e))throw new RangeError("Expected min to be at least -9007199254740992");if(t>Ad||!isFinite(t))throw new RangeError("Expected max to be at most 9007199254740992");const r=t-e;return r<=0||!isFinite(r)?()=>e:r===wd?0===e?Ld:Nd(Od,e+kd):re(r)!1;if(e>=1)return()=>!0;{const t=e*Cd;return t%1==0?Jd(Od,t-kd|0):Jd(Bd,Math.round(e*Ad))}}(e):e<=0?()=>!1:e>=t?()=>!0:Jd(qd(0,t-1),e)}function Kd(e,t){const r=qd(+e,+t);return e=>new Date(r(e))}function Yd(e){return qd(1,e)}function Hd(e,t){const r=Yd(e);return e=>{const n=[];for(let i=0;i{let i="";for(let s=0;s=a)throw new RangeError(`Cannot pick between bounds ${s} and ${a}`);return t[qd(s,a-1)(e)]}function af(e){return Bd(e)/Ad}function of(e){return Rd(e)/Ad}function uf(e,t,r=!1){if(!isFinite(e))throw new RangeError("Expected min to be a finite number");if(!isFinite(t))throw new RangeError("Expected max to be a finite number");return Nd((n=r?of:af,1===(i=t-e)?n:0===i?()=>0:e=>n(e)*i),e);var n,i}const lf=Array.prototype.slice;function cf(e,t,r=0){const n=t.length;if(n)for(let i=n-1>>>0;i>r;--i){const r=qd(0,i)(e);if(i!==r){const e=t[i];t[i]=t[r],t[r]=e}}return t}function pf(e,t,r){if(r<0||r>t.length||!isFinite(r))throw new RangeError("Expected sampleSize to be within 0 and the length of the population");if(0===r)return[];const n=lf.call(t),i=n.length;if(i===r)return cf(e,n,0);const s=i-r;return cf(e,n,s-1).slice(s)}const hf=(()=>{try{if("xxx"==="x".repeat(3))return(e,t)=>e.repeat(t)}catch(e){}return(e,t)=>{let r="";for(;t>0;)1&t&&(r+=e),t>>=1,e+=e;return r}})();function df(e,t){return hf("0",t-e.length)+e}function ff(e){const t=e.next()>>>0,r=0|e.next(),n=0|e.next(),i=e.next()>>>0;return df(t.toString(16),8)+"-"+df((65535&r).toString(16),4)+"-"+df((r>>4&4095|16384).toString(16),4)+"-"+df((16383&n|32768).toString(16),4)+"-"+df((n>>4&65535).toString(16),4)+df(i.toString(16),8)}const mf={next:()=>Math.random()*Cd|0};const yf=(()=>{try{const e=new ArrayBuffer(4),t=new Int32Array(e);if(t[0]=kd,-2147483648===t[0])return Int32Array}catch(e){}return Array})();let gf=null;let bf=128;const vf={next:()=>(bf>=128&&(null===gf&&(gf=new yf(128)),crypto.getRandomValues(gf),bf=0),0|gf[bf++])};function xf(e=mf,t=16){const r=[];r.push(0|(new Date).getTime());for(let n=1;n{try{if(-5===Math.imul(wd,5))return Math.imul}catch(e){}const e=65535;return(t,r)=>{const n=t&e,i=r&e;return n*i+((t>>>16&e)*i+n*(r>>>16&e)<<16>>>0)|0}})(),Df=624,Sf=623,Tf=2567483615;class Af{constructor(){this.data=new yf(Df),this.index=0,this.uses=0}static seed(e){return(new Af).seed(e)}static seedWithArray(e){return(new Af).seedWithArray(e)}static autoSeed(){return Af.seedWithArray(xf())}next(){(0|this.index)>=Df&&(Pf(this.data),this.index=0);const e=this.data[this.index];return this.index=this.index+1|0,this.uses+=1,0|function(e){return e^=e>>>11,e^=e<<7&2636928640,(e^=e<<15&4022730752)^e>>>18}(e)}getUseCount(){return this.uses}discard(e){if(e<=0)return this;for(this.uses+=e,(0|this.index)>=Df&&(Pf(this.data),this.index=0);e+this.index>Df;)e-=Df-this.index,Pf(this.data),this.index=0;return this.index=this.index+e|0,this}seed(e){let t=0;this.data[0]=t=0|e;for(let e=1;e>>30,1812433253)+e|0;return this.index=Df,this.uses=0,this}seedWithArray(e){return this.seed(19650218),function(e,t){let r=1,n=0;const i=t.length;let s=0|Math.max(i,Df),a=0|e[0];for(;(0|s)>0;--s)e[r]=a=(e[r]^Ef(a^a>>>30,1664525))+(0|t[n])+(0|n)|0,r=r+1|0,++n,(0|r)>Sf&&(e[0]=e[623],r=1),n>=i&&(n=0);for(s=Sf;(0|s)>0;--s)e[r]=a=(e[r]^Ef(a^a>>>30,1566083941))-r|0,r=r+1|0,(0|r)>Sf&&(e[0]=e[623],r=1);e[0]=kd}(this.data,e),this}}function Pf(e){let t=0,r=0;for(;(0|t)<227;t=t+1|0)r=e[t]&kd|e[t+1|0]&_d,e[t]=e[t+397|0]^r>>>1^(1&r?Tf:0);for(;(0|t)>>1^(1&r?Tf:0);r=e[623]&kd|e[0]&_d,e[623]=e[396]^r>>>1^(1&r?Tf:0)}let wf=null;let Cf=128;const kf={next:()=>(Cf>=128&&(wf=new Int32Array(new Int8Array(require("crypto").randomBytes(512)).buffer),Cf=0),0|wf[Cf++])};var _f=Object.freeze({__proto__:null,Random:class{constructor(e=mf){this.engine=e}int32(){return Od(this.engine)}uint32(){return Ld(this.engine)}uint53(){return Bd(this.engine)}uint53Full(){return Rd(this.engine)}int53(){return jd(this.engine)}int53Full(){return Md(this.engine)}integer(e,t){return qd(e,t)(this.engine)}realZeroToOneInclusive(){return of(this.engine)}realZeroToOneExclusive(){return af(this.engine)}real(e,t,r=!1){return uf(e,t,r)(this.engine)}bool(e,t){return $d(e,t)(this.engine)}pick(e,t,r){return sf(this.engine,e,t,r)}shuffle(e){return cf(this.engine,e)}sample(e,t){return pf(this.engine,e,t)}die(e){return Yd(e)(this.engine)}dice(e,t){return Hd(e,t)(this.engine)}uuid4(){return ff(this.engine)}string(e,t){return Gd(t)(this.engine,e)}hex(e,t){return tf(t)(this.engine,e)}date(e,t){return Kd(e,t)(this.engine)}},browserCrypto:vf,nativeMath:mf,MersenneTwister19937:Af,nodeCrypto:kf,bool:$d,date:Kd,dice:Hd,die:Yd,hex:tf,int32:Od,int53:jd,int53Full:Md,integer:qd,pick:sf,picker:function(e,t,r){const n=lf.call(e,t,r);if(0===n.length)throw new RangeError("Cannot pick from a source with no items");const i=qd(0,n.length-1);return e=>n[i(e)]},real:uf,realZeroToOneExclusive:af,realZeroToOneInclusive:of,sample:pf,shuffle:cf,string:Gd,uint32:Ld,uint53:Bd,uint53Full:Rd,uuid4:ff,createEntropy:xf}),If=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.RandomManager=void 0;t.RandomManager=class{constructor(e){this.incrRandomer=10,this.rndNextPos=0,this.rndTable=[],this.rndEngine=new _f.Random(_f.MersenneTwister19937.seed(e))}getRndNextPos(){return this.rndNextPos}setRndNextPos(e){this.rndNextPos=e}incrRnd(e){for(let t=0;t=this.rndTable.length)for(let e=0;e-1;)r++;return r}getWeightedRandom(e,t){const r=this.getSumOfWeights(e,t);let n=Math.floor(this.getNextRnd()*r)+1;for(let r=1;r<=e;r++)if(n-=this.getItemWeight(t,r),n<=0)return r}randomNotIn(e,t,r){if(r.length===e)return null;const n={};let i=0;for(let s=1;s<=e;s++)-1===r.indexOf(s)&&(i++,n[i]={weight:this.getItemWeight(t,s)});const s=this.getWeightedRandom(e-r.length,n);return this.getTargetIndex(s,r)}}})),Ff=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SpyNoPug=void 0;t.SpyNoPug=class{constructor(){this.stringBuffer=""}getPugHtml(){return this.stringBuffer}setPugHtml(e){this.stringBuffer=e}appendPugHtml(e){this.stringBuffer=this.stringBuffer+e}}})),Of=Object.freeze({__proto__:null,default:"This is virtual ./LanguageFrench/es/true!"}),Nf=w((function(e){
/*! @preserve
* numeral.js
* version : 2.0.6
* author : Adam Draper
* license : MIT
* http://adamwdraper.github.com/Numeral-js/
*/
!function(t,r){e.exports?e.exports=r():t.numeral=r()}(P,(function(){var e,t,r,n,i,s={},a={},o={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},u={currentLocale:o.currentLocale,zeroFormat:o.zeroFormat,nullFormat:o.nullFormat,defaultFormat:o.defaultFormat,scalePercentBy100:o.scalePercentBy100};function l(e,t){this._input=e,this._value=t}return(e=function(r){var n,i,a,o;if(e.isNumeral(r))n=r.value();else if(0===r||void 0===r)n=0;else if(null===r||t.isNaN(r))n=null;else if("string"==typeof r)if(u.zeroFormat&&r===u.zeroFormat)n=0;else if(u.nullFormat&&r===u.nullFormat||!r.replace(/[^0-9]+/g,"").length)n=null;else{for(i in s)if((o="function"==typeof s[i].regexps.unformat?s[i].regexps.unformat():s[i].regexps.unformat)&&r.match(o)){a=s[i].unformat;break}n=(a=a||e._.stringToNumber)(r)}else n=Number(r)||null;return new l(r,n)}).version="2.0.6",e.isNumeral=function(e){return e instanceof l},e._=t={numberToFormat:function(t,r,n){var i,s,o,u,l,c,p,h,d=a[e.options.currentLocale],f=!1,m=!1,y="",g=1e12,b=1e9,v=1e6,x="",E=!1;if(t=t||0,o=Math.abs(t),e._.includes(r,"(")?(f=!0,r=r.replace(/[\(|\)]/g,"")):(e._.includes(r,"+")||e._.includes(r,"-"))&&(c=e._.includes(r,"+")?r.indexOf("+"):t<0?r.indexOf("-"):-1,r=r.replace(/[\+|\-]/g,"")),e._.includes(r,"a")&&(s=!!(s=r.match(/a(k|m|b|t)?/))&&s[1],e._.includes(r," a")&&(y=" "),r=r.replace(new RegExp(y+"a[kmbt]?"),""),o>=g&&!s||"t"===s?(y+=d.abbreviations.trillion,t/=g):o=b&&!s||"b"===s?(y+=d.abbreviations.billion,t/=b):o=v&&!s||"m"===s?(y+=d.abbreviations.million,t/=v):(o=1e3&&!s||"k"===s)&&(y+=d.abbreviations.thousand,t/=1e3)),e._.includes(r,"[.]")&&(m=!0,r=r.replace("[.]",".")),u=t.toString().split(".")[0],l=r.split(".")[1],p=r.indexOf(","),i=(r.split(".")[0].split(",")[0].match(/0/g)||[]).length,l?(e._.includes(l,"[")?(l=(l=l.replace("]","")).split("["),x=e._.toFixed(t,l[0].length+l[1].length,n,l[1].length)):x=e._.toFixed(t,l.length,n),u=x.split(".")[0],x=e._.includes(x,".")?d.delimiters.decimal+x.split(".")[1]:"",m&&0===Number(x.slice(1))&&(x="")):u=e._.toFixed(t,0,n),y&&!s&&Number(u)>=1e3&&y!==d.abbreviations.trillion)switch(u=String(Number(u)/1e3),y){case d.abbreviations.thousand:y=d.abbreviations.million;break;case d.abbreviations.million:y=d.abbreviations.billion;break;case d.abbreviations.billion:y=d.abbreviations.trillion}if(e._.includes(u,"-")&&(u=u.slice(1),E=!0),u.length0;D--)u="0"+u;return p>-1&&(u=u.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+d.delimiters.thousands)),0===r.indexOf(".")&&(u=""),h=u+x+(y||""),f?h=(f&&E?"(":"")+h+(f&&E?")":""):c>=0?h=0===c?(E?"-":"+")+h:h+(E?"-":"+"):E&&(h="-"+h),h},stringToNumber:function(e){var t,r,n,i=a[u.currentLocale],s=e,o={thousand:3,million:6,billion:9,trillion:12};if(u.zeroFormat&&e===u.zeroFormat)r=0;else if(u.nullFormat&&e===u.nullFormat||!e.replace(/[^0-9]+/g,"").length)r=null;else{for(t in r=1,"."!==i.delimiters.decimal&&(e=e.replace(/\./g,"").replace(i.delimiters.decimal,".")),o)if(n=new RegExp("[^a-zA-Z]"+i.abbreviations[t]+"(?:\\)|(\\"+i.currency.symbol+")?(?:\\))?)?$"),s.match(n)){r*=Math.pow(10,o[t]);break}r*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),r*=Number(e)}return r},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,r){return e.slice(0,r)+t+e.slice(r)},reduce:function(e,t){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof t)throw new TypeError(t+" is not a function");var r,n=Object(e),i=n.length>>>0,s=0;if(3===arguments.length)r=arguments[2];else{for(;s=i)throw new TypeError("Reduce of empty array with no initial value");r=n[s++]}for(;sn?e:n}),1)},toFixed:function(e,t,r,n){var i,s,a,o,u=e.toString().split("."),l=t-(n||0);return i=2===u.length?Math.min(Math.max(u[1].length,l),t):l,a=Math.pow(10,i),o=(r(e+"e+"+i)/a).toFixed(i),n>t-i&&(s=new RegExp("\\.?0{1,"+(n-(t-i))+"}$"),o=o.replace(s,"")),o}},e.options=u,e.formats=s,e.locales=a,e.locale=function(e){return e&&(u.currentLocale=e.toLowerCase()),u.currentLocale},e.localeData=function(e){if(!e)return a[u.currentLocale];if(e=e.toLowerCase(),!a[e])throw new Error("Unknown locale : "+e);return a[e]},e.reset=function(){for(var e in o)u[e]=o[e]},e.zeroFormat=function(e){u.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){u.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){u.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,t,r){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=r,r},e.validate=function(t,r){var n,i,s,a,o,u,l,c;if("string"!=typeof t&&(t+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",t)),(t=t.trim()).match(/^\d+$/))return!0;if(""===t)return!1;try{l=e.localeData(r)}catch(t){l=e.localeData(e.locale())}return s=l.currency.symbol,o=l.abbreviations,n=l.delimiters.decimal,i="."===l.delimiters.thousands?"\\.":l.delimiters.thousands,(null===(c=t.match(/^[^\d]+/))||(t=t.substr(1),c[0]===s))&&((null===(c=t.match(/[^\d]+$/))||(t=t.slice(0,-1),c[0]===o.thousand||c[0]===o.million||c[0]===o.billion||c[0]===o.trillion))&&(u=new RegExp(i+"{2}"),!t.match(/[^\d.,]/g)&&(!((a=t.split(n)).length>2)&&(a.length<2?!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u):1===a[0].length?!!a[0].match(/^\d+$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/):!!a[0].match(/^\d+.*\d$/)&&!a[0].match(u)&&!!a[1].match(/^\d+$/)))))},e.fn=l.prototype={clone:function(){return e(this)},format:function(t,r){var n,i,a,o=this._value,l=t||u.defaultFormat;if(r=r||Math.round,0===o&&null!==u.zeroFormat)i=u.zeroFormat;else if(null===o&&null!==u.nullFormat)i=u.nullFormat;else{for(n in s)if(l.match(s[n].regexps.format)){a=s[n].format;break}i=(a=a||e._.numberToFormat)(o,l,r)}return i},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var r=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],(function(e,t,n,i){return e+Math.round(r*t)}),0)/r,this},subtract:function(e){var r=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],(function(e,t,n,i){return e-Math.round(r*t)}),Math.round(this._value*r))/r,this},multiply:function(e){return this._value=t.reduce([this._value,e],(function(e,r,n,i){var s=t.correctionFactor(e,r);return Math.round(e*s)*Math.round(r*s)/Math.round(s*s)}),1),this},divide:function(e){return this._value=t.reduce([this._value,e],(function(e,r,n,i){var s=t.correctionFactor(e,r);return Math.round(e*s)/Math.round(r*s)})),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,r,n){var i,s=e._.includes(r," BPS")?" ":"";return t*=1e4,r=r.replace(/\s?BPS/,""),i=e._.numberToFormat(t,r,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"BPS"),i=i.join("")):i=i+s+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),n={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},i="("+(i=(r={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}).suffixes.concat(n.suffixes.filter((function(e){return r.suffixes.indexOf(e)<0}))).join("|")).replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(i)},format:function(t,i,s){var a,o,u,l=e._.includes(i,"ib")?n:r,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),a=0;a<=l.suffixes.length;a++)if(o=Math.pow(l.base,a),u=Math.pow(l.base,a+1),null===t||0===t||t>=o&&t0&&(t/=o);break}return e._.numberToFormat(t,i,s)+c},unformat:function(t){var i,s,a=e._.stringToNumber(t);if(a){for(i=r.suffixes.length-1;i>=0;i--){if(e._.includes(t,r.suffixes[i])){s=Math.pow(r.base,i);break}if(e._.includes(t,n.suffixes[i])){s=Math.pow(n.base,i);break}}a*=s||1}return a}}),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,r,n){var i,s,a=e.locales[e.options.currentLocale],o={before:r.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:r.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(r=r.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,r,n),t>=0?(o.before=o.before.replace(/[\-\(]/,""),o.after=o.after.replace(/[\-\)]/,"")):t<0&&!e._.includes(o.before,"-")&&!e._.includes(o.before,"(")&&(o.before="-"+o.before),s=0;s=0;s--)switch(o.after[s]){case"$":i=s===o.after.length-1?i+a.currency.symbol:e._.insert(i,a.currency.symbol,-(o.after.length-(1+s)));break;case" ":i=s===o.after.length-1?i+" ":e._.insert(i," ",-(o.after.length-(1+s)+a.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,r,n){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return r=r.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),r,n)+"e"+i[1]},unformat:function(t){var r=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),n=Number(r[0]),i=Number(r[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([n,Math.pow(10,i)],(function(t,r,n,i){var s=e._.correctionFactor(t,r);return t*s*(r*s)/(s*s)}),1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,r,n){var i=e.locales[e.options.currentLocale],s=e._.includes(r," o")?" ":"";return r=r.replace(/\s?o/,""),s+=i.ordinal(t),e._.numberToFormat(t,r,n)+s}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,r,n){var i,s=e._.includes(r," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),r=r.replace(/\s?\%/,""),i=e._.numberToFormat(t,r,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,s+"%"),i=i.join("")):i=i+s+"%",i},unformat:function(t){var r=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*r:r}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,r){var n=Math.floor(e/60/60),i=Math.floor((e-60*n*60)/60),s=Math.round(e-60*n*60-60*i);return n+":"+(i<10?"0"+i:i)+":"+(s<10?"0"+s:s)},unformat:function(e){var t=e.split(":"),r=0;return 3===t.length?(r+=60*Number(t[0])*60,r+=60*Number(t[1]),r+=Number(t[2])):2===t.length&&(r+=60*Number(t[0]),r+=Number(t[1])),Number(r)}}),e}))}));function jf(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function Mf(e){jf(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function Lf(e){jf(1,arguments);var t=Mf(e);return!isNaN(t)}var Bf="This is virtual ../locale/en-US/index.js/es/true!";function Rf(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Uf(e,t){jf(2,arguments);var r=Mf(e).getTime(),n=Rf(t);return new Date(r+n)}function Vf(e,t){jf(2,arguments);var r=Rf(t);return Uf(e,-r)}function zf(e,t){for(var r=e<0?"-":"",n=Math.abs(e).toString();n.length0?r:1-r;return zf("yy"===t?n%100:n,t.length)},qf=function(e,t){var r=e.getUTCMonth();return"M"===t?String(r+1):zf(r+1,2)},Xf=function(e,t){return zf(e.getUTCDate(),t.length)},Jf=function(e,t){return zf(e.getUTCHours()%12||12,t.length)},$f=function(e,t){return zf(e.getUTCHours(),t.length)},Kf=function(e,t){return zf(e.getUTCMinutes(),t.length)},Yf=function(e,t){return zf(e.getUTCSeconds(),t.length)},Hf=function(e,t){var r=t.length,n=e.getUTCMilliseconds();return zf(Math.floor(n*Math.pow(10,r-3)),t.length)},Gf=864e5;function Qf(e){jf(1,arguments);var t=1,r=Mf(e),n=r.getUTCDay(),i=(n=i.getTime()?r+1:t.getTime()>=a.getTime()?r:r-1}function em(e){jf(1,arguments);var t=Zf(e),r=new Date(0);r.setUTCFullYear(t,0,4),r.setUTCHours(0,0,0,0);var n=Qf(r);return n}var tm=6048e5;function rm(e,t){jf(1,arguments);var r=t||{},n=r.locale,i=n&&n.options&&n.options.weekStartsOn,s=null==i?0:Rf(i),a=null==r.weekStartsOn?s:Rf(r.weekStartsOn);if(!(a>=0&&a<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var o=Mf(e),u=o.getUTCDay(),l=(u=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(n+1,0,u),l.setUTCHours(0,0,0,0);var c=rm(l,t),p=new Date(0);p.setUTCFullYear(n,0,u),p.setUTCHours(0,0,0,0);var h=rm(p,t);return r.getTime()>=c.getTime()?n+1:r.getTime()>=h.getTime()?n:n-1}function im(e,t){jf(1,arguments);var r=t||{},n=r.locale,i=n&&n.options&&n.options.firstWeekContainsDate,s=null==i?1:Rf(i),a=null==r.firstWeekContainsDate?s:Rf(r.firstWeekContainsDate),o=nm(e,t),u=new Date(0);u.setUTCFullYear(o,0,a),u.setUTCHours(0,0,0,0);var l=rm(u,t);return l}var sm=6048e5;var am="midnight",om="noon",um="morning",lm="afternoon",cm="evening",pm="night",hm={G:function(e,t,r){var n=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});case"GGGG":default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if("yo"===t){var n=e.getUTCFullYear(),i=n>0?n:1-n;return r.ordinalNumber(i,{unit:"year"})}return Wf(e,t)},Y:function(e,t,r,n){var i=nm(e,n),s=i>0?i:1-i;return"YY"===t?zf(s%100,2):"Yo"===t?r.ordinalNumber(s,{unit:"year"}):zf(s,t.length)},R:function(e,t){return zf(Zf(e),t.length)},u:function(e,t){return zf(e.getUTCFullYear(),t.length)},Q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return zf(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return zf(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){var n=e.getUTCMonth();switch(t){case"M":case"MM":return qf(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){var n=e.getUTCMonth();switch(t){case"L":return String(n+1);case"LL":return zf(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){var i=function(e,t){jf(1,arguments);var r=Mf(e),n=rm(r,t).getTime()-im(r,t).getTime();return Math.round(n/sm)+1}(e,n);return"wo"===t?r.ordinalNumber(i,{unit:"week"}):zf(i,t.length)},I:function(e,t,r){var n=function(e){jf(1,arguments);var t=Mf(e),r=Qf(t).getTime()-em(t).getTime();return Math.round(r/tm)+1}(e);return"Io"===t?r.ordinalNumber(n,{unit:"week"}):zf(n,t.length)},d:function(e,t,r){return"do"===t?r.ordinalNumber(e.getUTCDate(),{unit:"date"}):Xf(e,t)},D:function(e,t,r){var n=function(e){jf(1,arguments);var t=Mf(e),r=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var n=t.getTime(),i=r-n;return Math.floor(i/Gf)+1}(e);return"Do"===t?r.ordinalNumber(n,{unit:"dayOfYear"}):zf(n,t.length)},E:function(e,t,r){var n=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});case"EEEE":default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){var i=e.getUTCDay(),s=(i-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return zf(s,2);case"eo":return r.ordinalNumber(s,{unit:"day"});case"eee":return r.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(i,{width:"short",context:"formatting"});case"eeee":default:return r.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){var i=e.getUTCDay(),s=(i-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return zf(s,t.length);case"co":return r.ordinalNumber(s,{unit:"day"});case"ccc":return r.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(i,{width:"narrow",context:"standalone"});case"cccccc":return r.day(i,{width:"short",context:"standalone"});case"cccc":default:return r.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,r){var n=e.getUTCDay(),i=0===n?7:n;switch(t){case"i":return String(i);case"ii":return zf(i,t.length);case"io":return r.ordinalNumber(i,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});case"iiii":default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,r){var n,i=e.getUTCHours();switch(n=12===i?om:0===i?am:i/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,r){var n,i=e.getUTCHours();switch(n=i>=17?cm:i>=12?lm:i>=4?um:pm,t){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,r){if("ho"===t){var n=e.getUTCHours()%12;return 0===n&&(n=12),r.ordinalNumber(n,{unit:"hour"})}return Jf(e,t)},H:function(e,t,r){return"Ho"===t?r.ordinalNumber(e.getUTCHours(),{unit:"hour"}):$f(e,t)},K:function(e,t,r){var n=e.getUTCHours()%12;return"Ko"===t?r.ordinalNumber(n,{unit:"hour"}):zf(n,t.length)},k:function(e,t,r){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===t?r.ordinalNumber(n,{unit:"hour"}):zf(n,t.length)},m:function(e,t,r){return"mo"===t?r.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Kf(e,t)},s:function(e,t,r){return"so"===t?r.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Yf(e,t)},S:function(e,t){return Hf(e,t)},X:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return fm(i);case"XXXX":case"XX":return mm(i);case"XXXXX":case"XXX":default:return mm(i,":")}},x:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"x":return fm(i);case"xxxx":case"xx":return mm(i);case"xxxxx":case"xxx":default:return mm(i,":")}},O:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+dm(i,":");case"OOOO":default:return"GMT"+mm(i,":")}},z:function(e,t,r,n){var i=(n._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+dm(i,":");case"zzzz":default:return"GMT"+mm(i,":")}},t:function(e,t,r,n){var i=n._originalDate||e;return zf(Math.floor(i.getTime()/1e3),t.length)},T:function(e,t,r,n){return zf((n._originalDate||e).getTime(),t.length)}};function dm(e,t){var r=e>0?"-":"+",n=Math.abs(e),i=Math.floor(n/60),s=n%60;if(0===s)return r+String(i);var a=t||"";return r+String(i)+a+zf(s,2)}function fm(e,t){return e%60==0?(e>0?"-":"+")+zf(Math.abs(e)/60,2):mm(e,t)}function mm(e,t){var r=t||"",n=e>0?"-":"+",i=Math.abs(e);return n+zf(Math.floor(i/60),2)+r+zf(i%60,2)}function ym(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}}function gm(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}}var bm={p:gm,P:function(e,t){var r,n=e.match(/(P+)(p+)?/),i=n[1],s=n[2];if(!s)return ym(e,t);switch(i){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;case"PPPP":default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",ym(i,t)).replace("{{time}}",gm(s,t))}};function vm(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var xm=["D","DD"],Em=["YY","YYYY"];function Dm(e){return-1!==xm.indexOf(e)}function Sm(e){return-1!==Em.indexOf(e)}function Tm(e,t,r){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://git.io/fxCyr"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(r,"`; see: https://git.io/fxCyr"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://git.io/fxCyr"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(r,"`; see: https://git.io/fxCyr"))}var Am=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Pm=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,wm=/^'([^]*?)'?$/,Cm=/''/g,km=/[a-zA-Z]/;function _m(e){return e.match(wm)[1].replace(Cm,"'")}var Im=Object.freeze({__proto__:null,add:"This is virtual ./add/index.js/es/true!",addBusinessDays:"This is virtual ./addBusinessDays/index.js/es/true!",addDays:"This is virtual ./addDays/index.js/es/true!",addHours:"This is virtual ./addHours/index.js/es/true!",addISOWeekYears:"This is virtual ./addISOWeekYears/index.js/es/true!",addMilliseconds:"This is virtual ./addMilliseconds/index.js/es/true!",addMinutes:"This is virtual ./addMinutes/index.js/es/true!",addMonths:"This is virtual ./addMonths/index.js/es/true!",addQuarters:"This is virtual ./addQuarters/index.js/es/true!",addSeconds:"This is virtual ./addSeconds/index.js/es/true!",addWeeks:"This is virtual ./addWeeks/index.js/es/true!",addYears:"This is virtual ./addYears/index.js/es/true!",areIntervalsOverlapping:"This is virtual ./areIntervalsOverlapping/index.js/es/true!",closestIndexTo:"This is virtual ./closestIndexTo/index.js/es/true!",closestTo:"This is virtual ./closestTo/index.js/es/true!",compareAsc:"This is virtual ./compareAsc/index.js/es/true!",compareDesc:"This is virtual ./compareDesc/index.js/es/true!",differenceInBusinessDays:"This is virtual ./differenceInBusinessDays/index.js/es/true!",differenceInCalendarDays:"This is virtual ./differenceInCalendarDays/index.js/es/true!",differenceInCalendarISOWeekYears:"This is virtual ./differenceInCalendarISOWeekYears/index.js/es/true!",differenceInCalendarISOWeeks:"This is virtual ./differenceInCalendarISOWeeks/index.js/es/true!",differenceInCalendarMonths:"This is virtual ./differenceInCalendarMonths/index.js/es/true!",differenceInCalendarQuarters:"This is virtual ./differenceInCalendarQuarters/index.js/es/true!",differenceInCalendarWeeks:"This is virtual ./differenceInCalendarWeeks/index.js/es/true!",differenceInCalendarYears:"This is virtual ./differenceInCalendarYears/index.js/es/true!",differenceInDays:"This is virtual ./differenceInDays/index.js/es/true!",differenceInHours:"This is virtual ./differenceInHours/index.js/es/true!",differenceInISOWeekYears:"This is virtual ./differenceInISOWeekYears/index.js/es/true!",differenceInMilliseconds:"This is virtual ./differenceInMilliseconds/index.js/es/true!",differenceInMinutes:"This is virtual ./differenceInMinutes/index.js/es/true!",differenceInMonths:"This is virtual ./differenceInMonths/index.js/es/true!",differenceInQuarters:"This is virtual ./differenceInQuarters/index.js/es/true!",differenceInSeconds:"This is virtual ./differenceInSeconds/index.js/es/true!",differenceInWeeks:"This is virtual ./differenceInWeeks/index.js/es/true!",differenceInYears:"This is virtual ./differenceInYears/index.js/es/true!",eachDayOfInterval:"This is virtual ./eachDayOfInterval/index.js/es/true!",eachHourOfInterval:"This is virtual ./eachHourOfInterval/index.js/es/true!",eachMonthOfInterval:"This is virtual ./eachMonthOfInterval/index.js/es/true!",eachQuarterOfInterval:"This is virtual ./eachQuarterOfInterval/index.js/es/true!",eachWeekOfInterval:"This is virtual ./eachWeekOfInterval/index.js/es/true!",eachWeekendOfInterval:"This is virtual ./eachWeekendOfInterval/index.js/es/true!",eachWeekendOfMonth:"This is virtual ./eachWeekendOfMonth/index.js/es/true!",eachWeekendOfYear:"This is virtual ./eachWeekendOfYear/index.js/es/true!",eachYearOfInterval:"This is virtual ./eachYearOfInterval/index.js/es/true!",endOfDay:"This is virtual ./endOfDay/index.js/es/true!",endOfDecade:"This is virtual ./endOfDecade/index.js/es/true!",endOfHour:"This is virtual ./endOfHour/index.js/es/true!",endOfISOWeek:"This is virtual ./endOfISOWeek/index.js/es/true!",endOfISOWeekYear:"This is virtual ./endOfISOWeekYear/index.js/es/true!",endOfMinute:"This is virtual ./endOfMinute/index.js/es/true!",endOfMonth:"This is virtual ./endOfMonth/index.js/es/true!",endOfQuarter:"This is virtual ./endOfQuarter/index.js/es/true!",endOfSecond:"This is virtual ./endOfSecond/index.js/es/true!",endOfToday:"This is virtual ./endOfToday/index.js/es/true!",endOfTomorrow:"This is virtual ./endOfTomorrow/index.js/es/true!",endOfWeek:"This is virtual ./endOfWeek/index.js/es/true!",endOfYear:"This is virtual ./endOfYear/index.js/es/true!",endOfYesterday:"This is virtual ./endOfYesterday/index.js/es/true!",format:function(e,t,r){jf(2,arguments);var n=String(t),i=r||{},s=i.locale||Bf,a=s.options&&s.options.firstWeekContainsDate,o=null==a?1:Rf(a),u=null==i.firstWeekContainsDate?o:Rf(i.firstWeekContainsDate);if(!(u>=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=s.options&&s.options.weekStartsOn,c=null==l?0:Rf(l),p=null==i.weekStartsOn?c:Rf(i.weekStartsOn);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!s.localize)throw new RangeError("locale must contain localize property");if(!s.formatLong)throw new RangeError("locale must contain formatLong property");var h=Mf(e);if(!Lf(h))throw new RangeError("Invalid time value");var d=vm(h),f=Vf(h,d),m={firstWeekContainsDate:u,weekStartsOn:p,locale:s,_originalDate:h},y=n.match(Pm).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,bm[t])(e,s.formatLong,m):e})).join("").match(Am).map((function(r){if("''"===r)return"'";var n=r[0];if("'"===n)return _m(r);var a=hm[n];if(a)return!i.useAdditionalWeekYearTokens&&Sm(r)&&Tm(r,t,e),!i.useAdditionalDayOfYearTokens&&Dm(r)&&Tm(r,t,e),a(f,r,s.localize,m);if(n.match(km))throw new RangeError("Format string contains an unescaped latin alphabet character `"+n+"`");return r})).join("");return y},formatDistance:"This is virtual ./formatDistance/index.js/es/true!",formatDistanceStrict:"This is virtual ./formatDistanceStrict/index.js/es/true!",formatDistanceToNow:"This is virtual ./formatDistanceToNow/index.js/es/true!",formatDistanceToNowStrict:"This is virtual ./formatDistanceToNowStrict/index.js/es/true!",formatDuration:"This is virtual ./formatDuration/index.js/es/true!",formatISO:"This is virtual ./formatISO/index.js/es/true!",formatISO9075:"This is virtual ./formatISO9075/index.js/es/true!",formatISODuration:"This is virtual ./formatISODuration/index.js/es/true!",formatRFC3339:"This is virtual ./formatRFC3339/index.js/es/true!",formatRFC7231:"This is virtual ./formatRFC7231/index.js/es/true!",formatRelative:"This is virtual ./formatRelative/index.js/es/true!",fromUnixTime:"This is virtual ./fromUnixTime/index.js/es/true!",getDate:"This is virtual ./getDate/index.js/es/true!",getDay:"This is virtual ./getDay/index.js/es/true!",getDayOfYear:"This is virtual ./getDayOfYear/index.js/es/true!",getDaysInMonth:"This is virtual ./getDaysInMonth/index.js/es/true!",getDaysInYear:"This is virtual ./getDaysInYear/index.js/es/true!",getDecade:"This is virtual ./getDecade/index.js/es/true!",getHours:"This is virtual ./getHours/index.js/es/true!",getISODay:"This is virtual ./getISODay/index.js/es/true!",getISOWeek:"This is virtual ./getISOWeek/index.js/es/true!",getISOWeekYear:"This is virtual ./getISOWeekYear/index.js/es/true!",getISOWeeksInYear:"This is virtual ./getISOWeeksInYear/index.js/es/true!",getMilliseconds:"This is virtual ./getMilliseconds/index.js/es/true!",getMinutes:"This is virtual ./getMinutes/index.js/es/true!",getMonth:"This is virtual ./getMonth/index.js/es/true!",getOverlappingDaysInIntervals:"This is virtual ./getOverlappingDaysInIntervals/index.js/es/true!",getQuarter:"This is virtual ./getQuarter/index.js/es/true!",getSeconds:"This is virtual ./getSeconds/index.js/es/true!",getTime:"This is virtual ./getTime/index.js/es/true!",getUnixTime:"This is virtual ./getUnixTime/index.js/es/true!",getWeek:"This is virtual ./getWeek/index.js/es/true!",getWeekOfMonth:"This is virtual ./getWeekOfMonth/index.js/es/true!",getWeekYear:"This is virtual ./getWeekYear/index.js/es/true!",getWeeksInMonth:"This is virtual ./getWeeksInMonth/index.js/es/true!",getYear:"This is virtual ./getYear/index.js/es/true!",intervalToDuration:"This is virtual ./intervalToDuration/index.js/es/true!",intlFormat:"This is virtual ./intlFormat/index.js/es/true!",isAfter:"This is virtual ./isAfter/index.js/es/true!",isBefore:"This is virtual ./isBefore/index.js/es/true!",isDate:"This is virtual ./isDate/index.js/es/true!",isEqual:"This is virtual ./isEqual/index.js/es/true!",isExists:"This is virtual ./isExists/index.js/es/true!",isFirstDayOfMonth:"This is virtual ./isFirstDayOfMonth/index.js/es/true!",isFriday:"This is virtual ./isFriday/index.js/es/true!",isFuture:"This is virtual ./isFuture/index.js/es/true!",isLastDayOfMonth:"This is virtual ./isLastDayOfMonth/index.js/es/true!",isLeapYear:"This is virtual ./isLeapYear/index.js/es/true!",isMatch:"This is virtual ./isMatch/index.js/es/true!",isMonday:"This is virtual ./isMonday/index.js/es/true!",isPast:"This is virtual ./isPast/index.js/es/true!",isSameDay:"This is virtual ./isSameDay/index.js/es/true!",isSameHour:"This is virtual ./isSameHour/index.js/es/true!",isSameISOWeek:"This is virtual ./isSameISOWeek/index.js/es/true!",isSameISOWeekYear:"This is virtual ./isSameISOWeekYear/index.js/es/true!",isSameMinute:"This is virtual ./isSameMinute/index.js/es/true!",isSameMonth:"This is virtual ./isSameMonth/index.js/es/true!",isSameQuarter:"This is virtual ./isSameQuarter/index.js/es/true!",isSameSecond:"This is virtual ./isSameSecond/index.js/es/true!",isSameWeek:"This is virtual ./isSameWeek/index.js/es/true!",isSameYear:"This is virtual ./isSameYear/index.js/es/true!",isSaturday:"This is virtual ./isSaturday/index.js/es/true!",isSunday:"This is virtual ./isSunday/index.js/es/true!",isThisHour:"This is virtual ./isThisHour/index.js/es/true!",isThisISOWeek:"This is virtual ./isThisISOWeek/index.js/es/true!",isThisMinute:"This is virtual ./isThisMinute/index.js/es/true!",isThisMonth:"This is virtual ./isThisMonth/index.js/es/true!",isThisQuarter:"This is virtual ./isThisQuarter/index.js/es/true!",isThisSecond:"This is virtual ./isThisSecond/index.js/es/true!",isThisWeek:"This is virtual ./isThisWeek/index.js/es/true!",isThisYear:"This is virtual ./isThisYear/index.js/es/true!",isThursday:"This is virtual ./isThursday/index.js/es/true!",isToday:"This is virtual ./isToday/index.js/es/true!",isTomorrow:"This is virtual ./isTomorrow/index.js/es/true!",isTuesday:"This is virtual ./isTuesday/index.js/es/true!",isValid:"This is virtual ./isValid/index.js/es/true!",isWednesday:"This is virtual ./isWednesday/index.js/es/true!",isWeekend:"This is virtual ./isWeekend/index.js/es/true!",isWithinInterval:"This is virtual ./isWithinInterval/index.js/es/true!",isYesterday:"This is virtual ./isYesterday/index.js/es/true!",lastDayOfDecade:"This is virtual ./lastDayOfDecade/index.js/es/true!",lastDayOfISOWeek:"This is virtual ./lastDayOfISOWeek/index.js/es/true!",lastDayOfISOWeekYear:"This is virtual ./lastDayOfISOWeekYear/index.js/es/true!",lastDayOfMonth:"This is virtual ./lastDayOfMonth/index.js/es/true!",lastDayOfQuarter:"This is virtual ./lastDayOfQuarter/index.js/es/true!",lastDayOfWeek:"This is virtual ./lastDayOfWeek/index.js/es/true!",lastDayOfYear:"This is virtual ./lastDayOfYear/index.js/es/true!",lightFormat:"This is virtual ./lightFormat/index.js/es/true!",max:"This is virtual ./max/index.js/es/true!",milliseconds:"This is virtual ./milliseconds/index.js/es/true!",min:"This is virtual ./min/index.js/es/true!",parse:"This is virtual ./parse/index.js/es/true!",parseISO:"This is virtual ./parseISO/index.js/es/true!",parseJSON:"This is virtual ./parseJSON/index.js/es/true!",roundToNearestMinutes:"This is virtual ./roundToNearestMinutes/index.js/es/true!",set:"This is virtual ./set/index.js/es/true!",setDate:"This is virtual ./setDate/index.js/es/true!",setDay:"This is virtual ./setDay/index.js/es/true!",setDayOfYear:"This is virtual ./setDayOfYear/index.js/es/true!",setHours:"This is virtual ./setHours/index.js/es/true!",setISODay:"This is virtual ./setISODay/index.js/es/true!",setISOWeek:"This is virtual ./setISOWeek/index.js/es/true!",setISOWeekYear:"This is virtual ./setISOWeekYear/index.js/es/true!",setMilliseconds:"This is virtual ./setMilliseconds/index.js/es/true!",setMinutes:"This is virtual ./setMinutes/index.js/es/true!",setMonth:"This is virtual ./setMonth/index.js/es/true!",setQuarter:"This is virtual ./setQuarter/index.js/es/true!",setSeconds:"This is virtual ./setSeconds/index.js/es/true!",setWeek:"This is virtual ./setWeek/index.js/es/true!",setWeekYear:"This is virtual ./setWeekYear/index.js/es/true!",setYear:"This is virtual ./setYear/index.js/es/true!",startOfDay:"This is virtual ./startOfDay/index.js/es/true!",startOfDecade:"This is virtual ./startOfDecade/index.js/es/true!",startOfHour:"This is virtual ./startOfHour/index.js/es/true!",startOfISOWeek:"This is virtual ./startOfISOWeek/index.js/es/true!",startOfISOWeekYear:"This is virtual ./startOfISOWeekYear/index.js/es/true!",startOfMinute:"This is virtual ./startOfMinute/index.js/es/true!",startOfMonth:"This is virtual ./startOfMonth/index.js/es/true!",startOfQuarter:"This is virtual ./startOfQuarter/index.js/es/true!",startOfSecond:"This is virtual ./startOfSecond/index.js/es/true!",startOfToday:"This is virtual ./startOfToday/index.js/es/true!",startOfTomorrow:"This is virtual ./startOfTomorrow/index.js/es/true!",startOfWeek:"This is virtual ./startOfWeek/index.js/es/true!",startOfWeekYear:"This is virtual ./startOfWeekYear/index.js/es/true!",startOfYear:"This is virtual ./startOfYear/index.js/es/true!",startOfYesterday:"This is virtual ./startOfYesterday/index.js/es/true!",sub:"This is virtual ./sub/index.js/es/true!",subBusinessDays:"This is virtual ./subBusinessDays/index.js/es/true!",subDays:"This is virtual ./subDays/index.js/es/true!",subHours:"This is virtual ./subHours/index.js/es/true!",subISOWeekYears:"This is virtual ./subISOWeekYears/index.js/es/true!",subMilliseconds:"This is virtual ./subMilliseconds/index.js/es/true!",subMinutes:"This is virtual ./subMinutes/index.js/es/true!",subMonths:"This is virtual ./subMonths/index.js/es/true!",subQuarters:"This is virtual ./subQuarters/index.js/es/true!",subSeconds:"This is virtual ./subSeconds/index.js/es/true!",subWeeks:"This is virtual ./subWeeks/index.js/es/true!",subYears:"This is virtual ./subYears/index.js/es/true!",toDate:"This is virtual ./toDate/index.js/es/true!"}),Fm=w((function(e,t){var r=P&&P.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageImpl=void 0;const n=r(Nf);t.LanguageImpl=class{constructor(e){this.defaultDateFormat="yyyy-MM-dd",this.languageCommon=e}setValueManager(e){this.valueManager=e}getDictManager(){return this.languageCommon.dictManager}getLanguageCommon(){return this.languageCommon}getDefaultLastSeparatorForAdjectives(){if(this.defaultLastSeparatorForAdjectives)return this.defaultLastSeparatorForAdjectives;{const e=new Error;throw e.name="InvalidArgumentError",e.message=`no default last separator for ${this.iso2} language`,e}}getDet(e,t){const r=new Error;throw r.name="InvalidArgumentError",r.message=`determiners not available in ${this.iso2}`,r}getAgreeAdj(e,t,r,n,i){const s=new Error;throw s.name="InvalidArgumentError",s.message=`adjectives not available in ${this.iso2}`,s}getWordGender(e){const t=new Error;throw t.name="InvalidArgumentError",t.message=`there is no gender dict for ${this.iso2}, set gender directly`,t}getOrdinal(e,t){const r=new Error;throw r.name="InvalidArgumentError",r.message=`ORDINAL_TEXTUAL not available in ${this.iso2}`,r}getFormatNumberWithNumeral(e,t){if(this.langForNumeral)return n.default.locale(this.langForNumeral),n.default(e).format(t);{const e=new Error;throw e.name="InvalidArgumentError",e.message=`FORMAT not available in ${this.iso2}`,e}}getOrdinalNumber(e,t){if(this.langForNumeral)return n.default.locale(this.langForNumeral),n.default(e).format("o");{const e=new Error;throw e.name="InvalidArgumentError",e.message=`ORDINAL_NUMBER not available in ${this.iso2}`,e}}getTextualNumber(e){if(this.n2wordsLib&&this.n2wordsLang){let t="";if(e%1==0)t=this.n2wordsLib(e,{lang:this.n2wordsLang});else{const r=(e+"").split(".");t=this.n2wordsLib(parseInt(r[0]),{lang:this.n2wordsLang})+" "+this.floatingPointWord+" "+this.getTextualNumberFloatPart(r[1])}return t}{const e=new Error;throw e.name="InvalidArgumentError",e.message=`TEXTUAL not available in ${this.iso2}`,e}}getTextualNumberFloatPart(e){if(this.table0to9){const t=[];for(let r=0;r syntax not implemented in ${this.iso2}`,t}thirdPossessionTriggerRef(e,t,r,n,i,s){const a=new Error;throw a.name="InvalidArgumentError",a.message=`thirdPossessionTriggerRef not available in ${this.iso2}`,a}thirdPossessionRefTriggered(e,t,r,n,i){const s=new Error;throw s.name="InvalidArgumentError",s.message=`thirdPossessionRefTriggered not available in ${this.iso2}`,s}recipientPossession(e,t,r,n){const i=new Error;throw i.name="InvalidArgumentError",i.message=`recipientPossession not implemented in ${this.iso2}`,i}getConjugation(e,t,r,n,i,s,a,o){const u=new Error;throw u.name="InvalidArgumentError",u.message=`verbs not available in ${this.iso2}`,u}isPlural(e){const t=new Error;throw t.name="InvalidArgumentError",t.message=`isPlural not implemented in ${this.iso2}`,t}solveTense(e){return this.universalMapping&&this.universalMapping[e]?this.universalMapping[e]:e}}})),Om=w((function(e,t){
/**
* @license
* Copyright 2019 Ludan Stoecklé
* SPDX-License-Identifier: Apache-2.0
*/
Object.defineProperty(t,"__esModule",{value:!0}),t.getDet=void 0;const r=["agua","alma","águila","arma","ala","asta","hambre","arca","arpa","asma","álgebra","acta","alba","alga","alma","aspa","aula","ave","hacha","hada","hambre","ama","hampa"];t.getDet=function(e,t,n,i,s){if("DEFINITE"!=e&&"INDEFINITE"!=e&&"DEMONSTRATIVE"!=e&&"POSSESSIVE"!=e){const t=new Error;throw t.name="InvalidArgumentError",t.message=`unsuported determiner type: ${e})`,t}if("DEMONSTRATIVE"==e&&null!=s&&"PROXIMAL"!=s&&"MEDIAL"!=s&&"DISTAL"!=s){const e=new Error;throw e.name="InvalidArgumentError",e.message=`unsupported distance: must be PROXIMAL MEDIAL or DISTAL, here ${s}`,e}if("M"!=t&&"F"!=t&&"N"!=t){const e=new Error;throw e.name="InvalidArgumentError",e.message="gender must be M F or N",e}if("S"!=n&&"P"!=n){const e=new Error;throw e.name="InvalidArgumentError",e.message="number must be S or P",e}if("N"==t){if("DEMONSTRATIVE"===e){const e=new Error;throw e.name="InvalidArgumentError",e.message="neutral not possible when demonstrative",e}if("P"==n){const e=new Error;throw e.name="InvalidArgumentError",e.message="no neutral plural!",e}}switch(e){case"DEFINITE":case"INDEFINITE":{let s=!1;const a={DEFINITE:{S:{M:"el",F:"la",N:"lo"},P:{M:"los",F:"las"}},INDEFINITE:{S:{M:"un",F:"una",N:"uno"},P:{M:"unos",F:"unas"}}};return"F"==t&&"S"==n&&function(e){return null!=e&&("azúcar"===e||r.includes(e.toLowerCase()))}(i)&&(s=!0),a[e][n][s?"M":t]}case"DEMONSTRATIVE":return{PROXIMAL:{S:{M:"este",F:"esta"},P:{M:"estos",F:"estas"}},MEDIAL:{S:{M:"ese",F:"esa"},P:{M:"esos",F:"esas"}},DISTAL:{S:{M:"aquel",F:"aquella"},P:{M:"aquellos",F:"aquellas"}}}[s||"PROXIMAL"][n][t];case"POSSESSIVE":switch(n){case"S":return"su";case"P":return"sus"}}}})),Nm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.concatOrdinal=function(e,t){return""!==e?"".concat(e," ").concat(t):t},t.getUnit=function(e,t){var r="";switch(e){case 1:r="primer";break;case 2:r="segund";break;case 3:r="tercer";break;case 4:r="cuart";break;case 5:r="quint";break;case 6:r="sext";break;case 7:r="séptim";break;case 8:r="octav";break;case 9:r="noven"}return"".concat(r).concat(t)},t.getTens=function(e,t){var r="";switch(e){case 1:r="décim";break;case 2:r="vigésim";break;case 3:r="trigésim";break;case 4:r="cuadragésim";break;case 5:r="quincuagésim";break;case 6:r="sexagésim";break;case 7:r="septuagésim";break;case 8:r="octogésim";break;case 9:r="nonagésim"}return"".concat(r).concat(t)},t.getHundreds=function(e,t){var r="";switch(e){case 1:r="centésim";break;case 2:r="ducentésim";break;case 3:r="tricentésim";break;case 4:r="cuadrigentésim";break;case 5:r="quingentésim";break;case 6:r="sexcentésim";break;case 7:r="septingentésim";break;case 8:r="octigentésim";break;case 9:r="noningentésim"}return"".concat(r).concat(t)},t.getThousands=function(e,t){var r="";switch(e){case 1:r="milésim";break;case 2:r="dosmilésim";break;case 3:r="tresmilésim";break;case 4:r="cuatromilésim";break;case 5:r="cincomilésim";break;case 6:r="seismilésim";break;case 7:r="sietemilésim";break;case 8:r="ochomilésim";break;case 9:r="nuevemilésim"}return"".concat(r).concat(t)}})),jm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){for(var r,n="",i=/^[1-9]$/,s=e.toString(),a=s.split("").map((function(e){return parseFloat(e)})).reverse(),o="female"===t?"a":"o",u=s.length;u>0;u--){var l=a[u-1];i.test(l.toString())&&(4===u?r=(0,Nm.getThousands)(l,o):3===u?r=(0,Nm.getHundreds)(l,o):2===u?r=(0,Nm.getTens)(l,o):1===u&&(r=(0,Nm.getUnit)(l,o)),n=(0,Nm.concatOrdinal)(n,r))}return n}})),Mm=w((function(e){var t,r=(t=jm)&&t.__esModule?t:{default:t};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"male";if("number"!=typeof e)throw new TypeError("Expected Number, got ".concat(n(e)," ").concat(e));if(!(e>=1&&e<=9999))throw new TypeError("Expected Number between 1 and 1000, got ".concat(e));if("string"!=typeof t)throw new TypeError("Expected String, got ".concat(n(t)," ").concat(t));if("female"!==t&&"male"!==t)throw new TypeError("Expected male or female, got ".concat(t));return(0,r.default)(e,t)}i.converter=r.default,e.exports=i}));w((function(e){!function(t,r){e.exports?r(Nf):r(t.numeral)}(P,(function(e){e.register("locale","es-es",{delimiters:{thousands:".",decimal:","},abbreviations:{thousand:"k",million:"mm",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1===t||3===t?"er":2===t?"do":7===t||0===t?"mo":8===t?"vo":9===t?"no":"to"},currency:{symbol:"€"}})}))}));var Lm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var i;n=n||{},i="string"==typeof r[e]?r[e]:1===t?r[e].one:r[e].other.replace("{{count}}",t);if(n.addSuffix)return n.comparison>0?"en "+i:"hace "+i;return i};var r={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}};e.exports=t.default})),Bm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){var r=t||{},n=r.width?String(r.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}},e.exports=t.default})),Rm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=Bm)&&r.__esModule?r:{default:r};var i={date:(0,n.default)({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:(0,n.default)({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:(0,n.default)({formats:{full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})};t.default=i,e.exports=t.default})),Um=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,i,s){if(1!==t.getUTCHours())return n[e];return r[e]};var r={lastWeek:"'el' eeee 'pasado a la' LT",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},n={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"};e.exports=t.default})),Vm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,r){var n,i=r||{};if("formatting"===(i.context?String(i.context):"standalone")&&e.formattingValues){var s=e.defaultFormattingWidth||e.defaultWidth,a=i.width?String(i.width):s;n=e.formattingValues[a]||e.formattingValues[s]}else{var o=e.defaultWidth,u=i.width?String(i.width):e.defaultWidth;n=e.values[u]||e.values[o]}return n[e.argumentCallback?e.argumentCallback(t):t]}},e.exports=t.default})),zm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=Vm)&&r.__esModule?r:{default:r};var i={ordinalNumber:function(e){return Number(e)+"º"},era:(0,n.default)({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},defaultWidth:"wide"}),quarter:(0,n.default)({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:(0,n.default)({values:{narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},defaultWidth:"wide"}),day:(0,n.default)({values:{narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sa"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},defaultWidth:"wide"}),dayPeriod:(0,n.default)({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},defaultFormattingWidth:"wide"})};t.default=i,e.exports=t.default})),Wm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,r){var n=String(t),i=r||{},s=n.match(e.matchPattern);if(!s)return null;var a=s[0],o=n.match(e.parsePattern);if(!o)return null;var u=e.valueCallback?e.valueCallback(o[0]):o[0];return{value:u=i.valueCallback?i.valueCallback(u):u,rest:n.slice(a.length)}}},e.exports=t.default})),qm=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t,r){var n=String(t),i=r||{},s=i.width,a=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],o=n.match(a);if(!o)return null;var u,l=o[0],c=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth];return u="[object Array]"===Object.prototype.toString.call(c)?function(e,t){for(var r=0;r{var e={3819:e=>{e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},8505:(e,t,r)=>{var n=r(5052);e.exports=function(e){if(!n(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},6637:(e,t,r)=>{var n=r(966).charAt;e.exports=function(e,t,r){return t+(r?n(e,t).length:1)}},1176:(e,t,r)=>{var n=r(5052);e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},507:(e,t,r)=>{var n=r(7636),i=r(2991),s=r(4960),a=r(1943),o=r(4237),u=r(2324),l=r(8830);e.exports=function(e){var t,r,c,p,h,d,f=i(e),m="function"==typeof this?this:Array,y=arguments.length,g=y>1?arguments[1]:void 0,b=void 0!==g,v=l(f),x=0;if(b&&(g=n(g,y>2?arguments[2]:void 0,2)),null==v||m==Array&&a(v))for(r=new m(t=o(f.length));t>x;x++)d=b?g(f[x],x):f[x],u(r,x,d);else for(h=(p=v.call(f)).next,r=new m;!(c=h.call(p)).done;x++)d=b?s(p,g,[c.value,x],!0):c.value,u(r,x,d);return r.length=x,r}},9540:(e,t,r)=>{var n=r(905),i=r(4237),s=r(3231),a=function(e){return function(t,r,a){var o,u=n(t),l=i(u.length),c=s(a,l);if(e&&r!=r){for(;l>c;)if((o=u[c++])!=o)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},9996:(e,t,r)=>{var n=r(7636),i=r(9337),s=r(2991),a=r(4237),o=r(7501),u=[].push,l=function(e){var t=1==e,r=2==e,l=3==e,c=4==e,p=6==e,h=7==e,d=5==e||p;return function(f,m,y,g){for(var b,v,x=s(f),E=i(x),D=n(m,y,3),S=a(E.length),T=0,A=g||o,P=t?A(f,S):r||h?A(f,0):void 0;S>T;T++)if((d||T in E)&&(v=D(b=E[T],T,x),e))if(t)P[T]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return T;case 2:u.call(P,b)}else switch(e){case 4:return!1;case 7:u.call(P,b)}return p?-1:l||c?c:P}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterOut:l(7)}},1460:(e,t,r)=>{var n=r(4229),i=r(95),s=r(6358),a=i("species");e.exports=function(e){return s>=51||!n((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},6038:(e,t,r)=>{var n=r(4229);e.exports=function(e,t){var r=[][e];return!!r&&n((function(){r.call(null,t||function(){throw 1},1)}))}},7501:(e,t,r)=>{var n=r(5052),i=r(3718),s=r(95)("species");e.exports=function(e,t){var r;return i(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!i(r.prototype)?n(r)&&null===(r=r[s])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)}},4960:(e,t,r)=>{var n=r(1176),i=r(7281);e.exports=function(e,t,r,s){try{return s?t(n(r)[0],r[1]):t(r)}catch(t){throw i(e),t}}},4575:(e,t,r)=>{var n=r(95)("iterator"),i=!1;try{var s=0,a={next:function(){return{done:!!s++}},return:function(){i=!0}};a[n]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var r=!1;try{var s={};s[n]=function(){return{next:function(){return{done:r=!0}}}},e(s)}catch(e){}return r}},7079:e=>{var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},1589:(e,t,r)=>{var n=r(1601),i=r(7079),s=r(95)("toStringTag"),a="Arguments"==i(function(){return arguments}());e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),s))?r:a?i(t):"Object"==(n=i(t))&&"function"==typeof t.callee?"Arguments":n}},7081:(e,t,r)=>{var n=r(816),i=r(4826),s=r(7933),a=r(1787);e.exports=function(e,t){for(var r=i(t),o=a.f,u=s.f,l=0;l{var n=r(4229);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},3723:(e,t,r)=>{var n=r(693).IteratorPrototype,i=r(2391),s=r(5358),a=r(4555),o=r(5495),u=function(){return this};e.exports=function(e,t,r){var l=t+" Iterator";return e.prototype=i(n,{next:s(1,r)}),a(e,l,!1,!0),o[l]=u,e}},5762:(e,t,r)=>{var n=r(7400),i=r(1787),s=r(5358);e.exports=n?function(e,t,r){return i.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},5358:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2324:(e,t,r)=>{var n=r(2066),i=r(1787),s=r(5358);e.exports=function(e,t,r){var a=n(t);a in e?i.f(e,a,s(0,r)):e[a]=r}},7675:(e,t,r)=>{var n=r(3103),i=r(3723),s=r(7567),a=r(6540),o=r(4555),u=r(5762),l=r(7487),c=r(95),p=r(4231),h=r(5495),d=r(693),f=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,y=c("iterator"),g="keys",b="values",v="entries",x=function(){return this};e.exports=function(e,t,r,c,d,E,D){i(r,t,c);var S,T,A,P=function(e){if(e===d&&I)return I;if(!m&&e in k)return k[e];switch(e){case g:case b:case v:return function(){return new r(this,e)}}return function(){return new r(this)}},w=t+" Iterator",C=!1,k=e.prototype,_=k[y]||k["@@iterator"]||d&&k[d],I=!m&&_||P(d),F="Array"==t&&k.entries||_;if(F&&(S=s(F.call(new e)),f!==Object.prototype&&S.next&&(p||s(S)===f||(a?a(S,f):"function"!=typeof S[y]&&u(S,y,x)),o(S,w,!0,!0),p&&(h[w]=x))),d==b&&_&&_.name!==b&&(C=!0,I=function(){return _.call(this)}),p&&!D||k[y]===I||u(k,y,I),h[t]=I,d)if(T={values:P(b),keys:E?I:P(g),entries:P(v)},D)for(A in T)(m||C||!(A in k))&&l(k,A,T[A]);else n({target:t,proto:!0,forced:m||C},T);return T}},7400:(e,t,r)=>{var n=r(4229);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},2635:(e,t,r)=>{var n=r(9859),i=r(5052),s=n.document,a=i(s)&&i(s.createElement);e.exports=function(e){return a?s.createElement(e):{}}},8801:(e,t,r)=>{var n=r(7079),i=r(9859);e.exports="process"==n(i.process)},598:(e,t,r)=>{var n=r(1333);e.exports=n("navigator","userAgent")||""},6358:(e,t,r)=>{var n,i,s=r(9859),a=r(598),o=s.process,u=o&&o.versions,l=u&&u.v8;l?i=(n=l.split("."))[0]+n[1]:a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(i=n[1]),e.exports=i&&+i},3837:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},3103:(e,t,r)=>{var n=r(9859),i=r(7933).f,s=r(5762),a=r(7487),o=r(2079),u=r(7081),l=r(6541);e.exports=function(e,t){var r,c,p,h,d,f=e.target,m=e.global,y=e.stat;if(r=m?n:y?n[f]||o(f,{}):(n[f]||{}).prototype)for(c in t){if(h=t[c],p=e.noTargetGet?(d=i(r,c))&&d.value:r[c],!l(m?c:f+(y?".":"#")+c,e.forced)&&void 0!==p){if(typeof h==typeof p)continue;u(h,p)}(e.sham||p&&p.sham)&&s(h,"sham",!0),a(r,c,h,e)}}},4229:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},4954:(e,t,r)=>{r(7950);var n=r(7487),i=r(4229),s=r(95),a=r(3466),o=r(5762),u=s("species"),l=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),c="$0"==="a".replace(/./,"$0"),p=s("replace"),h=!!/./[p]&&""===/./[p]("a","$0"),d=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));e.exports=function(e,t,r,p){var f=s(e),m=!i((function(){var t={};return t[f]=function(){return 7},7!=""[e](t)})),y=m&&!i((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[u]=function(){return r},r.flags="",r[f]=/./[f]),r.exec=function(){return t=!0,null},r[f](""),!t}));if(!m||!y||"replace"===e&&(!l||!c||h)||"split"===e&&!d){var g=/./[f],b=r(f,""[e],(function(e,t,r,n,i){return t.exec===a?m&&!i?{done:!0,value:g.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),v=b[0],x=b[1];n(String.prototype,e,v),n(RegExp.prototype,f,2==t?function(e,t){return x.call(e,this,t)}:function(e){return x.call(e,this)})}p&&o(RegExp.prototype[f],"sham",!0)}},7636:(e,t,r)=>{var n=r(3819);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},1333:(e,t,r)=>{var n=r(9276),i=r(9859),s=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?s(n[e])||s(i[e]):n[e]&&n[e][t]||i[e]&&i[e][t]}},8830:(e,t,r)=>{var n=r(1589),i=r(5495),s=r(95)("iterator");e.exports=function(e){if(null!=e)return e[s]||e["@@iterator"]||i[n(e)]}},9859:(e,t,r)=>{var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},816:e=>{var t={}.hasOwnProperty;e.exports=function(e,r){return t.call(e,r)}},5977:e=>{e.exports={}},3777:(e,t,r)=>{var n=r(1333);e.exports=n("document","documentElement")},4394:(e,t,r)=>{var n=r(7400),i=r(4229),s=r(2635);e.exports=!n&&!i((function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a}))},9337:(e,t,r)=>{var n=r(4229),i=r(7079),s="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?s.call(e,""):Object(e)}:Object},835:(e,t,r)=>{var n=r(5052),i=r(6540);e.exports=function(e,t,r){var s,a;return i&&"function"==typeof(s=t.constructor)&&s!==r&&n(a=s.prototype)&&a!==r.prototype&&i(e,a),e}},8511:(e,t,r)=>{var n=r(5353),i=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(e){return i.call(e)}),e.exports=n.inspectSource},6407:(e,t,r)=>{var n,i,s,a=r(8694),o=r(9859),u=r(5052),l=r(5762),c=r(816),p=r(5353),h=r(4399),d=r(5977),f=o.WeakMap;if(a){var m=p.state||(p.state=new f),y=m.get,g=m.has,b=m.set;n=function(e,t){return t.facade=e,b.call(m,e,t),t},i=function(e){return y.call(m,e)||{}},s=function(e){return g.call(m,e)}}else{var v=h("state");d[v]=!0,n=function(e,t){return t.facade=e,l(e,v,t),t},i=function(e){return c(e,v)?e[v]:{}},s=function(e){return c(e,v)}}e.exports={set:n,get:i,has:s,enforce:function(e){return s(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!u(t)||(r=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},1943:(e,t,r)=>{var n=r(95),i=r(5495),s=n("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||a[s]===e)}},3718:(e,t,r)=>{var n=r(7079);e.exports=Array.isArray||function(e){return"Array"==n(e)}},6541:(e,t,r)=>{var n=r(4229),i=/#|\.prototype\./,s=function(e,t){var r=o[a(e)];return r==l||r!=u&&("function"==typeof t?n(t):!!t)},a=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},o=s.data={},u=s.NATIVE="N",l=s.POLYFILL="P";e.exports=s},5052:e=>{e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},4231:e=>{e.exports=!1},8311:(e,t,r)=>{var n=r(5052),i=r(7079),s=r(95)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[s])?!!t:"RegExp"==i(e))}},7281:(e,t,r)=>{var n=r(1176);e.exports=function(e){var t=e.return;if(void 0!==t)return n(t.call(e)).value}},693:(e,t,r)=>{var n,i,s,a=r(4229),o=r(7567),u=r(5762),l=r(816),c=r(95),p=r(4231),h=c("iterator"),d=!1;[].keys&&("next"in(s=[].keys())?(i=o(o(s)))!==Object.prototype&&(n=i):d=!0);var f=null==n||a((function(){var e={};return n[h].call(e)!==e}));f&&(n={}),p&&!f||l(n,h)||u(n,h,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:d}},5495:e=>{e.exports={}},3839:(e,t,r)=>{var n=r(8801),i=r(6358),s=r(4229);e.exports=!!Object.getOwnPropertySymbols&&!s((function(){return!Symbol.sham&&(n?38===i:i>37&&i<41)}))},8694:(e,t,r)=>{var n=r(9859),i=r(8511),s=n.WeakMap;e.exports="function"==typeof s&&/native code/.test(i(s))},6596:(e,t,r)=>{var n=r(9859),i=r(1017).trim,s=r(1647),a=n.parseInt,o=/^[+-]?0[Xx]/,u=8!==a(s+"08")||22!==a(s+"0x16");e.exports=u?function(e,t){var r=i(String(e));return a(r,t>>>0||(o.test(r)?16:10))}:a},2391:(e,t,r)=>{var n,i=r(1176),s=r(219),a=r(3837),o=r(5977),u=r(3777),l=r(2635),c=r(4399)("IE_PROTO"),p=function(){},h=function(e){return"